卜乂卜乂
博客园博客园
首页首页
新随笔新随笔
联系联系
订阅订阅
管理管理
IMU误差模型与校准
目录
IMU误差模型和校准
参考文献
1 IMU的误差来源
2 IMU校准
IMU误差模型和校准
参考文献
1 Tedaldi D, Pretto A, Menegatti E. A robust and easy to implement method for IMU calibration without external equipments[J].
2014:3042-3049.
2 https://github.com/ethz-asl/kalibr
3 Allan Variance: Noise Analysis for Gyroscopes
4 厉宽宽, 陈允芳, 程敏,等. MEMS-IMU随机误差的Allan方差分析[J]. 全球定位系统, 2016,41(6):102-106.
5 https://bitbucket.org/alberto_pretto/imu_tk
1 IMU的误差来源
IMU的误差来主要来自于三部分,包括噪声(Bias and Noise)、尺度因子(Scale errors)和轴偏差(Axis misalignments)。加速
度计和陀螺仪的测量模型可以用式(1.1)和式(1.2)表达。
其中上标 表示加速度计, 表示陀螺仪, 表示正交的参考坐标系, 表示非正交的选准坐标系。 表示轴偏差的变换矩
阵, 表示尺度因子,
下面就这三部分的误差的具体来源进行简要的说明。
表示真值, 分别表示Bias和白噪声。
1.1 IMU噪声模型(Bias and Noise)
这里对IMU的噪声模型进行重新的定义,去除其误差模型中的轴偏差和尺度因子,可以将IMU的噪声模型写为,
其中
表示高斯白噪声, 表示随机游走噪声。下面就这两种噪声的具体形式和来源展开说明。
ω(t) +
1. 高斯白噪声
服从高斯分布的一种白噪声,其一阶矩为常数,二阶距随时间会发生变化。一般来说这种噪声是由AD转换器引起的
一种外部噪声。因为连续的高斯白噪声服从如下条件(参考An Introduction to Stochastic PDEs中Example 3.56 (White
noise) ),
其中
其中
表示狄拉克函数。 位高斯白噪声的方差,值越大,表示噪声程度越大。将其进一步离散化后,得到,
,
。
证明如下,
公告
昵称:卜小乂
园龄:3年2个月
粉丝:31
关注:6
+加关注
<
2019年7月
>
二
2
9
16
23
30
6
三
3
10
17
24
31
7
四
4
11
18
25
1
8
五
5
12
19
26
2
9
六
6
13
20
27
3
10
找找看
谷歌搜索
一
1
8
15
22
29
5
日
30
7
14
21
28
4
搜索
常用链接
我的随笔
我的评论
我的参与
最新评论
我的标签
我的标签
SLAM(3)
地图(1)
IMU与相机校准(1)
随笔档案
2018年3月 (3)
2017年11月 (1)
2017年8月 (1)
最新评论
1. Re:IMU误差模型与校准
博主你好,为什么图片看不了,不显示
--qdu_yhl
2. Re:IMU误差模型与校准
博主您好,您的这篇帖子里好多图片都不显示
了,能更新下吗,谢谢
--vino6520
3. Re:VINS-Mono代码分析与总结(一) IMU预
积分
=
(
+
+
)
a
B
T
a
K
a
a
S
b
a
ν
a
(
1
.
1
)
=
(
+
+
)
w
B
T
g
K
g
w
S
b
g
ν
g
(
1
.
2
)
a
g
B
S
T
K
,
a
S
w
S
b
,
ν
(
t
)
=
b
(
t
)
+
n
(
t
)
ω
̃
(
1
.
3
)
n
(
t
)
b
(
t
)
E
(
n
(
t
)
)
≡
0
E
(
n
(
)
n
(
)
)
=
δ
(
−
)
t
1
t
2
σ
2
g
t
1
t
2
(
1
.
4
)
δ
(
t
)
σ
g
[
k
]
=
ω
[
k
]
n
d
σ
g
d
(
1
.
5
)
ω
[
k
]
∼
N
(
0
,
1
)
=
σ
g
d
σ
g
1
△
t
√
[
k
]
=
n
(
+
Δ
t
)
≃
n
(
τ
)
d
τ
n
d
t
0
1
Δ
t
∫
+
Δ
t
t
0
t
0
博主,您好。个人感觉公式的推到不能称为中
值法,即不是参考文献[2]中Appendx部分“A R
unge-Kutta numerical integration methods”中
的欧拉法和中值法。而是......
--雨落华阳
4. Re:VINS-Mono代码分析与总结(完整版)
博主,您好!请问式(1.7)是如何推导出来
的?
--雨落华阳
5. Re:IMU误差模型与校准
在角速度校正的时候,最后损失函数怎么用LM
法求解呢?因为根据龙格库塔方法得到的加速
度,关于待求解参数的方程因为积分次数不同
而不同吧。也就是说,最后的损失函数方程不
确定,那怎么计算雅各比矩阵呢,也就没
办......
--阿凡...提
阅读排行榜
1. IMU误差模型与校准(11033)
2. VINS-Mono代码分析与总结(完整版)(9042)
3. VINS-Mono代码分析与总结(一) IMU预积分
(8041)
4. 高程图 GridMap(1515)
5. VINS-Mono代码分析与总结(二) 系统初始化
(1236)
评论排行榜
1. IMU误差模型与校准(12)
2. VINS-Mono代码分析与总结(完整版)(4)
3. VINS-Mono代码分析与总结(一) IMU预积分
(2)
推荐排行榜
1. VINS-Mono代码分析与总结(一) IMU预积分
(5)
2. VINS-Mono代码分析与总结(完整版)(4)
3. IMU误差模型与校准(3)
4. 高程图 GridMap(1)
则有
,即
2. 随机游走(这里指零偏Bias)
随机游走是一个离散模型,可以把它看做是一种布朗运动,或者将其称之为维纳过程。该模型可以看做是高斯白噪
声的积分。该噪声参数一般是由传感器的内部构造、温度等变化量综合影响下的结果。
其中
是单位的高斯白噪声,在上面提到了。如果把随机游走噪声离散化,可以写作:
,
其中
证明如下:
,即
则有
由随机游走的分布可以看出,随机游走都是在上一次的噪声的基础之上叠加了一个高斯噪声,所以下一步永远都是随机
的。
误差模型部分的内容和推导参考Kalibr wiki和郑凡博客。
1.2 IMU尺度因子
其实在这个地方上说IMU的尺度因子不太恰当,应该将其称之为__尺度误差。__这部分的误差来自于传感器的数字
信号向物理量转换的误差,比如说AD向加速度/角速度转换的时候的误差。尺度误差的表达比较简单,
1.3 IMU轴向误差
一般情况下,加速度计的坐标系 AF 和陀螺仪的坐标系 GF 都不是正交的坐标系,但我们正常使用的时候都是默认测
量量是在正交坐标系下的,所以就需要一个变换矩阵将测量量从非正交坐标系 AF\GF 下转到正交坐标系 BF 下,将其称
之为机体坐标系。如图1所示,虚线为定义的参考正交坐标系,实线为实际的旋转坐标系(当然了,角度偏差不会这么大☺)。
此处输入图片的描述
图1 轴偏差示意图
轴向误差一般还伴随着跨轴误差,这两部分一般不加以区分,就放在一起了。所以这部分的误差就是一个变换矩阵,求取
实际的旋转坐标系(AF/GF)到参考坐标系(BF)的转换。为了计算变换矩阵,将三个轴偏角进行进一步的分解,如图2所示。将每
个轴向的偏差角沿着另外两个轴分解即可得到。
此处输入图片的描述
进一步得到变换矩阵
图2 轴偏角分解示意图
E
(
[
k
)
n
d
]
2
=
E
(
n
(
τ
)
n
(
t
)
d
τ
d
t
)
1
Δ
t
2
∫
+
Δ
t
t
0
t
0
∫
+
Δ
t
t
0
t
0
=
δ
(
t
−
τ
)
d
τ
d
t
σ
2
g
Δ
t
2
∫
+
Δ
t
t
0
t
0
∫
+
Δ
t
t
0
t
0
=
σ
2
g
Δ
t
=
σ
2
g
d
σ
2
g
Δ
t
=
σ
g
d
σ
g
Δ
t
√
=
ω
(
t
)
(
t
)
b
g
˙
σ
b
g
(
1
.
6
)
ω
(
t
)
[
k
]
=
[
k
−
1
]
+
ω
[
k
]
b
d
b
d
σ
b
g
d
(
1
.
7
)
ω
[
k
]
∼
(
0
,
1
)
=
σ
b
g
d
σ
b
g
△
t
‾
‾
‾
‾
√
[
k
]
≃
b
(
)
+
n
(
t
)
d
t
b
d
t
0
∫
+
Δ
t
t
0
t
0
E
(
(
[
k
]
−
[
k
−
1
]
)
b
d
b
d
)
2
=
E
(
n
(
t
)
n
(
τ
)
d
t
τ
)
∫
+
Δ
t
t
0
t
0
∫
+
Δ
t
t
0
t
0
=
δ
(
t
−
τ
)
d
t
d
τ
σ
2
b
g
∫
+
Δ
t
t
0
t
0
∫
+
Δ
t
t
0
t
0
=
Δ
t
σ
2
b
g
=
Δ
t
σ
2
b
g
d
σ
2
b
g
=
σ
b
g
d
σ
b
g
Δ
t
‾
‾
‾
√
K
a
K
g
=
⎡
⎣
⎢
⎢
s
a
x
0
0
0
s
a
x
0
0
0
s
a
x
⎤
⎦
⎥
⎥
=
⎡
⎣
⎢
⎢
s
g
x
0
0
0
s
g
x
0
0
0
s
g
x
⎤
⎦
⎥
⎥
(
1
.
8
)
=
T
,
T
=
s
B
s
A
⎡
⎣
⎢
⎢
⎢
1
β
x
z
β
x
y
−
β
y
z
1
β
y
x
β
z
y
−
β
z
x
1
⎤
⎦
⎥
⎥
⎥
(
1
.
9
)
2 IMU校准
IMU在校准过程中,加速度计和陀螺仪是分开校准的,一般是先校准加速度计,然后利用准确的加速度计信息再来校准陀
螺仪。整个校准过程的流程如下图所示,
st=>start: 静止放置IMU T秒
op1=>operation: 旋转IMU使其保持不同的姿态
op2=>operation: 在某种姿态下,至少保持静态t秒
cond=>condition: 是否旋转IMU N次
e=>end: 用下面的算法估计误差参数
st->op1->op2->cond
cond(yes)->e
cond(no)->op1
其中,初始化时间 一般取50s,旋转后保持静态时间 取
越好,至少旋转次数要大于要求解的参数的个数,这样才能避免奇异性。
s,旋转次数 取
图3 IMU校准流程图
2.1 静态检测
次。一般来说,这个旋转次数越多
因为在加速度和陀螺仪的校准过程中,常常需要传感器处于静止状态,所以在校准的过程中也就需要判断传感器是否处于
静止状态。判断依据也很简单,
其中
判断的时候,只需将
表示加速度 在时间段 内的方差。
和 阈值
比较即可,小于则静态,反之动态。一般取 为50s。
2.2 加速度计校准
加速度计的校准过程一般都是将加速度计静止,然后根据测量值的二范数等于当地重力加速度这一规则校准的。一般会用
上一小节提到的静态检测算法在采样序列上挑选出静态的测量片段,然后按照下述内容进行校准。
2.2.1 加速度的常规校准方法
这里的加速度校准是指校准前面小节提到的所有误差,因为不知道怎么这个方法,所以就叫做“常规校准方法”了☺。因为下
一小节要讲六面矫正法。常规方法的校准还是作为了一个优化问题来求解的。
AF的x轴和y轴的平面上。所以变换矩阵可以进一步写为,
在加速度校准的时候,为了进一步将变换矩阵 简单化,我们假设坐标系BF的x轴和坐标系AF的x轴重合,且BF的y轴处于
那么待求解参数(优化参数)变为,
定义状态方程,
因为在采集加速度计读数的时候取得时一个小窗口内的平均值,所以忽略了高斯白噪声。进而有了优化的代价函数。
一般会有多组 组较为明显的、稳定的旋转量来放入代价函数中求解待求解参数,然后选取残差最小的一组所对应的参数即
可。
2.2.2 六面法校准加速度计
建立加速度计的校准模型,
其中
下式做变换得,
表示最终的真实值, 表示测量值,
表示测量中的零偏,
表示旋转,
表示尺度缩放。将
T
t
1
∼
4
N
3
6
∼
5
0
ς
(
)
=
t
w
[
v
a
(
)
+
v
a
(
)
+
v
a
(
)
r
t
w
a
t
x
]
2
r
t
w
a
t
y
]
2
r
t
w
a
t
z
]
2
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
‾
√
(
2
.
1
)
v
a
(
)
r
t
w
a
t
a
t
t
w
ς
(
)
t
w
ς
(
)
T
i
n
i
t
T
i
n
i
t
T
=
T
a
⎡
⎣
⎢
⎢
⎢
1
0
0
−
α
y
z
1
0
α
z
y
−
α
z
x
1
⎤
⎦
⎥
⎥
⎥
(
2
.
2
)
=
[
,
,
,
,
,
,
,
,
]
θ
a
c
c
α
y
z
α
z
y
α
z
x
s
a
x
s
a
y
s
a
z
b
a
x
b
a
y
b
a
z
(
2
.
3
)
=
h
(
,
)
=
(
+
)
a
O
a
S
θ
a
c
c
T
a
K
a
a
S
b
a
(
2
.
4
)
L
(
)
=
(
|
|
g
|
−
|
|
h
(
,
)
|
θ
a
c
c
∑
k
=
1
M
|
2
a
S
k
θ
a
c
c
|
2
)
2
(
2
.
5
)
M
=
=
A
t
⎡
⎣
⎢
⎢
⎢
A
x
A
y
A
Z
⎤
⎦
⎥
⎥
⎥
R
[
3
∗
3
]
⎡
⎣
⎢
⎢
⎢
S
c
a
l
e
x
0
0
0
S
c
a
l
e
y
0
0
0
S
c
a
l
e
z
⎤
⎦
⎥
⎥
⎥
⎡
⎣
⎢
⎢
⎢
−
o
f
f
s
e
A
m
x
t
x
−
o
f
f
s
e
A
m
y
t
y
−
o
f
f
s
e
A
m
z
t
z
⎤
⎦
⎥
⎥
⎥
(
2
.
6
)
A
t
A
m
∗
o
f
f
s
e
y
z
t
x
R
[
3
∗
3
]
S
c
a
l
e
x
再将其变为齐次坐标形式
再将其转置
这时候就可以最小二乘求解上面的方程了。写作
右边的真值。关于真值我们可以把加速度计按三个轴向6个位置放置(
做了校准,这种方法也称为 六面校准法。
,其中
为上面的
轴正面朝下:
矩阵, 是左边的测量值,
是
.....)。这样就对加速度计
2.3 陀螺仪校准
陀螺仪的校准有两个部分:Allan方差校准Bias和优化方式求解尺度因子及轴偏差。在校准陀螺仪的时候,要使用到加速度
的校准信息,所以加速度校准的好坏关系到整个IMU的校准效果。
2.3.1 Allan方差校准陀螺仪Bias
在IMU校准的最开始,要将IMU静止搁置时间
在Allan方差分析中,共有5个噪声参数:量化噪声、角度随机游走、零偏不稳定性、速度随机游走和速度爬升。下面主要
(一般取50s)。Allan方差的求取可以参考文献[3]。
分析Allan方差的计算、图像的绘制以及最终噪声的分析。
1. 计算Allan方差
(1)将陀螺仪静止放置时间 ,单个采样周期为 ,共有 组采样值。
(2)计算单次采样输出角度
和 平均因子 , 要尽量取得均匀。
(3)计算Allan方差,当
取不同的值的时候会有不同的Allan方差值。
其中,
.
(4)一般在绘制Allan方差曲线的时候使用的是Allan方差的平方根,所以将式(2.6)中的计算结果去平方根即可。
2.拟合Allan方差曲线
用最小二乘法对计算出的Allan方差曲线进行拟合,最终绘制出的Allan方差的曲线图应该是如下图所示,
此处输入图片的描述
图4 Allan方差曲线示意图
可以借助 表1 对Allan方差曲线做进一步的分析
表1 Allan标准差与常见的噪声的对应关系
此处输入图片的描述
结合图3和表1可知,不同段的Allan方差曲线代表了不同的误差参数,我们要求解的零偏噪声(Bias)对应的曲线段的斜率就是0。
3.计算各部分噪声参数
在使用Allan方差分析惯性器件的误差的时候,可以认为惯性器件输出数据的随机部分是由特定的噪声源产生的。在保证测
试环境稳定定情况下,可以认为各噪声源是独立的,那么计算出的Allan方差就是各部分误差的平方和,
=
+
⎡
⎣
⎢
⎢
⎢
A
x
A
y
A
Z
⎤
⎦
⎥
⎥
⎥
⎡
⎣
⎢
⎢
C
1
C
4
C
7
C
2
C
5
C
8
C
3
C
6
C
9
⎤
⎦
⎥
⎥
⎡
⎣
⎢
⎢
⎢
A
m
x
A
m
y
A
m
z
⎤
⎦
⎥
⎥
⎥
⎡
⎣
⎢
⎢
⎢
C
o
f
f
x
C
o
f
f
y
C
o
f
f
z
⎤
⎦
⎥
⎥
⎥
(
2
.
7
)
=
⎡
⎣
⎢
⎢
⎢
A
x
A
y
A
z
⎤
⎦
⎥
⎥
⎥
⎡
⎣
⎢
⎢
⎢
C
1
C
4
C
7
C
2
C
5
C
8
C
3
C
6
C
9
C
o
f
f
x
C
o
f
f
y
C
o
f
f
z
⎤
⎦
⎥
⎥
⎥
⎡
⎣
⎢
⎢
⎢
⎢
A
m
x
A
m
y
A
m
z
1
⎤
⎦
⎥
⎥
⎥
⎥
[
]
=
[
]
A
m
x
A
m
x
A
m
x
1
⎡
⎣
⎢
⎢
⎢
⎢
C
1
C
2
C
3
C
o
f
f
x
C
4
C
5
C
6
C
o
f
f
y
C
7
C
8
C
9
C
o
f
f
z
⎤
⎦
⎥
⎥
⎥
⎥
A
x
A
y
A
z
(
2
.
8
)
β
=
(
X
Y
X
T
)
−
1
X
T
β
4
∗
3
X
Y
X
(
)
g
0
0
T
i
n
i
t
T
τ
0
N
θ
m
m
θ
(
n
)
m
=
Ω
(
n
)
d
t
∫
τ
0
=
R
a
n
d
(
1
,
)
N
−
1
2
(
2
.
9
)
m
(
τ
)
=
(
−
2
+
)
θ
2
1
2
(
N
−
2
m
)
τ
2
∑
k
=
1
N
−
2
m
θ
K
+
2
m
θ
K
+
m
θ
K
(
2
.
1
0
)
τ
=
m
τ
0
(
τ
)
σ
2
t
o
t
a
l
=
(
τ
)
+
(
τ
)
+
(
τ
)
+
(
τ
)
+
(
τ
)
σ
2
Q
σ
2
N
σ
2
B
σ
2
K
σ
2
R
=
+
+
l
n
2
+
+
3
Q
2
τ
2
N
2
τ
2
B
2
π
τ
K
2
3
R
2
τ
2
2
(
2
.
1
0
)
将式(2.10)整理可得,
根据第一步中得到的 和 Allan方差值,依据最小二乘法进行拟合,进而得到 的值,最终可以得到相应的误差系数,
以上就是通过Allan方差分析得到陀螺仪Bias的过程,一般要采集好几个小时的数据。如果仅需要,零偏参数,则在初始放置的
50s左右的时间就足够了。
2.3.2 优化方式求解尺度因子及轴偏差
陀螺仪的剩余参数在校准的时候,挑选的是加速度计校准过程中的静态采样片段夹杂的动态片段。刚好可以使用校准过的
静态片段测量值的平均值作为初始的重力向量和旋转完成后的实际重力向量。
在已知陀螺仪的Bias之后,还需要校准的参数有:
其他参数的校准的思路也比较简单,即“陀螺仪任意转动,积分得到的角度和加速度的测量值求得的角度做比较即可”这里把加速
度的测量值当做了参考值,所以前面加速度的校准是非常重要的。具体的校准过程,如下所述。
旋转之后新的重力向量。 ,整个过程描述为,
, 个陀螺仪测量值 ,则可以得到陀螺仪积分得到的旋转矩阵
设由加速度计测量值得到的一个初始的加速度向量
按照上面的描述,进一步得到代价函数,
其中 为旋转结束之后,由加速度的测量值得到的实际的重力向量。
描述如下。
定义四元数的导数(局部干扰得到)
在式(2.14)中会涉及到离散时间的陀螺仪积分问题,这里选择使用四阶龙格库塔法(Runge-Kutta, RK4n)。具体的积分过程
则RK4的具体过程为,
其中
最后要将
上述积分过程的C++代码如下(出自[5]):
归一化。
(
τ
)
=
σ
2
t
o
t
a
l
∑
i
=
−
2
2
C
i
τ
i
(
2
.
1
1
)
τ
C
i
⎧
⎩
⎨
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
Q
=
(
°
)
C
−
2
√
3
6
0
0
3
√
N
=
(
°
)
C
−
1
√
6
0
h
‾
√
B
=
(
°
)
h
C
0
√
0
.
6
6
4
K
=
6
0
[
(
°
)
⋅
]
/
3
C
1
‾
‾
‾
‾
√
h
−
1
h
‾
√
R
=
3
6
0
0
[
(
°
)
⋅
]
/
h
2
C
2
‾
‾
‾
‾
√
h
−
1
(
2
.
1
2
)
=
[
,
,
,
,
,
,
,
,
]
θ
g
y
r
o
γ
y
z
γ
z
y
γ
x
z
γ
z
x
γ
x
y
γ
y
x
s
g
x
s
g
y
s
g
z
(
2
.
1
3
)
u
a
,
k
−
1
n
w
i
u
g
,
k
=
Ψ
[
,
]
u
g
,
k
w
S
i
u
a
,
k
−
1
(
2
.
1
4
)
L
(
)
=
|
|
−
|
θ
g
y
r
o
∑
k
=
2
M
u
a
,
k
u
g
,
k
|
2
(
2
.
1
5
)
u
a
,
k
f
(
q
,
t
)
=
=
Ω
(
w
(
t
)
)
q
q
˙
1
2
=
q
k
+
Δ
t
(
+
2
+
2
+
)
q
k
+
1
1
6
k
1
k
2
k
3
k
4
(
2
.
1
6
a
)
=
f
(
,
+
Δ
t
)
k
i
q
(
i
)
t
k
c
i
(
2
.
1
6
b
)
=
q
(
i
)
q
k
(
2
.
1
6
c
)
=
+
Δ
t
q
(
i
)
q
k
∑
j
=
1
i
−
1
a
i
j
k
j
(
2
.
1
6
d
)
=
0
,
=
,
=
,
=
1
c
1
c
2
1
2
c
3
1
2
c
4
=
,
=
0
,
=
0
,
a
2
1
1
2
a
3
1
a
4
1
=
,
=
0
,
=
1
a
3
2
1
2
a
4
2
a
4
3
q
k
+
1
template inline void imu_tk::quatIntegrationStepRK4(
const Eigen::Matrix< _T, 4, 1> &quat,
const Eigen::Matrix< _T, 3, 1> &omega0,
const Eigen::Matrix< _T, 3, 1> &omega1,
const _T &dt, Eigen::Matrix< _T, 4, 1> &quat_res )
{
Eigen::Matrix< _T, 3, 1> omega01 = _T(0.5)*( omega0 + omega1 );
Eigen::Matrix< _T, 4, 1> k1, k2, k3, k4, tmp_q;
Eigen::Matrix< _T, 4, 4> omega_skew;
// First Runge-Kutta coefficient
computeOmegaSkew( omega0, omega_skew );
k1 = _T(0.5)*omega_skew*quat;
// Second Runge-Kutta coefficient
tmp_q = quat + _T(0.5)*dt*k1;
computeOmegaSkew( omega01, omega_skew );
k2 = _T(0.5)*omega_skew*tmp_q;
// Third Runge-Kutta coefficient (same omega skew as second coeff.)
tmp_q = quat + _T(0.5)*dt*k2;
k3 = _T(0.5)*omega_skew*tmp_q;
// Forth Runge-Kutta coefficient
tmp_q = quat + dt*k3;
computeOmegaSkew( omega1, omega_skew );
k4 = _T(0.5)*omega_skew*tmp_q;
_T mult1 = _T(1.0)/_T(6.0), mult2 = _T(1.0)/_T(3.0);
quat_res = quat + dt*(mult1*k1 + mult2*k2 + mult2*k3 + mult1*k4);
normalizeQuaternion(quat_res);
}
标签: IMU与相机校准
好文要顶
好文要顶 关注我关注我 收藏该文
收藏该文
卜小乂
关注 - 6
粉丝 - 31
+加关注
« 上一篇:VINS-Mono代码分析与总结(一) IMU预积分
» 下一篇:VINS-Mono代码分析与总结(二) 系统初始化
评论列表
#1楼 2017-11-24 10:52 山东猕猴桃
不表示测量值
#2楼 2017-11-25 20:45 逹子
3
0
posted @ 2017-11-12 17:39 卜小乂 阅读(11037) 评论(12) 编辑 收藏
支持(0) 反对(0)
非常感谢您的分享,请问您六面法校准加速度计的参考文献出处是哪里?六面法校准对IMU测6个位置有特殊要求,没有
转台实际中做实验该怎么做呢,是不是不太实用啊?谢谢
#3楼[楼主 ] 2017-11-29 20:14 卜小乂
@ 山东猕猴桃
谢谢,已修改。
#4楼[楼主 ] 2017-11-29 20:17 卜小乂
支持(0) 反对(0)
支持(0) 反对(0)
@ 逹子
开源飞控Pixhawk的加速度计校准就是使用六面法,没找到对应的参考文献。可以参考,https://zhuanlan.zhihu.com/p/24
452753
#5楼 2018-05-25 14:39 声时刻
支持(0) 反对(0)
博主你好,我也写了一篇imu校正的博客,《IMU校正以及姿态融合》https://blog.csdn.net/shenshikexmu/article/details/8
0013444。看到你这篇误差模型写得特别好,我就直接引用了。谢谢。
#6楼 2018-07-17 09:52 wgf13
支持(0) 反对(0)
,
a
S
w
S