惯性导航---里程计非完整性约束

惯性导航—里程计非完整性约束

1 非完整性约束原理

  在进行管道中心线定位时,惯性导航系统在初始化后通过不断地力学编排更新载体的姿态、速度和位置信息,但是由于传感器是惯性器件,其导航误差会不断累积,这便需要借助外界观测量辅助惯性导航系统,才可以进行精确的定位。外界辅助分为姿态辅助观测、速度辅助观测和位置辅助观测。通常位置辅助观测可由全球卫星定位系统获取,速度辅助观测可以由里程计或多普勒测速仪获取。本文将介绍里程计观测信息结合非完整性约束辅助的组合导航。
  所谓非完整性约束,就是假定管道机器人在管道行驶过程中不发生侧滑或跳跃,即机器人理论上侧向、天向速度为0,若是载体坐标系选为“右前上”,则里程计的输出速度为:
V O D O b = [ 0 V O D O 0 ] V_{ODO}^{b}=[0 \;\: V_{ODO} \:\: 0 ] VODOb=[0VODO0]
  受到管道内部压力、管壁介质、器械磨损等因素的影响,里程计的测量值与真实值会存在一个误差,通常用刻度系数误差对里程计输出速度建模分析。在不考虑里程计安装角误差时,里程计输出的速度在载体坐标系中的形式为:
V ~ O D O b = ( 1 + δ k ) V O D O \widetilde{V} _{ODO}^{b}=(1+\delta k) {V} _{ODO} V ODOb=(1+δk)VODO

将里程计的测量值变换到导航坐标系(n系)下:
V ~ O D O n = C ^ b n V ~ O D O b = C ^ b n ( 1 + δ k ) V O D O b = C n n ′ C b n ( 1 + δ k ) V O D O b \widetilde{V} _{ODO}^{n}=\widehat{C} _{b}^{n} \widetilde{V} _{ODO}^{b}=\widehat{C} _{b}^{n} (1+\delta k) V_{ODO}^{b}=C_{n}^{n'}C_{b}^{n}(1+\delta k) V_{ODO}^{b} V ODOn=C bnV ODOb=C bn(1+δk)VODOb=CnnCbn(1+δk)VODOb
将n系到n’系变换矩阵公式(4)代入公式(3),得:
C n n ′ = ( I 3 × 3 − Φ × ) C_{n}^{n'}=(I_{3\times 3} - \Phi \times ) Cnn=(I3×3Φ×)
得n系下里程计得速度:
V ~ O D O n = C n n ′ ( 1 + δ k ) V O D O n = ( I 3 × 3 − Φ × ) ( 1 + δ k ) V O D O n \widetilde{V} _{ODO}^{n}=C_{n}^{n'} (1+\delta k) V_{ODO}^{n} = (I_{3\times 3} - \Phi \times ) (1+\delta k) V_{ODO}^{n} V ODOn=Cnn(1+δk)VODOn=(I3×3Φ×)(1+δk)VODOn
整理并略去二阶误差小量,得:
V ~ O D O n = V O D O n + δ k V O D O n − Φ × V O D O n \widetilde{V} _{ODO}^{n}=V_{ODO}^{n} +\delta k V_{ODO}^{n} -\Phi \times V_{ODO}^{n} V ODOn=VODOn+δkVODOnΦ×VODOn
移项,得里程计速度微分方程:
δ V O D O n = V ~ O D O n − V O D O n = δ k V O D O n − Φ × V O D O n \delta V_{ODO}^{n} = \widetilde{V} _{ODO}^{n} - V_{ODO}^{n} = \delta k V_{ODO}^{n} - \Phi \times V_{ODO}^{n} δVODOn=V ODOnVODOn=δkVODOnΦ×VODOn
设惯导推算得速度为 V n V^n VnINS,速度误差为 δ \delta δVn,则里程计的速度观测方程为:
V I N S n − C b n V O D O b = δ V n − δ V O D O n = δ V n − δ k V O D O n − V O D O n × Φ V_{INS}^{n}-C _{b}^{n} V_{ODO}^{b}=\delta V_{}^{n}-\delta V_{ODO}^{n}=\delta V_{}^{n} - \delta k V_{ODO}^{n} - V_{ODO}^{n} \times \Phi VINSnCbnVODOb=δVnδVODOn=δVnδkVODOnVODOn×Φ

2 非完整性约束实验

  在INS/ODO的组合导航系统中,系统的状态向量X设置为:

X = [ ϕ δ v n δ r n b g b a δ k ] T X=[\phi\quad\delta v^{\mathrm{n}}\quad\delta r^{\mathrm{n}}\quad b_{g}\quad b_{a}\quad\delta k]^{\mathrm{T}} X=[ϕδvnδrnbgbaδk]T

  式中, ϕ \phi ϕ为姿态误差向量; δ \delta δvn为惯导速度误差向量; δ \delta δrn为惯导位置误差向量;bg为三轴陀螺零偏向量;ba为三轴加速度计零偏向量; δ \delta δk为里程计刻度系数误差;
  里程计的速度观测方程为:
V I N S n − C b n V O D O b = δ V n − δ V O D O n = δ V n − δ k V O D O n − V O D O n × Φ V_{INS}^{n}-C _{b}^{n} V_{ODO}^{b}=\delta V_{}^{n}-\delta V_{ODO}^{n}=\delta V_{}^{n} - \delta k V_{ODO}^{n} - V_{ODO}^{n} \times \Phi VINSnCbnVODOb=δVnδVODOn=δVnδkVODOnVODOn×Φ

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

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

相关文章

Python 分支结构之if语句

在之前编写的Python中我们都是一条一条的编写的语句,没有任何条件或判断,程序会按照代码编写顺序依次执行,这种编写结构叫顺序结构,是编程中最基本的控制结构。除了顺序机构,还有一个比较基本的控制结构,那…

Linux的SSH服务

一.SSH服务简介 1.什么是SSH SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH 为建立在应…

【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(文件处理指令-上)

文件处理指令-上 背景前言专栏介绍面向对象重点内容文件处理命令file格式[options] 主要参数简单说明使用案例 mkdir格式[options] 主要参数应用实例 grep格式主要参数[optionsl 主要参数 应用实例pattern正则表达式主要参数 应用实例fgrep和egrep dd格式[options]主要参数 应用…

linux 网络设置

查看linux基础的网络配置 命令 网关route -nip 地址ifconfig / ip aDNS 服务器cat /etc/resolv.conf主机名hostname路由route -n网络连接状态ss / netstat 一,ifconfig 查看网络接口信息 (一)ifconfig …

设计模式—— 单例设计模式

单例设计模式 什么是单例模式 单例模式是一种对象创建型模式,使用单例模式,可以保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象。 为什么使用单例模式 在应用系统开发中,我…

聊聊PowerJob的UseCacheLock

序 本文主要研究一下PowerJob的UseCacheLock UseCacheLock tech/powerjob/server/core/lock/UseCacheLock.java Target(ElementType.METHOD) Retention(RetentionPolicy.RUNTIME) public interface UseCacheLock {String type();String key();int concurrencyLevel(); }Use…

【MIdjourney】镜头效果关键词

1.景深(depth of field) 景深(DOF),是指在摄影机镜头或其他成像器前沿能够取得清晰图像的成像所测定的被摄物体前后距离范围。镜头光圈、镜头距离、及焦平面到拍摄物的距离是影响景深的重要因素。 在MIdjourney中,该关键字会使得…

数字化时代,CDMP/CDGA认证企业个人都需要

🎯数字化时代,CDMP(数据管理专业人士)和CDGA(数据治理工程师)认证对于企业和个人来说都是非常重要的。 📒对于企业而言: ✅为企业赋能 数字化培训是企业在数字化转型中的重要考核标准之一。国资委、工信部、银保监会等都有明确的要…

【STM32读取HX711的函数】

[两个普通IO读取HX711数据的函数-主芯片是STM32F407] 以下是.h文件中的内容: #ifndef __hx711_h #define __hx711_h #define HX711CH1_DIO_GROUP GPIOA #define HX711CH1_CLK_GROUP GPIOA #define HX711CH1_DIO_PIN GPIO_Pin_1 #define HX711CH1_CLK_PIN GPIO_Pin…

深入浅出 Golang 中的参数传递机制

目录 什么是值传递 (Pass by Value) 引用传递 (Pass by Reference) Golang 中的参数传递方式 基本类型的值传递 切片的“引用”传递 使用指针实现引用传递 结构体的值传递 结构体指针的传递 小结 值传递(Pass by Value)和引用传递(P…

Python之jieba分词相关介绍

1.jieba分词的安装 直接在cmd窗口当中pip install即可 2.jieba分词的介绍 jieba分词是目前比较好的中文分词组件之一,jieba分词支持三种模式的分词(精确模式、全模式、搜索引擎模式),并且支持自定义词典(这一点在特定的领域很重要,有时候…

C++(20):list通过erase, erase_if删除元素

C++20前,使用成员函数erase删除元素,与vector的方法一致: iterator erase( iterator pos ); iterator erase( iterator first, iterator last ); 1.通过迭代器删除指定位置元素 需要说明的是,删除元素后,迭代器会失效,可以通过erase返回下一个有效的迭代器 #include &…

SpringBoot使用MockMVC单元测试Controller

对模块进行集成测试时,希望能够通过输入URL对Controller进行测试,如果通过启动服务器,建立http client进行测试,这样会使得测试变得很麻烦,比如启动速度慢,测试验证不方便,依赖网络环境等&#…

GitHub项目推荐-incubator

项目地址 Github地址:GitHub - apache/incubator-anser 官网:Apache Answer | Free Open-source Q&A Platform 项目简述 这是Apache的一个开源在线论坛,也可以部署成为一个自有的QA知识库。项目主要使用了Go和Typescript来开发&#…

【MATLAB源码-第109期】基于matlab的哈里斯鹰优化算发(HHO)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境: MATLAB 2022a 1、算法描述 哈里斯鹰优化算法(Harris Hawk Optimization, HHO)是一种受自然界捕食行为启发的优化算法。它基于哈里斯鹰的捕猎策略和行为模式,主要用于解决各种复杂的优化问题。这个算法的核心特征在于…

层叠布局(Stack)

目录 1、概述 2、开发布局 3、对齐方式 3.1、TopStart 3.2、Top 3.3、TopEnd 3.4、Start 3.5、Center 3.6、End 3.7、BottomStart 3.8、Bottom 3.9、BottomEnd 4、Z序控制 5、场景示例 1、概述 层叠布局(StackLayout)用于在屏幕上预留一…

31 树的存储结构二

DIsplay() 递归显示 :图示 求树的高度时&#xff0c;递归的技巧 在递归的过程中&#xff1a;ret单独和任意一个子树的子高度比较&#xff0c;如果ret<max&#xff0c;retmax ------------- 注意&#xff1a;组织链表和子链表的【元素类型】都是TLNode* 链表都要先通过TLNod…

JavaScript 动态生成内容的过程

网页使用 JavaScript 动态生成内容的过程涉及到 JavaScript 脚本与网页的 HTML 和 CSS 的交互。基本过程如下&#xff1a; 浏览器加载 HTML&#xff1a;首先&#xff0c;浏览器加载网页的 HTML 内容&#xff0c;这构成了页面的基本结构。 执行 JavaScript&#xff1a;随后&…

Validation--自定义校验

前言&#xff1a; 今天学到这个&#xff0c;闲着也是闲着&#xff0c;就写一个记录一下&#xff0c;也算是总结 我们的步骤是这样的 1.自定义注解State 2.自定义校验数据的类StateValidation实现ConstrainValidator接口 3.在需要校验的地方使用自定义注解 1.自定义注解 这…

C语言如何提高程序的可读性?

一、问题 可读性是评价程序质量的一个重要标准&#xff0c;直接影响到程序的修改和后期维护&#xff0c;那么如何提高程序的可读性呢? 二、解答 提高程序可读性可以从以下几方面来进行。 &#xff08;1&#xff09;C程序整体由函数构成的。 程序中&#xff0c;main()就是其中…