PSINS工具箱函数介绍——insinit

news2025/1/16 3:03:17

在这里插入图片描述

insinit是初始化INS系统的函数

函数需要用到PSINS工具箱,关于工具箱的一些入门知识,参考这篇文章,是关于工具箱的讲解:

  • PSINS初学指导:https://blog.csdn.net/callmeup/article/details/137087932

函数使用方法

正常的使用方法如下:

ins = insinit(avpadderr(trj.avp0,davp0), ts);

其中,avpadderr用于生成初始的avp误差。ts是采样间隔。
作为例程,“avpadderr(trj.avp0,davp0)”的内容为:在这里插入图片描述
是一个9维的列向量,分别是姿态角(3维)、速度(三维)、位置(三维,纬度经度高度)的初始误差。
函数生成的ins是一个结构体,如下:
在这里插入图片描述
包含几乎所有的关于惯导系统的参数,其中:

  1. ts是采样间隔
  2. qnb是四元数
  3. vn是三轴速度
  4. pos是三轴位置
  5. att是三轴姿态角
  6. vn0/pos0/att0分别是上面三个值对应的初始值
    等等

源代码

代码不算很长,如下:

function ins = insinit(avp0, ts, var1, var2)
global glv
    avp0 = avp0(:);
    if length(avp0)==1, avp0=zeros(9,1); end  % ins = insinit(0, ts);
    if length(avp0)==4, avp0=[0;0;avp0(1); 0;0;0; avp0(2:4)]; end  % ins = insinit([yaw;pos], ts);
    if length(avp0)==6, avp0=[avp0(1:3); 0;0;0; avp0(4:6)]; end  % ins = insinit([att;pos], ts);
    if length(avp0)==7, avp0=[0;0;avp0]; end  % ins = insinit([yaw;vn;pos], ts);
    if nargin==2      % ins = insinit(avp0, ts);
        [qnb0, vn0, pos0] = setvals(a2qua(avp0(1:3)), avp0(4:6), avp0(7:9));
    elseif nargin==3  % ins = insinit(avp0, ts, avperr);
        avperr = var1;
        avp0 = avpadderr(avp0, avperr);
        [qnb0, vn0, pos0] = setvals(a2qua(avp0(1:3)), avp0(4:6), avp0(7:9));
	elseif nargin==4  % ins = insinit(qnb0, vn0, pos0, ts);
        [qnb0, vn0, pos0, ts] = setvals(avp0, ts, var1, var2);
    end        
	ins = [];
	ins.ts = ts; ins.nts = 2*ts;
    [ins.qnb, ins.vn, ins.pos] = setvals(qnb0, vn0, pos0); ins.vn0 = vn0; ins.pos0 = pos0;
	[ins.qnb, ins.att, ins.Cnb] = attsyn(ins.qnb);  ins.Cnb0 = ins.Cnb;
    ins.avp  = [ins.att; ins.vn; ins.pos];
    ins.eth = ethinit(ins.pos, ins.vn);
	% 'wib,web,fn,an,Mpv,MpvCnb,Mpvvn,CW' may be very useful outside SINS,
    % so we calucate and save them.
    ins.wib = ins.Cnb'*ins.eth.wnin;
    ins.fn = -ins.eth.gn;  ins.fb = ins.Cnb'*ins.fn;
	[ins.wnb, ins.web, ins.an] = setvals(zeros(3,1));
	ins.Mpv = [0, 1/ins.eth.RMh, 0; 1/ins.eth.clRNh, 0, 0; 0, 0, 1];
    ins.MpvCnb = ins.Mpv*ins.Cnb;  ins.Mpvvn = ins.Mpv*ins.vn; 
	[ins.Kg, ins.Ka] = setvals(eye(3)); % calibration parameters
    [ins.eb, ins.db] = setvals(zeros(3,1));
    [ins.tauG, ins.tauA] = setvals(inf(3,1)); % gyro & acc correlation time
    ins.lever = zeros(3,1); ins = inslever(ins); % lever arm
	ins.tDelay = 0; % time delay
    ins.openloop = 0;
    glv.wm_1 = zeros(3,1)';  glv.vm_1 = zeros(3,1)';  % for 'single sample+previous sample' coning algorithm
    ins.an0 = zeros(3,1);  ins.anbar = ins.an0;

代码解析

其中,eth也是一个结构体,使用函数 i n s . e t h = e t h i n i t ( i n s . p o s , i n s . v n ) ; ins.eth = ethinit(ins.pos, ins.vn); ins.eth=ethinit(ins.pos,ins.vn);生成,存放关于地球有关的函数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1968201.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vulhub:Apache解析漏洞apache_parsing

在Apache1.x/2.x中Apache 解析文件的规则是从右到左开始判断解析,如果后缀名为不可识别文件解析,就再往左判断。如 1.php.xxxxx 漏洞原理 Apache HTTPD 支持一个文件拥有多个后缀,并为不同后缀执行不同的指令。比如如下配置文件 AddType te…

蓝牙网关北京厂家_蓝牙网关型号价格介绍

蓝牙网关北京厂家介绍:北京桂花网科技有限公司成立于2015年,开发了远距离蓝牙网关,重新定义了蓝牙,拓展了蓝牙的应用范围,在2016年1月的拉斯维加斯世界消费电子CES展会上一举夺得Best of CES创新大奖。随后&#xff0c…

操作系统_内存管理学习心得

1. 操作系统结构 1.1 内核 计算机是由各种外部硬件设备组成的,比如内存、cpu、 硬盘等,如果每个应用都要和这些硬件设备对接通信协议,那这样太累了,所以这个中间人就由内核来负责,让内核作为应用连接硬件设备的桥梁,应用程序只需关心与内核交写&#x…

day19Tomcat

1. Tomcat启动服务 1. 使用命令: /usr/local/tomcat/bin/startup.sh 启动Tomcat服务。 2. 使用命令: netstat -lnput|grep java 查看端口状态,可以看到8080和8005两个端口。 3. 使用命令: /usr/local/tomcat/bin/shutdown.sh 停止…

用18讲必看:宇哥亲划重点内容+核心题总结

25考研结束之后,张宇老师的风评可能会两极分化 其中一波把张宇老师奉为考研数学之神,吹捧「三向解题法」天下无敌。 另外一波对张宇老师的评价负面,在网上黑张宇老师! 为什么会这么说,因为张宇老师的新版36讲争议太…

【八股文】并发编程相关考点

1.线程和进程和协程的区别 进程是操作系统中资源分配和调度的基本单位,是程序的一次执行过程,因此是动态的,即一个进程从创建到运行再到消亡。每个进程都有独立的内存空间,一位置一个进程的变量修改不会影响到其他经常。进程之间的…

大数据HBase图文简介

往期推荐 数据仓库及数仓架构概述-CSDN博客 数仓常见名词解析和名词之间的关系-CSDN博客 引言 要想明白为什么产生 HBase,就需要先了解一下 Hadoop 存在的限制:Hadoop 可以通过 HDFS 来存 储结构化、半结构甚至非结构化的数据,是传统数据库的…

LeetCode 965.单值二叉树 C写法

LeetCode 965.单值二叉树 C写法 思路🧐: 用前序遍历的方式,如果左结点或右结点不为空且值不相等就直接返回false,如果走完一颗子树,结点为空了就返回true到上一层递归,直到左右子树全部走完,全为…

深入理解PreparedStatement

预处理 Overridepublic boolean login(String username, String userpwd) {Connection con DBUtils.getConnection();try {if(con ! null){PreparedStatement pstmt con.prepareStatement("select username,userpwd from " " users where username? and us…

【靶场实操】sql-labs通关详解----第一节:基础注入方式(Less-1~Less-10)

目录 一、注入方式简要概括 1.1 SQL常见注入方式 1.2 爆破函数 二、靶场实操 2.1 Less-1 2.1.1 判断类型 2.1.2 联合注入查询 2.2 Less-2 2.2.1 判断类型 2.2.2 注入攻击 2.2.3 字符型与数字型漏洞对比 2.3 Less-3 2.3.1 判断 2.3.2 注入 2.4 Less-4 2.4.1 判断…

论文阅读-《Cross-Sentence N-ary Relation Extraction with Graph LSTMs》

这篇论文提出了一种基于图LSTM的跨句子n元关系提取框架,具有很好的创新性。图LSTM能够有效地处理长距离依赖和跨句信息,并且能够方便地整合丰富的语言分析。此外,论文还探索了多任务学习,将n元关系与其子关系进行联合学习&#xf…

WebFlux集成MongoDB

目录 前言 1.简单集成MongoDB 2. yml配置 3.创建用户实体类 4.创建用户CRUD数据访问接口类 5.Controller层 6.postman测试访问 7.代码附在本博文绑定资源 前言 MongoDB广泛应用于非关系型数据库的存储,其主要存储的数据类型有字符串,整数、浮点数…

NAS 软件大盘点:瞧瞧哪个被你遗漏了

很多人都听说过NAS,也有很多人正在使用NAS,而NAS用户通常需要安装一些软件来扩展其功能,毕竟NAS的功能实在是太多了,光是部署与调试就要耗费大量的时间, 小宝集合了NAS相关实用工具,无论是群晖、威联通还是…

3、从0搭建企业门户网站——JDK下载、安装与环境变量配置

目录 ​编辑 正文 1、JDK下载 2、JDK安装 2.1 建立存放目录 2.2 上传文件 2.3 解压 3、JDK环境变量配置 4、检查JDK版本 正文 在CentOs7.5上,安装JDK是必要的,因为我们的网站软件是Java语言开发。下面我们以安装JDK 17为例,介绍整个JDK安装过程。 1、JDK下载 JDK…

Vitis通过TCF远程调试ZYNQ Linux

昨天已经在矿渣板上把petalinux跑起来了,今天准备尝试一下vitis通过TCF远程调试ZYNQ Linux代码,官方和第三方的各种教程满天飞,但还是有几个坑的,教程没说清楚。 1.打开vitis,用vivado导出的xsa文件新建一个platform工…

ChinaJoy 2024,VERYCLOUD睿鸿股份与你相聚

🎮2024 ChinaJoy于26日正式开幕 🕗7月26-28日 🌐VERYCLOUD睿鸿股份在BTOB商务洽谈馆 🌟W4-B785展位 🎇展台交流好礼相送 与多行业好友现场相聚、畅谈🧐 现场游戏企业云集 专业观众、玩家纷至沓来 与游戏/短…

新一代分割一切大模型SAM2(Segment Anything Model 2)介绍,可轻松分割图片与视频

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

KylinOS V10系统上安装yashan数据库单机版

一、服务器准备 这里安装的KylinOS V10桌面版本。 二、依赖项准备 安装桌面版的依赖包都安装好了。 https://doc.yashandb.com/yashandb/23.2/zh/%E5%AE%89%E8%A3%85%E5%92%8C%E5%8D%87%E7%BA%A7/%E5%AE%89%E8%A3%85%E9%83%A8%E7%BD%B2/%E5%AE%89%E8%A3%85%E5%89%8D%E5%87%86…

net start mysql; 服务名无效。 请键入 NET HELPMSG 2185 以获得更多的帮助。 也许你只是写错了名字!!!!!

看样子不知道问题出在哪里,看了别人的文章也不行。 打开服务(命令行输入services.msc)!! 人家叫mysql80 成了~ 就很无语

创邻科技Galaxybase银河图数据库赋能供应链高效协同

随着全球环境从乌卡时代走向巴尼时代,供应链管理能力与水平决定了企业的存生与盈利水平。数据是体现供应链运营状态与价值的核心要素,借助最新的数据处理技术最大限度挖掘数据价值,实现供应链可预测、可追溯、可实时响应,提升供应…