四旋翼飞行器旋转矩阵公式推导!

方法一:

1.在二维平面中:如下图所示,在xoy平面中有一向量op⃗ =(x,y)T,旋转ϕ角后变为向量op⃗ ′=(x′,y′)T。 
  


  据图可得: x=|op⃗ |cosθ;y=|op⃗ |sinθ ,经旋转 ϕ 角后有: 
   x′=|op⃗ |cos(θ+ϕ)=|op⃗ |(cosθcosϕ−sinθsinϕ)=xcosϕ−ysinϕ  
   y′=|op⃗ |sin(θ+ϕ)=|op⃗ |(sinθcosϕ+cosθsinϕ)=xsinϕ+ycosϕ;  
写成矩阵形式: 
   (x′y′)=(cosϕsinϕ−sinϕcosϕ)(xy)  
  2.在三维空间中:如下图所示,若以坐标系的三个坐标轴X、Y、Z分别作为旋转轴,则点实际上只在垂直坐标轴的平面上作二维旋转。 

  例:  op⃗  绕X轴旋转 ϕ 角,有: 
旋转前:  
旋转后:  
写成矩阵形式:  
则绕X轴旋ϕ角的旋转矩阵为:  Rx(ϕ)=(1000cosϕ−sinϕ0sinϕcosϕ)  
同理可得绕X、Y、Z轴旋转的不同角度的旋转矩阵(方向余弦矩阵)分别为: 

  最后,若 op⃗

绕某一定轴旋转,从欧拉定律中可知,绕着固定轴做一个角值的旋转,可以被视为分别以坐标系的三个坐标轴X、Y、Z作为旋转轴的旋转的叠加。

方法二:

一、先来个平面旋转的分析:

两角和(差)公式

推导

旋转变换一般是按照某个圆心点,以一定半径 旋转一定的角度α,为了简单起见我们给出下面的情景

假定点A(x,y)想经过旋转变换到达B(x',y'),已知旋转角度α和点A坐标,计算出点B


要计算点B则分别计算他的x'和y'分量

根据矩阵乘法计算规则,可以推出

只要给出旋转角度,计算出矩阵,然后使用这个矩阵分别左乘每一个点,就能计算出这个点旋转后的点坐标 这样我们就可以通过矩阵变换坐标了 

二、延伸到三维坐标:

坐标的旋转变换在很多地方都会用到,比如机器视觉中的摄像机标定、图像处理中的图像旋转、游戏编程等。

任何维的旋转可以表述为向量与合适尺寸的方阵的乘积。最终一个旋转等价于在另一个不同坐标系下对点位置的重新表述。坐标系旋转角度θ则等同于将目标点围绕坐标原点反方向旋转同样的角度θ。
若以坐标系的三个坐标轴X、Y、Z分别作为旋转轴,则点实际上只在垂直坐标轴的平面上作二维旋转。
假设三维坐标系中的某一向量,其在直角坐标系中的图如图1所示。其中点P在XY平面、XZ平面、YZ平面的投影分别为点M、点P、点N。
图1 直角坐标系XYZ
1、绕Z轴旋转θ角
绕Z轴旋转,相当于在XY平面的投影OM绕原点旋转,如下图所示,OM旋转θ角到OM'。
图2 向量绕Z轴旋转示意图
   设旋转前的坐标为,旋转后的坐标为,则点M的坐标为,点M'的坐标为。由此可得:
                                                       
    对于进行三角展开可得:
                                                      
且有;可得绕Z轴旋转角的旋转矩阵为:
2、绕X轴旋旋转θ角
绕X轴旋转,相当于在YZ平面的投影ON绕原点旋转,如下图所示,ON旋转θ角到ON'。
    
图3 向量绕X轴旋转示意图
设旋转前的坐标为,旋转后的坐标为,则点N的坐标为,点N'的坐标为。由此可得:
    对于进行三角展开可得:
且有;可得绕X轴旋转角的旋转矩阵为:
3、绕Y轴旋旋转θ角
绕Y轴旋转,相当于在XZ平面的投影OQ绕原点旋转,如下图所示,OQ旋转θ角到OQ'。
图4 向量绕Y轴旋转示意图
设旋转前的坐标为,旋转后的坐标为,则点Q的坐标为,点Q'的坐标为。由此可得:
    对于进行三角展开可得:

且有;可得绕Y轴旋转角的旋转矩阵为:

4、绕X、Y、Z轴旋转的旋转矩阵分别为:

四旋翼飞行器旋转矩阵公式推导!相关推荐

  1. 四旋翼飞行器控制模型公式推导

    四旋翼飞行器控制模型 为便于建立模型,现对四旋翼飞行器进行以下假设: 1.四旋翼飞行器是均匀对称的刚体 2.四旋翼飞行器的质量和转动惯量不发生改变 3.四旋翼飞行器的几何中心与其重心重合 4.四旋翼飞 ...

  2. GD32F103+MPU9150四旋翼飞行器第一步:姿态融合算法

    前言: 相比直升机来说,四旋翼乃至多旋翼飞行器的机械结构简单,操控灵活,飞行稳定,体积也能做的更小,当然也能更大,它将直升机复杂的机械结构设计难度转化到了电子电路和算法上面,因此四旋翼飞行器的设计更容 ...

  3. 四旋翼飞行器的研究方向

    毕业设计选的四旋翼飞行器设计的题目,顺便了解了下四旋翼飞行器有哪些值得研究的点. 四旋翼飞行器在高空检测(如电线,桥梁),灾害搜救,娱乐以及军事上都会有应用.相关研究的点也有很多,主要有飞行器的姿态估 ...

  4. 【飞控理论】四旋翼飞行器控制原理

    该篇博客是对锡月科技无人机飞行控制原理教学内容的整理 1.四旋翼飞行器的两种结构: "×"字模式: Pitch和 Roll与1,3.2,4两组电机呈 45°夹角 . "十 ...

  5. 四旋翼飞行器基本知识(四旋翼飞行器结构和原理+四轴飞行diy全套入门教程)

    转载两篇日志: 第一篇<四旋翼飞行器结构和原理> 第二篇<四旋翼飞行diy全套入门教程> =========================================== ...

  6. 四旋翼飞行器5——各类方案设计及参考

    下面几篇文章及资料是这两天看到的比较好的资源,可以多看看,对于新手来说,是个不错的提升自己的一些资料.可以分析每一种方案的特点,主控啊,传感器啊,不过到最后肯定要自己实践,才能得到最好的控制效果. 文 ...

  7. 四旋翼飞行器的原理研究和建模

    ##四旋翼飞行器的原理研究和建模 对四旋翼飞行器的工作原理进行了简单介绍,对其飞行姿态角进行描述,并在此基础上建立数学模型. 四旋翼飞行器的原理 根据四旋翼飞行器的运动方式的特点将其飞行控制划分为四种 ...

  8. (转)四旋翼飞行器基本知识

    因为最近在做四旋翼的项目.所以在网上查找了点资料,转了下面这篇关于四旋翼入门级的知识. 1.结构形式        旋翼对称分布在机体的前后.左右四个方向,四个旋翼处于同一高度平面,且四个旋翼的结构和 ...

  9. 四旋翼飞行器轨迹跟踪仿真MATLAB simulink/simscape

    四旋翼飞行器轨迹跟踪仿真MATLAB simulink/simscape ID:6929669117089277

最新文章

  1. Camelyon Challenge: 癌症细胞区域检测竞赛
  2. docker 容器状态 restarting_20分钟极简入门Docker
  3. python 3列表推导式的的一点理解!
  4. should,would,could,must,might,may,can有什么区别
  5. 搭建K8s集群(kubeadm方式)-部署master节点
  6. 消息发送到消息接收的整体流程
  7. Linux mount 修改文件系统的读写属性
  8. javafx窗体程序_JavaFX真实世界应用程序:欧洲电视网广播联盟
  9. Makefile中自定义函数的调用
  10. python两个元组相加_《第5章 Python 列表与元组》5.1.3 序列相加(Adding)!
  11. ArrayDeque 双端队列
  12. 关于 IHTMLDocument4 在 Delphi7.0 中不能编译的的解决方法
  13. 115道Java面试题及答案分享,java程序员赶紧收好
  14. 利用电子邮件“钓鱼”的常见手段
  15. 利用重复性渐变编写邮件线
  16. ANSYS | 螺栓模拟
  17. arduino uno r3单片机封装图_Arduino教程 Lesson 1 驱动安装及下载Blink程序
  18. 论文翻译:2020_RNNoise:A Hybrid DSP/Deep Learning Approach to Real-Time Full-Band Speech Enhancement...
  19. 关于SEO(搜索引擎优化)的个人掌握知识分享
  20. Springboot+Netty搭建UDP客户端

热门文章

  1. shell脚本之nginx的安装
  2. 构建之法第三章软件工程师的成长
  3. Linux下安装jdk(xxx.rpm,非xxx.tar.gz,请注意!)过程
  4. 修复efi引导的win7
  5. 如何评估自己对外界认知是否正确?
  6. Hibernate 关联 set 和 list 对比
  7. UpdatePanel 后台注册脚本失效
  8. VS.NET 2005 SP1 安装注意
  9. LinDaiDai的 2019 面试准备
  10. 学习 Spring (十三) AOP 配置