一、基本信息
相机:Velodyne Puck(16线)
惯性导航:华测CGI-590
系统:Ubuntu 18.04
ROS版本:Melodic
二、标定过程
(1)录制激光雷达与组合导航标定数据
- 新建终端,启动Velodyne激光雷达驱动
roslaunch velodyne_pointcloud VLP16_points.launch
- 新建终端,启动华测组合导航驱动
roslaunch gps_driver driver.launch
- 新建终端,录制组合导航回传数据
rosbag record /gps/gpchc /gps/fix /gps/imu /gps/vel /gps/pose /velodyne_points -O vlp_imu.bag
- 将安装有激光雷达与组合导航的小车控制走L字路线,L字内外尽可能开阔且两端有标志性障碍物,便于激光雷达在不同扫描角度时获得不同结果。同时,录制时长控制在90秒内。
(2)安装标定工具
- 编译标定工具
catkin_make
- 将驱动添加至环境变量
echo "source ~/lidar_imu_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
(3)转换点云数据
- 新建终端,开启点云转换工具
roslaunch gpstopcd demo.launch
- 新建终端,播放录制的bag包
rosbag play cali_lidar_imu.bag
- 播放完毕后,将在
lidar_imu_ws/src/gpstopcd
中自动生成“data”目录,保存转换后的pcd数据。
(4)自动计算标定结果
- 在
lidar_imu_ws/src/lidar_imu
中,新建目录“data/raw_data”,将lidar_imu_ws/src/gpstopcd/data
中文件全部复制至lidar_imu_ws/src/lidar_imu/data/raw_data
。 - 修改
lidar_imu_ws/src/lidar_imudata/launch/demo.launch
,对应实际测量数据。
参数解读(以相位中心/天线中心作为原点):
- lidar_x:表示激光雷达中心距离相位中心在x轴上的位移,单位cm。
- lidar_y:表示激光雷达中心距离相位中心在y轴上的位移,单位cm。
- lidar_z:表示激光雷达中心距离相位中心在z轴上的位移,单位cm。
- lidar_roll:表示激光雷达中心与相位中心的翻滚角,单位度。
- lidar_pitch:表示激光雷达中心与相位中心的俯仰角,单位度。
- lidar_yaw:表示激光雷达中心与相位中心的偏航角,单位度。
- lidar_height:表示激光雷达中心距地面高度,单位米
<launch>
<node name="transNode" pkg="lidar_imu" type="transNode" output="screen" >
<param name="lidar_x" value="-4.30"/>
<param name="lidar_y" value="23.07"/>
<param name="lidar_z" value="83.94"/>
<param name="lidar_roll" value="0."/>
<param name="lidar_pitch" value="0."/>
<param name="lidar_yaw" value="-90.0"/>
<param name="lidar_height" value="1.12"/>
</node>
</launch>
- 运行标定计算工具
roslaunch lidar_imu demo.launch
- 标定结果保存在
lidar_imu_ws/src/lidar_imu/data
的txt文件中。