文号
t33894
阅读
57167
回复
43
收藏
43
[科创航天]惯性导航原理与仿真
2011/05/28
IP:北京
通俗一点描述惯导:
火箭上装有   加速度计   和   角速率陀螺仪,先测出火箭方位(倾角)。
再把 加速度 折合成地面观察到的数值,积分后得速度和位移。

[新增]有奖问答(1000kcb):
转动四元数r按原公式(倒数第三幅图)计算,出了什么问题?
提示:化简公式r = [1 thetax/2 thetay/2 thetaz/2 ] 没有这个问题。


现在,我们来讲讲具体实现:

坐标系定义
defines.png

信号流
signals.png
关键就在T(t,b)这个矩阵,它可以把火箭上的加速度转换成地面观测到的加速度。
借助四元数这个桥梁,可以大大简化计算。

qua2dcm.jpg
注意加速度变换的方法,一个矩阵乘法搞定。

上面的四元数Q怎么得到的呢?看这里
quaupdate.png
   quaupdate2.png

四元数需要规范化处理,以保证方向余弦矩阵是一个正交矩阵
可以理解为保持数学平台(也就是方向余弦矩阵)3轴是垂直的,
平台惯导通过准确的加工安装来保证正交性
quanorm.png

到此已经解决了忽略地球自转的情况下,解算运动参数的问题。
还有3个主要问题:
1.如何得到姿态角?
2.如何确定四元数初始值?(也就是确定火箭初始方位)
3.考虑地球自转
精彩待续

附演示代码:
attachment icon matlab.rar 382.61KB RAR 132次下载
先导入数据文件(mat格式,双击导入),再运行instest.m instest.jpg
+1000
科创币
科创网
2011/05/28
四元数的值是怎么来的?
+1000
科创币
ehco
2011/05/28
虽然看不懂,但知道很有用。
+1000
科创币
wldshy
2011/05/29
纯支持
warmonkey作者
15年7个月前IP:未同步
297009
6楼
采用四元数法进行解算,是有一定道理的
欧拉角(三参数)法不考虑

四参数法与九参数法精度比较:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
效率比较:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

PS:我没有验证过上述文章的观点,今天早上刚看九参数法,中午写个程序试试
引用
评论
warmonkey作者
15年7个月前IP:未同步
297055
9楼
关于四元数的值是如何获得的:

1.这里没有做初始对准,假设一开始载体坐标系和导航坐标系是重合的,也就是尾翼I指东,II指北,火箭头指向天顶。
这时候Q = [1 0 0 0];(实部1 虚步0) T = [1 0 0;0 1 0;0 0 1];(就是单位矩阵)。于是我们有了Q的初始值。
下一步打算用GPS结合加速度计、磁阻传感器数据来确定Q的初始值,MEMS陀螺要做初始对准还是比较难的。
2.有了初始值之后,根据更新公式,不断用角速度值来更新Q的数值。

找到一篇支持93观点的文章:

attachment icon 捷联惯性导航制导系统中方向余弦矩阵的递推算法.pdf 1.11MB PDF 918次下载 预览
其实更新DCM比四元数法推导还要简单,但DCM的正交化较为麻烦。

附上姿态矩阵法代码,此处只有DCM更新部分,把楼主位代码的四元数运算部分换掉即可:
引用
评论
warmonkey作者
15年7个月前IP:未同步
297195
10楼
更新DCM矩阵的快速算法

as = 1 - nt2/6 + nt2^2/120 - nt2^3/5040 + .....
nt2是theta的模的平方,分子按照-nt2,nt2^2,-nt2^3,nt2^4...变化,分母按照3!,5!,7!....变化
ac = 1/2 - nt2/24 +nt2^2/720 -nt2^3/40320 + .....
不同的是分母按照4!,6!,8!.....变化

似乎此方法对截断误差更加敏感,as、ac只取前两项时,精度很差。
而四元数法在只取前一项(r = [1 thetax/2 thetay/2 thetaz/2 ])时,精度已经能满足要求。
以上只是定性分析,稍后进行更详细的比较。
引用
评论
warmonkey作者
15年7个月前IP:未同步
299113
12楼
现在这个就是无陀螺系统,单轴MEMS陀螺里就是一对加速度计。

引入GPS和红外地平仪,就可以实时修正误差了。还可以对器件进行实时校准
引用
评论
warmonkey作者
15年7个月前IP:未同步
300677
15楼
我有带TVC的水箭一套
引用
评论(2)
warmonkey作者
15年6个月前IP:未同步
304789
17楼
喷嘴摆动TVC
引用
评论
warmonkey作者
15年2个月前IP:未同步
334890
27楼
回复24楼,26楼:

这个程序不错,该有的东西都有了,三子样精度要好些。
现在我是用加表测倾角,地磁测方向,GPS差分测位置,完成初始对准过程。

目前正在做进一步的研究,打算增加更多姿态参考数据源
引用
评论
warmonkey作者
14年7个月前IP:未同步
405995
28楼
回 24楼(fkepdcjgd) 的帖子
角速度叉乘写错了
引用
评论
warmonkey作者
14年7个月前IP:未同步
405997
29楼
关于算法精度选择的补充
江南航天集团302所某人的文章《捷联式惯性导航积分算法设计》中提到,把算法误差控制在传感器误差的5%以下即可。
我们把标准抬高到1%,MEMS陀螺噪声最少也有1E-4deg/s,零漂5deg/h,量程一般少于500deg/s,故算法精度达到1E-7已经足够了
按照这个标准,改进的三子样算法足以对付。
引用
评论
warmonkey作者
13年10个月前IP:未同步
505865
30楼
DCM方法难以实现3子样解算,因为难以用rung kutta得到更新公式,计算量巨大,也不能直接EKF
引用
评论
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的