摘要                                              

在我的想象中机器人首先应该能自由的走来走去,然后应该能流利的与主人对话。朝着这个理想,我准备设计一个能自由行走,并且可以与人语音对话的机器人。实现的关键是让机器人能通过传感器感知周围环境,并通过机器人大脑处理并输出反馈和执行动作。本章节涉及到的传感器有激光雷达、IMU、轮式里程计、麦克风、音响、摄像头,和用于处理信息的嵌入式主板。关于传感器的ROS驱动程序开发和在机器人上的使用在后面的章节会展开,本章节重点对机器人传感器和嵌入式主板进行讲解,主要内容:

1.ydlidar-x4激光雷达

2.带自校准九轴数据融合IMU惯性传感器

3.轮式里程计与运动控制

4.音响麦克风与摄像头

5.机器人大脑嵌入式主板性能对比

6.做一个能走路和对话的机器人



5.机器人大脑嵌入式主板性能对比

从事SLAM与机器人导航也有几年时间了,期间用过不少的嵌入式主板做开发。机器人是软硬件结合的一个实体,这里就对机器人的大脑(嵌入式主板)进行一些讨论。结合我用过的一些嵌入式开发板,展开对比分析,具体型号如图32

32我用过的嵌入式板型号

5.1.树莓派3                                                               

树莓派一直很火,现在已经推出第三代了。这里放一张树莓派0、树莓派2、树莓派3的全家福吧,如图33

33)树莓派全家福

接下来看看具体的性能参数,如图34。如果想了解更多关于树莓派的资料,可以阅读树莓派的wiki教程https://en.wikipedia.org/wiki/Raspberry_Pi

34)树莓派性能参数

树莓派3,售价200RMB左右,CPU1.2Ghz ARM-Cortex-A53,内存1GB,板载wifi模块,还有一个多媒体显示GPU(不过感觉没什么用)。CPU和内存配置算的的上是同等价位嵌入式主板的战斗机了,板载wifi这个也很实用。虽然树莓派支持安装很多种linux系统,由于我这里要跑ROS机器人系统,所以我选择了安装ubuntu-mate-16.04, ubuntu-mate-16.04 LTS实际上是ubuntu-16.04 LTS的一部分,为桌面、Raspberry Pi 23单片机准备的,这也是Ubuntu MATE的首个LTS长期支持版,亮点在于包含MATE 1.12.1桌面环境,针对平板支持多点触控和“自然滚动”,对多屏幕设置提供更好的支持,更好的会话管理,扩展的systemd支持,改进过的Power小程序——可显示产品型号和提供商信息等内容。

35ubuntu-mate-16.04系统界面

安装好ubuntu-mate-16.04操作系统后,上电可以看到图35所示的系统界面,就可以安装kinetic版本的ROS了,然后就可以验证SLAM算法了。Gmapping激光SLAM建图和ros-navigation自动导航跑的都很顺畅;google-cartographer进行建图和重定位也没什么问题;跑ORB-SLAM2Mono模式就不太行了,帧率5帧以内。

5.2.Firefly-RK3399                                       

萤火虫开发板还是很强大的板子分RK3288RK3399两个版本,先看一下官方的宣传广告。

36Firefly-RK3399

如图36所示,RK3399双核CortexA72+四核CortexA53CPU2GB/4GB可选配的内存,一看这些配置就知道很强大,的确跑各种视觉算法很不错,不过1000RMB的售价感觉有点小贵。

5.3.Nvidia-jetson-TK1                                 

(图37Nvidia-jetson-TK1

Tegra K1Nvidia推出的一款AI级别的嵌入式主板,ARM-Cortex-A15CPU192CUDA核心的kepler架构的GPU2GB内存,如图37。有人用Tegra K1做了一个计算集群,感觉还挺有意思的,如图38

(图38Nvidia-jetson-TK1计算集群

5.4.Nvidia-jetson-TX2                                 

Jetson TX2的是可以作为核武器的处理器的(@~@),性能是十分强大的。简单的智能小车或者机器人不推荐使用TX2,性价比比较低。利用TX2做处理器,控制移动平台(高精度的小车底盘)做SLAM我觉得是一个相当有意思的项目,TX2的处理能力非常适合实现机器视觉。

(图39Nvidia-jetson-TX2

39中左边是官方的开发板和扩展板,不过由于官方扩展板体积太大了用在很多地方不方便,于是网上推出了一款小巧的扩展板Connect Tech Inc很不错。

(图40Nvidia-jetson-TX1/2性能参数

这个是性能表,看上去也是叼叼的,不过售价不便宜接近5000RMB。。。

5.5.Intel-NUC                                              

前面介绍的都是ARM架构的主板,现在介绍一款X86架构的主板NUC

(图41Intel-NUC

之前用过Intel-NUC7-i7,19V供电65W功耗感觉不适合嵌入式级别的应用场合,而且3000RMB的售价也没法和Nvidia-jetson-TX2比较性价比,所以不推荐在机器人上使用。

5.6.Intel-Edison                                          

其实这是intel一个失败的尝试,主打物联网应用,CPU采用intelAtom处理器,最大的亮点是可以在主板上直接扩展Ardunio单片机开发板。如图42

(图42Intel-Edison

其实个人不推荐用Edison来开发SLAM算法,不过也有公司做这方面的尝试,比如上海思岚科技的SLAMWARE-CORE就是Edison的模仿者。

(图43SLAMWARE-CORE

5.7.Google-Tango-phone                          

其实Tango-phone是一个完整的AR方案,手机内集成了深度相机和VO视觉里程计。

(图44Tango-phone

看网上的演示视频也是十分的炫酷,不过最终这个项目还是没有在google中火起来,可能还是存在不少问题的吧。

5.8.总结                    

(图45)性能对比

最后,总结一些各个开发板的性能对比,见图45。玩机器人和SLAM的朋友们,如果是中低端需求推荐树莓派3,高端需求推荐jetson-TX2

版权声明:本文为hiram-zhang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/hiram-zhang/p/10401378.html