导航---LIO(激光雷达-惯性里程计)算法

一、LIO的定义

激光雷达-惯性里程计(LiDAR-Inertial Odometry, LIO)是一种融合激光雷达(LiDAR)与惯性测量单元(IMU)数据的高精度里程计技术,核心目标是在无GPS/北斗等外部定位信号的场景下,实时估计载体(机器人、自动驾驶车辆、无人机)的6自由度位姿(x/y/z平移 + 滚转/俯仰/偏航旋转)和运动状态(速度、加速度),为自主导航、地图构建提供关键输入。

1.1 LIO与其他里程计技术的对比

技术类型 核心传感器 优势 劣势 典型应用场景
纯LiDAR里程计(LO) LiDAR 定位精度高、无漂移、抗光照干扰 动态场景鲁棒性差、运动模糊敏感、实时性要求高 室内机器人、低速自动驾驶
视觉里程计(VO) 相机 成本低、纹理信息丰富 光照敏感、无纹理场景失效、易漂移 消费级机器人、辅助驾驶
纯IMU里程计 IMU 高帧率(100-1000Hz)、抗遮挡 短时间内漂移严重(积分误差累积) 紧急制动、临时遮挡补偿
LIO(融合) LiDAR + IMU 高精度、高鲁棒性、低漂移、抗遮挡 系统复杂度高、需传感器标定 自动驾驶、无人车、无人机、工业机器人

1.2 LIO的核心应用场景

  • 自动驾驶:城区/高速场景下的定位与地图构建(HD Map);
  • 移动机器人:室内外无缝导航(如仓储机器人、巡检机器人);
  • 无人机:低空飞行定位、三维地形测绘;
  • 工业场景:AGV(自动导引车)高精度路径跟踪、机械臂视觉伺服。

二、LIO核心组件与基础原理

2.1 传感器模块:LiDAR与IMU的特性与误差模型

2.1.1 LiDAR模块
  • 类型与数据特性
    • 机械旋转式LiDAR(如Velodyne VLP-16/32、Ouster OS1):通过旋转发射激光束,输出三维点云(格式:x/y/z/强度/时间戳),帧率通常为10Hz(旋转频率600rpm),点云密度与线数正相关;
    • 固态LiDAR(如华为M100、Luminar Iris):无旋转部件,通过MEMS/Flash技术发射激光,输出点云帧率更高(20-30Hz),无运动畸变,适合高速场景。
  • 噪声模型:主要包括测距噪声(服从高斯分布,误差0.5-5cm)、角度噪声(激光束发散角导致)、环境噪声(雨天/雾天的激光散射)、动态障碍物干扰(行人/车辆)。
2.1.2 IMU模块
  • 工作原理 :由加速度计(测量线加速度 ama_mam)和陀螺仪(测量角速度 ωm\omega_mωm)组成,部分含磁力计(辅助航向校准),输出频率通常为100-1000Hz,远高于LiDAR(10-30Hz)。
  • 数据输出 :原始数据为离散时间序列 {(ωm(tk),am(tk))}\{(\omega_m(t_k), a_m(t_k))\}{(ωm(tk),am(tk))},需通过积分得到姿态、速度和位置:
    • 姿态积分:R(t)=R(t0)exp⁡(∫t0t(ωm(τ)−bω(τ))dτ)R(t) = R(t_0) \exp\left(\int_{t_0}^t (\omega_m(\tau) - b_\omega(\tau)) d\tau\right)R(t)=R(t0)exp(∫t0t(ωm(τ)−bω(τ))dτ)(RRR 为旋转矩阵,bωb_\omegabω 为陀螺仪零偏);
    • 速度积分:v(t)=v(t0)+∫t0t(R(τ)(am(τ)−ba(τ))−g)dτv(t) = v(t_0) + \int_{t_0}^t (R(\tau)(a_m(\tau) - b_a(\tau)) - g) d\tauv(t)=v(t0)+∫t0t(R(τ)(am(τ)−ba(τ))−g)dτ(vvv 为速度,bab_aba 为加速度计零偏,ggg 为重力加速度);
    • 位置积分:p(t)=p(t0)+∫t0tv(τ)dτp(t) = p(t_0) + \int_{t_0}^t v(\tau) d\taup(t)=p(t0)+∫t0tv(τ)dτ。
  • 误差模型 (核心影响LIO精度):
    • 确定性误差:零偏(bω,bab_\omega, b_abω,ba,随时间缓慢漂移)、刻度因子误差(测量值与真实值的比例偏差)、轴间对准误差(传感器轴与载体轴不平行);
    • 随机误差:高斯白噪声(ηω,ηa\eta_\omega, \eta_aηω,ηa)、随机游走(nω,nan_\omega, n_anω,na,零偏的随机波动,服从布朗运动)。

2.2 传感器标定:LIO的前提(无标定则无高精度)

LIO需精确知道LiDAR与IMU之间的相对位姿(外参)和各自的内参,标定分为三类:

2.2.1 外参标定(核心)
  • 定义:估计LiDAR坐标系(LLL)到IMU坐标系(III)的变换 TIL=(RIL,tIL)T_{IL} = (R_{IL}, t_{IL})TIL=(RIL,tIL),其中 RILR_{IL}RIL 为旋转矩阵,tILt_{IL}tIL 为平移向量(单位:m)。
  • 标定方法:
    • 基于标定板:使用棋盘格/平面标定板,通过LiDAR检测平面特征、IMU记录运动,求解外参(适合实验室场景);
    • 基于运动的自标定:无需标定板,通过载体做特定运动(如旋转、平移),利用LiDAR与IMU数据的一致性约束优化外参(如LIO-SAM、FAST-LIO2的自标定模块);
    • 开源工具:LiDAR-IMU-Calibration(ROS包)、kalibr(支持多传感器标定)。
2.2.2 内参标定
  • LiDAR内参:激光束的垂直角、水平角分辨率、测距偏移等(厂商通常提供,需验证);
  • IMU内参:刻度因子、轴间对准误差、零偏(可通过IMU标定工具如IMU-Tk、kalibr离线标定)。

三、LIO核心技术框架:从数据预处理到状态估计

LIO的技术框架可分为五大模块:数据预处理 → 传感器融合 → 状态估计 → 点云匹配 → 闭环优化(可选),其中融合策略和状态估计是核心区别于纯LO/VO的关键。

3.1 数据预处理:消除噪声与运动畸变

3.1.1 LiDAR点云去畸变
  • 问题根源:LiDAR扫描一帧点云的时间(如10Hz对应100ms)内,载体存在运动(平移/旋转),导致同一帧点云的不同点对应不同时刻的载体位姿,出现"畸变"(如直线变曲线)。

  • 解决思路:用IMU的高帧率数据补偿运动,将所有点云统一到帧起始/结束时刻的坐标系下。

  • 具体步骤:

    1. 时间戳对齐:将LiDAR点云的每个点(tpt_ptp)与IMU数据(timut_{imu}timu)进行时间同步;
    2. 运动插值:根据IMU积分得到 tpt_ptp 时刻相对于帧起始时刻 t0t_0t0 的位姿 T(t0→tp)T(t_0 \to t_p)T(t0→tp);
    3. 畸变校正:将原始点 prawp_{raw}praw 变换到 t0t_0t0 时刻:pundistorted=T(t0→tp)−1⋅prawp_{undistorted} = T(t_0 \to t_p)^{-1} \cdot p_{raw}pundistorted=T(t0→tp)−1⋅praw。
  • 公式推导:

    设帧起始时刻位姿为 T0=(R0,p0)T_0 = (R_0, p_0)T0=(R0,p0),tpt_ptp 时刻位姿为 Tp=(Rp,pp)T_p = (R_p, p_p)Tp=(Rp,pp),则 T(t0→tp)=Tp⋅T0−1T(t_0 \to t_p) = T_p \cdot T_0^{-1}T(t0→tp)=Tp⋅T0−1,校正后点云为:

    xundistyundistzundist1\]=T0−1⋅Tp⋅\[xrawyrawzraw1\]\\begin{bmatrix} x_{undist} \\\\ y_{undist} \\\\ z_{undist} \\\\ 1 \\end{bmatrix} = T_0\^{-1} \\cdot T_p \\cdot \\begin{bmatrix} x_{raw} \\\\ y_{raw} \\\\ z_{raw} \\\\ 1 \\end{bmatrix} xundistyundistzundist1 =T0−1⋅Tp⋅ xrawyrawzraw1

  • 核心意义:避免每次优化时都重新积分IMU数据(降低计算量),将IMU数据转换为"相对运动约束",直接用于状态估计。

  • 预积分定义:在LiDAR两帧之间(tkt_ktk 到 tk+1t_{k+1}tk+1),积分IMU数据得到相对位姿 Tk+1,kT_{k+1,k}Tk+1,k、相对速度 vk+1,kv_{k+1,k}vk+1,k,以及对应的误差协方差矩阵。

  • 预积分公式(连续时间):

    • 姿态预积分:Rk+1,k=Rkexp⁡(∫tktk+1(ωm(τ)−bω(τ))dτ)R_{k+1,k} = R_k \exp\left(\int_{t_k}^{t_{k+1}} (\omega_m(\tau) - b_\omega(\tau)) d\tau\right)Rk+1,k=Rkexp(∫tktk+1(ωm(τ)−bω(τ))dτ)
    • 速度预积分:vk+1,k=vk+∫tktk+1(R(τ)(am(τ)−ba(τ))−g)dτv_{k+1,k} = v_k + \int_{t_k}^{t_{k+1}} (R(\tau)(a_m(\tau) - b_a(\tau)) - g) d\tauvk+1,k=vk+∫tktk+1(R(τ)(am(τ)−ba(τ))−g)dτ
    • 位置预积分:pk+1,k=pk+∫tktk+1v(τ)dτ+12∫tktk+1(R(τ)(am(τ)−ba(τ))−g)dτ2p_{k+1,k} = p_k + \int_{t_k}^{t_{k+1}} v(\tau) d\tau + \frac{1}{2} \int_{t_k}^{t_{k+1}} (R(\tau)(a_m(\tau) - b_a(\tau)) - g) d\tau^2pk+1,k=pk+∫tktk+1v(τ)dτ+21∫tktk+1(R(τ)(am(τ)−ba(τ))−g)dτ2
  • 离散化实现:由于IMU数据是离散的,实际用中值积分/龙格-库塔积分(RK4)离散化,同时计算误差传播矩阵(用于后续优化)。

  • 关键优化:预积分的"零偏敏感性"------当IMU零偏更新时,无需重新积分,仅通过误差传播矩阵修正预积分结果(FAST-LIO2的核心优化点)。

3.2 融合策略:松耦合 vs 紧耦合(LIO的核心区别)

3.2.1 松耦合(Loose Coupling)
  • 原理:LiDAR和IMU分别独立估计里程计,再通过融合算法(如EKF)融合两个里程计的结果,得到最终位姿。
  • 流程:
    1. LiDAR里程计:通过点云匹配(如ICP)估计 TLiDART_{LiDAR}TLiDAR;
    2. IMU里程计:通过积分IMU数据估计 TIMUT_{IMU}TIMU;
    3. 融合:用EKF将 TLiDART_{LiDAR}TLiDAR(低频、高精度)和 TIMUT_{IMU}TIMU(高频、低漂移短期)融合,输出高频平滑的位姿。
  • 优点:实现简单、计算量小、鲁棒性高(单传感器失效时可降级);
  • 缺点:未充分利用原始数据的相关性,精度低于紧耦合;
  • 代表算法:LOAM(Lidar Odometry and Mapping)、LeGO-LOAM(基于地面分割的松耦合LIO)。
3.2.2 紧耦合(Tight Coupling)
  • 原理:直接融合LiDAR原始点云和IMU原始数据,构建统一的状态估计问题,通过优化或滤波求解最优位姿和传感器误差(如IMU零偏)。
  • 核心思想:将IMU预积分作为约束,LiDAR点云匹配作为观测,共同优化状态变量(位姿、速度、IMU零偏等)。
  • 优点:充分利用原始数据信息,精度更高、抗噪声能力更强,适合高速/动态场景;
  • 缺点:实现复杂、计算量较大,对传感器标定精度要求更高;
  • 代表算法:LIO-SAM、FAST-LIO2、Point-LIO、Small-GICP-LIO(基于点云配准的紧耦合)。

3.3 状态估计方法:滤波-based vs 优化-based

3.3.1 滤波-based方法(如EKF)
  • 状态变量定义(以紧耦合EKF为例):

    X=[p,v,R,bω,ba]TX = [p, v, R, b_\omega, b_a]^TX=[p,v,R,bω,ba]T

    其中 ppp(位置)、vvv(速度)、RRR(姿态)为载体状态,bωb_\omegabω(陀螺仪零偏)、bab_aba(加速度计零偏)为传感器误差状态。

  • 预测步(IMU积分):用IMU数据更新状态变量的先验估计和协方差矩阵;

  • 更新步(LiDAR观测):通过点云匹配得到观测值(如位姿增量),计算卡尔曼增益,更新状态变量的后验估计。

  • 缺点:对非线性系统近似(EKF用一阶泰勒展开),长期积累误差,适合实时性要求极高的场景。

3.3.2 优化-based方法(如图优化)
  • 状态变量:与滤波方法一致,通常还包括历史关键帧位姿(用于回环检测);

  • 图优化模型:将状态变量作为节点,IMU预积分和LiDAR点云匹配作为边(约束),构建因子图:

    min⁡X∑i∥rIMU(Xi,Xi+1)∥ΣIMU2+∑j∥rLiDAR(Xj,Pj)∥ΣLiDAR2\min_X \sum_{i} \| r_{IMU}(X_i, X_{i+1}) \|{\Sigma{IMU}}^2 + \sum_{j} \| r_{LiDAR}(X_j, P_j) \|{\Sigma{LiDAR}}^2minX∑i∥rIMU(Xi,Xi+1)∥ΣIMU2+∑j∥rLiDAR(Xj,Pj)∥ΣLiDAR2

    其中 rIMUr_{IMU}rIMU 为IMU预积分残差,rLiDARr_{LiDAR}rLiDAR 为LiDAR点云匹配残差,Σ\SigmaΣ 为残差的协方差矩阵(权重)。

  • 求解方法:用非线性最小二乘求解(如高斯-牛顿法、LM法),开源库:Ceres Solver、g2o;

  • 优点:处理非线性系统更准确,可融入回环约束修正全局漂移,是当前主流方法(LIO-SAM、FAST-LIO2均采用)。

3.4 LiDAR点云匹配与特征提取

点云匹配是LiDAR提供观测约束的核心,分为"基于特征的匹配"和"直接匹配"两类:

3.4.1 基于特征的匹配(如LOAM、LIO-SAM)
  • 特征提取:从去畸变后的点云中提取两类特征(降低匹配复杂度):
    • 边缘特征点(Edge Points):梯度较大的点(如墙角、栏杆),用曲率 c=1k∑i=1k(xi−xˉ)T(xi−xˉ)c = \frac{1}{k} \sum_{i=1}^k (x_i - \bar{x})^T (x_i - \bar{x})c=k1∑i=1k(xi−xˉ)T(xi−xˉ) 筛选(曲率大的点为边缘点);
    • 平面特征点(Planar Points):梯度较小的点(如地面、墙面),筛选曲率小的点。
  • 特征匹配:
    • 边缘点匹配到参考帧的线特征(两点确定一条线);
    • 平面点匹配到参考帧的面特征(三点确定一个平面);
    • 残差计算:点到线/面的距离(如点到线距离 d=∥(p−p1)×(p−p2)∥/∥p1−p2∥d = \| (p - p1) \times (p - p2) \| / \| p1 - p2 \|d=∥(p−p1)×(p−p2)∥/∥p1−p2∥)。
3.4.2 直接匹配(如FAST-LIO2、Point-LIO)
  • 原理:无需提取特征,直接将当前帧点云与参考帧的体素网格/点云地图进行匹配,最小化点到面/点到点的距离残差。
  • 优化:
    • 体素网格下采样:将参考帧点云划分为体素(如5cm×5cm×5cm),每个体素保留一个点,降低计算量;
    • 正态分布变换(NDT):将参考帧点云建模为概率密度函数,当前帧点云的似然函数作为残差(适合高速场景);
    • 点到面ICP:计算每个点的法向量,最小化点到面的距离(精度高于点到点ICP)。
3.4.3 鲁棒估计
  • 问题:动态障碍物、 outliers(如噪声点、遮挡物)会导致匹配残差异常,影响位姿估计精度;
  • 解决方案:
    • RANSAC算法:随机采样子集拟合模型,剔除 outliers;

    • M-estimation(如Huber损失、Cauchy损失):对大残差赋予较小权重,降低 outliers 的影响:

      ρ(r)={12r2∣r∣≤δδ∣r∣−12δ2∣r∣>δ\rho(r) = \begin{cases} \frac{1}{2} r^2 & |r| \leq \delta \\ \delta |r| - \frac{1}{2} \delta^2 & |r| > \delta \end{cases}ρ(r)={21r2δ∣r∣−21δ2∣r∣≤δ∣r∣>δ

      (Huber损失,δ\deltaδ 为阈值,通常取1.345)。

3.5 回环检测与闭环优化(可选,LIO→LISAM)

  • 问题:即使是紧耦合LIO,长期运行仍会积累漂移(如室内长走廊、室外大范围场景);
  • 回环检测:检测载体是否回到之前访问过的位置(如通过点云匹配、深度学习特征匹配);
  • 闭环优化:当检测到回环时,添加回环约束(当前帧与历史帧的位姿约束)到因子图中,重新优化所有状态变量,消除全局漂移,得到一致的地图和位姿。
  • 代表算法:LIO-SAM(支持回环检测)、FAST-LIO2 + LoopClosure(扩展模块)。

四、主流LIO算法深度解析

4.1 LOAM(松耦合经典算法)

  • 核心框架:
    1. 里程计前端:提取边缘/平面特征,通过帧间匹配估计位姿;
    2. 地图后端:构建全局地图,用地图匹配优化里程计结果;
    3. 融合策略:松耦合IMU数据(仅用于点云去畸变,未参与状态估计)。
  • 优点:开创了LiDAR特征提取与匹配的先河,精度高、鲁棒性强;
  • 缺点:无IMU状态估计,漂移较明显,实时性一般(未做并行优化)。

4.2 LIO-SAM(紧耦合图优化标杆)

  • 核心创新:将LIO拆分为三个并行线程,兼顾实时性与精度:
    1. IMU预积分线程:处理IMU数据,生成预积分约束;
    2. LiDAR特征匹配线程:提取边缘/平面特征,与局部地图匹配,生成LiDAR约束;
    3. 图优化线程:融合IMU和LiDAR约束,优化状态变量(位姿、速度、IMU零偏)。
  • 关键优化:
    • 局部地图管理:仅保留最近关键帧的点云,降低匹配复杂度;
    • 回环检测:基于点云特征的回环检测,消除全局漂移;
  • 性能:在KITTI数据集上,定位精度可达0.2%(相对误差),实时性可达20Hz(CPU:Intel i7-8700K)。

4.3 FAST-LIO2(直接匹配实时性标杆)

  • 核心创新:基于球面投影的点云匹配,无需特征提取,计算量极低;
  • 关键技术:
    1. 球面体素网格:将点云投影到球面上,划分为球面体素,加速邻域搜索;
    2. 紧耦合优化:将IMU预积分和点到面残差统一到优化问题中,同时优化位姿和IMU零偏;
    3. 实时性优化:单线程实现,CPU实时性可达100Hz(支持128线LiDAR);
  • 优点:实时性极强、适合高速场景、对硬件要求低;
  • 缺点:依赖精确的IMU标定,动态场景鲁棒性略逊于特征-based方法。

4.4 Point-LIO(点云配准紧耦合新方向)

  • 核心思想:基于PointPillars特征提取和GICP(广义ICP)配准,构建紧耦合LIO;
  • 关键技术:
    1. PointPillars特征:将点云划分为柱体(Pillar),提取局部特征,增强对动态障碍物的鲁棒性;
    2. GICP配准:考虑点云的法向量和协方差,提高配准精度;
    3. 多约束融合:IMU预积分约束 + PointPillars特征约束 + GICP配准约束;
  • 优点:动态场景鲁棒性强、配准精度高,适合城区自动驾驶。

五、LIO工程实现要点

5.1 传感器选型与配置

  • LiDAR选型:
    • 线数:室内机器人可选16线(如Velodyne VLP-16),自动驾驶需32/64/128线(如Ouster OS1-64);
    • 帧率:建议≥10Hz,高速场景需20-30Hz;
    • 测距范围:室内≥10m,室外≥50m。
  • IMU选型:
    • 零偏稳定性:陀螺仪≤0.1°/h,加速度计≤100μg(如IMU381、BMI088);
    • 输出频率:≥200Hz(越高越好,用于点云去畸变);
    • 同步要求:支持PPS硬件同步(与LiDAR时间戳对齐)。

5.2 时间同步与数据对齐

  • 硬件同步:通过PPS(脉冲每秒)信号实现LiDAR与IMU的时间戳同步(精度可达μs级);

  • 软件同步:无硬件同步时,采用线性插值对齐LiDAR和IMU数据(精度可达ms级);

  • 关键代码(ROS 2示例):

    cpp 复制代码
    // 时间同步回调函数(LiDAR和IMU数据对齐)
    void syncCallback(const sensor_msgs::msg::PointCloud2::SharedPtr lidar_msg,
                     const sensor_msgs::msg::Imu::SharedPtr imu_msg) {
      double lidar_time = lidar_msg->header.stamp.sec + lidar_msg->header.stamp.nanosec / 1e9;
      double imu_time = imu_msg->header.stamp.sec + imu_msg->header.stamp.nanosec / 1e9;
      // 线性插值对齐IMU数据到LiDAR时间戳
      ImuData interpolated_imu = interpolateIMU(imu_buffer, lidar_time);
      // 点云去畸变
      pcl::PointCloud<pcl::PointXYZIRT>::Ptr undistorted_cloud = undistortPointCloud(lidar_msg, interpolated_imu);
    }

5.3 实时性优化

  • 点云降采样:
    • 体素网格下采样(VoxelGrid):将点云划分为体素,保留中心/平均点(如5cm体素,减少80%点云数量);
    • 随机下采样(RandomSample):简单高效,适合实时场景。
  • 并行计算:
    • 多线程:将预积分、特征提取、配准分配到不同线程(如LIO-SAM的三线程模型);
    • GPU加速:用CUDA实现点云配准(如CUDA-ICP)、特征提取(如PointPillars GPU版),适合高分辨率LiDAR。
  • 算法简化:
    • 减少优化变量:固定部分状态(如短时间内IMU零偏不变);
    • 局部窗口优化:仅优化最近N帧关键帧(如N=20),而非全部历史帧。

5.4 参数调优与常见问题调试

5.4.1 关键参数调优
  • 特征提取参数:
    • 曲率阈值(边缘/平面特征划分):室内场景建议0.1-0.3,室外场景建议0.3-0.5;
    • 特征点数量:每帧边缘点200-500个,平面点500-1000个。
  • 配准参数:
    • ICP迭代次数:10-20次(迭代次数越多精度越高,但耗时更长);
    • 收敛阈值:残差变化≤1e-6时停止迭代。
  • IMU预积分参数:
    • 积分步长:与IMU输出频率一致(如200Hz对应5ms);
    • 零偏更新率:每帧优化一次零偏(避免更新过于频繁导致抖动)。
5.4.2 常见问题与解决方案
问题现象 可能原因 解决方案
点云畸变严重 时间同步错误、IMU数据异常 检查PPS同步、重新标定IMU、验证IMU数据有效性
定位漂移大 外参标定不准、IMU零偏未估计 重新标定外参、启用IMU零偏优化
配准失败(残差过大) 动态障碍物过多、特征不足 加入动态障碍物过滤、增加特征点数量
实时性差(帧率<10Hz) 点云密度过高、算法未优化 增大体素尺寸、启用GPU加速、多线程并行

六、LIO工具链与数据集

6.1 开源框架(ROS/ROS 2)

框架名称 融合策略 状态估计 实时性 适用场景
LIO-SAM 紧耦合 图优化 20Hz 室内外机器人、自动驾驶
FAST-LIO2 紧耦合 优化-based 100Hz 高速场景、嵌入式平台
Point-LIO 紧耦合 图优化 15Hz 城区自动驾驶
LeGO-LOAM 松耦合 帧间匹配 10Hz 室内地面机器人

6.2 核心依赖库

  • 点云处理:PCL(Point Cloud Library)、Open3D;
  • 线性代数与优化:Eigen 3、Ceres Solver、g2o;
  • 传感器数据处理:ROS/ROS 2(数据订阅/发布)、Boost(线程/时间);
  • 深度学习辅助:PyTorch/TensorFlow(用于特征提取、动态障碍物检测)。

6.3 标准数据集(算法测试与对比)

  • KITTI Odometry:室外自动驾驶场景,含64线LiDAR、IMU、相机数据;
  • NuScenes:城区自动驾驶场景,含32线LiDAR、IMU、多相机数据;
  • Euroc MAV:室内无人机场景,含立体相机、IMU数据(可搭配LiDAR使用);
  • Jackal Dataset:室内机器人场景,含16线LiDAR、IMU数据。

总结

LIO算法通过融合LiDAR的高精度和IMU的高帧率特性,解决了纯LiDAR里程计动态鲁棒性差和纯IMU里程计漂移严重的问题,已成为自主导航领域的核心技术。其核心框架包括数据预处理、传感器融合、状态估计、点云匹配四大模块,其中紧耦合+图优化是当前主流技术路线,代表算法有LIO-SAM、FAST-LIO2、Point-LIO等。

工程实现中,需重点关注传感器标定、时间同步、实时性优化和参数调优四大关键点,同时结合开源框架和标准数据集快速验证算法效果。未来,LIO将向多传感器融合、轻量化部署、端到端深度学习和一体化建图定位方向发展,进一步提升精度、鲁棒性和易用性,推动自动驾驶、移动机器人等领域的技术落地。

相关推荐
杰众物联1 小时前
超高频FPC标签企业
c++
AGI前沿2 小时前
# 反内卷,回基础:Nano-Memory用极简检索与剪枝,解决大模型长对话遗忘
算法·机器学习
无限进步_2 小时前
【C++】私有虚函数与多态:访问权限不影响动态绑定
开发语言·c++·ide·windows·git·算法·visual studio
努力努力再努力wz2 小时前
【MySQL入门系列】:不只是建表:MySQL 表约束与 DDL 执行机制全解析
android·linux·服务器·数据结构·数据库·c++·mysql
君鼎2 小时前
C++20 新特性全面总结
算法·c++20
枫叶机关录2 小时前
算法笔记:K-means、K-means++与K-Medoids聚类算法--详解、案例分析
算法·聚类·k-means
贾斯汀玛尔斯2 小时前
每天学一个算法-- 归并排序(Merge Sort)
数据结构·算法·排序算法
才兄说2 小时前
机器人二次开发机器狗巡检?低电量自动返充
人工智能·机器人
算法鑫探2 小时前
算法中的二分法(二分查找)详解及示例
c语言·数据结构·算法·新人首发