在个人想象中机器人首先应该能自由的走来走去,而后应该能流利的与主人对话。朝着这个理想,我准备设计一个能自由行走,而且能够与人语音对话的机器人。实现的关键是让机器人能经过传感器感知周围环境,并经过机器人大脑处理并输出反馈和执行动做。本章节涉及到的传感器有激光雷达、IMU、轮式里程计、麦克风、音响、摄像头,和用于处理信息的嵌入式主板。关于传感器的ROS驱动程序开发和在机器人上的使用在后面的章节会展开,本章节重点对机器人传感器和嵌入式主板进行讲解,主要内容:html
1.ydlidar-x4激光雷达python
2.带自校准九轴数据融合IMU惯性传感器nginx
3.轮式里程计与运动控制django
4.音响麦克风与摄像头ubuntu
5.机器人大脑嵌入式主板性能对比centos
要让机器人能跟人进行对话,须要麦克风和音响。其实麦克风就至关于机器人的耳朵,音响就至关于机器人的嘴巴。摄像头做为机器人的眼睛,摄像头能够用来帮助机器人定位或认识环境。架构
(图29)音响ide
如图29,为音响的基本配件。这里须要说明一下,因为后面使用树莓派3做为机器人的大脑,不过树莓派3的自带声卡很差用,驱动容易崩溃,因此这里推荐使用免驱的USB声卡。其实,声卡就是DA转换器,就是将数字音频信号转换为模拟电压信号;音响就是将声卡输出的模拟电压进行放大并经过喇叭播放出来。性能
(图30)麦克风与摄像头
如图30,摄像头上直接集成了麦克风。这里选用的是四麦阵列指向性麦克风,能够对特定方向上的声音拾取,并过滤其余方向上的杂音。这里的摄像头是640x480像素60fps。
(图31)麦克风与摄像头
咱们只须要在机器人上安装对应的ROS驱动,就能够经过发布和订阅相应的主题来实现对传感器的访问了。如图31,iat语音识别节点用于驱动麦克风,并将麦克风采集的语音转换为文字;问答(QA)和天然语言处理(NLP)节点处理iat语音识别节点发布的文字,并将处理结果发布给tts语音合成节点;tts语音合成节点订阅问答(QA)和天然语言处理(NLP)节点发布的文字,并驱动声卡将文字转换为语音;摄像头ROS驱动将摄像头数据直接发布到相应的话题。这样机器人上的其余节点均可以经过订阅与发布相应的节点来访问麦克风、声卡和摄像头。关于图像、语音、文字等处理的具体应用将在后面详细展开。
------SLAM+语音机器人DIY系列【目录】快速导览------
第1章:Linux基础
第2章:ROS入门
第3章:感知与大脑
第4章:差分底盘设计
第5章:树莓派3开发环境搭建
第6章:SLAM建图与自主避障导航
2.google-cartographer机器人SLAM建图
第7章:语音交互与天然语言处理
第8章:高阶拓展
2.centos7下部署Django(nginx+uwsgi+django+python3)
----------------文章将持续更新,敬请关注-----------------
若是你们对博文的相关类容感兴趣,或有什么技术疑问,欢迎加入下面的《SLAM+语音机器人DIY》QQ技术交流群,一块儿讨论学习^_^
关于咱们:
视频教程: