速腾Helios-16P使用Lego-loam实时构建点云地图(三)——使用雷达实时运行lego-loam
当确定好雷达正常运行、lego-loam正常运行后,就可以开始使用雷达实时运行lego-loam了。
当确定好雷达正常运行、lego-loam正常运行后,就可以开始使用雷达实时运行lego-loam了。
步骤一:连接硬件
步骤二:修改电脑IP地址
(用完雷达记得将设置中有线地址选择之前的默认地址,否则上不了网)
步骤三:使用雷达实时建图需要修改lego-loam的launch文件
打开~/lego-loam_ws/src/LeGO-LOAM/LeGO-LOAM/launch/run.launch文件,将<param name="/use_sim_time" value="true" />的true改为false(用数据集运行lego-loam则将false改为true)。
步骤四:运行雷达
cd RS_Helios_16P_ws
source devel/setup.bash
roslaunch rslidar_sdk start.launch
步骤五:运行lego-loam
cd lego-loam_ws
source devel/setup.bash
roslaunch lego_loam run.launch
步骤六:保存pcd
勾选rviz左侧Map Cloud(不是Map Cloud(stack)),map cloud(stack)对应的话题为:/registered_cloud,此话题发布的是每一帧新加入地图的点云,使用栈的原理累加生成点云地图,当地图范围到一定程度时,就会丢弃最初建立的部分点云地图。map cloud对应的才是真正保存的全局地图,话题名为:/laser_cloud_surround。
建图快结束时新开终端执行(因为地图是累积的,快结束的时候录制/laser_cloud_surround就可以):
rosbag record -o out /laser_cloud_surround
在当前目录会生成一个bag文件,例如out_2023-04-18-21-36-51.bag。
等待建图结束后,Ctrl+C结束掉rosbag命令,存为pcd格式的文件:
rosrun pcl_ros bag_to_pcd 包名.bag /laser_cloud_surround pcd
最后的pcd的意思是在当前目录下创建一个名为pcd文件夹,保存bag包中每一帧的/laser_cloud_surround话题生成的pcd点云文件,其中最后一个生成的(也是内存最大的)pcd文件即为建立的点云地图。
会在当前文件夹下生成一个pcd文件夹,这里面的最后一个pcd文件为最终的建图结果,使用pcl_viewer查看:
pcl_viewer 包名.pcd
也可下载CloudCompare查看。
如果觉得建立出来的点云地图较稀疏,可以修改lego-loam源码中imageProjection.cpp中的labelComponents函数,修改聚类阈值可改变点云的稀疏度。
关于雷达静止不动,rviz上雷达坐标一直在缓慢偏移可参考:
更多推荐
所有评论(0)