摘要

在我的想象中机器人首先应该能自由的走来走去,然后应该能流利的与主人对话。朝着这个理想,我准备设计一个能自由行走,并且可以与人语音对话的机器人。实现的关键是让机器人能通过传感器感知周围环境,并通过机器人大脑处理并输出反馈和执行动作。本章节涉及到的传感器有激光雷达、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,板载wifi模块,还有一个多媒体显示GPU(不过感觉没什么用)。CPU和内存配置算的的上是同等价位嵌入式主板的战斗机了,板载wifi这个也很实用。虽然树莓派支持安装很多种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。

后记

------SLAM+语音机器人DIY系列【目录】快速导览------

第1章:Linux基础

1.Linux简介

2.安装Linux发行版ubuntu系统

3.Linux命令行基础操作

第2章:ROS入门

1.ROS是什么

2.ROS系统整体架构

3.在ubuntu16.04中安装ROS kinetic

4.如何编写ROS的第一个程序hello_world

5.编写简单的消息发布器和订阅器

6.编写简单的service和client

7.理解tf的原理

8.理解roslaunch在大型项目中的作用

9.熟练使用rviz

10.在实际机器人上运行ROS高级功能预览

第3章:感知与大脑

1.ydlidar-x4激光雷达

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

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

4.音响麦克风与摄像头

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

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

第4章:差分底盘设计

1.stm32主控硬件设计

2.stm32主控软件设计

3.底盘通信协议

4.底盘ROS驱动开发

5.底盘PID控制参数整定

6.底盘里程计标

第5章:树莓派3开发环境搭建

1.安装系统ubuntu_mate_16.04

2.安装ros-kinetic

3.装机后一些实用软件安装和系统设置

4.PC端与robot端ROS网络通信

5.Android手机端与robot端ROS网络通信

6.树莓派USB与tty串口号绑定

7.开机自启动ROS节点

第6章:SLAM建图与自主避障导航

1.在机器人上使用传感器

2.google-cartographer机器人SLAM建图

3.ros-navigation机器人自主避障导航

4.多目标点导航及任务调度

5.机器人巡航与现场监控

第7章:语音交互与自然语言处理

1.语音交互相关技术

2.机器人语音交互实现

3.自然语言处理云计算引擎

第8章:高阶拓展

1.miiboo机器人安卓手机APP开发

2.centos7下部署Django(nginx+uwsgi+django+python3)

----------------文章将持续更新,敬请关注-----------------

如果大家对博文的相关类容感兴趣,或有什么技术疑问,欢迎加入下面的《SLAM+语音机器人DIY》QQ技术交流群,一起讨论学习^_^

SLAM+语音机器人DIY系列:(三)感知与大脑——5.机器人大脑嵌入式主板性能对比的更多相关文章

  1. SLAM+语音机器人DIY系列:(三)感知与大脑——2.带自校准九轴数据融合IMU惯性传感器

    摘要 在我的想象中机器人首先应该能自由的走来走去,然后应该能流利的与主人对话.朝着这个理想,我准备设计一个能自由行走,并且可以与人语音对话的机器人.实现的关键是让机器人能通过传感器感知周围环境,并通过 ...

  2. SLAM+语音机器人DIY系列:(三)感知与大脑——1.ydlidar-x4激光雷达

    摘要 在我的想象中机器人首先应该能自由的走来走去,然后应该能流利的与主人对话.朝着这个理想,我准备设计一个能自由行走,并且可以与人语音对话的机器人.实现的关键是让机器人能通过传感器感知周围环境,并通过 ...

  3. SLAM+语音机器人DIY系列:(三)感知与大脑——3.轮式里程计与运动控制

    摘要 在我的想象中机器人首先应该能自由的走来走去,然后应该能流利的与主人对话.朝着这个理想,我准备设计一个能自由行走,并且可以与人语音对话的机器人.实现的关键是让机器人能通过传感器感知周围环境,并通过 ...

  4. SLAM+语音机器人DIY系列:(三)感知与大脑——4.音响麦克风与摄像头

    摘要 在我的想象中机器人首先应该能自由的走来走去,然后应该能流利的与主人对话.朝着这个理想,我准备设计一个能自由行走,并且可以与人语音对话的机器人.实现的关键是让机器人能通过传感器感知周围环境,并通过 ...

  5. SLAM+语音机器人DIY系列:(三)感知与大脑——6.做一个能走路和对话的机器人

    摘要 在我的想象中机器人首先应该能自由的走来走去,然后应该能流利的与主人对话.朝着这个理想,我准备设计一个能自由行走,并且可以与人语音对话的机器人.实现的关键是让机器人能通过传感器感知周围环境,并通过 ...

  6. SLAM+语音机器人DIY系列:(六)SLAM建图与自主避障导航——2.google-cartographer机器人SLAM建图

    摘要 通过前面的基础学习,本章进入最为激动的机器人自主导航的学习.在前面的学习铺垫后,终于迎来了最大乐趣的时刻,就是赋予我们的miiboo机器人能自由行走的生命.本章将围绕机器人SLAM建图.导航避障 ...

  7. SLAM+语音机器人DIY系列:(二)ROS入门——6.编写简单的service和client

    摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...

  8. SLAM+语音机器人DIY系列:(四)差分底盘设计——4.底盘ROS驱动开发

    摘要 运动底盘是移动机器人的重要组成部分,不像激光雷达.IMU.麦克风.音响.摄像头这些通用部件可以直接买到,很难买到通用的底盘.一方面是因为底盘的尺寸结构和参数是要与具体机器人匹配的:另一方面是因为 ...

  9. SLAM+语音机器人DIY系列:(四)差分底盘设计——5.底盘PID控制参数整定

    摘要 运动底盘是移动机器人的重要组成部分,不像激光雷达.IMU.麦克风.音响.摄像头这些通用部件可以直接买到,很难买到通用的底盘.一方面是因为底盘的尺寸结构和参数是要与具体机器人匹配的:另一方面是因为 ...

随机推荐

  1. HTTP VISUAL HTTP请求可视化工具、HTTP快照工具(公测)

    先啰嗦几句,最近工作比较忙,再加上自己又开设了一个小站(简单点),没时间写博客,都快憋坏了,趁着周末有时间,抓紧来一篇~ HTTP VISUAL是一款HTTP可视化工具,它可以记录HTTP请求,包括请 ...

  2. SAP GUI个性化设置

    大概从GUI730开始,GUI品牌化一直不被默认支持,在GUI设置选项里处于灰色状态,如下图: 不过用户还是可以修改注册表的方式来进行修改,让它可以设置! 首先运行Regedit,在目录:HKEY_L ...

  3. Universal-Image-Loader源码解解析---display过程 + 获取bitmap过程

    Universal-Image-Loader在github上的地址:https://github.com/nostra13/Android-Universal-Image-Loader 它的基本使用请 ...

  4. eShopOnContainers 知多少[9]:Ocelot gateways

    引言 客户端与微服务的通信问题永远是一个绕不开的问题,对于小型微服务应用,客户端与微服务可以使用直连的方式进行通信,但对于对于大型的微服务应用我们将不得不面对以下问题: 如何降低客户端到后台的请求数量 ...

  5. 【STM32H7教程】第8章 STM32H7的终极调试组件Event Recorder

    完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第8章   STM32H7的终极调试组件Event Re ...

  6. React 虚拟 DOM 的差异检测机制

    React 使用虚拟 DOM 将计算好之后的更新发送到真实的 DOM 树上,减少了频繁操作真实 DOM 的时间消耗,但将成本转移到了 JavaScript 中,因为要计算新旧 DOM 树的差异嘛.所以 ...

  7. PostgreSQL:安装及中文显示

    一.PostgreSQL PostgreSQL (也称为Post-gress-Q-L)是一个跨平台的功能强大的开源对象关系数据库管理系统,由 PostgreSQL 全球开发集团(全球志愿者团队)开发. ...

  8. 《k8s-1.13版本源码分析》- 调度器设计

    本文原始地址:https://farmer-hutao.github.io/k8s-source-code-analysis/core/scheduler/desigh.html github项目地址 ...

  9. Java实现简易联网坦克对战小游戏

    目录 介绍 本项目的Github地址 基础版本 游戏的原理, 图形界面(非重点) 游戏逻辑 网络联机 客户端连接上服务器 定义应用层协议 TankNewMsg TankMoveMsg MissileN ...

  10. AI2(App Inventor 2)离线版服务器网络版

    个人修改包括: 1.后台增加用户批量添加功能         https://gte.fsyz.net/node/1877 2.上传文件限制改为100M ,编译文件限制改为10M      https ...