课题学习(三)----倾角和方位角的动态测量方法(基于陀螺仪的测量系统)

一、内容介绍

  该测量系统基于三轴加速度和三轴陀螺仪,安装在钻柱内部,随钻柱一起旋转,形成捷联惯性导航系统,安装如下图所示:
在这里插入图片描述
  假设三轴加速度和陀螺仪的输出为: f b = [ f x f y f z ] T f^b=\begin{bmatrix}f_{x} & f_{y} &f_{z} \end{bmatrix}^T fb=[fxfyfz]T w b = [ w x w y w z ] T w^b=\begin{bmatrix}w_{x} & w_{y} &w_{z} \end{bmatrix}^T wb=[wxwywz]T
  使用这六轴的输出可以非常有效的求解姿态,应用惯性导航的求解算法,可以实现钻孔时的连续测量。加速度计和陀螺仪可以在坐标系中提供线加速度和角速度。但是,如果要求解钻具的位姿,则需要将该坐标系转换为另一个坐标系。
  Xe、Ye、Ze三个轴代表地球坐标系。导航坐标系用于计算载体的位置、速度和姿态,因为导航坐标系沿当地的北、东、垂直方向,如下图中的“N, E, UP”,其中λ为经度角,φ为纬度角。在载体坐标系下,利用INS力学方程可得到井斜、井向和工具面角。在这里插入图片描述
  将b系统中测得的加速度和角速度值通过变换矩阵Rn b转换为n系统,即可求解井底工具的空间位置和姿态[28]。定义底部的经度为λ,纬度为φ,海拔为h,则其位置可表示为: r n = [ φ λ h ] T r^n=\begin{bmatrix}φ & λ &h \end{bmatrix}^T rn=[φλh]T
  定义n系统的速度分量,向北速度为Vn,向东速度为Ve,垂直速度为Vu。然后定义n系统的速度为: r n = [ V e V n V u ] T r^n=\begin{bmatrix}V^e & V^n &V^u\end{bmatrix}^T rn=[VeVnVu]T
  速度分量可以表示为位置分量对时间的导数:
在这里插入图片描述
  上式中,M为子午线的曲率半径,N为地球椭圆的曲率半径。
  在载体坐标系下,加速度计 f b = [ f x f y f z ] T f^b=\begin{bmatrix}f_{x} & f_{y} &f_{z}\end{bmatrix}^T fb=[fxfyfz]T 通过变换矩阵 R b n R^n_{b} Rbn转换到地理坐标系的测量值为:
在这里插入图片描述
  n坐标系中的加速度分量 f n f^n fn可以对速度分量 v n v^n vn积分。但由于地球本身的存在,会影响求解过程。地球自转速度为 w e = 15 d e g / h r w^e=15deg/hr we=15deg/hr,用n坐标系表示的角速度矢量如下式所示:
在这里插入图片描述

  地理坐标系的变化取决于导航坐标系中北方和垂直方向的定义。北方方向通常指向子午线方向,垂直方向指向地球表面,如下图所示:在这里插入图片描述
在导航坐标系中,角速度矢量可表示为:
在这里插入图片描述
  地球引力也影响IMU的加速度测量。我们可以用重力模型来修正。地球重力场可以表示为:在这里插入图片描述
  地球引力场在n系列中可以表示为: g n = [ 0 0 − g ] g^n=\begin{bmatrix}0&0&-g\end{bmatrix} gn=[00g].考虑到地球因素的影响,速度分量Vn的变化率可以表示为:在这里插入图片描述
其中:
在这里插入图片描述
  变换矩阵 R b n R^n_{b} Rbn可由以下微分方程得到:
在这里插入图片描述
其中 Ω i b b Ω^b_{ib} Ωibb为陀螺仪测得的角速度的反对称矩阵,角速度矢量 Ω i b b Ω^b_{ib} Ωibb可表示为:
在这里插入图片描述
  陀螺仪测量底部钻具的角速度,同时也测量地球自转的角速度和导航坐标系的方向。因此,需要从 Ω i b b Ω^b_{ib} Ωibb中减去角速度 Ω i n b Ω^b_{in} Ωinb,以消除这两个因素的影响。角速度矢量 Ω i n b Ω^b_{in} Ωinb包含两部分,第一部分是地球自转速度 Ω i e b Ω^b_{ie} Ωieb和导航坐标系方向变化速度 Ω e n b Ω^b_{en} Ωenb,如下图所示:在这里插入图片描述
  速度矩阵的反对称矩阵可以表示为:在这里插入图片描述
  最后得到变换矩阵如下:在这里插入图片描述
  定义井斜角为θ,方位角为ψ,工具面为φ,变换矩阵 R b n R^n_{b} Rbn可表示为:在这里插入图片描述
  根据前面的假设,三轴加速度计的输出信号为: f b = [ f x f y f z ] T f^b=\begin{bmatrix}f_{x} & f_{y} &f_{z} \end{bmatrix}^T fb=[fxfyfz]T   三轴陀螺仪的输出信号为: w b = [ w x w y w z ] T w^b=\begin{bmatrix}w_{x} & w_{y} &w_{z} \end{bmatrix}^T wb=[wxwywz]T  从测量的角速度可以计算出角度变化量:
在这里插入图片描述
  同样,由加速度的测量值可以计算出线速度:在这里插入图片描述
  考虑到地球自转和导航坐标系方向变化的影响,在时刻tk时,角度的增加可表示为:在这里插入图片描述
  然后,在这里插入图片描述
  综上所述,基于地理坐标系的捷联惯性导航系统的力学方程如下:
在这里插入图片描述

  上式的解可以用欧拉角法、方向余弦法或四元数法求解。通过在载体轴上安装三轴加速度计和三轴陀螺仪,可以通过测量值获得载体的姿态、速度和位置等信息。

二、往期回顾

课题学习(一)----静态测量
课题学习(二)----倾角和方位角的动态测量方法(基于磁场的测量系统)

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

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

相关文章

leetcode 221 最大正方形 + 1277 统计全为1的正方形子矩阵

题目 在一个由 ‘0’ 和 ‘1’ 组成的二维矩阵内,找到只包含 ‘1’ 的最大正方形,并返回其面积。 示例 输入:matrix [[“1”,“0”,“1”,“0”,“0”],[“1”,“0”,“1”,“1”,“1”],[“1”,“1”,“1”,“1”,“1”],[“1”,“0”,“…

Docker 安装 MongoDB

一、什么是MongoDB MongoDB 是一个基于分布式文件存储的数据库。是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 二、MongoDB的安装 这里使用docker来安装MongoD 1.docker 拉取mysql镜像 docker pu…

论文笔记:Contrastive Trajectory Similarity Learning withDual-Feature Attention

ICDE 2023 1 intro 1.1 背景 轨迹相似性,可以分为两类 启发式度量 根据手工制定的规则,找到两条轨迹之间基于点的匹配学习式度量 通过计算轨迹嵌入之间的距离来预测相似性值上述两种度量的挑战: 无效性: 具有不同采样率或含有噪…

vue模版语法-{{}}/v-text/v-html/v-once

一、{{}}双括号:用于文本渲染 1、 {{变量名}}:data中返回对象的变量名 2、{{js表达式}}:可以直接进行js表达式处理 3、注意:双大括号中不要写等式书写 二、v-text 指令,用于文本渲染 1、为了解决双大括号渲染数据出现闪烁问题 三、v-cloak …

使用Transformer实现自动调制识别(RML2016.10a,90%+精度(未调参优化))

应粉丝要求,本文给出大型模型Transformer的信号识别的实现方式(附代码) 基于RML2016.10a识别精度可达90%+。(由于代码直接引入,未进行调参,大家可以自行优化。) 相关文章可见:https://blog.csdn.net/QAQIknow/article/details/119963986 由于设备条件有限,本文使用R…

C++基础知识1

1、在C程序在调用C编译器编译后的函数,为什么需要加extern C? 首先,extern是C/C中的表明函数的的全局变量范围的关键字,该关键字告诉编译器,其声明的函数可以在本模块和其他模块中使用。 被extern修饰的变量和函数是按…

MyBatisPlus(八)范围查询

说明 范围查询&#xff0c;包括&#xff1a; 大于大于等于小于小于等于在范围内在范围外 大于&#xff1a;gt 代码 Testvoid gt() {LambdaQueryWrapper<User> wrapper new LambdaQueryWrapper<>();wrapper.gt(User::getAge, 20);List<User> users mapp…

【洛谷 P5730】【深基5.例10】显示屏 题解(数组+循环)

【深基5.例10】显示屏 题目描述 液晶屏上&#xff0c;每个阿拉伯数字都是可以显示成 3 5 3\times5 35 的点阵的&#xff08;其中 X 表示亮点&#xff0c;. 表示暗点&#xff09;。现在给出数字位数&#xff08;不超过 100 100 100&#xff09;和一串数字&#xff0c;要求输…

Zookeeper经典应用场景实战(一)

文章目录 1、Zookeeper Java客户端实战1.1、 Zookeeper 原生Java客户端使用1.2、 Curator开源客户端使用 2、 Zookeeper在分布式命名服务中的实战2.1、 分布式API目录2.2、 分布式节点的命名2.3、 分布式的ID生成器 3、Zookeeper实现分布式队列3.1、 设计思路3.2、 使用Apache …

大文件上传,前端vue 做分片上传

html – 以弹窗的形式 <!-- 上传算法文件 --> <el-dialog title"上传算法文件" :visible.sync"uploadPop" width"60%" :close-on-click-modal"false" :before-close"closeUploadPop" append-to-body custom-class…

【C语言】24-共用体类型、枚举类型与typedef

目录 1. 共用体类型1.1 如何定义共用体类型1.2 引用共用体变量的方式1.3 共用体类型数据的特点2. 枚举类型2.1 如何声明和使用枚举类型2.2 枚举类型的用处3. typedef3.1 为简单类型取别名3.2 为复杂类型取别名3.2.1 为结构体类型取别名3.2.2 为数组取别名3.2.3 为指针类型取别名…

2023.10.07

#include <iostream>using namespace std;int main() {string str;cout << "请输入字符串&#xff1a;";getline(cin,str);int big0,little0,spac0,num0,sym0;int sizestr.size();for(int i0;i<size;i){if((int)str.at(i)<6526 && (int)st…

如何开发一款高效便捷的搬家服务小程序

随着互联网的发展&#xff0c;小程序已成为各行各业重要的业务推广和用户服务平台。对于搬家行业而言&#xff0c;开发一款高效便捷的搬家服务小程序具有巨大的市场潜力。本文将为您详细介绍如何开发一款这样的搬家服务小程序。 一、进入乔拓云网后台 在开始制作搬家服务小程序…

haproxy使用

haproxy使用 安装使用yum安装 配置文件global 全局配置Proxies配置Proxies配置-defaultsProxies配置-listen 简化配置 安装 社区版官网链接&#xff1a;http://www.haproxy.org CentOS 7 的默认的base仓库中包含haproxy的安装包文件&#xff0c;但是版本比较旧&#xff0c;是1…

NPDP怎么报名?考试难度大吗?

PMDA&#xff08;Product Development and Management Association&#xff09;是美国产品开发与管理协会&#xff0c;在中国由中国人才交流基金会培训中心举办NPDP&#xff08;New Product Development Professional&#xff09;考试&#xff0c;该考试是产品经理国际资格认证…

ICE综述

ICE综述 ICE(Internet Communications Engine)是ZeroC提供的一款高性能的中间件&#xff0c;基于ICE可以实现电信级的解决方案。在设计网站架构的时候可以使用ICE实现对网站应用的基础对象操作&#xff0c;将基础对象操作和数据库操作封装在这一层&#xff0c;在业务逻辑层以及…

leetcode 518. 零钱兑换 II、377. 组合总和 Ⅳ

518. 零钱兑换 II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 …

Pyside6 安装和简单界面开发

Pyside6 安装和简单界面开发 Pyside6介绍Pysied6开发环境搭建Python安装Pysied6安装 Pyside6界面开发简单界面设计界面设计界面编译 编写界面初始化代码软件打包 Pyside6介绍 对于Python的GUI开发来说&#xff0c;Python自带的可视化编程模块的功能较弱&#xff0c;PySide是跨…

玩转Mysql系列 - 第27篇:mysql如何确保数据不丢失?

这是Mysql系列第27篇。 本篇文章我们先来看一下mysql是如何确保数据不丢失的&#xff0c;通过本文我们可以了解mysql内部确保数据不丢失的原理&#xff0c;学习里面优秀的设计要点&#xff0c;然后我们再借鉴这些优秀的设计要点进行实践应用&#xff0c;加深理解。 预备知识 …

【11】c++设计模式——>单例模式

单例模式是什么 在一个项目中&#xff0c;全局范围内&#xff0c;某个类的实例有且仅有一个&#xff08;只能new一次&#xff09;&#xff0c;通过这个唯一的实例向其他模块提供数据的全局访问&#xff0c;这种模式就叫单例模式。单例模式的典型应用就是任务队列。 为什么要使…