1.ROS开源项目:(一)中文语音交互系统ROSECHO (二)教学级别无人车Tianracer
2.vn.py发布v2.5.0 - Web应用后端服务
3.新一代 Kaldi: 有 TTS Runtime 啦!库s开
ROS开源项目:(一)中文语音交互系统ROSECHO (二)教学级别无人车Tianracer
开发之路永无止境,源码源往往在最后期限的库s开白板上写着的计划,往往只是源码源一份空想。年初时,库s开我定下了两个目标,源码源收费付费视频源码计划在年末完成,库s开然而时间在拖延中流逝,源码源直到如今,库s开我才发现,源码源真正的库s开开源精神并非一个人的单打独斗,而是源码源众人协作的火焰。
记得一年前,库s开我四处奔波,源码源从开源社区汲取养分,库s开同时也渴望贡献出自己的力量。然而,回顾过去,我却发现并没有做出任何贡献。这次,我希望能够集结各路伙伴,如果有志于参与开源项目,我们能共同打造一个GitHub上的百星、千星项目。几位资深程序员已经搭建好了基础,硬件改进较多,但程序完善程度未达预期。我们期望有更多的年轻朋友加入我们,与我们一起学习软件的版本控制、代码规范和团队协作,共同完成复杂的机器人项目,实现成长与蜕变。
(一)中文语音交互系统ROSECHO
ROSECHO的GitHub源码库已准备好,欢迎先star再深入阅读。此代码遵循BSD开源协议。绝地求生头像源码
详细中文介绍文档
面对智能音箱市场,许多人或许会质疑我们的团队为何要涉足这个领域。然而,故事并非如此简单。在年,我们计划为一个大型展厅打造讲解机器人,采用流行于Android系统的接待引导机器人,其语音交互功能本无问题,但当时的挑战在于,尚未有集成cartographer在数千平米展厅中进行建图导航的方案。因此,我们决定打造一款完全基于ROS的讲解机器人。市场上虽然有众多智能音箱,但缺乏适用于ROS二次开发的产品。在科大讯飞一位大佬的介绍下,我们选择了AIUI方案,虽然开发难度大,但高度定制化,非常适合我们这样的开发团队。于是,我们主要任务转变为开发一款能够在ROS下驱动的智能音箱,ROSECHO便由此诞生。
第一版智能音箱在年4月问世,包含W的大喇叭、6环麦克风,以及ROS主控制器,下方控制了一个云迹科技的水滴底盘。了解过ROS星火计划进阶课程的朋友大概知道,课程中的大作业之一是语音命令移动机器人端茶倒水,而我们的任务相当于完成了一个加强版的大作业。
整个机器人在年7月完成,音箱分散到身体各个部分,环麦位于头顶,喇叭置于身体两侧。idea源码生成uml其他传感器、执行机构、决策、定位导航均基于ROS,定制了条特定问答,调试的机器人在场馆中行走上下坡不抖动,定位准确,7*小时工作稳定。音箱在大机器人上使用效果出色,主要得益于讯飞的降噪和回声消除技术,使得远场对话和全双工对话得以实现。社区中许多小伙伴也尝试了软核解决方案,但由于环境限制较大。于是,我们决定将音箱从大家伙改为普通智能音箱大小,通电即为智能音箱,USB接入ROS后,只需启动launch,即可接收语音识别结果,发送TTS语料,配置网络、接收唤醒角度等。
这次体验深刻地让我认识到,做大容易做小难。过完春节后,年8月ROS暑期夏令营期间,我们做了N款外壳,测试了M种喇叭,贴了P版外围电路,程序则改动不大。主要是由于时间有限,无法进行更多改进。样品均为手工制作,音质上,bootstrap spring 项目源码7w的喇叭配有一个无源辐射板,对于从森海HD入门的人来说,音质虽有瑕疵,但足以满足日常使用。
之前在想法中发布了一个使用视频,大家可参考运行效果。
ROSECHO基本情况介绍完毕,如何开始呢?
从零开始:推荐给手中已有讯飞AIUI评估板的小伙伴,记住,评估板而非麦克风降噪板(外观相似,简单区分是评估板售价元,降噪板元)。手头的评估板可通过3.5mm接口连接普通电脑音箱,再准备一根USB转转换头连接评估板DB9接口。后面需要根据实际串口修改udev规则,理论上可配合ROSECHO软件使用。硬件工作量较大,还需包含移动机器人所需机械设计、电气改造等。好处是拥有AIUI后台,可以定制云端语料和技能,但这又是另一个领域的能力,也不是三下五除二能完成的。
从ROSECHO开始:直接购买ROSECHO,首发的十台会附赠ROS2GO,只需连接自带电源并用USB线连接电脑,配置无线SSID和密码即可。连接方便,我们维护云端语料,人设为智能机器人管家,大家只需关注如何利用识别后的词句控制机器人和进行应答。云端问答AIUI处理,一些自定义问答可在本地程序中处理,务必联网,array_search源码因为语音识别本身需要网络。具体软件启动和简单demo请查看GitHub软件库的说明。
然后做什么:要实现智能语音交互功能的移动机器人,需要对ROS中的actionlib非常熟悉。我们提供了简单的demo,可以控制机器人在turtlebot stage仿真环境中根据语音指令在两点之间移动,也可以根据唤醒方位进行旋转。之后还需增加音箱的TF变换。
大机器人中的状态机采用层次状态机(Hierarchical state machines),适用于移动机器人的编程,框架准备开源,方便大家开发自己的智能移动机器人策略。参考下面链接,希望深入了解也可以购买译本,肯定是比ROS By Example中的Smach状态机更适合商用级产品开发。
还计划做一套简单的语音遥控指令集,机器人问答库,在iflyos中构建适合机器人的技能库。何时能完成尚不确定,大家一起加油!
(二)教学级别无人车Tianracer
GitHub源码库已准备就绪,欢迎先star再深入阅读。遵循Hypha Racecar的GPLv3协议。
这是最近更新的详细使用手册。相比ROSECHO,Tianracer的基本功能均已完成,至少可以拿来学习建图导航,了解SLAM。
Tianracer是一个经过长时间准备的开源项目,年从林浩鋕手中接过Hypha Racecar后,希望将项目发扬光大。这两年改进了软件框架、周边硬件、机械结构,并增加了新的建图算法,但仍有大量工作待完成。这两个月在知乎想法和微信朋友圈分享了项目的进展,经历了多次迭代,现在大致分为入门、标准、高配三个版本。三个版本的软件统一,可通过环境变量更改设置。
最近整个项目从Tianbot Racecar更名为TianRacer,经过长时间探索,终于实现了合理的传感器与处理器配置。相比Hypha Racecar,处理器从Odroid XU4更改为NVIDIA在上半年推出的Jetson Nano,车前方增加了广角摄像头,利用Nano的深度学习加速,可以接近实时处理图像数据。相比之前的单线激光,广角摄像头大大扩展了后续可实现的功能。
TianRacer基本使用Python编写,从底层驱动到遥控等,目的是方便大家学习和二次开发。同时集成了cartographer和vins-fusion启动文件,可以尝试新的激光与视觉SLAM,基于Nano的深度学习物体识别等也是可以直接运行的。但目前功能尚未有机整合。
从零开始搭建:TianRacer搭建可能难度较大,不仅需要RC竞速车的老玩家进行机械电子改装,还需要对ROS熟悉并修改软件以进行适配,同时可能需要嵌入式程序员的帮助。对于主要关心搭建的朋友,可以参考小林的Hypha Racecar和JetRacer Tamiya版本的搭建指南。
从TianRacer开始:这批开发版本的无人竞速车附赠搭好环境的ROS2GO,TianRacer本身有开机自启功能,利用ROS2GO加上USB线对车体进行网络配置,就可以远程编程和调试。仔细参考提供的TianRacer看云文档(文档积极更新),大部分车体自带的功能都可以实现,包括但不限于建图、定位、导航、识别等。
然后做什么:利用TianRacer学习无人车的基础框架,还可以通过JupyterLab学习Jetson Nano的深度学习算法。未来计划将交通标识识别、行人和车辆检测、车道线检测等无人车基础功能融合,但不确定Jetson Nano的算力是否足够。目标是在校园内进行低成本的无人车竞速比赛,希望像CMU的Mobot室外巡线比赛一样持续发展,至今已举办届。
这个视频是搬运自YouTube。大家可深入了解非结构环境下的导航。对于不清楚结构化环境与非结构化环境的朋友,CMU和恩智浦的比赛完美诠释了两者之间的区别。
一起来玩耍吧!
在开源社区协作方面,我们也是第一次尝试,对于松散的协同开发经验不足,希望参与或组织过大型开源项目的朋友们加入我们,一起努力。有兴趣的朋友可以留言或私信。
前几日与朋友们闲聊时,想起几年前高翔博士赞助一锅粥(orb-ygz-slam)1万元时,我也只能提供支持。这次真心希望可以贡献出代码,实现实实在在的贡献。
年年底发布了开发者申请价格,但数量有限,早已连送带卖售罄。年又有几十位爱好者填写了问卷,忘记查阅。每年的双十一双十二我们都会有优惠活动,感谢大家的关注。
vn.py发布v2.5.0 - Web应用后端服务
vn.py的2.5.0版本已发布,此更新重点在于实现Web应用后端服务,以满足用户在浏览器中运行和管理vn.py量化策略交易的需求。此新版本对数据库结构进行了底层修改,因此之前版本的数据库需要手动迁移,具体步骤请参考“数据库升级迁移”章节。 对于使用VN Studio的用户,启动VN Station并点击界右下角的更新按钮即可自动完成升级。没有安装的用户,请下载VN Studio-2.5.0,享受一键安装的量化交易Python发行版。Web应用后端服务架构设计
WebTrader采用了FastAPI作为后端服务器,支持REST主动请求调用和Websocket被动数据推送。运行时架构图展示两个独立的后端服务进程。使用步骤
新增的Web应用服务源代码位于vnpy_webtrader项目中,用户只需在VN Station启动时加载WebTrader应用即可。 启动VN Trader后,登录交易接口,点击顶部菜单栏的功能->Web服务打开窗口。此时系统运行的仅包括策略交易进程,右上角的服务器配置选项包括启动按钮,用户根据输入信息启动Web服务进程,后台会输出FastAPI运行过程中的日志信息。 启动浏览器打开网址.0.0.1:/docs,即可看到FastAPI接口文档网页,包含了目前WebTrader支持的接口信息,用户可结合vnpy_webtrader项目下的Jupyter Notebook进行接口测试。后续计划
WebTrader目前仅提供Web应用的后端接口,前端页面由社区用户实现,欢迎贡献代码。后续计划将逐渐增加策略交易应用管理功能,如CtaStrategy的调用。TTS交易接口
CTP API已成为国内金融市场的交易API标准,近期知乎网友krenx推出的OpenCTP项目,提供兼容或高度接近CTP的API功能,并自主实现了整套CTP柜台的仿真交易功能,为用户提供更多选择。2.5.0版本中也增加了对OpenCTP交易系统的支持,接口名为TtsGateway。数据库升级迁移
2.5.0版本对数据库结构进行了扩展增强,增加了字段。所有数据库管理器(vnpy.database)都已相应修改,升级后可能导致系统无法启动。购买了RQData等数据服务的用户可直接删除数据库后重新下载。自行录制的数据用户需执行数据迁移操作。其他更新
新增了基于易盛启明星/北斗星兼容交易API的EsunnyGateway,支持内盘期货、黄金TD、外盘期货等市场的交易。接口已剥离,并增加了Ubuntu上的一键自动安装功能,支持pip install命令快速安装。 CHANGELONG新增调整修复剥离新一代 Kaldi: 有 TTS Runtime 啦!
安装方式包括快速安装和源码编译。快速安装命令支持多种平台,详细信息可参考文档。对于使用其他语言API,如C/C++/Go/Kotlin/C#/Swift等需求,文档提供相应指南。
模型下载从网上获取。有三个开源VITS预训练模型可选,文档中包含详细下载方法。下载模型后,需注意支持嵌入式Linux,包括树莓派等。
使用模型前,还需下载特定Python文件。此文件可从GitHub仓库获取。
中文与英文多说话人模型的使用方法相似,主要差异在于模型文件的替换。速度调整可通过参数实现,如使用2倍速或0.8倍速。
体验sherpa-onnx中的文字转语音功能有三种方式:下载预编译的Android APK、在线体验和Windows可执行程序。Android APK提供下载链接,运行截图显示其使用效果。在线体验路径在Huggingface空间中提供,运行截图展示在线体验界面。Windows可执行程序无需额外安装,下载地址已提供。
总结,通过本教程,读者可了解如何使用sherpa-onnx实现文字到语音的转换。未来,我们计划在icefall中支持模型训练功能,以提升模型的灵活性与自定义性。