在ROS系统上使用Hector建图

2024-05-07 20:44:08 26点赞 15收藏 19评论

晚上的ROS学习,又让我感觉进入了一个新阶段,总算把激光雷达的地图给创建了。

其实学ROS也是纯属个人业务兴趣爱好,感觉蛮有趣的,有利于提升下自己。

我决定把这个过程记录一下,毕竟也是在各大网站上搜索到相关信息才实现这个目的的。

首先需要安装导航激光的ROS驱动,这个是P+F的R2000产品,所以去Github上搜索到该产品的驱动,在bing上输入关键字R2000 ROS,即可找到相关的驱动程序。

在ROS系统上使用Hector建图

根据Github的驱动页面的详细安装说明,一步步操作下来。

在ROS系统上使用Hector建图

这个应该算是比较基本的编译操作,就不详细介绍了,复制粘贴步骤上的指令,基本上不会有什么问题。

驱动安装完成之后,就可以执行内置的launch文件启动导航激光的节点了。

在ROS系统上使用Hector建图

可以在打开个新终端,输入rostopic echo /scan,可以看到激光雷达的数据了。

在ROS系统上使用Hector建图

到激光雷达出现数据这一步之前,都是没怎么难倒我的,但使用Hector建图就给我带来了很多困恼,原因在于我对TF变换不是很熟悉,所以有个Frame id没有改正确,摸索了非常久。因为R2000官方ROS驱动的参数配置,输出的frame_id是scanner_link,而后续变换的时候认的是scanner,所以需要将这个文件的frame_id更改为laser,后面引用的是这个名字。

在ROS系统上使用Hector建图

为了进行Hector建图,首先要安装Hector对应的包。在终端上输入sudo apt-get install ros-noetic-hector-slam安装一下Hector,然后创建一个启动hector_mapping节点的launch文件,这个可以在相关网站上(激光雷达建图之hector_mapping 建图)获取相关信息。

在ROS系统上使用Hector建图

启动了hector的launch文件,就进入RVIZ,进入建图阶段了,如下图就是激光导航扫出的区域的,感觉还是蛮准确的。hector建图的好处是它主要依赖激光扫描数据中的已知特征点进行定位,所以不需要编码器信息和陀螺仪信息,对于我做简易的激光小车导航是非常省事的。但缺点也是有的,就是对数据的质量和准确性要求较高,所以等真正用来导航的时候可能会有其他问题,不过用于导航的方法我还没有找到,等到时候真的能搞定的话,再来确认是否有其他问题点。

在ROS系统上使用Hector建图
展开 收起
19评论

  • 精彩
  • 最新
  • 在各大网站上搜索到相关信息才实现这个目的的。

    校验提示文案

    提交
  • 我来支持啦 好高端哦

    校验提示文案

    提交
  • 谢谢分享

    校验提示文案

    提交
  • 好专业

    校验提示文案

    提交
  • 感觉眼有点花

    校验提示文案

    提交
  • 学习一下

    校验提示文案

    提交
  • 专业的文章啊

    校验提示文案

    提交
  • 来学习了

    校验提示文案

    提交
  • 学习了

    校验提示文案

    提交
  • 太专业了,过

    校验提示文案

    提交
  • 看不懂啊看不懂

    校验提示文案

    提交
  • 谢谢分享

    校验提示文案

    提交
  • 不错的分享

    校验提示文案

    提交
  • 太深奥了

    校验提示文案

    提交
  • 看着就比较像技术活

    校验提示文案

    提交
  • 我又来学习了

    校验提示文案

    提交
  • 太专业了,学习一下

    校验提示文案

    提交
  • 谢谢分享,太专业了

    校验提示文案

    提交
  • 高大上的东西

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
15
扫一下,分享更方便,购买更轻松