Lidar_imu自动标定

系统版本:Ubuntu20.04

ROS版本:Noetic

前提条件,安装以下内容:

  • Cmake
  • opencv 2.4
  • eigen 3
  • PCL 1.9
  • Pangolin

执行以下命令,进行软件的编译:

这里给出程序的链接,自行下载:

SensorsCalibration/lidar2imu/auto_calib at master · PJLab-ADG/SensorsCalibration · GitHubOpenCalib: A Multi-sensor Calibration Toolbox for Autonomous Driving - SensorsCalibration/lidar2imu/auto_calib at master · PJLab-ADG/SensorsCalibrationhttps://github.com/PJLab-ADG/SensorsCalibration/tree/master/lidar2imu/auto_calib下载成功后,执行以下命令:

cd ~/auto_lib
# mkdir build
mkdir -p build && cd build
# build
cmake .. && make

小技巧:根据自己电脑的线程可选择编译的速度 ,make时可选择

make make -j4 make -j12

当自己进行编译时,出现以下错误:

第一个错误:

4341f10e2d774a1a99290c5a53ff7220.png

 解决方法:

需要找到报错对应功能包,在功能包的CMakeList.txt文档里加入下面语句:
set(CMAKE_CXX_STANDARD 14)

第二个错误:

b09427791be7485f8ce873a7101cb94e.png

解决方法:

首先检查一下有没有这个文件;如果有,则应该是文件路径不对,通过链接建立关系;如果没有,则下载该相关文件。

sudo apt-get install libjsoncpp-dev
sudo ln -s /usr/include/jsoncpp/json/ /usr/include/json


#include <json/json.h>代表/usr/include/json/json.h。include就是/usr/include/文件夹

解决上述两个问题后,编译成功,如下图所示。

385f3ffef31f4e60b0d7cda5f7c812aa.png

 然后就可以运行程序,需注意在运行程序前须将数据集换为官方提供的数据集。

官方提供的数据集百度网盘链接:

Link (链接): https://pan.baidu.com/s/1AODTuqhmgwbRWxGGCmo0iA
Extraction code (提取码): 94id

然后执行命令:

cd ~./auto_calib/
./bin/run_lidar2imu data/top_center_lidar/ data/NovAtel-pose-lidar-time.txt data/gnss-to-top_center_lidar-extrinsic.json

就可以得到lidar和imu间的外参变化:

de8872cddd5a4b89b307911c5311e340.png

 在运行过程中,我们可以看到迭代了34次,并将得到的结果放在auto_calib目录下的refined_calib_imu_to_lidar.txt文件中。

文件的内容如下:

refined calib:
R: 0.0043972 0.999914 0.0124048 -0.999829 0.00417381 0.0179774 0.0179241 -0.0124817 0.999761
t: -1.20788 -0.0180692 -1.37356
deltaTrans:
    0.999988   0.00380849  -0.00308101  -0.00422593
 -0.00381098     0.999992 -0.000801757  -0.00940856
  0.00307793  0.000813489     0.999995            0
           0            0            0            1
delta roll, pitch, yaw, tx, ty, tz:
0.000807626 -0.00307948 -0.00380975 -0.00422593 -0.00940856 0
delta roll, pitch, yaw, tx, ty, tz from begin:
1.0008 -0.00688495 -0.000581471 -0.00422593 -0.00560535 0.999993

 

  • 0
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
### 回答1: 这个问题翻译成中文是:b'lidar_imu_calib标定过程'。 回答:lidar_imu_calib是指激光雷达和惯性测量单元(IMU)之间的标定过程,通过该过程可以解决激光雷达和IMU在安装中的相对姿态和时间同步问题。该过程需要收集一些基准数据,例如IMU的加速度计和陀螺仪数据,以及激光雷达的点云数据。然后将这些数据引入标定算法中,得到激光雷达和IMU之间的相对位姿和时间偏差,最后将它们纠正并同步,从而使系统达到更高的精度。 ### 回答2: Lidar_imu_calib是一种激光雷达和惯性测量单元的联合标定方法。它旨在从激光雷达的数据和惯性传感器的数据中获取相机、激光雷达和车辆的位姿(即位置和姿态)信息。 lidar_imu_calib标定过程可以分为以下几步: 1.采集数据:首先需要采集车辆在各种不同的姿态和运动条件下的数据,包括车速变化、车辆俯仰和横滚角变化等。同时,需要记录激光雷达和惯性传感器的输出数据。 2.匹配点云和IMU数据:利用系统时间戳进行点云数据和IMU数据的对齐,通过坐标系变换将两者的数据进行匹配。 3.计算位姿:根据匹配后的数据,计算车辆的位姿,包括车辆位置和姿态(即旋转角度),这是通过解决非线性优化问题来完成的。 4.评估误差:标定结果需要进行评估,通过比较计算出的车辆真实姿态和标定结果之间的差异来确定标定的准确性。 5.优化标定结果:根据评估结果进行标定结果的优化,即根据误差来调整标定结果,以提高标定准确性。 总之,lidar_imu_calib标定是激光雷达与惯性测量单元联合标定的方法,通过匹配点云和IMU数据,计算位姿,评估误差和优化标定结果等步骤,得到车辆的位姿信息,从而提高自动驾驶车辆的安全性和性能。 ### 回答3: Lidar_imu_calib是一种遥感设备,由激光雷达和惯性测量单元(IMU)组成,它的目的是3D空间中的可视化地图构建。Lidar可以测量环境中物体的位置和形状,而IMU可以测量设备的位置和运动状态。因此,Lidar_imu_calib的精度和准确性对于它的应用非常重要。为此,在使用Lidar_imu_calib之前,必须进行标定Lidar_imu_calib标定过程试图确定几何和姿态转换矩阵,这个矩阵用于将LidarIMU测量结果在同一个坐标系下进行配置。其中,几何变换矩阵被用来纠正从LidarIMU获得的点云数据中发生的误差,姿态变换矩阵则用于纠正导致视角变化的角度问题。 标定过程的首要步骤是采集数据,包括LidarIMU的原始数据以及因为设备不同而引起的差异。通过在一定时间内在多个场景下对数据进行采集,可以获得更加丰富的数据,并确保标定能够在多种条件下表示准确。 数据采集之后,接下来需要进行数据处理。主要是通过使用非线性最小二乘法以最小化两个矩阵的几何和姿态误差。 这个过程需要大量的计算能力和优秀的算法以最大化标定的准确度。最终的标定参数是由几何和姿态矩阵的组合产生的,并被应用到Lidar_imu_calib设备以及期望的应用程序中。 总之,Lidar_imu_calib标定是一项复杂的过程,它需要充分的数据采集、数据处理和优秀的算法来确保标定结果的准确性和精度。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值