如何使用ROS和easymqos快速搭建一辆语音控制导航的机器人

之前做的机器人小车基本都属于电脑或手机控制操作。目前,使用语音控制机器人小车运动,让机器人导航去指定地点,已经成为热门,并且语音识别技术已经有落地方案,可满足生活中的基本需要。有些语音芯片通过高算力处理器运行神经网络识别,并集成若干条语音模型,然后通过串口对外输出识别结果,完成语音识别的使用,有些模快还有TTS,任意文本输出语音,和机器人交互更方便。

如何快速搭建一辆语音控制导航的机器人?

将语音控制导航分为:

语音识别、控制、导航3部分。
一 、语音识别技术

第一种常见的是将语音识别算法封装于集成芯片内。

在这里插入图片描述

常见的有LD3320 和AI离线识别的芯片。

此类模块的优点在于将算法集成到芯片内部,对外提供串口、IIC等接口,用户使用指定协议和模块通信并得到识别的结果。

另一种AI算法,将算法集成到Linux处理器中,直接得到语音识别结果,

作者已经验证可在树莓派用的有whisper.cpp 的AI神经网络。

whisper目录
在这里插入图片描述

图片

在这里插入图片描述

树莓派接插USB免驱麦克风

使用arecord 指令确定设备是否存在

pi@pi-desktop:~/whisper.cpp$ sudo arecord -l
**** List of CAPTURE Hardware Devices ****
card 3: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

接着使用whisper 中编译出来的command 指令测试语音识别

目前笔者仅实现了英文的识别,普通话识别会抱溢出,大概率猜测树莓派没有安装中文包之类的输出,后续接着测试。

最后的树莓派语音识别效果:
https://www.bilibili.com/video/BV15C411W7BR/?spm_id_from=333.999.0.0

二、 控制 与 导航

控制与导航的功能可以认为是SLAM中定位的实现,具体就是定位精确与导航,导航能实现路径规划、航点跟随、避障等。

在我们所开发的机器人中,将语音算法融合到处理器中,先完成建图后,借助网页UI设定地点,然后通过语音识别后将命令发给navigation包。

控制与导航可以用ROS 实现,也可以快速用easymqos实现,也可以将两者优势结合,更快做出。

EasymqOS 机器人分布式开发框架
easy_mqOS 是笔者仿照ROS 搭建的基于MQTT的简易机器人分布式开发框架,是一种轻量级并且十分容易上手的框架,支持多个节点的主题的订阅和单topic发布,节点之间独立、解耦合。没有复杂的文件配置,一定的make编程基础,像正常启动服务一样,就可以运行。甚至可以在嵌入式linux上使用,而不用安装Ubuntu没有复杂的插件,很容易上手和学习。支持c.c++ ,python,js.MQTT协议特点

  1. 使用发布/订阅消息模式,提供一对多的消息分发,解除应用程序耦合。
  2. 消息传输对有效载荷内容不可知。
  3. 使用TCP/IP提供基础网络连接。
  4. 有3个消息发布服务质量级别。
  5. 轻量传输,协议交换最小化,以降低网络网络流量。
  6. 提供一种机制,当客户端异常中断时,利用 Last Will 和 Testament 特性来通知有关各方。
  7. 对于不需要搭建太复杂的机器人,笔者认位easy_mqos就可以满足自主建图和避障导航的功能.
  8. 支持ros

启动程序

/easymqOs_navigation$ ./navigation
/easymqos_basecomm$ ./basecomm_node
/easymqos_imu$ python3 read_bno.py

适合的人群:

想入门学习机器人规划和导航的同学。
2. 快速入门SLAM建图的同学。
3. 学习自主导航的同学。
4. 学习局部规划的同学。
5. 学习避障算法的同学。
6. 想快速测试效果的同学。
7. 关注神经网络和机器人应用的同学。
8. 机器人爱好者。

三、演示效果

https://www.bilibili.com/video/BV1Nj421f7HV/?spm_id_from=333.999.0.0&vd_source=2056365a3e689ccb27ee312065d1714c
在这里插入图片描述
视频中使用easymqos+ros快速实现。
另外,控制页面基于HTML+css 和mqtt协议专门开发了一个交互的web软件,

在这里插入图片描述
感兴趣的可以关注公号下载。部分源于《轮式自主移动机器人编程实战》

公号:视觉动力机器人
qq:583302177

  • 20
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值