摘要
在我的想象中机器人首先应该能自由的走来走去, 然后应该能流利的与主人对话. 朝着这个理想, 我准备设计一个能自由行走, 并且可以与人语音对话的机器人. 实现的关键是让机器人能通过传感器感知周围环境, 并通过机器人大脑处理并输出反馈和执行动作. 本章节涉及到的传感器有激光雷达, 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 左右, CPU 是 1.2Ghz ARM-Cortex-A53, 内存 1GB, 板载 Wi-Fi 模块, 还有一个多媒体显示 GPU(不过感觉没什么用).CPU 和内存配置算的的上是同等价位嵌入式主板的战斗机了, 板载 Wi-Fi 这个也很实用. 虽然树莓派支持安装很多种 Linux 系统, 由于我这里要跑 ROS 机器人系统, 所以我选择了安装 Ubuntu-mate-16.04, Ubuntu-mate-16.04 LTS 实际上是 Ubuntu-16.04 LTS 的一部分, 为桌面, Raspberry Pi 2 和 3 单片机准备的, 这也是 Ubuntu MATE 的首个 LTS 长期支持版, 亮点在于包含 MATE 1.12.1 桌面环境, 针对平板支持多点触控和 "自然滚动", 对多屏幕设置提供更好的支持, 更好的会话管理, 扩展的 systemd 支持, 改进过的 Power 小程序 -- 可显示产品型号和提供商信息等内容.
(图 35)Ubuntu-mate-16.04 系统界面
安装好 Ubuntu-mate-16.04 操作系统后, 上电可以看到图 35 所示的系统界面, 就可以安装 kinetic 版本的 ROS 了, 然后就可以验证 SLAM 算法了. Gmapping 激光 SLAM 建图和 ros-navigation 自动导航跑的都很顺畅; google-cartographer 进行建图和重定位也没什么问题; 跑 ORB-SLAM2 的 Mono 模式就不太行了, 帧率 5 帧以内.
5.2.Firefly-RK3399
萤火虫开发板还是很强大的板子分 RK3288 和 RK3399 两个版本, 先看一下官方的宣传广告.
(图 36)Firefly-RK3399
如图 36 所示, RK3399 双核 CortexA72 + 四核 CortexA53 的 CPU 和 2GB/4GB 可选配的内存, 一看这些配置就知道很强大, 的确跑各种视觉算法很不错, 不过 1000RMB 的售价感觉有点小贵.
5.3.Nvidia-jetson-TK1
(图 37)Nvidia-jetson-TK1
Tegra K1 是 Nvidia 推出的一款 AI 级别的嵌入式主板, ARM-Cortex-A15 的 CPU,192 个 CUDA 核心的 kepler 架构的 GPU,2GB 内存, 如图 37. 有人用 Tegra K1 做了一个计算集群, 感觉还挺有意思的, 如图 38.
(图 38)Nvidia-jetson-TK1 计算集群
5.4.Nvidia-jetson-TX2
Jetson TX2 的是可以作为核武器的处理器的 (@~@), 性能是十分强大的. 简单的智能小车或者机器人不推荐使用 TX2, 性价比比较低. 利用 TX2 做处理器, 控制移动平台(高精度的小车底盘) 做 SLAM 我觉得是一个相当有意思的项目, TX2 的处理能力非常适合实现机器视觉.
(图 39)Nvidia-jetson-TX2
图 39 中左边是官方的开发板和扩展板, 不过由于官方扩展板体积太大了用在很多地方不方便, 于是网上推出了一款小巧的扩展板 Connect Tech Inc 很不错.
(图 40)Nvidia-jetson-TX1/2 性能参数
这个是性能表, 看上去也是叼叼的, 不过售价不便宜接近 5000RMB...
5.5.Intel-NUC
前面介绍的都是 ARM 架构的主板, 现在介绍一款 X86 架构的主板 NUC.
(图 41)Intel-NUC
之前用过 Intel-NUC7-i7,19V 供电 65W 功耗感觉不适合嵌入式级别的应用场合, 而且 3000RMB 的售价也没法和 Nvidia-jetson-TX2 比较性价比, 所以不推荐在机器人上使用.
5.6.Intel-Edison
其实这是 intel 一个失败的尝试, 主打物联网应用, CPU 采用 intel 的 Atom 处理器, 最大的亮点是可以在主板上直接扩展 Ardunio 单片机开发板. 如图 42.
(图 42)Intel-Edison
其实个人不推荐用 Edison 来开发 SLAM 算法, 不过也有公司做这方面的尝试, 比如上海思岚科技的 SLAMWARE-CORE 就是 Edison 的模仿者.
- (图 43)SLAMWARE-CORE
- 5.7.Google-Tango-phone
其实 Tango-phone 是一个完整的 AR 方案, 手机内集成了深度相机和 VO 视觉里程计.
(图 44)Tango-phone
看网上的演示视频也是十分的炫酷, 不过最终这个项目还是没有在 google 中火起来, 可能还是存在不少问题的吧.
5.8. 总结
(图 45)性能对比
最后, 总结一些各个开发板的性能对比, 见图 45. 玩机器人和 SLAM 的朋友们, 如果是中低端需求推荐树莓派 3, 高端需求推荐 jetson-TX2.
来源: https://www.cnblogs.com/hiram-zhang/p/10401378.html