如何使用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/1Subdevice #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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/541815.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C语言】—— 指针二 : 初识指针(下)

【C语言】——函数栈帧 一、 c o n s t const const 修饰指针1.1、 c o n s t const const 修饰变量1.2、 c o n s t const const 修饰指针 二、野指针2.1野指针的成因(1)指针未初始化(2)指针越界访问(3)指…

Spring Web MVC 入门使用

1. 什么是Spring Web MVC Spring Web MVC是基于Servlet API 构建的原始Web框架,从一开始就包含在Spring框架中。 Servlet 是一套Java Web 开发的规范,或者说是一套Java Web 开发的技术标准。只有规范并不能做任何事情,必须要有人去实现它&a…

DM数据库安装及使用(Windows、Linux、docker)

Windows 先解压安装包 点击setup安装 下一步 勾选接受然后下一步 下一步 选择典型安装下一步 下一步 搜索DM数据库配置助手然后一直下一步 然后搜索DM管理工具 登录 登录成功 widows版本安装成功 Linux安装 操作系统CPU数据库CentOS7x86_64 架构dm8_20230418_x86_rh6_64 …

首个ChatGPT机器人- Figure 01;李开复旗下零一万物推出Yi系列AI大模型API

🦉 AI新闻 🚀 首个ChatGPT机器人- Figure 01 摘要:Figure 01是一个由初创公司Figure联合OpenAI开发的人形机器人。它展示了与人类和环境互动的能力,可以说话、看东西,并且可以执行各种任务,如递食物、捡垃…

CSS案例-1.字体样式练习

效果 知识点 字体大小font-size 相对长度单位 说明 em 相对于当前对象内文本的字体尺寸 px 像素,最常用,推荐使用 绝对长度单位 说明 in 英寸 cm 厘米 mm 毫米 pt 点 Unicode字体 字体名称 英文名称 Unicode编码 宋体 SimSun \5B8B\4F53 新宋体 NSimSun \65B0\5B8B\4F53

微服务初识

1.认识微服务 随着互联网行业的发展,对服务的要求也越来越高,服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢? 1.1.单体架构 单体架构:将业务的所有功能集中在一个项目中开发,打…

理论学习:CNN卷积核与通道讲解

参考链接: CNN卷积核与通道讲解_cnn卷积核如何确定-CSDN博客 单通道卷积 多通道卷积(一个卷积核) 以彩色图像为例,包含三个通道,分别表示RGB三原色的像素值,输入为(3,5,5)&#xf…

centos破解root密码以及如何防止他人破解root密码

目录 破解root密码 服务器重启 1.再重启页面上下选择第一个按e进入内核编辑模式 2.找到linux16开头的一行,光标移动到最后添加 init/bin/sh Ctrlx 保存 3.进入单用户模式 4.重新挂在根分区 5.关闭selinux 6.更新密码 passwd 7.在根分区下面创建一个隐藏文件…

对模型性能进行评估(Machine Learning 研习十五)

在上一篇我们已然训练了一个用于对数字图像识别的模型,但我们目前还不知道该模型在识别数字图像效率如何?所以,本文将对该模型进行评估。 使用交叉验证衡量准确性 评估模型的一个好方法是使用交叉验证,让我们使用cross_val_score…

vue/uniapp路由history模式下宝塔空间链接打开新窗口显示404解决方法

vue/uniapp路由history模式下宝塔空间链接打开新窗口显示404,或者域名后带路径参数刷新就报404 解决方法: 宝塔中站点配置修改:【配置文件】中添加下面代码,具体如图: location / {try_files $uri $uri/ /index.html…

汇总全网免费API,持续更新(新闻api、每日一言api、音乐。。。)

Public&FreeAPI 网址:apis.whyta.cn (推荐) UomgAPI 网址:https://api.uomg.com 教书先生 网址:https://api.oioweb.cn/ 山海API https://api.shserve.cn/ 云析API铺 https://api.a20safe.com/ 韩小韩…

浅析 Python 的一些底层原理与 CPython

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ Python 是一门强大且易用的脚本语言,以其简洁的语法和全面的功能而闻名,能够有效地支持各种业务的快速实现。但 Python 的设计者有意地隐藏了背后的复杂细节。在解决项目问题时&…