【机器人-基础知识】标定 - IMU(Inertial Measurement Unit, 惯性测量单元)

1. IMU的输出内容

IMU(惯性测量单元)的输出主要包括以下几类信号:

  • 加速度数据
    三轴加速度计输出沿 X、Y、Z 轴方向的线性加速度,这些数据反映了物体受到的重力及运动加速度。

  • 角速度数据
    三轴陀螺仪输出绕 X、Y、Z 轴的角速度,描述了物体的旋转情况。

  • 磁场数据(视具体型号而定)
    如果IMU内集成了磁力计,则还会输出三轴磁场数据,用于辅助判断绝对方向和校正姿态漂移。

  • 温度数据(部分型号)
    某些IMU会提供内部温度信息,以便进行温度补偿和噪声分析。

此外,经过传感器融合算法处理后,部分系统还可以直接输出估计的姿态信息,但这些是基于原始传感器数据进一步计算得到的结果.

2. 主要组成部件

  1. 加速度计
    测量物体在三个正交轴上的线性加速度。内部通常有一个微小的“惯性块”(proof mass),当设备受到加速度作用时,该惯性块相对于外壳产生位移,通过检测这种位移来计算加速度。

  2. 陀螺仪
    测量物体绕各轴的角速度。现代IMU大多采用MEMS陀螺仪,利用科氏效应(Coriolis Effect):当一个振动元件在旋转系统中运动时,科氏力会使其振动方向发生偏转,通过检测这种偏转就能计算出旋转速度。

  3. 磁力计(有时集成)
    用于测量地磁场方向,辅助确定设备的绝对朝向,尤其在GPS信号弱或无GPS时提供方位参考。

3. IMU组成部件工作原理

3.1. 加速度计

1. 加速度计的底层工作原理

加速度计的底层原理还是牛顿第二定律:物体的加速度与施加到该物体上的力成正比,即 F = m a F = ma F=ma.

2. 加速度计的常见类型

加速度计类型主要特点工作原理应用场景/优缺点
MEMS加速度计小型、低功耗、成本低利用微机械结构中悬挂的惯性块在受加速度作用下发生位移,导致电容变化,转换为电压信号广泛用于智能手机、无人机、机器人等消费级和工业级IMU;静态和动态测量均适用
压电加速度计高频响应快,适合动态测量利用压电材料在受力时产生电荷信号,通过电荷放大后输出与加速度成比例的信号适用于高频振动和冲击测量,但对直流(静态)加速度不敏感
压阻加速度计结构简单、制造成熟基于半导体应变片受力时电阻发生变化,通过惠斯登电桥检测电阻变化转换为电压信号精度要求适中,但温度敏感;在一些特殊场合也有应用

3.2. 陀螺仪

1. 陀螺仪的底层原理

陀螺仪的底层原理主要依赖于两个核心物理效应:

  1. 角动量守恒原理(传统机械陀螺仪):
    在传统机械陀螺仪中,一个高速旋转的转子具有很大的角动量。根据角动量守恒定律,这个转子在没有外力矩作用下会保持其旋转轴方向不变。当陀螺仪本体发生旋转时,由于转子倾向于维持原有的旋转状态,其偏离会产生“进动”现象,通过检测这种进动现象,就可以推断出旋转的角速度和方向。

  2. 科氏效应(MEMS陀螺仪):
    现代多数IMU采用的MEMS陀螺仪,其工作原理基于科氏效应。MEMS陀螺仪中通常有一个振动的微机械结构,当设备发生旋转时,振动体在运动过程中会受到一个垂直于原始振动方向的科氏力,该力的大小与旋转角速度成正比。通过检测这种由科氏力引起的微小振动(通常通过电容、压阻或其他传感方式感知),便能计算出设备的角速度。

2. 进动现象

a. 进动现象 (旋进现象)原理

进动:当陀螺仪本体受到外部力矩时,转子因其较大的角动量倾向于维持原来的自旋状态,结果并不是直接沿力矩方向转动,而是在垂直于自旋轴和外力矩方向上发生缓慢的转动。
在这里插入图片描述在这里插入图片描述

当转子自旋角动量 L ⃗ \vec{L} L 很大时,外力矩主要改变的是 L ⃗ \vec{L} L 的方向而非大小,从而产生进动。进动角速度 Ω ⃗ p \vec{\Omega}_p Ω p 满足:

Ω ⃗ p × L ⃗ = M ⃗ \vec{\Omega}_p \times \vec{L} = \vec{M} Ω p×L =M

取模后得:

Ω p = M ∣ L ⃗ ∣ \Omega_p = \frac{M}{|\vec{L}|} Ωp=L M

其中,转子的角动量 ∣ L ⃗ ∣ |\vec{L}| L 通常由转子转动惯量 I I I 与自旋角速度 ω s \omega_s ωs 决定,即:

∣ L ⃗ ∣ = I   ω s |\vec{L}| = I\,\omega_s L =Iωs

代入上式可得:

Ω p = M ∣ L ⃗ ∣ = M I   ω s \Omega_p = \frac{M}{|\vec{L}|} = \frac{M}{I\,\omega_s} Ωp=L M=IωsM

  • 在外部力矩 M M M 和转子转动惯量 I I I 固定的情况下,进动角速度 Ω p \Omega_p Ωp 与自转角速度 ω s \omega_s ωs 成反比关系。
  • 即当自转角速度增大时,进动角速度会减小;反之,当自转角速度减小时,进动角速度增大。

b. 推导陀螺仪本体的旋转角速度
  • 预先使转子以稳定且较高的自旋角速度旋转,这通常由电机控制,并且该自旋角速度 ω s \omega_s ωs 被设计为一个已知且恒定的值。

  • 当陀螺仪本体(安装在外壳上)发生旋转时,外部施加的旋转角速度 ω ⃗ \vec{\omega} ω 会在转子上产生一个力矩,转子受到的力矩为
    M ⃗ = ω ⃗ × L ⃗ \vec{M} = \vec{\omega} \times \vec{L} M =ω ×L

  • 等效力矩
    当陀螺仪的外壳以角速度 ω ⃗ \vec{\omega} ω 旋转时,虽然没有施加传统意义上的“力”,但转子却处于一个非惯性(旋转)参考系中。
    在这种情况下,角动量向量 L ⃗ \vec{L} L 会因为参考系的旋转而发生改变,数学上描述为:
    d L ⃗ d t = ω ⃗ × L ⃗ \frac{d\vec{L}}{dt} = \vec{\omega} \times \vec{L} dtdL =ω ×L
    这个方程说明,即使在没有“真实”外力矩的情况下,旋转参考系会引入一个等效的时间变化率,从而表现出一个等效的力矩 τ ⃗ eff \vec{\tau}_{\text{eff}} τ eff
    τ ⃗ eff = ω ⃗ × L ⃗ = M ⃗ \vec{\tau}_{\text{eff}} = \vec{\omega} \times \vec{L}= \vec{M} τ eff=ω ×L =M

  • 等效力矩的物理意义
    当陀螺仪的外壳旋转时,转子由于其较大的角动量倾向于保持原来的方向(这就是转子“抗拒”改变方向的性质)。而外部旋转则试图改变这种方向,结果在转子上产生了一个反映为进动的现象,这个现象实际上就是上述等效力矩的体现。

  • 旋进角速度计算
    将等效力矩代入上式可得:
    Ω p = M ∣ L ⃗ ∣ = ∣ ω ⃗ × L ⃗ ∣ I   ω s \Omega_p = \frac{M}{|\vec{L}|} = \frac{|\vec{\omega} \times \vec{L}|}{I\,\omega_s} Ωp=L M=Iωsω ×L

  • 极端情况分析:如果外壳旋转轴( ω ⃗ \vec{\omega} ω 的旋转轴)与自旋轴垂直( L ⃗ \vec{L} L 的方向)(最敏感情况),则有 :

Ω p = ω   I   ω s I   ω s = ω \Omega_p = \frac{\omega\,I\,\omega_s}{I\,\omega_s} = \omega Ωp=IωsωIωs=ω
在一般情况下,通过测量进动的分量(利用传感器检测转子因进动产生的偏转),并已知 ω s \omega_s ωs I I I,就可以通过上述关系反推外部旋转角速度 ω ⃗ \vec{\omega} ω 的各分量。

  • 分解进动分量
    在三轴机械陀螺仪中,通常会通过机械结构或附加传感器(如电位计、光电传感器等)检测转子因进动在设备固定坐标系中的偏转。设检测到的进动角速度在该坐标系中的分量为 Ω p x , Ω p y , Ω p z \Omega_{px}, \Omega_{py}, \Omega_{pz} Ωpx,Ωpy,Ωpz

3. 科氏效应原理解析

a. 理论概述

在这里插入图片描述

  • 旋转参考系中的虚拟力
    当我们处在一个非惯性(旋转)参考系中时,由于参考系自身在旋转,物体的运动轨迹会看起来偏离直线,这种偏离可以用一个虚拟力来解释,这就是科氏力(科里奥利力)。

  • 科氏力的物理意义
    科氏力实际上并非真实存在的力,而是由于旋转参考系的加速度所引入的一种惯性效应。它使得在旋转系统内运动的物体,其运动轨迹相对于静止观察者来说发生偏转。

b. 数学描述与公式

在旋转参考系中,假设旋转角速度为 Ω ⃗ \vec{\Omega} Ω ,物体质量为 m m m,在该参考系内的速度为 v ⃗ \vec{v} v 。科氏力 F ⃗ C \vec{F}_C F C 的公式为:

F ⃗ C = − 2 m   Ω ⃗ × v ⃗ \vec{F}_C = -2 m\, \vec{\Omega} \times \vec{v} F C=2mΩ ×v

  • 符号说明

    • Ω ⃗ \vec{\Omega} Ω :旋转参考系的角速度向量,其方向由右手定则确定。
    • v ⃗ \vec{v} v :物体在旋转参考系中的速度向量。
    • × \times ×” 表示叉乘,说明科氏力总是垂直于 Ω ⃗ \vec{\Omega} Ω v ⃗ \vec{v} v 两个向量所在的平面。
    • 负号表示科氏力的方向与旋转参考系运动的惯性效应相反。
  • 效果
    由于科氏力与物体的运动速度和旋转角速度有关,其大小为:

F C = 2 m   Ω   v   sin ⁡ θ F_C = 2m\,\Omega\,v\,\sin\theta FC=2mΩvsinθ

其中 θ \theta θ Ω ⃗ \vec{\Omega} Ω v ⃗ \vec{v} v 之间的夹角。当 Ω ⃗ \vec{\Omega} Ω v ⃗ \vec{v} v 垂直时, sin ⁡ θ = 1 \sin\theta = 1 sinθ=1,科氏力达到最大值。


在这里插入图片描述

地球上,沿着速度方向看,北半球向右偏,南半球向左偏

c. 示例说明

示例:
设想一个简单的场景:

  • 在一个以 Ω = 1   rad/s \Omega = 1\,\text{rad/s} Ω=1rad/s 旋转的圆盘上,一个质量为 m = 1   kg m = 1\,\text{kg} m=1kg 的物体以 v = 2   m/s v = 2\,\text{m/s} v=2m/s 在圆盘上沿径向(与旋转轴垂直)运动。
  • 因为径向运动与旋转轴正交,所以 θ = 9 0 ∘ \theta = 90^\circ θ=90 sin ⁡ θ = 1 \sin\theta = 1 sinθ=1

根据公式,科氏力大小为:

F C = 2 × 1   kg × 1   rad/s × 2   m/s = 4   N F_C = 2 \times 1\,\text{kg} \times 1\,\text{rad/s} \times 2\,\text{m/s} = 4\,\text{N} FC=2×1kg×1rad/s×2m/s=4N

4. 陀螺仪的常见类型

陀螺仪类型主要特点工作原理应用场景/优缺点
MEMS陀螺仪小型、低功耗、成本低、易于集成利用微机电结构中振动元件的科氏效应检测旋转,输出角速度信号广泛应用于消费电子、无人机、便携设备;精度受限,存在漂移和噪声问题
光纤陀螺仪(FOG)高精度、无活动部件、响应快利用光纤内光束传播的干涉原理,测量旋转引起的光程差产生的相位变化常用于航空航天、船舶导航等高精度要求场合;成本较高,对环境要求较严格
环形激光陀螺仪(RLG)精度高、稳定性好利用激光在封闭环腔内多次反射,通过检测旋转产生的频率差来获得角速率应用于军用、航空及高端导航系统;体积较大、功耗高、制造成本较高
振动陀螺仪结构简单、易于制造,介于MEMS和高端陀螺仪之间利用振动结构(如微振动梁)在旋转时受到科氏力作用,导致振动模式发生变化,从而检测角速度可用于中高端导航和稳定性要求的场合;精度和稳定性介于MEMS与FOG/RLG之间,可根据设计做适当权衡

5. MEMS陀螺仪工作原理

在这里插入图片描述

1. 工作原理

在MEMS陀螺仪中,一个微小的振动元件(也称为“检测质量块”)被激励在某一方向(例如 x 轴)振动。当设备绕垂直于该振动方向的轴(例如 z 轴)旋转时,振动质量块会受到一个科氏力的作用,该力的方向与振动方向正交,且与旋转角速度成正比。通过检测这种因科氏力引起的微小位移或应变变化,就可以推算出旋转角速度。


2. 基本公式

在旋转情况下,质量块受到的科氏力 F ⃗ C \vec{F}_C F C 可由下式描述:

F ⃗ C = − 2 m   ( Ω ⃗ × v ⃗ ) \vec{F}_C = -2 m\, (\vec{\Omega} \times \vec{v}) F C=2m(Ω ×v )

其中:

  • m m m 为质量块的质量
  • Ω ⃗ \vec{\Omega} Ω 为陀螺仪的旋转角速度向量
  • v ⃗ \vec{v} v 为质量块在检测方向(例如 x 轴)的振动速度
  • × \times ×” 表示向量叉乘,负号表示力的方向遵循右手定则(与旋转参考系有关)

如果假设振动仅沿 x 轴进行,且陀螺仪绕 z 轴旋转(角速度为 Ω z \Omega_z Ωz),则科氏力在 y 轴上的分量为:
F C , y = 2 m   Ω z   v x F_{C,y} = 2 m\, \Omega_z\, v_x FC,y=2mΩzvx

Ω z   = F C , y 2 m   v x \Omega_z\ = \frac{F_{C,y}}{2 m\, v_x} Ωz =2mvxFC,y

该力会使质量块在 y 方向产生微小位移,通常通过微电容器或其他敏感元件检测这种位移变化,并转换为电信号输出,与旋转角速度 Ω z \Omega_z Ωz 成正比。


3. 示例

假设条件:

  • 质量块质量: m = 1 × 1 0 − 6   kg m = 1 \times 10^{-6}\,\text{kg} m=1×106kg
  • 振动速度: v x = 1   m/s v_x = 1\,\text{m/s} vx=1m/s(这是振动元件在激励状态下的峰值速度)
  • 测试旋转角速度: Ω z = 100   rad/s \Omega_z = 100\,\text{rad/s} Ωz=100rad/s
  • 信号检测科氏力
    当器件绕垂直于振动方向(例如 z 轴)旋转时,科氏力在垂直于振动和旋转轴的方向(例如 y 轴)产生微小位移。这种微小位移通过检测电容变化等方式转换成电信号。
    检测到的科氏力对应的信号转换后相当于 F C , y = 2 × 1 0 − 4   N F_{C,y} = 2 \times 10^{-4}\,\text{N} FC,y=2×104N

信号校准与处理
利用公式
Ω z = F C , y 2 m   v x \Omega_z = \frac{F_{C,y}}{2 m\,v_x} Ωz=2mvxFC,y

则旋转角速度计算为:

Ω z = 2 × 1 0 − 4   N 2 × 1 × 1 0 − 6   kg × 1   m/s = 100   rad/s \Omega_z = \frac{2 \times 10^{-4}\,\text{N}}{2 \times 1 \times 10^{-6}\,\text{kg} \times 1\,\text{m/s}} = 100\,\text{rad/s} Ωz=2×1×106kg×1m/s2×104N=100rad/s

检测到的科氏力引起的位移或应变与旋转角速度成正比,经过信号处理后即可输出反映实际旋转角速度的电信号。这个原理使得MEMS陀螺仪能够体积小、功耗低且适合批量生产,广泛应用于惯性导航、姿态控制、消费电子等领域。

4. IMU标定内参和外参

4.1. 标定内容

MEMS 陀螺仪由于制造工艺和环境因素的影响,其输出信号往往包含以下几个误差分量,需要通过标定进行补偿:

  • 零偏(Bias)
    静止状态下陀螺仪应输出零角速度,但实际会存在一个固定的偏置。标定时需要测量并去除这种零偏。

  • 刻度因数(Scale Factor)
    表示输出信号与实际旋转角速度之间的比例关系。因工艺误差,不同轴的灵敏度可能不一致,需求得准确的比例系数。

  • 非正交性(Cross-axis sensitivity / Misalignment)
    理论上三个敏感轴应互相正交,但实际中可能存在一定的夹角误差,导致某一轴受到其他轴信号的干扰。

  • 温度效应
    温度变化会引起零偏和刻度因数的漂移,标定时通常需要考虑温度补偿或在恒温条件下进行。

  • 噪声特性
    包括角速率随机游走(ARW)、偏置不稳定性等,通过 Allan 方差分析等方法可以对噪声模型进行估计,为后续滤波提供依据。

4.2. 标定方法

1. 内参标定

a. 静态标定
  • 原理
    在静止状态下(无外部旋转),理论上陀螺仪输出应为零。通过长时间采集静态数据,可以统计出零偏,并对噪声特性进行分析(例如利用 Allan 方差方法)。

  • 步骤

    1. 将陀螺仪放置在静止平台上,在不同温度下分别采集数据。
    2. 对采集数据进行均值计算,得到各轴的静态零偏。
    3. 利用数据方差、Allan 方差等方法分析噪声特性,建立噪声模型。
b. 动态标定
  • 原理
    动态标定通常利用已知角速度(如转台旋转、地球自转等参考)来标定刻度因数和非正交性。通过提供一个标准旋转输入,再与陀螺仪输出进行比对,利用优化算法求解各个参数。

  • 步骤

    1. 利用转台等装置,在已知角速度下对陀螺仪进行旋转测试。
    2. 收集输出数据,并构建数学模型,如:
      ω meas = S ⋅ ω true + b + n , \omega_{\text{meas}} = S \cdot \omega_{\text{true}} + b + n, ωmeas=Sωtrue+b+n,
      其中 S S S 是刻度因数及非正交矩阵, b b b 是零偏, n n n 为噪声。
    3. 采用非线性最小二乘法或其他优化算法,最小化测量值与标准角速度之间的误差,从而求解 S S S b b b
c. 示例说明

假设:

  • 在动态标定中,已知转台旋转角速度为 ω true = 50   rad/s \omega_{\text{true}} = 50\,\text{rad/s} ωtrue=50rad/s
  • 采集到的陀螺仪输出为 ω meas = [ 51.2 , 48.8 , 50.5 ]   rad/s \omega_{\text{meas}} = [51.2, 48.8, 50.5]\,\text{rad/s} ωmeas=[51.2,48.8,50.5]rad/s(假设三轴存在零偏和刻度因数误差)

模型构建:
我们假设输出模型为:
ω meas = S ⋅ ω true + b \omega_{\text{meas}} = S \cdot \omega_{\text{true}} + b ωmeas=Sωtrue+b
其中:

  • S S S 为对角或非对角矩阵(考虑非正交性)
  • b b b 为零偏向量

标定过程:

  1. 通过多次旋转测试,收集多组 ( ω true , ω meas ) \left(\omega_{\text{true}}, \omega_{\text{meas}}\right) (ωtrue,ωmeas) 数据。
  2. 构建优化问题,使得误差项
    min ⁡ S , b ∑ i ∥ ω meas , i − ( S ⋅ ω true , i + b ) ∥ 2 \min_{S,b} \sum_i \| \omega_{\text{meas},i} - (S \cdot \omega_{\text{true},i} + b) \|^2 S,bminiωmeas,i(Sωtrue,i+b)2
    达到最小。
  3. 求解后,可以得到各轴的刻度因数和零偏,从而将实际测量数据进行补偿,输出准确的旋转角速度。

2. 外参标定

1. 基本原理

IMU 与相机分别建立在不同的坐标系下工作,IMU 测量角速度和加速度,而相机采集图像,通过图像处理可以恢复出相机的位姿(即旋转和平移)。标定问题的目标就是求出二者坐标系之间的刚性变换关系,该关系通常可以表示为一个旋转矩阵 R R R 和一个平移向量 t \mathbf{t} t。也就是说,对于一个点在 IMU 坐标系中的坐标 p IMU \mathbf{p}_\text{IMU} pIMU 与其在相机坐标系中的坐标 p cam \mathbf{p}_\text{cam} pcam,它们满足关系:

p cam = R   p IMU + t \mathbf{p}_\text{cam} = R\, \mathbf{p}_\text{IMU} + \mathbf{t} pcam=RpIMU+t

2. 公式推导

假设有两个坐标系:

  • IMU 坐标系:记为 I I I
  • 相机坐标系:记为 C C C

二者之间的刚性变换可写成齐次变换矩阵形式:

X = [ R C I t C I 0 T 1 ] X = \begin{bmatrix} R_{CI} & \mathbf{t}_{CI} \\ \mathbf{0}^T & 1 \end{bmatrix} X=[RCI0TtCI1]

其中, R C I R_{CI} RCI 表示从 IMU 坐标系到相机坐标系的旋转, t C I \mathbf{t}_{CI} tCI 表示平移。

对于某个在 IMU 坐标系下的点 p I \mathbf{p}_I pI(在齐次坐标下为 [ p I 1 ] \begin{bmatrix}\mathbf{p}_I\\1\end{bmatrix} [pI1]),其在相机坐标系中的表达为:

[ p C 1 ] = X [ p I 1 ] = [ R C I   p I + t C I 1 ] \begin{bmatrix} \mathbf{p}_C \\ 1 \end{bmatrix} = X \begin{bmatrix} \mathbf{p}_I \\ 1 \end{bmatrix} = \begin{bmatrix} R_{CI}\, \mathbf{p}_I + \mathbf{t}_{CI} \\ 1 \end{bmatrix} [pC1]=X[pI1]=[RCIpI+tCI1]

  • 基于运动对求解标定参数

在实际标定中,可以利用多个时刻的观测数据来构造方程。假设系统经历了两组运动,对应的 IMU 和相机相对运动分别记为 B i B_i Bi A i A_i Ai,那么有经典的 Hand-eye 校准模型:

A i   X = X   B i , i = 1 , 2 , … , n A_i\, X = X\, B_i,\quad i=1,2,\ldots,n AiX=XBi,i=1,2,,n

其中:

  • A i A_i Ai 为相机测量的相对变换(由图像位姿计算得到),形式为:

    A i = [ A i R A i t 0 T 1 ] A_i = \begin{bmatrix} A_{iR} & \mathbf{A}_{it} \\ \mathbf{0}^T & 1 \end{bmatrix} Ai=[AiR0TAit1]

  • B i B_i Bi 为 IMU 测量的相对变换(通过积分获得),形式为:

    B i = [ B i R B i t 0 T 1 ] B_i = \begin{bmatrix} B_{iR} & \mathbf{B}_{it} \\ \mathbf{0}^T & 1 \end{bmatrix} Bi=[BiR0TBit1]

  • X X X 为从 IMU 到相机的未知变换,即:

    X = [ X R X t 0 T 1 ] X = \begin{bmatrix} X_R & X_t \\ \mathbf{0}^T & 1 \end{bmatrix} X=[XR0TXt1]

该式可以拆分为旋转部分和平移部分:

  1. 旋转部分:

    A i R   X R = X R   B i R A_{iR}\, X_R = X_R\, B_{iR} AiRXR=XRBiR

  2. 平移部分:

    A i R   X t + A i t = X R   B i t + X t A_{iR}\, X_t + \mathbf{A}_{it} = X_R\, \mathbf{B}_{it} + X_t AiRXt+Ait=XRBit+Xt

利用多个运动对,可以使用最小二乘法或其他优化方法来分别求解 X R X_R XR X t X_t Xt


3. 分步骤解析
  1. 步骤 1:数据采集
  • 图像数据:采集一系列图像,通过棋盘格等标定板计算出相机的位姿变化,得到相机相对运动 A i A_i Ai
  • IMU 数据:同时采集 IMU 的加速度与角速度数据,经过积分得到 IMU 相对运动 B i B_i Bi
  1. 步骤 2:数据配对
  • 对于每一次运动,提取相机和 IMU 对应时刻的相对变换 A i A_i Ai B i B_i Bi,要求二者的时间戳同步或者经过时间校准。
  1. 步骤 3:旋转矩阵求解
  • 利用公式 A i R   X R = X R   B i R A_{iR}\, X_R = X_R\, B_{iR} AiRXR=XRBiR 对所有运动对构建方程组。
  • 采用 SVD 分解或其他迭代优化方法求解 X R X_R XR
  1. 步骤 4:平移向量求解
  • 在已知 X R X_R XR 的情况下,将平移部分方程

    A i R   X t + A i t = X R   B i t + X t A_{iR}\, X_t + \mathbf{A}_{it} = X_R\, \mathbf{B}_{it} + X_t AiRXt+Ait=XRBit+Xt

    转化为关于 X t X_t Xt 的线性方程组,利用最小二乘方法求解。

  1. 步骤 5:优化与验证
  • 构造整体误差函数(如重投影误差或变换误差),对 X R X_R XR X t X_t Xt 进行全局优化。

  • 利用部分数据进行交叉验证,检查求解的标定参数是否满足实际需求。

  • 一种构造误差函数的方式是衡量每一对运动对下的残差,即
    e i = A i   X − X   B i . e_i = A_i\, X - X\, B_i. ei=AiXXBi.
    由于 e i e_i ei 是一个矩阵,我们常用其 Frobenius 范数来衡量误差的大小,整体误差函数可以定义为
    E ( X ) = ∑ i = 1 n ∥ A i   X − X   B i ∥ F 2 . E(X) = \sum_{i=1}^n \|A_i\, X - X\, B_i\|_F^2. E(X)=i=1nAiXXBiF2.
    最优的 X X X 应使得 E ( X ) E(X) E(X) 尽可能接近零,这表明所求的标定参数能够较好地描述 IMU 与相机之间的转换关系。


4. 示例

假设在实验中采集到一组运动数据,得到了以下变换矩阵(为便于理解,此处示例数值简化处理):

相机的运动变换矩阵 A 1 A_1 A1

A 1 = [ 0.99 − 0.05 0.10 0.20 0.06 0.98 − 0.15 0.10 − 0.10 0.16 0.98 0.30 0 0 0 1 ] A_1 = \begin{bmatrix} 0.99 & -0.05 & 0.10 & 0.20 \\[4mm] 0.06 & 0.98 & -0.15 & 0.10 \\[4mm] -0.10 & 0.16 & 0.98 & 0.30 \\[4mm] 0 & 0 & 0 & 1 \end{bmatrix} A1= 0.990.060.1000.050.980.1600.100.150.9800.200.100.301

IMU 的运动变换矩阵 B 1 B_1 B1

B 1 = [ 0.98 − 0.06 0.15 0.18 0.07 0.97 − 0.20 0.12 − 0.15 0.18 0.96 0.35 0 0 0 1 ] B_1 = \begin{bmatrix} 0.98 & -0.06 & 0.15 & 0.18 \\[4mm] 0.07 & 0.97 & -0.20 & 0.12 \\[4mm] -0.15 & 0.18 & 0.96 & 0.35 \\[4mm] 0 & 0 & 0 & 1 \end{bmatrix} B1= 0.980.070.1500.060.970.1800.150.200.9600.180.120.351

利用多个运动数据构建 A i   X = X   B i A_i\, X = X\, B_i AiX=XBi 方程后,通过 SVD 求解得到 IMU 到相机的旋转矩阵和位移向量,例如:

求得的旋转矩阵 X R X_R XR

X R = [ 0.995 − 0.030 0.100 0.040 0.998 − 0.050 − 0.100 0.060 0.993 ] X_R = \begin{bmatrix} 0.995 & -0.030 & 0.100 \\[4mm] 0.040 & 0.998 & -0.050 \\[4mm] -0.100 & 0.060 & 0.993 \end{bmatrix} XR= 0.9950.0400.1000.0300.9980.0600.1000.0500.993

求得的平移向量 X t X_t Xt

X t = [ 0.05 0.02 0.10 ] X_t = \begin{bmatrix} 0.05 \\[4mm] 0.02 \\[4mm] 0.10 \end{bmatrix} Xt= 0.050.020.10

因此,IMU 到相机的整体刚性变换矩阵 X X X 为:

X = [ 0.995 − 0.030 0.100 0.05 0.040 0.998 − 0.050 0.02 − 0.100 0.060 0.993 0.10 0 0 0 1 ] X = \begin{bmatrix} 0.995 & -0.030 & 0.100 & 0.05 \\[4mm] 0.040 & 0.998 & -0.050 & 0.02 \\[4mm] -0.100 & 0.060 & 0.993 & 0.10 \\[4mm] 0 & 0 & 0 & 1 \end{bmatrix} X= 0.9950.0400.10000.0300.9980.06000.1000.0500.99300.050.020.101

这表示任意一个在 IMU 坐标系下的点 p IMU \mathbf{p}_\text{IMU} pIMU 都可以通过

p cam = X R   p IMU + X t \mathbf{p}_\text{cam} = X_R\, \mathbf{p}_\text{IMU} + X_t pcam=XRpIMU+Xt

转换到相机坐标系中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值