文章目录

  • 坐标系定义
  • 飞行轨迹设计
    • 1. 飞行轨迹类型
    • 2. 相关代码
      • (1) test_SINS_trj.m
      • (2) trjsegement.m
      • (3) trjsimu.m
  • 疑问与思考

本篇博客主要是对严恭敏老师PSINS工具箱中的轨迹仿真模块的一些阅读、理解和思考,同时也包含了一些疑问。运动轨迹仿真模块主要是输出载体的位置、姿态、速度,以及仿真生成惯性传感器信息的模块。一般做导航算法仿真验证的时候,都需要利用该模块生成传感器信息,验证算法的正确性和有效性。

坐标系定义

在PSINS中部分定义如下:

  • 载体坐标系(b): 右前上(RFU)
  • 地理坐标系(导航系n):东北天(ENU)
  • 姿态/欧拉角向量: att=[俯仰pitch;横滚roll;方位yaw],俯仰角范围-pi2 ~ pi/2,机头朝上为正;横滚范围-pi ~ pi,右倾为正;方位角范围-pi ~ pi,注意北偏西为正

飞行轨迹设计

1. 飞行轨迹类型

参考严恭敏老师《捷联惯导算法与组合导航原理》的第8章或者readme.doc的第10.8节可知,PSINS轨迹仿真中包含的运动类型有:

2. 相关代码

在demo/test_SINS_trj.m是一个轨迹仿真的例子。

(1) test_SINS_trj.m

  • 在该文件中调用trjsegement函数对航迹进行了分段仿真
  • 调用trjsimu函数生成姿态、速度、位置以及惯性器件信息

(2) trjsegement.m

该文件根据输出的航迹类型,持续时间,前向加速度,姿态变化率生成seg.wat。其中seg.wat中包含持续时间、机头前向速度、姿态变化率以及“t frame”中的加速度。

对于向心加速度这部分的计算,以及后面推算导航系下的加速度,我不太确定PSINS这部分计算的正确性,而且我感觉不引入t frame对我来说更容易理解,具体会在后面的思考中解释。

手册中对t frame相关的描述如下:

相关代码如下:

(3) trjsimu.m

手册中包含了计算惯性器件信息(陀螺仪输出、加速度计输出)的公式,对照公式看代码会比较容易理解。

手册中的相关描述:

相关代码:



疑问与思考

我主要不太明白的地方有两个:

  1. damping是在做什么?
  2. 计算导航系加速度an = Cnt*at (注释第7条)的方法是否正确?

-------------2022.11.08更新-----------------------
对于疑问1,最近对damping有一些理解,所以进行了疑问1的更新。
考虑一种情况:

  • t-1时刻加速:wat1中 w(t-1)=0, a(t-1)=1m/s^2, v(t-1)=0
  • t时刻减速:wat1中 w(t)=0, a(t)=-1m/s^2, v(t)=1*dt m/s;
  • t+1时刻匀速:wat1中 w(t+1)=0, a(t+1)=0, v(t+1)=0;

按照代码51-59行的计算方式,t+1时刻,如果damping=0,那么当前时刻等上一时刻的速度vn1=vn=1*dt m/s, an=0。但是显然实际上t+1时刻我们希望的是速度为0,没有damping继续减速就做不到让速度为0。damping实质是在匀速段,在上一时刻的速度基础上,让它逐步加速或者减速到我们期望的匀速速度。

---------------原内容-------------------------
对于疑问2,我认为比较正确的方法是:

  • 首先计算欧拉旋转矩阵,然后计算Wnbb — 机体相对导航系的角速率在机体系下的投影
  • 叉乘计算向心力,并计算地理系加速度acceN (acceB只有机头方向有加速度,其他两个方向为0)

由于b系和t系y轴重合(机头前向),而且对于机体而言,只有前向有速度,因此PSINS中的算法则相当于:

用matlab计算试了试,在姿态角都不为0,且机体有速度,并且航向变化率不为0的情况下,这两种方法给出的结果是不太一致的。我没有做详细的公式推导,但是从计算结果来看,两种计算方法应该是不等价的。

关于PSINS运动轨迹仿真模块的理解和思考相关推荐

  1. python光学仿真模块_光学现象的Python实现(Understanding optics with Python)

    来自:知乎 本文转载自:https://zhuanlan.zhihu.com/p/104457445 "You will see light in the darkness.You will ...

  2. matlab自适应逆控制,基于matlab仿真模块的自适应有源噪声逆控制研究

    ATE 农业技术与装备 X2 c(q-1) p(q-1) u2 C( x) p(q-1) LMS M(q-1) p(q-1) w( q-1) w( q-1) ! ! e2 d2 + - - + p(q ...

  3. 用matlab仿真pwm整流器的方法,MATLAB-PWM整流仿真模块建立详解.pdf

    MATLAB-PWM整流仿真模块建立详解 Page System Name 1 psb3levelVSC 2 psb3levelVSC/DC Regulator 3 psb3levelVSC/DC R ...

  4. 无碳小车 matlab,基于无碳小车前轮运动关系的MATLAB运动轨迹仿真.doc

    基于无碳小车前轮运动关系的MATLAB运动轨迹仿真 基于无碳小车前轮运动关系的MATLAB运动轨迹仿真 clear all;clc; R=50; r=15; L=150; k=1/5; e=12.5; ...

  5. 关于Autosar中的NM模块的理解

    关于Autosar中的NM模块的理解 本篇文章主要介绍AutoSar中关于NM模块的理解. 阅读本篇文章希望达到的目的: 1. NM(网络管理)是用来做什么的: 2. AutoSar中网络管理的原理: ...

  6. matlab电气仿真模块b25,基于Matlab的由双馈风力发电机组成的风电场仿真

    基于Matlab的双馈异步风力发电机风电场仿真 这里仿真的对象是一个由6台1.5Mw双馈异步风力发电机组组成的9MW的风电场.这个风电场连接着一个25kV的分布式发电系统,它的电能通过35km长,电压 ...

  7. 无碳小车 matlab,基于无碳小车前轮运动关系的MATLAB运动轨迹仿真

    <基于无碳小车前轮运动关系的MATLAB运动轨迹仿真>由会员分享,可在线阅读,更多相关<基于无碳小车前轮运动关系的MATLAB运动轨迹仿真(4页珍藏版)>请在人人文库网上搜索. ...

  8. matlab spwm变频调速开环系统电路仿真图,SPWM变频调速系统的原理及仿真模块的建立...

    内容介绍 原文档由会员 一龙 发布 SPWM变频调速系统的原理及仿真模块的建立 页数 49 字数 19531 摘 要 本文主要讲述了SPWM变频调速系统的原理及仿真模块的建立.其内容包括:SPWM变频 ...

  9. YDOOK:ANSYS 怎样仿真电磁场,电磁场仿真模块功能的使用

    使用ANSYS 怎样仿真电磁场,ANSYS电磁场仿真模块功能的使用 电磁场分析功能 1. ANSYSY 利用其中的 ANSYS/Emag 或者 ANSYS/Multiphysics 模块中的电磁场分析 ...

最新文章

  1. 看屁股,你是一头大象吧
  2. alright alright alright
  3. php中购物车功能,php如何实现购物车功能
  4. Spring Boot使用自定义的properties
  5. es 在数据量数亿级别提高查询效率?
  6. JMETER 不同线程组 变量值 的参数传递(转)
  7. STS代码式预付费用电管理系统
  8. 三星内存编码_想问一下三星内存条的型号有什么区别
  9. 计算机应用发展史的第四代,1.1.1 计算机的概念及其发展史
  10. 2.1.1 操作系统之进程的定义、特征、组成、组织
  11. 小白转行学IT入职BAT应该怎么做
  12. Dragonfly单机部署比redis快25倍的缓存中间件
  13. 四足机器人|机器狗|仿生机器人|多足机器人|PPT|汇报|科研汇报PPT|技术汇报
  14. select * from a,b用法
  15. 手机照片删了怎么恢复
  16. 清除dns缓存cmd命令行方式
  17. 2022CCPC广州 L. Station of Fate gym104053L
  18. java 随机16位随机数字_随机生成防猜不重复的16位纯数字序列号【快速且高性能】...
  19. 读书笔记《底层逻辑2·理解商业世界的本质》
  20. java Field类

热门文章

  1. 匿名科创--ANO_OPENMV视觉开发板介绍
  2. (*^__^*) 感恩相伴,祝福相随 (*^__^*)
  3. Synchronized详细介绍之锁升级过程
  4. html元素在模块中心显示,DW怎么设置DIV模块在页面中居中 DW如何设置网页打开绝对居中?...
  5. 通过读取csv/xml数据并且结合使用allure展示测试报告,验证开发中的add()和reduct()操作(在@allure.story分别实现相加减)
  6. sqlserver 默认日期格式转换为 yyyy-MM-dd
  7. STM32实战(1):搭建模板工程
  8. SlidesJS基本使用方法
  9. 身份验证中的allow users=\?\ /中的?和*各是什么意思?
  10. Go语言并发安全与锁