在ROS系统上使用Hector建图
晚上的ROS学习,又让我感觉进入了一个新阶段,总算把激光雷达的地图给创建了。
其实学ROS也是纯属个人业务兴趣爱好,感觉蛮有趣的,有利于提升下自己。
我决定把这个过程记录一下,毕竟也是在各大网站上搜索到相关信息才实现这个目的的。
首先需要安装导航激光的ROS驱动,这个是P+F的R2000产品,所以去Github上搜索到该产品的驱动,在bing上输入关键字R2000 ROS,即可找到相关的驱动程序。
根据Github的驱动页面的详细安装说明,一步步操作下来。
这个应该算是比较基本的编译操作,就不详细介绍了,复制粘贴步骤上的指令,基本上不会有什么问题。
驱动安装完成之后,就可以执行内置的launch文件启动导航激光的节点了。
可以在打开个新终端,输入rostopic echo /scan,可以看到激光雷达的数据了。
到激光雷达出现数据这一步之前,都是没怎么难倒我的,但使用Hector建图就给我带来了很多困恼,原因在于我对TF变换不是很熟悉,所以有个Frame id没有改正确,摸索了非常久。因为R2000官方ROS驱动的参数配置,输出的frame_id是scanner_link,而后续变换的时候认的是scanner,所以需要将这个文件的frame_id更改为laser,后面引用的是这个名字。
为了进行Hector建图,首先要安装Hector对应的包。在终端上输入sudo apt-get install ros-noetic-hector-slam安装一下Hector,然后创建一个启动hector_mapping节点的launch文件,这个可以在相关网站上(激光雷达建图之hector_mapping 建图)获取相关信息。
启动了hector的launch文件,就进入RVIZ,进入建图阶段了,如下图就是激光导航扫出的区域的,感觉还是蛮准确的。hector建图的好处是它主要依赖激光扫描数据中的已知特征点进行定位,所以不需要编码器信息和陀螺仪信息,对于我做简易的激光小车导航是非常省事的。但缺点也是有的,就是对数据的质量和准确性要求较高,所以等真正用来导航的时候可能会有其他问题,不过用于导航的方法我还没有找到,等到时候真的能搞定的话,再来确认是否有其他问题点。
长江啊黄河
校验提示文案
汉口平民林峰
校验提示文案
小白兔和灰太狼
校验提示文案
老阿姨也要加油吖
校验提示文案
有点丑的蛋蛋
校验提示文案
竹攸宏然
校验提示文案
林溪风
校验提示文案
沈步渔
校验提示文案
博士的跟班
校验提示文案
dark77
校验提示文案
企鹅宝宝爱健康
校验提示文案
部门打杂
校验提示文案
今啊
校验提示文案
蓝里个蓝
校验提示文案
舒城城主
校验提示文案
隔壁的七大叔
校验提示文案
百香果吉吉
校验提示文案
动物园1823
校验提示文案
爱折腾的老狐狸
校验提示文案
爱折腾的老狐狸
校验提示文案
动物园1823
校验提示文案
百香果吉吉
校验提示文案
隔壁的七大叔
校验提示文案
舒城城主
校验提示文案
蓝里个蓝
校验提示文案
今啊
校验提示文案
部门打杂
校验提示文案
企鹅宝宝爱健康
校验提示文案
长江啊黄河
校验提示文案
dark77
校验提示文案
博士的跟班
校验提示文案
沈步渔
校验提示文案
林溪风
校验提示文案
竹攸宏然
校验提示文案
有点丑的蛋蛋
校验提示文案
老阿姨也要加油吖
校验提示文案
小白兔和灰太狼
校验提示文案
汉口平民林峰
校验提示文案