LeGO-LOAM

LeGO-LOAM的参数在utility.h
由于20.04自带的是OpenCV4,所以要对LeGO-LOAM代码做一点改动:

  1. 找到utility.h中的:#include<opencv/cv.h>,修改为#include <opencv2/imgproc.hpp>#include <opencv2/opencv.hpp>
  2. PCL库需要C++14,在CMakeLists.txt文件中设置set(CMAKE_CXX_FLAGS "-std=c++14")
  3. 将代码transformFusion.cpp中所有frame_id前面的/删掉

之后即可成功编译。

官方数据集

  1. 播放bag
    rosbag play *.bag --clock --topics /velodyne_points /imu/data
    
  2. 运行lego-loam程序
    roslaunch lego_loam run.launch
    

注意播放bag时要加--clock参数输出/clock时间,然后lego-loam的launch文件需要将/use_sim_time参数设置为true。如果是实时在线跑的话,/use_sim_time参数设置为false
如果使用的是ubuntu 20.04,该版本的rviz不支持frame_id前加/,因此需要把lego-loam程序中的frame_id前面的/ 去掉,激光雷达数据也是。

从点云话题生成pcd文件

rosrun pcl_ros pointcloud_to_pcd /input:=/laser_cloud_surround

pointcloud_to_pcd订阅的话题为/input,使用重映射机制映射到你想接收的话题名
最后一个pcd文件即为最终地图

将 bag转化为pcd文件

录制bag,记录的Topic为/laser_cloud_surround

rosbag record /laser_cloud_surround -o demo_map.bag

将demo.bag转换为pcd文件

rosrun pcl_ros bag_to_pcd <*.bag> <topic> <output_directory>

最后一个pcd文件即为最终地图

保存为ply格式文件

pcl_pcd2ply *.pcd output.ply

output.ply就是指定的输出文件。
注意无法使用bag转化的pcd格式来转换,因为使用bag转化的pcd转换出来的ply格式无法打开
最好使用直接由话题得到的pcd文件。

查看pcd文件

之后使用pcl_viewer来查看我们保存的pcd文件
如果系统中没有pcl_viewer,则需要安装pcl-tools

# 安装
sudo apt install pcl-tools
# 显示pcd文件
pcl_viewer *.pcd

robosense运行lego-loam

将rslidar点云数据转换为Velodyne点云格式

Lego-LOAM使用的激光雷达是Velodyne,其点云格式为XYZIR。而robosense激光雷达的点云格式为XYZIRT。需要使用rs_to_velodyne转换点云格式。

  • 下载源码
    git clone https://github.com/HViktorTsoi/rs_to_velodyne.git 
    
  • 编译
  • 运行launch文件
  <launch>
     <node pkg="rs_to_velodyne" name="rs_to_velodyne" type="rs_to_velodyne"  args="XYZIRT XYZIR"   output="screen"/>
  </launch> 

rslidar_sdk

下载源码: https://github.com/RoboSense-LiDAR/rslidar_sdk

配置参数
/rslidar_sdk/CMakeLists.txt

set(COMPILE_METHOD ORIGINAL) 改为 set(COMPILE_METHOD CATKIN)
set(POINT_TYPE XYZI) 改为 set(POINT_TYPE XYZIRT) 

/rslidar_sdk/package_ros1.xml重命名为package.xml
/rslidar_sdk/config/config.yaml参数修改

lidar:
	- driver:
		//此处修改激光雷达型号
		lidar_type: RSHELIOS    #LiDAR type - RS16, RS32, RSBP, RS128, RS128_40, RS80, RSM1, RSHELIOS
		frame_id: /rslidar           
		msop_port: 6699             
		difop_port: 7788  
		// 下面还可根据需要修改rostopic名称
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Shilong Wang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值