SLAM学习----使用rplidar运行Hector算法
前言
雷达运行成功,便可跑算法了,于是我就从基本的Hector算法开始,通过参考各位大神的博客,经过多次报错终于成功了。(菜是原罪)
Basic Support:
- Linux Ubuntu 16.04操作系统
- ROS Kinetic
- 安装了rplidar的驱动
理论简介:
Hector:
Hector整体算法很直接,就是将激光点与已有的地图“对齐”,即扫描匹配。扫描匹配就是使用当前帧与已经有的地图数据构建误差函数,使用高斯牛顿法得到最优解和偏差量。其工作是实现激光点到栅格地图的转换,t时刻所有的激光点都能变换到栅格地图中,也就意味着匹配成功。
优点:
对硬件要求低,相反 cartographer高
不需要里程计信息(不需要将雷达的坐标绑定到某个固定坐标系比如base_link)
可以结合IMU数据使用
没有闭环检测部分,精确度高。
可以适应空中或者地面不平坦的情况
缺点:
不需要里程计,但对于雷达帧率要求很高40Hz,估计6自由度位姿。初值的选择对结果影响很大,所以要求雷达帧率较高。
Hector_SLAM包
整个包包含的节点有
hector_pose_estimation 将sensor的值转换成imu咨询丟給tf处理。
hector_mapping 不断地即時更新map,並publish, slam node
hector_map_

本文档详细介绍了如何在Ubuntu 16.04和ROS Kinetic环境下,利用rplidar运行Hector SLAM算法进行三维地图构建。首先介绍了Hector SLAM的基本原理和优缺点,然后逐步讲解了安装、配置Hector SLAM包的过程,包括创建slam_launch文件、设置雷达端口权限、修改参数等步骤。最后,通过rviz展示了建图效果,并指出在无里程计辅助下,可能会出现位置漂移的问题。
最低0.47元/天 解锁文章
6646

被折叠的 条评论
为什么被折叠?



