根据旋转矩阵及绕各个轴旋转的角速度,推导机体角速度

旋转矩阵

旋转矩阵还不清楚的同学去看我的另一篇博客,这里咱们废话不多说,旋转矩阵已知

欧拉角

大家一定要记住欧拉角是有顺序的!!!这是咱们推导出机体角速度的关键
这里按照比较常用的顺序,先绕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=[cos⁡q50−sin⁡q5010sin⁡q50cos⁡q5]R_5= \begin{bmatrix} \cos q_5 & 0 & -\sin q_5 \\ 0 & 1 & 0 \\ \sin q_5 & 0 & \cos q_5\\ \end{bmatrix} R5​=⎣⎡​cosq5​0sinq5​​010​−sinq5​0cosq5​​⎦⎤​
同理,在此基础上再进行最后一步旋转,即绕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=[1000cos⁡q4sin⁡q40−sin⁡q4cos⁡q4]R_4= \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos q_4 & \sin q_4 \\ 0 & -\sin q_4 & \cos q_4\\ \end{bmatrix} R4​=⎣⎡​100​0cosq4​−sinq4​​0sinq4​cosq4​​⎦⎤​
由机体角速率一般表达式继续推导
R4⋅R5⋅[00q6˙]=[00−sin⁡q500sin⁡q4⋅cos⁡q500cos⁡q4⋅cos⁡q5]⋅[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​˙​​⎦⎤​=⎣⎡​000​000​−sinq5​sinq4​⋅cosq5​cosq4​⋅cosq5​​⎦⎤​⋅⎣⎡​00q6​˙​​⎦⎤​=A⋅B
R4⋅[0q5˙0]=[0000cos⁡q400−sin⁡q40]⋅[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​⎦⎤​=⎣⎡​000​0cosq4​−sinq4​​000​⎦⎤​⋅⎣⎡​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​⎦⎤​=⎣⎡​100​000​000​⎦⎤​⋅⎣⎡​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−sin⁡q50cos⁡q4sin⁡q4⋅cos⁡q50−sin⁡q4cos⁡q4⋅cos⁡q5]⋅[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​​​⎦⎤​=⎣⎡​100​0cosq4​−sinq4​​−sinq5​sinq4​⋅cosq5​cosq4​⋅cosq5​​⎦⎤​⋅⎣⎡​q4​˙​q5​˙​q6​˙​​⎦⎤​

欧拉角速率与机体角速度转换详细推导相关推荐

  1. 欧拉角变化率和机体角速度的关系

    写在前面:这篇blog中如果有阐述或理解不对的地方请大佬在评论区批评指正,我将及时改正错误,谢谢!!! 首先需要介绍一下建立无人机数学模型时常说欧拉角.我的理解是:机体坐标系转换到惯性坐标系时每个坐标 ...

  2. 欧拉角速度和机体角速度

    和分别表示惯性系S下的位置和姿态,和分别表示机体系下的线速度和角速度,则无人机在惯性系下的位移与机体系下的线速度关系 表示机体系到惯性系的旋转矩阵. 为了得到姿态角变化率与绕机体轴三个角速度间的转换关 ...

  3. 欧拉角速度与角速度的关系推导——欧拉运动方程

    欧拉角速度与角速度的关系推导--欧拉运动方程 最近研究欧拉角速度与角速度之间的关系,特别折磨,网上的资料要不就是地理学的进动--章动--自转那一套欧拉角与角速度的关系,要不就是陀螺仪那一套欧拉角与角速 ...

  4. 姿态角速度和机体角速度,横摆角速度(Yaw Rate)估算

    matlab代码 姿态角速度是相当于世界坐标系的,转换到机体角速度 function A = w2Datti( o,atti )%输入:姿态角(pitch, roll, yaw)-Y-X-Z%输出:姿 ...

  5. 无人机的微分平坦性详细推导+Mini snap

    无人机的微分平坦性详细推导 目标:将无人机的状态一个12维的向量用4维表示 即将无人机的位置,方向,速度和角速度用位置(X,Y,Z)和绕z轴的ψ\psiψ角表示 1.无人机非线性动力学 2.机体坐标系 ...

  6. 图像处理——几种简单的旋转变换的超详细推导过程(点在同一坐标系的变换)(一)

    图像处理--几种简单的旋转变换的超详细推导过程(同一坐标系)(一) 本文主要推导了二维和三维坐标系中的绕点和绕轴的旋转变换,推导过程比较详细,希望可以给大家提供一些帮助. 一.绕原点的旋转(二维) 二 ...

  7. 【自动驾驶】欧拉角和旋转矩阵之间的转换

    欧拉角和旋转矩阵之间的转换 在使用Eigen时,经常会遇到旋转矩阵,旋转向量,四元数,欧拉角之间的两两相互转换.这里最常见.最容易出错的是欧拉角和旋转矩阵之间的相互转换.下面就欧拉角和旋转矩阵之间的转 ...

  8. python 高斯烟羽模型_GPR(高斯过程回归)详细推导

    GPR(高斯过程回归)详细推导 一.综述 GPR来源于线性模型,有两种方式可以推导出GPR,一种是weight space view,另外一种是function space view.两者考察方式假设 ...

  9. HanLP极致简繁转换详细讲解

    HanLP极致简繁转换详细讲解 谈起简繁转换,许多人以为是小意思,按字转换就行了.事实上,汉语历史悠久,地域复杂,发展至今在字符级别存在"一简对多繁"和"一繁对多简&qu ...

最新文章

  1. 下列设备中 微型计算机系统必须具备的是,计算机应用基础题库
  2. HBase get查询命令及VERSIONS版本
  3. 三十二、VsCode前端的开发工具介绍和使用
  4. 大话设计模式—适配器模式
  5. 手机知识:手机的快充技术是什么,看完本文你就明白了!
  6. 前后端分离架构一直没机会实战?1周完成Vue+Core WebApi移动商城实战(含源码)!...
  7. WIN10 查看已经连接的wifi的密码
  8. 深入了解Kubernetes REST API的工作方式
  9. sql语法:inner join on, left join on, right join on具体用法
  10. JMS 消息传送模式、消息签收以及spring jmsTemplate配置
  11. 华东师范大学2017年数学分析考研试题
  12. 前馈神经网络——神经元
  13. 用各种编程语言写七夕情书
  14. UDIMM、RDIMM、SODIMM区别
  15. 基于嵌入式设备的 单目标跟踪算法
  16. 私募量化策略超额收益来源分析
  17. Dijkstra——最短路径路由算法java实现
  18. 开发、测试、测试开发
  19. epic游戏平台如何启用认证器应用程序(双重认证)/二次验证码/谷歌身份验证器?
  20. Android 最小化界面

热门文章

  1. Pytorch 单机多卡训练DDP
  2. 动手实践看懂深度学习的DP和DDP
  3. Extjs新手教程代码
  4. 【计算机图形学】流体模拟渲染基础
  5. winXPSP3的盘怎么装在VISTA系统里
  6. java 验证码突然不显示
  7. 华为云灾备解决方案,助力企业高效构建安全合规云灾备系统
  8. 微信营销分析之最有效的微信推广技巧
  9. If I Have One Million
  10. 承包了我今日笑点的AI“文心一言”,被质疑是“套壳”?