工作环境:
ubuntu 20.04
ros noetic
准备条件:
PCL>1.8
Eigen>=3.3.4
livox_ros_driver
ceres-solver
安装lidar_imu_init:
cd ~/catkin_ws/src
git clone https://github.com/hku-mars/LiDAR_IMU_Init.git
cd ..
catkin_make -j
source devel/setup.bash
编译:
1.修改相关参数:
编辑以设置以下参数:config/xxx.yaml
lid_topic:激光雷达点云的主题名称。
imu_topic:IMU 测量的主题名称。
cut_frame_num:将一帧分割成子帧,提高频率。必须是正整数。
orig_odom_freq(Hz):原始激光雷达输入频率。对于大多数激光雷达,输入频率为 10 Hz。机械旋转激光雷达建议cut_frame_num * orig_odom_freq = 30,Livox 激光雷达建议cut_frame_num * orig_odom_freq = 50。
mean_acc_norm(m/s^2):IMU 静止时的加速度范数。通常,普通 IMU 为 9.805,Livox 内置 IMU 为 1。
data_accum_length:用于评估数据是否足以进行初始化的阈值。太小可能会导致质量不佳的结果。
online_refine_time(第二):FAST-LIO2 的外在精炼时间。建议约15~30秒的细化。
filter_size_surf(米):室内场景建议filter_size_surf=0.05~0.15,室外场景filter_size_surf=0.5。
filter_size_map(米):室内场景建议filter_size_map=0.15~0.25,室外场景filter_size_map=0.5。
下面是我的参数修改情况:
2.运行lidar_imu_init功能包:
cd catkin_ws
source devel/setup.bash
roslaunch lidar_imu_init xxx.launch
正常如下图:
3.开启激光雷达:
或者播放录制的rosbag点云包(包含Lidar信息和IMU信息)。成功以后会在rviz里播放点云和IMU运行轨迹,如下图:
如果出现错误,看看红色错误提示,我当初是由于没正确录制点云文件,没有设置正确的点云消息格式,下面是livox_avia正确的点云消息格式(livox专有的消息格式):
4.result:
结果将自动写入catkin_ws/src/LiDAR_IMU_Init/result/Initialization_result.txt。结果忘记截图了。文章来源:https://www.toymoban.com/news/detail-716630.html
标定结果应该相对准确,和出厂参数相差不大。出厂参数没有旋转,只有平移,IMU坐标原点在Lidar坐标系上的坐标为(-41.65,-23.26,28.40),单位:mm。文章来源地址https://www.toymoban.com/news/detail-716630.html
到了这里,关于用lidar_imu_init对livox_avia进行lidar和imu的外参标定的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!