一、A-LOAM安装
A-LOAM需要用到ceres库与pcl库,请确保已完成安装。
A-LOAM下载编译:
-
#创建工作空间
-
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
-
-
#编译
-
cd ../
-
catkin_make
-
source ~/aloam_ws/devel/setup.bash
二、A-LOAM跑数据包
运行A-LOAM:
-
#运行A-LOAM
-
roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch
运行rosbag:
-
#在你的bag文件夹下运行
-
rosbag play xxx.bag
这里提供一个供测试用的bag,链接:rosbag,提取码:diiq
三、Turtlebot3跑A-LOAM(velodyne16)
首先确保Turtlebot3激光雷达配置完成,方法见笔者单、双激光雷达启动与双激光雷达的外参标定(VLP-16)。
启动Turtlebot3:
-
#启动turtlebot底盘
-
roslaunch turtlebot3_bringup turtlebot3_robot.launch
-
-
#另起终端启动键盘控制
-
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
如此就可以通过键盘wxads(前后左右停)控制Turtlebot3。
启动velodyne16:
-
#启动激光雷达
-
roslaunch velodyne_points VLP16_points.launch
启动A-LOAM:
roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch
控制Turtlebot3运动,就能在rviz中看到所建地图了。
四、数据包创建
如果想要创建一个属于自己的rosbag,很简单,在启动A-LOAM后,另起终端开始记录数据:
-
#创建rosbag
-
rosbag record -o xxx.bag /velodyne_points /laser_cloud_surround
其中xxx为创建的bag名,/velodyne_points为激光雷达发布点云话题名,/laser_cloud_surround为A-LOAM所建地图话题名。如此就创建了我们自己的rosbag,便于后期调优。
五、点云地图保存与查看
点云地图保存,第一种:
-
#运行A-LOAM
-
roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch
-
-
#另起终端运行rosbag
-
rosbag play xxx.bag
-
-
#另起终端用bag_to_pcd方法保存点云图
-
rosrun pcl_ros bag_to_pcd xxx.bag /laser_cloud_surround pcd
运行结束,可以看到生成了一个pcd文件夹,将里面的文件按照修改时间排序,最新的就是最后的点云地图pcd文件。
点云地图保存,第二种:
-
#运行A-LOAM
-
roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch
-
-
#另起终端运行rosbag
-
rosbag play xxx.bag
-
-
#另起终端,用pointcloud_to_pcd方法保存点云图
-
mkdir pcd
-
cd pcd
-
rosrun pcl_ros pointcloud_to_pcd input:=/laser_cloud_surround
运行结束,可以看到生成了一个pcd文件夹,将里面的文件按照修改时间排序,最新的就是最后的点云地图pcd文件。
点云地图查看:
pcl_viewer xxx.pcd
pcd点云地图转ply格式
pcl_pcd2ply xxx.pcd xxxxxxx.ply
当我们需要用第三方软件(MatLab/MeshLab)对点云地图进行处理时就需要将pcd转为ply,其中MeshLab必须使用由pointcloud_to_pcd方法创建pcd转成的ply格式点云!
</article>