Docker版ALOAM的完美复现(Ubuntu18.04、ROS Melodic、docker20.10.13)
Autonomous vehicle 杂谈_11一. LOAM、ALOAM 简介 LOAM相比于普通的ICP点对点匹配、以及NDT的划分栅格并构建高斯分布进而匹配,LOAM另辟蹊径地选择了通过对点云提取特征(如树干、墙角等,采用线模型描述)和平面特征(如地面、墙面等,采用面模型描述),匹配时以点到线距离和点到面距离为残差优化位姿。 ALOAM则是LOAM的一个优化版本,主要去掉了IMU相关的部分,
Autonomous vehicle 杂谈_11
一. LOAM、ALOAM 简介
LOAM相比于普通的ICP点对点匹配、以及NDT的划分栅格并构建高斯分布进而匹配,LOAM另辟蹊径地选择了通过对点云提取特征(如树干、墙角等,采用线模型描述)和平面特征(如地面、墙面等,采用面模型描述),匹配时以点到线距离和点到面距离为残差优化位姿。
ALOAM则是LOAM的一个优化版本,主要去掉了IMU相关的部分,并对代码进行了一定的优化。
分享放在前面(提前阅读一下比较好入口):
(1)ALOAM git hub: A-LOAM
(2)SLAM学习笔记(十九)开源3D激光SLAM总结大全——Cartographer3D,LOAM,Lego-LOAM,LIO-SAM,LVI-SAM,Livox-LOAM的原理解析及区别
(3)跑通A-LOAM并保存点云地图!
二. 实战复现ALOAM
由于ALOAM本身用到了ceres库和PCL库,所以在环境搭建上(版本对应等等)多少有点费事儿,正巧看到了作者提供了docker的镜像源,那就可以直接拿来大法了。但在使用拿来大法前,请先确认设备已经安装了ROS,以及docker。以防万一,请参考:
(1)ROS Melodic安装指南:Ubuntu下的ROS-1Melodic 安装 (附详细教程以及安装过程遇到问题的解决)
(2)docker安装指南:【Ubuntu18.04】安装Docker教程
都确认完成之后,就按照下面的步骤,来复现吧!
- 下载源码:
mkdir -p ~/aloam_ws/src
cd ~/aloam_ws/src
catkin_init_workspace
#克隆A-LOAM源码
git clone https://github.com/HKUST-Aerial-Robotics/A-LOAM.git
- 把当前用户加到docker组里
sudo usermod -aG docker $YOUR_USER_NAME
- 根据DockerFile构建镜像(花费时间较长)
cd ~/aloam_ws/src/A-LOAM/docker/
docker build -f Dockerfile -t aloam ..
# 注意:如果遇到Permission denied error, 重启一下设备
make build
- 运行ALOAM
./run.sh 16
# or
./run.sh 64
# 之后会进入到Rviz中去
- 跑包并保存地图
rosbag play xxx.bag # 跑起来之后,去Rviz中观察地图生成过程
#另起终端用bag_to_pcd方法保存点云图
rosrun pcl_ros bag_to_pcd xxx.bag /laser_cloud_surround pcd
注意:跑的包必须保证点云的topic是:/velodyne_points,如果不是的话,请按照以下方法修改一下 (比较繁琐,不如下边的方法简单):
# 查询包的点云topic是什么
rosbag info xxx.bag # 我这边是 /points_raw
# 修改topic
roscore #终端1
rosparam set use_sim_time true #终端2
rosbag play --clock xxx.bag /points_cloud:=/points_raw #终端3
rosbag record /points_raw #终端2
推荐:或者也可以在ros bag play时改成:
# 查询包的点云topic是什么
rosbag info xxx.bag # 我这边是 /points_raw
# 重命名的方式run bag
rosbag play xxx.bag /points_raw:=/velodyne_points
- 查看一下

7. 查看点云地图
运行结束,可以看到生成了一个pcd文件夹,将里面的文件按照修改时间排序,最新的就是最后的点云地图pcd文件。
三. 评价
与NDT mapping相比,ALOAM的建图结果明显细节更多一些,目前还不知道生成地图用起来的效果是不是也会更好,需要进一步研究。
如有问题,敬请指正。欢迎转载,但请注明出处。
更多推荐
所有评论(0)