怎样用ROS打造机器人建图导航
- 作者 · 田博
- 1231次浏览
- 2017-12-26
- 来源 · 知乎
- 分享
- 字体-+
作者用PPT+文字描述的方式,和大家聊一聊用ROS进行移动机器人建图导航的一些事情,和现场一样精彩哦
WRC大会上ROS分论坛我的发言。
很多朋友后来问我要PPT。这次讲座内容稍微干一点,这个版本有我自己的演说内容作参考。
大家好,谢谢Tony和高工的邀请,今天我要在这里和大家聊一聊用ROS进行移动机器人建图导航的一些事情。在座有不少ROS星火计划和ROS Summer School的学员,都听过我的讲座,不过今天的题目是我第一次讲。都说我一张PPT讲半个小时,今天一共只有20分钟,怕时间是不够用了!
今天的内容大纲就是如上四点。我们要建地图,建什么地图?导航,如何导航?能不能有一个模块把建图导航标准化了?那还有些啥问题呢?
今天是讲建图导航,重点是要可以导航,所以我们就略去视觉建图,三维建图的内容。以上是ROS下就能找到的Gmapping建立的占据栅格图,以及RatSLAM建立的拓扑地图。这两个图都是可以用来导航的,也都至少是十年的技术了。
我们用SLAM是为了建立全局地图。那么无人车需要建立高精度地图,需要很大的存储数据。而人类导航用的地图,我们一个城市的地图包加导航包一共也就几十兆一百兆就够了。这是为什么呢?大家可以思考一下。
就现在的技术而言,从地图精度,计算复杂度,适应性等各个角度考虑,现在最适合做室内机器人导航的地图,就是占据栅格图,三维高精度地图和一维的拓扑地图暂时都还有很多缺点。二维激光建图而且在ROS中有多种算法可以选用。
现在有很多国内创业公司说研发了自己的建图导航算法,多么多么厉害。我想和大家说,在我做机器人定位,建图,导航以及空间认知的这十年来,华人在这个领域都很少有建树,更没有听说过厉害的公司。不是说国内创业公司不厉害,而是大家可能多数是在某些应用场景有长处。想要做一个通用的,有延展性的,还对用户友好的建图导航系统,还不太可能。cartographer加了后端做闭环,建图很厉害,可是能用到扫地机器人上么?大范围的回环可以做了,但是我的应用都是开阔的小场景怎么办?你的机器人有高精度码盘,我的机器人是大范围激光传感器,我们的算法能通用么?所以很多问题是需要大家思考的。
不管怎么说,室内环境,不要太大范围的建图,是没有什么问题的。我们需要用二维的全局地图进行全局导航规划,这个足够了。
当然,激光为人诟病的一线扫描,看不到之上之下的东西,常常在现实场景中束手无策。所以又有很多公司会说,我们用了激光与深度摄像头融合的导航解决方案。那么这是一个怎么样的方案呢?最简单的,就是在ROS导航包的Costmap设置中,增加我们的观测源。是的,不需要改动代码,只要更改配置文件就好了,我们就有了最简单的多传感器融合的导航方案。
这是我们做的一台验证算法的机器人。我们没有考虑深度摄像头的盲区,而且深度摄像头也是简单的平置。控制器用Odroid XU4, 和RoboWare团队,racecar用的处理器一样。大概很多人觉得这样的配置不太行。我们等一下有视频演示。
这是一个简单的处理流程,毕竟直接处理点云运算能力差了点。我们的所有运算都是onboard。没有贴ROS中的节点图,因为还有很多其他节点会完全看不清楚。
机器人在复杂非结构环境下的自主导航_腾讯视频
(这两个视频分别放了一小段)
这里是在让机器人在动态环境中移动的时候需要注意的几个参数内容。没有写中文因为字确实码不下了。
非结构静态环境下。不详细讲了,大家可以拍照片,后面我们的ppt应该也是会放出来的。
我们现在能做的是可以导航,如果需要导航的效果“更好”,也就是用户体验更好,还有更多的代价地图层可以添加。而这些,都是随着ROS的导航包更新不断在更新的。这也是为什么我们强调大家取之开源社区,用之开源社区。国内的太多人,拿了开源封装起来,就现在的技术发展来说,我觉得这是个笨办法,不是个长久的办法。因为社区的内容更新的时候,你的产品没办法马上更新啊!google的SLAM算法都开源,现在维护非常积极,我们只想拿来主义,不懂得commit,我们想在智能机器人领域弯道超车是不可能的。
ROS是一个很好的工具,但是ROS wiki中的教程,实在是,简洁。所以,希望大家能够纠正一个观念,通过学习ROS学习机器人,还是需要先打好机器人的基础,再来用ROS比较好。那么也要感谢今天各位ROS书籍的作者和译者,感谢机工社能够给我们带来更多的学习资料。同时也欢迎大家了解ROS星火计划。到目前大家来听课,至少6成的进阶课程会是我来上的。
时间快要不够,就扔出问题来大家思考。我们的建图和导航,到底要让谁来做?机器人全自主来做,像扫地机器人一样?还是需要工程师来建图,或者用户自己可以操作机器人建图?那么导航的时候,不同的场景,我们怎么来做?所以,现在想要做统一的建图导航模块,还为时尚早。
我的演讲就到这里。这张图,只是因为我特别喜欢这张图,所以放在这里了,每次讲座都会讲这个,要理解机器人和人工智能的区别与联系。机器人的Perception和action,这是非常重要的。总而言之,我们需要更多的工程师从事机器人行业。我们现在是好的时代,大家大多数都是年轻人,机器人行业还很小,希望能够创造出我们的机器人时代。能让我们国家在机器人时代走到前沿。我想这也是张总和Tony主办这次论坛的初衷。谢谢大家。
很多朋友后来问我要PPT。这次讲座内容稍微干一点,这个版本有我自己的演说内容作参考。
大家好,谢谢Tony和高工的邀请,今天我要在这里和大家聊一聊用ROS进行移动机器人建图导航的一些事情。在座有不少ROS星火计划和ROS Summer School的学员,都听过我的讲座,不过今天的题目是我第一次讲。都说我一张PPT讲半个小时,今天一共只有20分钟,怕时间是不够用了!
今天的内容大纲就是如上四点。我们要建地图,建什么地图?导航,如何导航?能不能有一个模块把建图导航标准化了?那还有些啥问题呢?
今天是讲建图导航,重点是要可以导航,所以我们就略去视觉建图,三维建图的内容。以上是ROS下就能找到的Gmapping建立的占据栅格图,以及RatSLAM建立的拓扑地图。这两个图都是可以用来导航的,也都至少是十年的技术了。
我们用SLAM是为了建立全局地图。那么无人车需要建立高精度地图,需要很大的存储数据。而人类导航用的地图,我们一个城市的地图包加导航包一共也就几十兆一百兆就够了。这是为什么呢?大家可以思考一下。
就现在的技术而言,从地图精度,计算复杂度,适应性等各个角度考虑,现在最适合做室内机器人导航的地图,就是占据栅格图,三维高精度地图和一维的拓扑地图暂时都还有很多缺点。二维激光建图而且在ROS中有多种算法可以选用。
现在有很多国内创业公司说研发了自己的建图导航算法,多么多么厉害。我想和大家说,在我做机器人定位,建图,导航以及空间认知的这十年来,华人在这个领域都很少有建树,更没有听说过厉害的公司。不是说国内创业公司不厉害,而是大家可能多数是在某些应用场景有长处。想要做一个通用的,有延展性的,还对用户友好的建图导航系统,还不太可能。cartographer加了后端做闭环,建图很厉害,可是能用到扫地机器人上么?大范围的回环可以做了,但是我的应用都是开阔的小场景怎么办?你的机器人有高精度码盘,我的机器人是大范围激光传感器,我们的算法能通用么?所以很多问题是需要大家思考的。
不管怎么说,室内环境,不要太大范围的建图,是没有什么问题的。我们需要用二维的全局地图进行全局导航规划,这个足够了。
当然,激光为人诟病的一线扫描,看不到之上之下的东西,常常在现实场景中束手无策。所以又有很多公司会说,我们用了激光与深度摄像头融合的导航解决方案。那么这是一个怎么样的方案呢?最简单的,就是在ROS导航包的Costmap设置中,增加我们的观测源。是的,不需要改动代码,只要更改配置文件就好了,我们就有了最简单的多传感器融合的导航方案。
这是我们做的一台验证算法的机器人。我们没有考虑深度摄像头的盲区,而且深度摄像头也是简单的平置。控制器用Odroid XU4, 和RoboWare团队,racecar用的处理器一样。大概很多人觉得这样的配置不太行。我们等一下有视频演示。
这是一个简单的处理流程,毕竟直接处理点云运算能力差了点。我们的所有运算都是onboard。没有贴ROS中的节点图,因为还有很多其他节点会完全看不清楚。
机器人在复杂非结构环境下的自主导航_腾讯视频
(这两个视频分别放了一小段)
这里是在让机器人在动态环境中移动的时候需要注意的几个参数内容。没有写中文因为字确实码不下了。
非结构静态环境下。不详细讲了,大家可以拍照片,后面我们的ppt应该也是会放出来的。
我们现在能做的是可以导航,如果需要导航的效果“更好”,也就是用户体验更好,还有更多的代价地图层可以添加。而这些,都是随着ROS的导航包更新不断在更新的。这也是为什么我们强调大家取之开源社区,用之开源社区。国内的太多人,拿了开源封装起来,就现在的技术发展来说,我觉得这是个笨办法,不是个长久的办法。因为社区的内容更新的时候,你的产品没办法马上更新啊!google的SLAM算法都开源,现在维护非常积极,我们只想拿来主义,不懂得commit,我们想在智能机器人领域弯道超车是不可能的。
ROS是一个很好的工具,但是ROS wiki中的教程,实在是,简洁。所以,希望大家能够纠正一个观念,通过学习ROS学习机器人,还是需要先打好机器人的基础,再来用ROS比较好。那么也要感谢今天各位ROS书籍的作者和译者,感谢机工社能够给我们带来更多的学习资料。同时也欢迎大家了解ROS星火计划。到目前大家来听课,至少6成的进阶课程会是我来上的。
时间快要不够,就扔出问题来大家思考。我们的建图和导航,到底要让谁来做?机器人全自主来做,像扫地机器人一样?还是需要工程师来建图,或者用户自己可以操作机器人建图?那么导航的时候,不同的场景,我们怎么来做?所以,现在想要做统一的建图导航模块,还为时尚早。
我的演讲就到这里。这张图,只是因为我特别喜欢这张图,所以放在这里了,每次讲座都会讲这个,要理解机器人和人工智能的区别与联系。机器人的Perception和action,这是非常重要的。总而言之,我们需要更多的工程师从事机器人行业。我们现在是好的时代,大家大多数都是年轻人,机器人行业还很小,希望能够创造出我们的机器人时代。能让我们国家在机器人时代走到前沿。我想这也是张总和Tony主办这次论坛的初衷。谢谢大家。
本文转载自知乎,作者:贾子枫,如若转载请联系原作者。
相关标签:
- 机器人
- ROS
- 建图导航
参与评论