课题学习(八)----卡尔曼滤波动态求解倾角、方位角

news2024/11/24 2:50:53

一、 卡尔曼滤波

   卡尔曼滤波的应用要求系统和底层过程的测量模型都是线性的。离散时间线性状态空间系统的描述为: x k = Φ k , k − 1 x k − 1 + G k − 1 w k − 1 x_k=\Phi_{k,k-1}x_{k-1}+G_{k-1}w_{k-1} xk=Φk,k1xk1+Gk1wk1
   式中 Φ k , k − 1 \Phi_{k,k-1} Φk,k1为状态转移矩阵, x k x_k xk为状态向量, G k − 1 G_{k-1} Gk1为噪声分布矩阵, w k − 1 w_{k-1} wk1为过程噪声向量,k为测量历元。
   系统的测量方程由下式给出 z k = H k x k + η k z_k=H_kx_k+\eta_k zk=Hkxk+ηk
   式中 z k z_k zk为系统输出的测量向量, H k H_k Hk为观测或设计, η k \eta_k ηk为测量噪声。系统噪声w和测量噪声 η k \eta_k ηk是具有确定的自协方差函数的非相关零均值白噪声过程。
   通过对钻柱动力学的分析,提出了一种新的状态空间模型算法。在计算方法中,我们定义KF-1的输入矢量为 X = [ a x a y a z m x m y m z ] X=\begin{bmatrix}a_x&a_y&a_z\\ m_x&m_y&m_z\end{bmatrix} X=[axmxaymyazmz],由三轴磁强计和三轴加速度计测量。KF-2的输入向量为井眼倾角和方位角,定义为 X = [ I A ] X=\begin{bmatrix}I\\ A\end{bmatrix} X=[IA],其中 I I I为井眼倾角, A A A为井眼方位角。
   求解过程如下图所示:
在这里插入图片描述
   在此过程中,设计两个卡尔曼滤波器。在KF-1之后,我们可以得到更精确的重力加速度信号gx, gy和gz,定义为KF-1的输出。利用重力加速度,通过建立钻柱旋转时的方程,可以得到钻柱的倾角和方位角。然后使用KF-2进一步平滑钻井轨迹。KF-2的输出定义为 M ′ = [ I ′ A ′ ] T M'=\begin{bmatrix}I'&A'\end{bmatrix}^T M=[IA]T,这是更精确的。

1.1 KF-1的状态空间模型

   传感器安装在钻柱的中心,在旋转过程中,x轴和y轴的测量信号呈现正弦波。理论上,加速度计和磁力计的信号有相同的规律。在实际钻井过程中,钻柱的振动对磁强计信号的影响较小。也就是说,磁力计信号是用来校准加速度计信号的。通过实验室测试,我们可以得出磁通门信号的变化与重力加速度信号的变化是一致的。
   假设角速度为 w x , y , z w_{x,y,z} wx,y,z,采样间隔为Δt,则
在这里插入图片描述
   在KF-1中,我们将状态向量定义为 X = [ g x ( k ) g y ( k ) g z ( k ) ] X=\begin{bmatrix}g_x{(k)}\\g_y{(k)}\\g_z{(k)}\end{bmatrix} X= gx(k)gy(k)gz(k) ,从 a x , a y , a z a_x,a_y,a_z ax,ay,az的振动信号可以得到重力加速度信号 x g ( k ) x_g{(k)} xg(k)。因此,系统输出的测量矢量为,当钻柱旋转时,除了z轴信号外,x轴和y轴的测量信号将呈现正弦波。因此,变换矩阵定义为 z ( k ) = [ a x a y a z ] z(k)=\begin{bmatrix}a_x\\a_y\\a_z\end{bmatrix} z(k)= axayaz , H k = [ m x ( k − 1 ) m x ( k ) 0 0 0 m y ( k − 1 ) m y ( k ) 0 0 0 1 ] H_k=\begin{bmatrix}\frac{m_x{(k-1)}}{m_x{(k)}}&0&0\\ 0&\frac{m_y{(k-1)}}{m_y{(k)}}&0\\ 0&0&1\end{bmatrix} Hk= mx(k)mx(k1)000my(k)my(k1)0001 。系统噪声 w k w_k wk和测量噪声 η k \eta_k ηk是不相关的零均值白噪声过程。因此,我们得到KF-1的状态空间模型如下: x g ( k ) = [ m x ( k − 1 ) m x ( k ) 0 0 0 m y ( k − 1 ) m y ( k ) 0 0 0 1 ] x g ( k − 1 ) + [ w x ( k − 1 ) w y ( k − 1 ) w z ( k − 1 ) ] x_g{(k)}=\begin{bmatrix}\frac{m_x{(k-1)}}{m_x{(k)}}&0&0\\ 0&\frac{m_y{(k-1)}}{m_y{(k)}}&0\\ 0&0&1\end{bmatrix}x_g{(k-1)+\begin{bmatrix}w_x{(k-1)}\\w_y{(k-1)}\\w_z{(k-1)}\end{bmatrix}} xg(k)= mx(k)mx(k1)000my(k)my(k1)0001 xg(k1)+ wx(k1)wy(k1)wz(k1)
z ( k ) = H k x g ( k ) + η ( k ) z(k)=H_kx_g{(k)}+\eta(k) z(k)=Hkxg(k)+η(k)

1.2 计算倾角和方位角

   钻柱旋转时,上述方程不适用。安装在钻柱中心的传感器,即x轴和y轴的测量信号,在旋转过程中呈现正弦波。
   通过KF-1,我们得到gx、gy和gz,它们分别定义为x、y和z轴上的重力加速度测量信号。然后定义系统的输入向量为 X ′ = [ g x g y g z m x m y m z ] X'=\begin{bmatrix}g_x&g_y&g_z\\ m_x&m_y&m_z\end{bmatrix} X=[gxmxgymygzmz]
   定义转速为R,若R为0,则用下式计算倾角和方位角。
在这里插入图片描述
   R ≠ 0 R\neq0 R=0表示钻柱在旋转,倾角I和方位角A的计算公式如下:
在这里插入图片描述
   式中 T M T_M TM为磁性工具面角: T M = t g − 1 ( − m y m x ) T_M=tg^-1(\frac{-m_y}{m_x}) TM=tg1(mxmy)。用于近直井的工具面角。磁性工具面是在垂直于井筒轴线的平面上,顺时针方向测量的井眼测量仪器在井筒内的角度或方位角;北、东、南、西方向的磁性工具面角分别为0°、90°、180°和270°。磁性工具面可以校正为参考栅格北或真北。
   虽然钻柱转速是判断钻柱是否旋转的一种方法,但这种方法的可靠性不高。相反,使用标准差统计方法来确定钻柱的运动更加可靠,因为它反映了群体中个体之间的分散程度。使用50个数据点作为时间窗口,假设它们是x1, x2,…, x49, x50,我们得到标准差 σ = 1 N ∑ i = 1 N ( x i − x ˉ ) 2 \sigma=\sqrt{\frac{1}{N}\sum_{i=1}^N(x_i-\bar{x})^2} σ=N1i=1N(xixˉ)2 ,当标准差σ接近于零时,钻柱可以认为是静止的。

1.3 KF-2的状态空间模型

   在钻孔过程中,运动状态为 σ = 0 \sigma=0 σ=0 σ ≠ 0 \sigma\neq0 σ=0交替出现。当 σ ≠ 0 \sigma\neq0 σ=0时,由于钻柱不旋转时振动较小,求解结果更为准确。我们开发了另一种卡尔曼滤波器(KF-2)来平滑钻井轨迹。(KF-2分别分为KF-2.1和KF2.2,如下图所示。)
在这里插入图片描述
   在正常的钻井过程中,为了测量倾角和方位角,钻井作业经常要停在测量站。然后根据数学假设计算两个测量站之间的井眼轨迹。例如,可以假设钻孔距离为直线、圆弧或多角线;每个都需要不同的计算方法。设实际钻井轨迹测量第N点的三维坐标为 ( x N , y N , z N ) (x_N,y_N,z_N) (xN,yN,zN),则测量(N +1)点为 ( x N + 1 , y N + 1 , z N + 1 ) (x_{N+1},y_{N+1},z_{N+1}) (xN+1,yN+1,zN+1),井深、垂深、倾角、方位角分别为 L N 、 H N 、 θ N 、 Ψ N L_N、H_N、\theta_N、\Psi_N LNHNθNΨN和$L_{N+1}、H_{N+1}、\theta_{N+1}、\Psi_{N+1}。两点之间的井眼轨迹定义如下:
在这里插入图片描述
   如果垂直深度H已知,则测量(N + 1)-th点的三维坐标可定义为
在这里插入图片描述
   我们可以通过递归计算得到每个点的空间坐标,从而得到整个钻井轨迹。如下图所示,我们可以使用井眼轨迹外推法建立相邻两个测点之间的递推关系。
在这里插入图片描述

   假设L是钻孔深度, γ \gamma γ是钻孔轨迹与其切线的夹角,然后: L ( k ) = L ( k − 1 ) + Δ L ( K ) L(k)=L(k-1)+\Delta L(K) L(k)=L(k1)+ΔL(K)
γ = a r c c o s [ c o s ( I k − 2 ) c o s ( I k − 1 ) + s i n ( I k − 2 ) s i n ( I k − 1 ) c o s ( A k − 1 − A k − 2 ) ] \gamma=arccos[cos(I_{k-2})cos(I_{k-1})+sin(I_{k-2})sin(I_{k-1})cos(A_{k-1}-A_{k-2})] γ=arccos[cos(Ik2)cos(Ik1)+sin(Ik2)sin(Ik1)cos(Ak1Ak2)]
γ ( k ) = γ Δ L ( k − 1 ) Δ L ( k ) \gamma(k)=\frac{\gamma}{\Delta L(k-1)}\Delta L(k) γ(k)=ΔL(k1)γΔL(k)
   从上面三个公式看出,我们可以使用两个点来估计下一个点,因此可以平滑井眼轨迹。我们可以使用Kalman Filter 2.2对钻井轨迹进行校准,其中将第k个测量点定义为 P ( k ) = [ I k A k ] P(k)=[I_k A_k] P(k)=[IkAk]。系统输入为P(K -2)和P(K -1), KF-2.2结合实测值和理论计算值估算P(K)。
   KF-2.2通过倾角和方位角作为输入,实现井眼轨迹平滑。假设状态向量为 x ( k ) = [ I k A k ] x(k)=\begin{bmatrix}I_k\\A_k\end{bmatrix} x(k)=[IkAk],则系统输出的测量向量为 x ( k ) = [ I k A k ] m x(k)=\begin{bmatrix}I_k\\A_k\end{bmatrix}_m x(k)=[IkAk]m H ( k ) = [ 1 0 0 1 ] H(k)=\begin{bmatrix}1&0\\0&1\end{bmatrix} H(k)=[1001]。得到KF-2.2的状态空间模型:
在这里插入图片描述
   如上所示,我们应该确定 Δ L \Delta L ΔL作为KF-2.2的输入。( Δ t \Delta t Δt期间钻头向前移动的距离)。我们可以通过测量z轴上的加速度来计算位移。 A z A_z Az是z轴上三轴加速度计的信号,它与重力加速度和振动加速度相结合。定义加速度在z轴时间序列上的测量为 a z ( k ) a_z(k) az(k)
   所以在计算位移 Δ L \Delta L ΔL之前,我们首先要排除重力的影响,如下所示: f g z ( k ) = a z ( k ) − G ⋅ c o s ( I k − 1 ) f_{g_z}(k)=a_z(k)-G·cos(I_{k-1}) fgz(k)=az(k)Gcos(Ik1)
   其中 f g z ( k ) f_{g_z}(k) fgz(k)是加速度时间序列函数,通过去掉 g z g_z gz的加速度,可以计算出 a z ( k ) a_z(k) az(k)和倾角 I k − 1 I_{k-1} Ik1对应的同一时间。
   然后我们可以使用z轴时间序列 f g z ( k ) f_{g_z}(k) fgz(k)上的加速度来计算钻探深度( Δ L \Delta L ΔL)。将状态向量定义为 Δ L ( k ) = [ Δ L ( k ) Δ L ˙ ( k ) Δ L ¨ ( k ) ] \Delta L(k)=\begin{bmatrix}\Delta L(k)\\\Delta \dot L(k)\\\Delta \ddot L(k)\end{bmatrix} ΔL(k)= ΔL(k)ΔL˙(k)ΔL¨(k) ,系统输出的测量向量为 z ( k ) = f g z ( k ) z(k)=f_{g_z}(k) z(k)=fgz(k),我们建立了KF-2.1的状态空间模型如下:
在这里插入图片描述
   通过对实测信号进行预处理,建立了一种基于底部旋转钻具动力学分析的动态方位和倾角求解算法。在理论模型的基础上,我们开发了一种卡尔曼滤波器来提高求解器的精度;在预测钻井轨迹的基础上,建立了卡尔曼滤波的状态空间方程。基于卡尔曼滤波的动态测量算法是一种能够大大降低求解误差的新模型。

二、 往期回顾

课题学习(一)----静态测量
课题学习(二)----倾角和方位角的动态测量方法(基于磁场的测量系统)
课题学习(三)----倾角和方位角的动态测量方法(基于陀螺仪的测量系统)
课题学习(四)----四元数解法
课题学习(五)----阅读论文《抗差自适应滤波的导向钻具动态姿态测量方法》
课题学习(六)----安装误差校准、实验方法
课题学习(七)----粘滑运动的动态算法

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

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

相关文章

原创先锋后台管理平台未授权访问

漏洞描述 原创先锋后台管理平台存在未授权访问漏洞,攻击者通过漏洞可以任意接管账户权限 漏洞复现 访问未授权的url: /admin/admin/admin_list.html漏洞证明如下: 文笔生疏,措辞浅薄,望各位大佬不吝赐教&#xff0…

智慧公厕云管理平台:公厕云大脑引领厕所革命未来之路

智慧公厕作为城市管理的重要组成部分,不仅为市民提供便利,更是城市形象的重要窗口。随着科技的发展,全域联网管理的智慧公厕云管理平台指挥大脑的建立,使得智慧公厕的跨区域、跨系统、跨业务、跨流程作业功能更加强大,…

Linux shell编程学习笔记12:布尔运算和逻辑运算

Linux Shell 脚本编程和其他编程语言一样,支持算数、关系、布尔、逻辑、字符串、文件测试等多种运算。前面几节我们陆续研究了 Linux shell编程 中的 字符串运算、算术运算和关系运算,今天我们来研究 Linux shell编程中的的布尔运算、逻辑运算。 一、…

COM编程入门Part Ⅱ - 深入理解COM服务器[译]

文章目录 1. 本文的目的 2. 介绍 3. 快速浏览COM服务器 4. 服务器生命周期管理 5. 实现接口,从IUnknown开始 6. CoCreateInstance()的内部 7. 注册COM服务器 8. 创建COM对象 - 类工厂 9. 示例自定义接口 10. 客户端使用我们的COM服务 11. 其他细节 本篇…

[入门一]C# webApi创建、与发布、部署、api调用

一.创建web api项目 1.1、项目创建 MVC架构的话,它会有view-model-control三层,在web api中它的前端和后端是分离的,所以只在项目中存在model-control两层 1.2、修改路由 打开App_Start文件夹下,WebApiConfig.cs ,修改路由&…

12.SpringBoot之RestTemplate的使用

SpringBoot之RestTemplate的使用 初识RestTemplate RestTemplate是Spring框架提供用于调用Rest接口的一个应用,它简化了与http服务通信方式。RestTemplate统一Restfull调用的标准,封装HTTP链接,只要需提供URL及返回值类型即可完成调用。相比…

小程序之基础入门(1)

⭐⭐ 小程序专栏:小程序开发专栏 ⭐⭐ 个人主页:个人主页 目录 一.前言 二.小程序简介 2.1 微信小程序的特点和优势: 三.小程序的安装与使用 五.小程序入门案例及目录结构 好啦!!今天的分享就到这啦!…

多测师肖sir_高级金牌讲师_python之模块008

python之模块 一、模块的介绍 (1)python模块,是一个python文件,以一个.py文件,包含了python对象定义和pyhton语句 (2)python对象定义和python语句 (3)模块让你能够有逻辑…

微信浏览器大字体模式 按钮文字居中用line-height 显示异常

按钮文字居中用line-height 的css 在微信浏览器大字体模式,会导致显示错误。改成flex 居中就好了

R语言手动绘制NHANSE数据基线表并聊聊NHANSE数据制作亚组交互效应表的问题(P for interaction)

美国国家健康与营养调查( NHANES, National Health and Nutrition Examination Survey)是一项基于人群的横断面调查,旨在收集有关美国家庭人口健康和营养的信息。 地址为:https://wwwn.cdc.gov/nchs/nhanes/Default.aspx 在既往的…

精品Python基于django就业数据分析平台求职招聘应聘-爬虫可视化大屏

《[含文档PPT源码等]精品基于django就业数据分析平台-爬虫》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程等! 软件开发环境及开发工具: 开发语言:python 使用框架:Django 前端技术:JavaS…

常见锁的分类

入职体验: 今天运维岗位刚入职,但是目前还没有办理入职手续,但是领导发了一堆资料!看了一下,非常多的新东西,只能说努力一把!!! 一、锁的分类 1.1 可重入锁、不可重入锁…

DAE转换GLB格式

1、DAE模型介绍 DAEA(Deep Attentive and Ensemble Autoencoder)模型是一种用于无监督学习的深度学习模型,由华为公司提出。DAEA模型结合了自编码器和深度注意力机制,能够对高维数据进行降维和特征提取,并且在处理大规…

求三维坐标绕坐标轴旋转后的坐标值

目的 旋转矩阵 应用 沿单个坐标轴旋转 沿多个坐标系旋转 目的 由于其他文章原理介绍比较详细,但应用方面较少。本文直接介绍旋转矩阵的应用,条件为坐标系不变,求旋转后的三维坐标。本文方法较傻瓜式,需要自己进行测试以确认是…

Java-使用sqlSessionTemplate实现批量更新-模拟mybatis 动态sql

环境准备(非核心方法) 创建表 创建表的sql(下表是基于Oracle创建的) CREATE TABLE "SYSTEM"."STUDENT" ("ID" NUMBER(10, 0),"NAME" VARCHAR2(20 BYTE),"ADDRES" CLOB,PRIMARY KEY ( …

Studio One6.5全新版本更新功能详情介绍

Studio One是一款专业的音乐制作软件,由美国PreSonus公司开发。该软件提供了全面的音频编辑和混音功能,包括录制、编曲、合成、采样等多种工具,可用于制作各种类型的音乐,如流行音乐、电子音乐、摇滚乐等。 Studio One的主要特点…

一文2000字从0到1手把手教你jmeter分布式压测

一、jmeter为什么要做分布式压测 jmeter本身的局限性 一台压力机的 Jmeter 支持的线程数受限于 Jmeter 其本身的机制和硬件配置(内存、CPU等)是有限的由于 Jmeter 是 Java 应用,对 CPU 和内存的消耗较大,在需要模拟大量并发用户…

论文中的算法/伪代码怎么写/理解

文章目录 第零步 基础知识第一步 创建latex文档,导入安装包第二步 写伪代码第三步 美化伪代码补充:latex无法显示中文 准备工作: overleaf:在线的latex文档编辑平台 algorithm2e:Latex的一个写算法的库 第零步 基础知识…

【树莓派 picamera】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言https://www.cnblogs.com/uestc-mm/p/7606855.html 一、picamera是什么?二、使用步骤1.引入库2.先要安装opencv 总结 前言 想用树莓派libcamera &a…

发货100虚拟商品自动发货系统存在SQL注入

漏洞描述 该系统存在SQL注入漏洞,可获取敏感信息及账号密码。 漏洞复现 构造SQL注入延时payload: M_id11%20AND%20(SELECT%208965%20FROM%20(SELECT(SLEEP(5)))sdhh)&typeproduct漏洞证明: 文笔生疏,措辞浅薄,…