等效旋转矢量及Bortz方程

由于姿态阵和四元数的方法都有不可交换误差的问题,不可回避,所以现代高精度算法都使用等效旋转矢量来表达。

还记上次那个 角速率和等效旋转矢量的关系式吧? 为了书写整洁,改写如下:

等效旋转矢量微分方程-推导Bortz方程的基础

这个方程,经过很复杂的推导变换可以得出著名的Bortz方程

重点 Bortz方程

Bortz方程,也叫做等效旋转矢量微分方程

Bortz方程的近似数值解

Bortz在理论上严格成立,但是实际应用比较纠结,当等效转动角度

为小量时,将方程右边的cot用泰勒级数展开,可以做如下近似:
Bortz方程二阶近似

还可以更变态一点:一阶近似:

Bortz方程一阶近似

等效旋转矢量微分方程的泰勒级数解

等效旋转矢量与四元数配合的姿态更新公式:

与之前的四元数角增量递推公式相比。两者虽然在形式上完全一样,但本质含义上存在重要区别:前者仅简单地使用角增量进行变化四元数计算,理论上只能适用于定轴转动情形;而后者在求解等效旋转矢量过程中考虑了转动不可交换误差的补偿,非定轴转动情况下算法精度更高。下面我们就求这个等效旋转矢量:

我们的目的是用角增量(陀螺能采集到的值)来代表等效旋转矢量:就可以得到大名鼎鼎的二子样算法:

二子样算法,光纤陀螺用这个
三子样算法,根本没必要

如果直接把等效旋转矢量当成角增量,就是单子样

单子样,MEMS用单子样就可以了

圆锥运动

19世纪50年代是机械陀螺仪飞速发展的一个重要时期,也正是在那时发现了著名的圆锥运动现象,即当陀螺仪在其旋转轴和输出轴出现同频不同相的角振动时,尽管其测量输入轴净指向不变(从整体上看没有随时间改变的趋势项),但陀螺仪在输入轴上还是会敏感到并输出常值角速率信号。在这种环境下,陀螺仪承受的运动角速度可表示如下:

圆锥运动数学描述
圆锥运动直观表示

圆锥补偿算法

这里直接给出圆锥补偿算法的补偿系数,其中一阶和二阶 是和之前的等效旋转矢量微分方程的泰勒级数解式一样的:

圆锥运动等效旋转矢量补偿系数

以四子样算法为例:

四子样算法的等效旋转矢量圆锥补偿算法公式

圆锥补偿算法和等效旋转矢量微分方程的泰勒级数解的优缺点对比

对比本节圆锥误差补偿多子样算法与2.5节基于泰勒级数展开的多子样算法,理论上,前者比后者更适合应用于圆锥运动环境,而后者比前者更适合应用于多项式角运动环境。对于实际系统,在角运动过程中,通常认为剧烈的多项式角运动只会短暂出现,而更容易激发的是较长时间的周期性振动,它可近似为圆锥运动,因此实际中一般优先考虑采用基于圆锥误差补偿的多子样算法。因此,相对于2.5节而言,本节在圆锥运动假设条件下获得的圆锥误差补偿算法也常常称为多子样优化算法。

高精度矢量汉字的一种填充方法_惯导解算数学基础4(等效旋转矢量解,圆锥补偿解)...相关推荐

  1. 高精度矢量汉字的一种填充方法_使用PS中的钢笔工具制作一只蝴蝶矢量插画

    使用PS中的钢笔工具制作一只蝴蝶矢量插画 矢量插画用途广泛,很漂亮.但是对于很多艺术家来说,创建起来太数字化而且不直观. 然而,Photoshop 的最新版本CC就解决了你在使用钢笔工具添加新变量碰到 ...

  2. 惯性导航算法(五)-等效旋转矢量+双子样算法

    文章目录 等效旋转矢量 转动的不可交换性 转动的不可交换性与惯性导航有何关系? 等效旋转矢量 等效旋转矢量多子样算法的理论基础 等效旋转矢量微分方程 等效旋转矢量微分方程的工程近似 等效旋转矢量的双子 ...

  3. 方向余弦阵、四元数、等效旋转矢量的关系和不可交换误差的分析

    四元数.等效旋转矢量意义及其原理 四元数:因为旋转轴的位置(定轴或不定轴).旋转角度是四个数,故而矩阵的变换可以由四个数表示,即四元数的表达矩阵旋转形式 等效旋转矢量:矩阵沿着旋转轴u(定轴或不定轴) ...

  4. 捷联惯导系统学习2.5(等效旋转矢量微分方程的泰勒级数解)

    在高精度的捷联惯导系统中,陀螺仪姿态的解算往往是通过采集一定时间内的角增量信息, 计算角增量信息计算出等效旋转矢量,在通过等效旋转矢量递推余弦阵或者四元数,完成姿态更新. 等效旋转矢量微分方程的泰勒级 ...

  5. 捷联惯导系统学习2.2(等效旋转矢量)

    二 等效旋转矢量: 1 一些重要的三维矢量运算关系(证明请自己找) $ u为单位矢量 ;u'是u的一阶导数$ (1):V1×(V2×V3)=(V1∗V3)V2−(V1∗V2)V3(1):V_1\tim ...

  6. 捷联惯导系统学习2.5(等效旋转矢量微分方程)

    已知三维旋转矢量关系如下:(证明略) 参数说明: ViV_iVi​表示三维空间矢量 v=∣V∣=VVTv=|V|=\sqrt{VV^T}v=∣V∣=VVT​表示矢量模值 uuu为与V同方向的单位矢量即 ...

  7. C语言实现等效旋转矢量与三维矢量相乘

    等效旋转矢量与三维矢量相乘 等效旋转矢量 源码 等效旋转矢量 力学中刚体的有限次转动是不可交换的.转动的不可交换性决定了转动不是矢量,即两次以上的不同轴转动不能相加.对一个空间方向随时间变化的角速度矢 ...

  8. 捷联惯导算法与组合导航原理学习——等效旋转矢量和姿态阵转换(一)

    等效旋转矢量和姿态阵转换 学习资料参考: [1] 严恭敏,翁浚. 捷联惯导算法与组合导航原理[M]. 西安: 西北工业大学出版社, 2019.8. EquRotationVec.h #pragma o ...

  9. C语言实现等效旋转矢量转方向余弦矩阵和姿态四元数

    等效旋转矢量转方向余弦矩阵和姿态四元数 旋转矢量 方向余弦矩阵 姿态四元数 源码 旋转矢量 力学中刚体的有限次转动是不可交换的.转动的不可交换性决定了转动不是矢量,即两次以上的不同轴转动不能相加.对一 ...

最新文章

  1. jsp自定自定义标签
  2. malloc,calloc,realloc,free函数
  3. ie传递给系统调用的数据区域太小_【Linux系列】系统调用
  4. mule和activemq_Mule ESB,ActiveMQ和DLQ
  5. ms sql 触发器( 转)
  6. redhat 6.4 mysql_redhat6.4 安装 MySQL 5.6.27
  7. celery4+django2定时任务
  8. 在Linux中实现https访问站点
  9. android适配规则(一)
  10. SuperSocketClientEngine
  11. js读取txt文件中的内容
  12. 计算机质量检测技术,计算机技术在建材质量检测中的应用分析
  13. excel2019批量删除空白行的方法
  14. Oracle细节,plsql语法大全
  15. 按国家归类的海淘网站大全
  16. 你一定没见过的windows操作系统——windows93
  17. 简明python教程五----数据结构(下)
  18. java 查看类_JAVA基础知识之JVM-——通过反射查看类信息
  19. 怎么用U盘制作原版系统启动盘
  20. 清除node_modules 缓存

热门文章

  1. Unity3D开发基础组件提取总结
  2. LB-createLB整理架构图-loadbalancer-openstack F版
  3. Programming Computer Vision with Python (学习笔记十二) 1
  4. BGP策略路由的实现
  5. 参数pyinstaller_Python用PyInstaller打包笔记
  6. 信息学奥赛一本通 1310:【例2.2】车厢重组
  7. 信息学奥赛一本通 1079:计算分数加减表达式的值 | OpenJudge NOI 1.5 33
  8. 信息奥赛一本通(1839:【05NOIP提高组】谁拿了最多奖学金)
  9. 2019 年“浪潮杯”第十届山东省 ACM 省赛总结
  10. 17 SD配置-企业结构-分配-分配允许的信用控制范围给公司码