室外3D雷达地图构建流程

开发环境

  1. ROS1/Melodic
  2. hdl_graph_slam (地图构建)
  3. interactive_slam (离线地图优化)

由于开发环境中需要从github中嵌套下载非常多的包,在没有翻墙的情况下直接下载几乎每次都会下载到一半后中断,因此在这里将环境依赖下载完整版本打包了。

链接:https://pan.baidu.com/s/1URtRfrcnXtmnGHNhjwwfgA?pwd=9ylu
提取码:9ylu

地图构建流程

1. 发布点云信息,保存点云数据

不同的激光雷达采用不用的驱动,在ROS(Melodic)下发布其点云数据。

受到计算资源的约束,在线实时地图构建有一定概率失败特别是场景比较大的情况,因此推荐采用在线录制数据,然后以较低的频率播放点云数据的形式获得更高的精度和鲁棒性,避免多次建图的麻烦。

录制数据:

rosbag record -a

倍速播放数据:

rosbag play -r 0.1 xxx.bag

2. hdl_graph_slam构建地图

由于激光雷达的参数不一致,因此在构建地图之前需要修改launch文件中的参数,这里以官方示例中的hdl_graph_slam_501.launch 文件为基础进行少量修改。

  1. 修改第10行的参数 <arg name="points_topic" default="/velodyne_points" />点云topic修改为和所用点云驱动相同的名称
  2. 修改20行 <node pkg="tf" type="static_transform_publisher" name="lidar2base_publisher" args="0 0 0 0 0 0 base_link velodyne 10" />修改相对位置关系,以及tf的名称
  3. 修改75行 <param name="height_clip_range" value="0.5" />设置激光雷达安装高度,用于分割地面。
运行算法

在三个终端中分别运行:

rosbag play -r 0.1 xxx.bag # 发布数据包
roslaunch hdl_graph_slam hdl_graph_slam_501.launch # 启动算法
rviz -d hdl_graph_slam hdl_graph_slam.rviz # 在 rviz 目录下运行

最后得到效果如下图:
20220724161820.png

保存点云地图
rosservice call /hdl_graph_slam/dump "/home/xxx/map"
rosservice call /hdl_graph_slam/save_map false 0.05 "/home/xxx/map/map.pcd"

地图离线优化过程

利用interactive_slam算法对构建的地图进行进一步的优化

image.png

具体操作可以参考官方教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值