激光雷达与组合导航标定

一、基本信息

相机:Velodyne Puck(16线)
惯性导航:华测CGI-590
系统:Ubuntu 18.04
ROS版本:Melodic

二、标定过程

(1)录制激光雷达与组合导航标定数据

  1. 新建终端,启动Velodyne激光雷达驱动
roslaunch velodyne_pointcloud VLP16_points.launch
  1. 新建终端,启动华测组合导航驱动
roslaunch gps_driver driver.launch
  1. 新建终端,录制组合导航回传数据
rosbag record /gps/gpchc /gps/fix /gps/imu /gps/vel /gps/pose /velodyne_points -O vlp_imu.bag
  1. 将安装有激光雷达与组合导航的小车控制走L字路线,L字内外尽可能开阔且两端有标志性障碍物,便于激光雷达在不同扫描角度时获得不同结果。同时,录制时长控制在90秒内。
    激光雷达与组合导航标定

(2)安装标定工具

  1. 编译标定工具
catkin_make
  1. 将驱动添加至环境变量
echo "source ~/lidar_imu_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

(3)转换点云数据

  1. 新建终端,开启点云转换工具
roslaunch gpstopcd demo.launch 
  1. 新建终端,播放录制的bag包
rosbag play cali_lidar_imu.bag
  1. 播放完毕后,将在lidar_imu_ws/src/gpstopcd中自动生成“data”目录,保存转换后的pcd数据。

(4)自动计算标定结果

  1. lidar_imu_ws/src/lidar_imu中,新建目录“data/raw_data”,将lidar_imu_ws/src/gpstopcd/data中文件全部复制至lidar_imu_ws/src/lidar_imu/data/raw_data
  2. 修改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>
  1. 运行标定计算工具
roslaunch lidar_imu demo.launch
  1. 标定结果保存在lidar_imu_ws/src/lidar_imu/data的txt文件中。
上一篇:【论文笔记】Monocular Camera Localization in 3D LiDAR Maps


下一篇:在手机三维重建技巧最全汇总 | LiDAR