一、用速腾激光雷达rs 16采集数据
1 下载编译速腾激光雷达驱动
2 修改激光雷达驱动的CMakeLists.txt
3 下载编译点云话题转换源码
4 创建话题转换源码的launch文件
5 启动雷达驱动并录包
5.1编译工作空间
5.2运行速腾激光雷达驱动程序rslidar_sdk
5.3运行点云话题转换程序
5.4查看当前工作的ros话题
5.5录制话题信息
二、运行A-LOAM在速腾激光雷达rslidar采集的数据下建图
1 运行A-LOAM算法
2 对bag01.bag建图
3 建图效果
3.1走廊
3.2地下室
***************************** 运行环境Ubuntu20.04+Noetic *************************
操作方法见另一篇博客:
rs lidar使用方法之实时采集点云及可视化_abanchao的博客-CSDN博客
找到以下代码的位置,将原始的set(POINT_TYPE XYZI)改为set(POINT_TYPE XYZIRT)。
#=======================================
# Custom Point Type (XYZI, XYZIRT)
#=======================================
set(POINT_TYPE XYZIRT)
从github下载官方程序,转换rslidar采集的点云话题成velodyne的。
源码下载地址:
https://github.com/HViktorTsoi/rs_to_velodyne
把下载的源码解压到激光雷达驱动源码的同级src文件夹下(如下图所示),编译并安装。
在/src/rs_to_velodyne-master下建立名为launch的文件夹,并在该文件夹下新建launch文件。
touch rstovelodyne.launch
打开launch文件,输入以下内容并保存。也可以根据使用情况将其集成到其他launch文件中。
同时将两个程序源码进行编译。
catkin_make
在终端中输入以下命令,激光雷达开始工作,rviz启动并输出实时采集到的数据。
source devel/setup.bash
roslaunch rslidar_sdk start.launch
XYZIRT是点云信息,可以根据使用需求,按照README.md进行调整。
source devel/setup.bash
rosrun rs_to_velodyne rs_to_velodyne XYZIRT XYZIRT
在新的终端中输入以下命令,查看ros中当前工作的话题节点。列表中有/velodyne_point则说明点云话题转换成功。
rostopic list
只需要录制/velodyne_point话题的消息即可,则在想要保存数据的文件夹位置,新建终端输入以下命令,开始记录采集到的数据。想要结束录制时,ctrl+C即可停止。
rosbag record /velodyne_points -0 bag01
首先使用ctrl + C关闭以上驱动程序和终端。
进入该算法的工作空间,执行以下命令,启动算法和rviz。
source devel/setup.bash
roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch
与数据包nsh_indoor_outdoor.bag的操作方法相同。可参考:
A-LOAM运行和常见问题及解决方法_abanchao的博客-CSDN博客
在刚才保存数据包的位置打开终端,输入以下命令开始建图。
rosbag play bag01.bag