基于 Matlab 的捷联惯导算法设计及仿真1doc

基于 Matlab 的捷联惯导算法设计及仿真1

严恭敏 西北工业大学航海学院,西安 (710072) E-mail:yangongmin@163.com

摘要:根据圆锥误差补偿算法和划船误差补偿算法的研究成果,考虑到实际捷联惯导算法 仿真程序编写的方便性,总结了一些与捷联惯导更新算法有关的函数的计算公式。对圆锥误

差补偿算法和捷联惯导算法进行了仿真,仿真结果和理论分析结论吻合。在附录中给出了

Matlab 的 m 文件源程序代码,具有一定的参考价值。 关键词:捷联惯导;四元数;等效旋转矢量;Matlab;算法;仿真 中图分类号:V249.3

1. 引言

在捷联惯导系统中采用数学平台,姿态更新解算是捷联惯导系统算法的核心部分,由于 四元数法算的优良特性,它在工程实际中经常被采用。为了减小姿态计算的不可交换性误差, 前人研究并建立了等效旋转矢量方程,高精度姿态更新解算的研究主要集中在等效旋转矢量 方程的求解上,在圆锥运动环境下,许多研究者提出并完善了圆锥误差补偿算法。基于圆锥 误差补偿算法和划船误差补偿算法的等效原理,可将圆锥误差补偿算法移植到划船误差补偿 算法中去,从而减少了划船误差推导的繁琐过程。上述研究都已经比较成熟[1-6],本文根据 这些研究结果,并考虑到实际仿真程序编写的方便性,总结了一些与捷联惯导算法有关的函 数的计算公式或步骤,其中更详细的推导过程可见参考文献[7,8]。最后,对圆锥误差补偿算 法和捷联惯导算法进行了仿真。附录中给出了Matlab的m文件源程序代码具有一定的参考价 值。

2. 捷联惯导算法

文中选取东-北-天(E-N-U)地理坐标系为导航坐标系,记为 n 系;捷联惯组坐标系记 为 b 系。

2.1 相关函数

(1)四元数的共轭与乘积。四元数 q 可表示为 q = q0 + qv = q0 + q1i + q2 j + q3 k 。用 q

表示 q 的共轭四元数; q = q1q2 表示四元数 q 是四元数 q1 与 q2 的乘积,四元数相乘是不可

交换的。

(2)四元数与向量相乘。一般情况下利用矩阵进行坐标变换,如关系式 v n = C n v b ,

同样利用四元数也可以表示坐标变换。设变换四元数 q n 与变换矩阵 C n 相对应,则定义变换

bb

四元数 q n 和向量 v b 的乘法,记为 v n = q n v b ,它由以下规则实现:首先,将向量扩展成四

bb

元数,令 qb = 0 + v b ;其次,做四元数乘法,令 q n = q n qb q n ? ;最后,从四元数 q n 中提取

bb

向量,有 v n = q n 。

(3)等效旋转矢量与四元数之间的转换。等效旋转矢量 v 转化为四元数 q 的公式为

1 本课题得到水下信息处理与控制国家级重点实验室基金(9140C230206070C2306)资助。

q = Fv→q

(v) = cos( v / 2) + v sin( v / 2)

v

(1)

其中 Fv→q (?) 表示从等效旋转矢量转换到四元数的函数,容易看出有 q

= Fv→q (?v) 成立。

假设 v 是小量,则从 q 中可以求出 v ,首先令 vn 2 = v / 2 = arccos(q0 ) ,再求得

v = Fq→v

(q) =

2 ? vn 2 q

sin(vn 2 )

(2)

其中 Fq→v (?) 表示从四元数转换到等效旋转矢量的函数。

(4)姿态向量 A 与姿态四元数 q n 之间的转换。记由俯仰角θ 、横滚角γ 和航向角ψ 组

成的向量 A = [θ

γψ ]T 为姿态向量,通过姿态矩阵 C n 作为过渡,容易实现 A 与 q n 之间

bb

的转换,此处不作详细分析。

2.2 地球模型

通常给出的地球椭球模型参数为长半轴 Re 和扁率 f ,由椭球几何学容易得到其它参数,

在惯性导航算法中经常用到,它们是偏心率 e =

2 f ? f 2 、短半轴 R

= (1 ? f )Re 、第二

偏心率 ep =

2 + R 2 / R 、子午圈半径 R

= Re (1 ? e

) /(1 ? e2

sin 2

L)3 / 2

、卯酉圈半径

RN = Re

/(1 ? e2 sin 2 L)1/ 2 。另外,重力加速度 g 和地球自转角速率ω 也是惯性导航解算

的必备参数,在 GRS80 椭球模型中,正常重力公式为

g = g

0 (1 + 5.27094 × 10

2

sin 2 L

+ 2.32718 × 10?5

sin

4 L) ? 3.086 × 10

-5

?6

基于matlab的捷联惯导算法设计及仿真,基于 Matlab 的捷联惯导算法设计及仿真1doc.doc...相关推荐

  1. 【优化调度】基于粒子群算法求解梯级水电站调度问题matlab代码

    1 简介 粒子群算法( Particle Swarm Optimization, PSO)最早是由Eberhart和Kennedy于1995年提出,它的基本概念源于对鸟群觅食行为的研究.设想这样一个场 ...

  2. 【MVO TSP】基于matlab灰狼算法求解旅行商问题【含Matlab源码 1327期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[TSP]基于matlab灰狼算法求解旅行商问题[含Matlab源码 1327期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  3. burg算法 matlab,基于burg算法的谱估计研究及其matlab实现.doc

    基于burg算法的谱估计研究及其matlab实现 XX大学学院 毕业设计(论文) 相关资料 题目: 基于 其MATLAB实现 机电 系 电子信息工程 专业学 号: 学生姓名: 指导教师: (职称:讲 ...

  4. 激光雷达与组合惯导联合标定--方案二(matlab)

    目录 原理 matlab代码 对程序的改进 [说明]: 网上关于雷达与惯导联合标定的方法有很多,大多数方法在实际操作起来并不太方便,为了获得矩阵变换关系有的还用到了slam建图.神经网络等方法. 之前 ...

  5. 【FA TSP】基于matlab萤火虫算法求解旅行商问题【含Matlab源码 328期】

    ⛄一.TSP简介 旅行商问题 (Travel Salesman Problem, TSP) 是最基本的路线问题, 其探索单一旅行者由起点出发, 并通过所有给定点后, 再回到起点的最小路径成本问题.求解 ...

  6. rls算法matlab实现,第5章基于RLS算法的数据预测与MATLAB实现MATLAB实现.PDF

    第5章基于RLS算法的数据预测与MATLAB实现MATLAB实现 第 5章 基于 RLS算法的数据预测与 第5章 基于RLS算法的数据预测与MATLAB实现 MATLAB实现 RLS 1795 递归最 ...

  7. 基于改进二进制粒子群算法的配电网重构(matlab实现)

    目录 一.引言 1.问题背景 2.二进制粒子群算法 2.1简介 2.2 S i g m o i d Sigmoid Sigmoid函数 2.3二进制粒子群算法 2.4算法的改进 二.配电网重构模型 1 ...

  8. Matlab 基于遗传算法优化的VMD信号去噪算法 创新点:基于样本熵作为适应度函数

    Matlab 基于遗传算法优化的VMD信号去噪算法 创新点:基于样本熵作为适应度函数 创新点2:基于信噪比作为适应度函数 提高信噪比 本人研究方向信号处理特征提取与故障诊断算法 ID:34506686 ...

  9. aoa定位算法matlab仿真,基于信号到达角度(AOA)的定位算法研究

    内容摘要:基于信号到达角度(AOA)的定位算法是一种常见的无线传感器网络节点自定位算法,算法通信开销低,定位精度较高.由于各种原因,估测的多个节点位置可能存在不可靠位置,提出了一种改进的基于信号到达角 ...

最新文章

  1. Makefile的语法
  2. 03-JDBC连接MySQL数据库【插入数据】
  3. Eclipse用法:自动生成get和set方法
  4. hdu 5586(最大连续子序列和)
  5. 【opencv】实时人脸+眼睛+微笑检测
  6. Docker 的出现
  7. linux下编译C++程序无法链接Mysql的问题
  8. 《树莓派实战秘籍》——1.20 技巧20使用Swap添加额外的内存
  9. 嵌入式 Linux 4.0,嵌入式多媒体中心 OpenELEC 4.0.4
  10. cass中的地形图打印细节
  11. Unity手游性能优化的经验总结
  12. 微信小程序语音播放功能的实现
  13. 庐陵文化(作者:王剑冰,河南省作协副主席)
  14. jav中什么是组织java程序_Javs ^运算符在Java中做什么?
  15. 世界正游弋于开源之海,但只有 Red Hat 从中盈利
  16. C#编写的串口调试软件,下位机传过来的中文全是问号???
  17. 中国全屋智能行业市场前瞻与投资战略规划分析报告
  18. openfoam后处理求全床平均孔隙率
  19. 中秋福利PK!2017公司月饼哪家强?腾讯、阿里、百度、京东、网易等21家中秋月饼盘点!(完整版)
  20. 读《Analyzing Unaligned Multimodal Sequence via Graph Convolution and Graph Pooling Fusion》

热门文章

  1. JMSTemplate发送消息
  2. linux 文件 跳板机_shell实现跳板机
  3. lottie插件_RN常用插件集
  4. 为什么 MySQL的常用引擎都默认使用 B+ 树作为索引?
  5. 2020 年 4 月全国程序员工资新鲜出炉,我拖后腿了!
  6. 动态规划--连续子序列的最大和
  7. Android中的Fragment使用
  8. RabbitMQ(四)交换机exchange
  9. 在SpringBoot中使用redis实现分布式锁
  10. django安装mysql驱动_django安装mysql驱动