欧拉角速率与机体角速度转换详细推导
根据旋转矩阵及绕各个轴旋转的角速度,推导机体角速度
旋转矩阵
旋转矩阵还不清楚的同学去看我的另一篇博客,这里咱们废话不多说,旋转矩阵已知
欧拉角
大家一定要记住欧拉角是有顺序的!!!这是咱们推导出机体角速度的关键
这里按照比较常用的顺序,先绕ZZZ轴旋转q6q_6q6度,再绕YYY轴旋转q5q_5q5度,最后绕XXX轴旋转q4q_4q4度
推导机体角速度
机体旋转角速率为:
ωb=[ωxb,ωyb,ωzb]T\omega _b=[\omega _{x_b},\omega_{y_b},\omega_{z_b}]^Tωb=[ωxb,ωyb,ωzb]T
列向量中的三个元素分别是角速度绕XXX轴旋转的分量、绕YYY轴旋转的分量、绕ZZZ轴旋转的分量
重点来了:
如果此时物体仅仅绕Z轴发生了一次旋转那么毫无疑问,角速率表达式如下:
[ωxbωybωzb]=[00q6˙]\begin{bmatrix} \omega_{x_b} \\ \omega_{y_b} \\ \omega_{z_b} \\ \end{bmatrix}= \begin{bmatrix} 0 \\ 0 \\ \dot{q_6} \\ \end{bmatrix} ⎣⎡ωxbωybωzb⎦⎤=⎣⎡00q6˙⎦⎤
但是旋转不同于平动,旋转一定有顺序,所以当机体先绕ZZZ轴旋转,后绕YYY轴旋转时,此时绕ZZZ轴旋转的角度也发生了改变,改变多少可以通过旋转矩阵获得,所以此时,角速率的表达式如下:
[ωxbωybωzb]=R5⋅[00q6˙]+[0q5˙0]\begin{bmatrix} \omega_{x_b} \\ \omega_{y_b} \\ \omega_{z_b} \\ \end{bmatrix}=R_5\cdot \begin{bmatrix} 0 \\ 0 \\ \dot{q_6} \\ \end{bmatrix}+ \begin{bmatrix} 0 \\ \dot{q_5} \\ 0 \\ \end{bmatrix} ⎣⎡ωxbωybωzb⎦⎤=R5⋅⎣⎡00q6˙⎦⎤+⎣⎡0q5˙0⎦⎤
其中R5R_5R5是机体绕YYY轴旋转q5q_5q5度的旋转矩阵,表达式如下:
R5=[cosq50−sinq5010sinq50cosq5]R_5= \begin{bmatrix} \cos q_5 & 0 & -\sin q_5 \\ 0 & 1 & 0 \\ \sin q_5 & 0 & \cos q_5\\ \end{bmatrix} R5=⎣⎡cosq50sinq5010−sinq50cosq5⎦⎤
同理,在此基础上再进行最后一步旋转,即绕XXX轴旋转q4q_4q4度,机体角速率的表达式如下:
[ωxbωybωzb]=R4⋅R5⋅[00q6˙]+R4⋅[0q5˙0]+[q4˙00]\begin{bmatrix} \omega_{x_b} \\ \omega_{y_b} \\ \omega_{z_b} \\ \end{bmatrix}=R_4\cdot R_5\cdot \begin{bmatrix} 0 \\ 0 \\ \dot{q_6} \\ \end{bmatrix}+R_4\cdot \begin{bmatrix} 0 \\ \dot{q_5} \\ 0 \\ \end{bmatrix}+ \begin{bmatrix} \dot{q_4} \\ 0 \\ 0 \\ \end{bmatrix} ⎣⎡ωxbωybωzb⎦⎤=R4⋅R5⋅⎣⎡00q6˙⎦⎤+R4⋅⎣⎡0q5˙0⎦⎤+⎣⎡q4˙00⎦⎤
其中R4R_4R4是机体绕XXX轴旋转q4q_4q4度的旋转矩阵,表达式如下:
R4=[1000cosq4sinq40−sinq4cosq4]R_4= \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos q_4 & \sin q_4 \\ 0 & -\sin q_4 & \cos q_4\\ \end{bmatrix} R4=⎣⎡1000cosq4−sinq40sinq4cosq4⎦⎤
由机体角速率一般表达式继续推导
R4⋅R5⋅[00q6˙]=[00−sinq500sinq4⋅cosq500cosq4⋅cosq5]⋅[00q6˙]=A⋅BR_4\cdot R_5\cdot \begin{bmatrix} 0 \\ 0 \\ \dot{q_6} \\ \end{bmatrix}= \begin{bmatrix} 0 & 0 & -\sin q_5 \\ 0 & 0 & \sin q_4\cdot \cos q_5 \\ 0 & 0 & \cos q_4\cdot \cos q_5\\ \end{bmatrix}\cdot \begin{bmatrix} 0 \\ 0 \\ \dot{q_6}\\ \end{bmatrix}= A\cdot B R4⋅R5⋅⎣⎡00q6˙⎦⎤=⎣⎡000000−sinq5sinq4⋅cosq5cosq4⋅cosq5⎦⎤⋅⎣⎡00q6˙⎦⎤=A⋅B
R4⋅[0q5˙0]=[0000cosq400−sinq40]⋅[0q5˙0]=M⋅NR_4\cdot \begin{bmatrix} 0 \\ \dot{q_5} \\ 0\\ \end{bmatrix}= \begin{bmatrix} 0 & 0 & 0 \\ 0 & \cos q_4 & 0 \\ 0 & -\sin q_4 & 0 \\ \end{bmatrix}\cdot \begin{bmatrix} 0 \\ \dot{q_5} \\ 0\\ \end{bmatrix}=M\cdot N R4⋅⎣⎡0q5˙0⎦⎤=⎣⎡0000cosq4−sinq4000⎦⎤⋅⎣⎡0q5˙0⎦⎤=M⋅N
[q4˙00]=[100000000]⋅[q4˙00]=P⋅Q\begin{bmatrix} \dot{q_4} \\ 0 \\ 0\\ \end{bmatrix}= \begin{bmatrix} 1 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \\ \end{bmatrix}\cdot \begin{bmatrix} \dot{q_4} \\ 0 \\ 0\\ \end{bmatrix}=P\cdot Q ⎣⎡q4˙00⎦⎤=⎣⎡100000000⎦⎤⋅⎣⎡q4˙00⎦⎤=P⋅Q
由上述矩阵形态可以发现(A+M+P)⋅(B+N+Q)=A⋅B+M⋅N+P⋅Q(A+M+P)\cdot (B+N+Q)=A\cdot B+M\cdot N+P\cdot Q(A+M+P)⋅(B+N+Q)=A⋅B+M⋅N+P⋅Q其他项均等于000
所以机体角速率的最终表达式如下:
[ωxbωybωzb]=(A⋅B+M⋅N+P⋅Q)=(A+M+P)⋅(B+N+Q)\begin{bmatrix} \omega_{x_b} \\ \omega_{y_b} \\ \omega_{z_b} \\ \end{bmatrix}=(A\cdot B+M\cdot N+P\cdot Q)=(A+M+P)\cdot (B+N+Q) ⎣⎡ωxbωybωzb⎦⎤=(A⋅B+M⋅N+P⋅Q)=(A+M+P)⋅(B+N+Q)
[ωxbωybωzb]=[10−sinq50cosq4sinq4⋅cosq50−sinq4cosq4⋅cosq5]⋅[q4˙q5˙q6˙]\begin{bmatrix} \omega_{x_b} \\ \omega_{y_b} \\ \omega_{z_b} \\ \end{bmatrix}= \begin{bmatrix} 1 & 0 & -\sin q_5 \\ 0 & \cos q_4 & \sin q_4\cdot\cos q_5 \\ 0 & -\sin q_4 & \cos q_4\cdot\cos q_5 \\ \end{bmatrix}\cdot \begin{bmatrix} \dot{q_4} \\ \dot{q_5} \\ \dot{q_6} \\ \end{bmatrix} ⎣⎡ωxbωybωzb⎦⎤=⎣⎡1000cosq4−sinq4−sinq5sinq4⋅cosq5cosq4⋅cosq5⎦⎤⋅⎣⎡q4˙q5˙q6˙⎦⎤
欧拉角速率与机体角速度转换详细推导相关推荐
- 欧拉角变化率和机体角速度的关系
写在前面:这篇blog中如果有阐述或理解不对的地方请大佬在评论区批评指正,我将及时改正错误,谢谢!!! 首先需要介绍一下建立无人机数学模型时常说欧拉角.我的理解是:机体坐标系转换到惯性坐标系时每个坐标 ...
- 欧拉角速度和机体角速度
和分别表示惯性系S下的位置和姿态,和分别表示机体系下的线速度和角速度,则无人机在惯性系下的位移与机体系下的线速度关系 表示机体系到惯性系的旋转矩阵. 为了得到姿态角变化率与绕机体轴三个角速度间的转换关 ...
- 欧拉角速度与角速度的关系推导——欧拉运动方程
欧拉角速度与角速度的关系推导--欧拉运动方程 最近研究欧拉角速度与角速度之间的关系,特别折磨,网上的资料要不就是地理学的进动--章动--自转那一套欧拉角与角速度的关系,要不就是陀螺仪那一套欧拉角与角速 ...
- 姿态角速度和机体角速度,横摆角速度(Yaw Rate)估算
matlab代码 姿态角速度是相当于世界坐标系的,转换到机体角速度 function A = w2Datti( o,atti )%输入:姿态角(pitch, roll, yaw)-Y-X-Z%输出:姿 ...
- 无人机的微分平坦性详细推导+Mini snap
无人机的微分平坦性详细推导 目标:将无人机的状态一个12维的向量用4维表示 即将无人机的位置,方向,速度和角速度用位置(X,Y,Z)和绕z轴的ψ\psiψ角表示 1.无人机非线性动力学 2.机体坐标系 ...
- 图像处理——几种简单的旋转变换的超详细推导过程(点在同一坐标系的变换)(一)
图像处理--几种简单的旋转变换的超详细推导过程(同一坐标系)(一) 本文主要推导了二维和三维坐标系中的绕点和绕轴的旋转变换,推导过程比较详细,希望可以给大家提供一些帮助. 一.绕原点的旋转(二维) 二 ...
- 【自动驾驶】欧拉角和旋转矩阵之间的转换
欧拉角和旋转矩阵之间的转换 在使用Eigen时,经常会遇到旋转矩阵,旋转向量,四元数,欧拉角之间的两两相互转换.这里最常见.最容易出错的是欧拉角和旋转矩阵之间的相互转换.下面就欧拉角和旋转矩阵之间的转 ...
- python 高斯烟羽模型_GPR(高斯过程回归)详细推导
GPR(高斯过程回归)详细推导 一.综述 GPR来源于线性模型,有两种方式可以推导出GPR,一种是weight space view,另外一种是function space view.两者考察方式假设 ...
- HanLP极致简繁转换详细讲解
HanLP极致简繁转换详细讲解 谈起简繁转换,许多人以为是小意思,按字转换就行了.事实上,汉语历史悠久,地域复杂,发展至今在字符级别存在"一简对多繁"和"一繁对多简&qu ...
最新文章
- 下列设备中 微型计算机系统必须具备的是,计算机应用基础题库
- HBase get查询命令及VERSIONS版本
- 三十二、VsCode前端的开发工具介绍和使用
- 大话设计模式—适配器模式
- 手机知识:手机的快充技术是什么,看完本文你就明白了!
- 前后端分离架构一直没机会实战?1周完成Vue+Core WebApi移动商城实战(含源码)!...
- WIN10 查看已经连接的wifi的密码
- 深入了解Kubernetes REST API的工作方式
- sql语法:inner join on, left join on, right join on具体用法
- JMS 消息传送模式、消息签收以及spring jmsTemplate配置
- 华东师范大学2017年数学分析考研试题
- 前馈神经网络——神经元
- 用各种编程语言写七夕情书
- UDIMM、RDIMM、SODIMM区别
- 基于嵌入式设备的 单目标跟踪算法
- 私募量化策略超额收益来源分析
- Dijkstra——最短路径路由算法java实现
- 开发、测试、测试开发
- epic游戏平台如何启用认证器应用程序(双重认证)/二次验证码/谷歌身份验证器?
- Android 最小化界面