从角速度向量的角度理解姿态角速度和机体角速度的转换公式

ops/2024/9/25 1:40:01/

一、什么是姿态角速度

这是我从《多旋翼飞行器设计和控制》上截取的关于欧拉角的定义。无人机的姿态角速度即偏航角\psi、俯仰角\theta、滚转角\phi的一次导数,分别是\dot{\psi }\dot{\theta }\dot{\phi }

二、什么是机体角速度

这是我在网上随便找的图,展示了机体坐标系。这个坐标系与飞机固定连接,随飞机运动而运动,包括位移和姿态。

机体角速度,即是该瞬间飞机绕着x_{b}、 y_{b}z_{b}三条轴转动的角速度,角速度向量表示:

\omega =[\omega_{bx},\omega_{by},\omega_{bz}]^{T}

三、角速度向量

在理论力学中,我们定义向量a绕着三维空间中的轴b的转动角速度向量的方向与轴b一致,且符合右手螺旋法则。角速度向量的模等于角速度的绝对值,如下图所示:

且成立以下公式:

v=\omega \times a

这里,乘号表示向量叉乘。

四、角速度向量的分解

上面我们阐述了角速度向量的定义。角速度向量其实是可以被分解的,如下图所示,存在角速度\omega,这一瞬间,向量a绕着与角速度\omega向量重合的轴旋转。那么,向量a的旋转可以被拆为a绕着机体坐标系xyz三轴的旋转,并且绕着三轴的转动角速度分别是合角速度\omegaxyzi j k三轴的投影向量\omega_{x}\omega_{y}\omega_{z}

证明(说明)如下:

设角速度\omega向量满足:

\omega=[\omega_{x},\omega_{y},\omega_{z}]

则此时,向量a顶点的线速度满足:

v_{a}=\omega \times a=\begin{bmatrix} i & j & k\\ w_{x} & w_{y} & w_{z}\\ a_{x} & b_{y} & c_{z} \end{bmatrix}

注意,这里中括号表示的是行列式,i j k分别表示坐标系三轴单位向量。

如果角速度向量为[\omega_{x},0,0],那么其对应的线速度v_{ax}满足:

v_{ax}=[\omega_{x},0,0] \times a

同理,线速度v_{ay}v_{az}分别 满足:

v_{ay}=[0,\omega_{y},0] \times a

v_{az}=[0,0,\omega_{z}] \times a

根据向量叉乘的分配律,我们得到:

v_{a}=v_{ax}+v_{ay}+v_{az}

绕着某一轴(不与向量重合)旋转向量a,本质上是在不改变向量a长度的情况下对向量顶点的位移运动。(这个运动受到向量长度的约束,是二自由度的!)如果两种旋转方式对向量顶点的位移改变量是相同的,即两种旋转条件下向量顶点速度相同,那么,可以认为两种旋转运动等价

五、建立两种角速度的联系

搞清楚了上面这一点,建立姿态角速度和机体角速度的联系。以偏航角为例进行阐述,偏航角是绕着下图中a坐标系z轴的旋转。那么用旋转矩阵把该轴在机体坐标系中的向量求出来就行。该轴对应一个旋转,将其分解到机体坐标系的xyz三轴即可!那么就求出偏航角速度在机体坐标系中对应的角速度了!

 具体步骤我就不写了,把《多旋翼飞行器设计和控制》上相关阐述贴出来就行。

我们发现,偏航角的变化、俯仰角的变化、滚转角的变化分别是在k、n、b系中绕着一个坐标轴转动,下面这组方程就是将这三个旋转轴通过旋转矩阵全部放到机体坐标系中,从而求出了机体坐标系中的角速度!


http://www.ppmy.cn/ops/115553.html

相关文章

单样本Cellchat(V2)细胞通讯分析学习和整理

细胞通讯分析是一种研究不同细胞类型之间如何通过信号分子(如配体和受体)进行相互交流和调控的分析方法。它在揭示细胞间相互作用的机制,理解组织和器官如何协调运作方面具有重要意义。 细胞通讯分析的主要内容如下: 配体-受体相…

Innovus跑到中途想要更换library怎么办?

有的小伙伴在跑innovus时,可能会碰到library更新等问题。但此时,place已经跑完了,又不想重新跑,怎么办呢? 其实,每次保存的innovus database里面都有专门存放这些数据的文件。我们可以将其中一些setting文件…

Linux:进程(四)

目录 一、进程优先级 二、Linux调度与切换 1.背景 2.进程切换 3.Linux调度 一、进程优先级 背景:在计算机中,软硬件资源是有限的,而进程想要访问某一种资源,就得通过排队来保证访问资源的过程是有条不紊的。 Linux下对优先级…

软件设计师考试笔记

计算机系统知识 计算机硬件基础 1.1 计算机组成原理 • 中央处理器(CPU): o CPU是计算机的核心部件,负责执行指令并进行算术与逻辑运算。它由控制单元、运算单元和寄存器组组成。 o 控制单元(CU)&#xff…

kafka 生产者拦截器

生产者拦截器 kafka 消息发送到Broker 之前大概需要经过 生产者拦截器 、序列化器、分区器等一系列处理。本文主要介绍生产者拦截器 生产者拦截器可以在消息发送之前对消息进行拦截。它可以改变消息内容,包括key , value ,topic 等任何信息 通常不推荐修改key , to…

弹性负载均衡ELB 详解和设置方法

一、弹性负载均衡ELB 详解 1. 定义与概念 弹性负载均衡(Elastic Load Balancing,简称ELB)是一种将访问流量自动分发到多台云服务器的流量分发控制服务。它通过在多个后端服务器之间均衡分配请求,提高应用程序的可用性、可扩展性…

【Linux】环境部署kafka集群

目录 一、kafka简介 1. 主要特点 2.组件介绍 3.消息中间件的对比 二、环境准备 1.Java环境 2.Zookeeper环境 3.硬件环境集群 三、Zookeeper的集群部署 1.下载zookeeper 2.部署zookeeper集群 (1)node1节点服务器 (2)no…

如何查看Android设备的dpi

adb shell getprop ro.sf.lcd_density adb shell cat /system/build.prop > build_prop.txt shell cat system/build.prop 结果:参考: 如何查看Android设备的dpi_安卓 查看手机dpi-CSDN博客