四旋翼无人机数学模型推导
本周开始进行四旋翼无人机的学习工作,首先来进行四旋翼无人机的数学模型推导工作。。
四旋翼动力学数学模型
坐标变换
介绍四旋翼数学模型之前,首先引入坐标变换的概念,定义两个坐标系惯性坐标系{E},以及机体坐标系{B},惯性坐标系就相当于在地面建立的、静止不动的坐标系,也是我们操纵无人机所在的空间,而机体坐标系是建立于四旋翼机体之上,随着四旋翼姿态变换而变化,所以建立一种地面上的惯性坐标系与四旋翼机体坐标系之间的转换关系,就有这个必要。
对于惯性坐标系{E},以及机体坐标系{B},它们之间的转换关系或者说旋转矩阵是:
这个旋转矩阵在接下来的数学模型推导中会反复使用。
四旋翼移动方程
四旋翼的姿态也分为移动和转动两个部分,首先推导移动部分运动学方程:
根据牛顿运动学定律有:
其中等式左边是无人机旋翼升力,注意这个式子是在惯性坐标系下定义,所以重力部分只在惯性坐标系Z轴上产生。
等式右边自然是重力乘以加速度(位置的二阶导数)
定义机体坐标系下升力虚拟控制量U1,
因为是在机体坐标系下定义,所以升力自然只作用于机体的Z轴方向,那么怎么将机体坐标系下的升力转换到惯性坐标系下呢,这就用到了前面提到的旋转矩阵,左乘旋转矩阵,将机体坐标系的升力变换为惯性坐标系下的升力。其中Tx、Ty、Tz是惯性坐标系X、Y、Z轴上升力分量,在转动部分模型推导中会用到它们。
有了和的表达式,将它们代入牛顿运动学定律之中,简单移项,就得到了四旋翼位置二阶导数的表达式。
注意,四旋翼平移运动方程中,位置变化作为输出量,但是却含有转动部分的参数,四旋翼无人机也是一种典型的欠驱动系统,即用四个输入(四个旋翼的角速度)去控制六个自由度(移动三个,转动三个)。
四旋翼转动方程
定义机体(质量分布均匀对称)的转动惯量
一般Ix=Iy;
根据刚体转动定律:
其中:
得到:
在四旋翼姿态变化不大的情况下认为;
得到:
根据力学原理:
定义其中U2、U3、U4为横滚角、俯仰角、偏航角虚拟控制量:
和前文式子再进行联立得到:
于是得到转动方程:
这样和之前得到的四旋翼移动方程进行组合得到四旋翼整体的动力学模型:
四旋翼无人机数学模型推导相关推荐
- 【UAV】从单个螺旋桨到四旋翼无人机运动学分析
文章目录 1 单个螺旋桨受力分析 2 坐标变化 3 四个螺旋桨对无人机的影响 3.1 旋翼对位置的影响 3.2 旋翼对姿态角影响 4 机体坐标下的输出量 5 位置变量转换到世界坐标系 6 简化分析 1 ...
- Backstepping反步法控制四旋翼无人机(一)
目录 四旋翼基本参数 基本假设 转换矩阵 基本方程 线性化 综合 四旋翼基本参数 四旋翼作为一种可以在空间中自由飞行的无人飞行器,具有6个自由度和4个螺旋桨.其中,4个螺旋桨提供动力,作为四旋翼的动力 ...
- 四旋翼无人机动力学模型及控制
四旋翼无人机动力学模型及控制 I: 欧拉角与旋转矩阵 Overview 欧拉角与旋转矩阵 Body Frame Angular Velocity and [ ϕ ˙ , θ ˙ , ψ ˙ ] T [ ...
- 四旋翼无人机建模与实现(一)
四旋翼无人机建模与实现(一) 本文是对GitHub上的一个开源的四旋翼无人机建模与编程实现的学习笔记,因为原作者的文档使用英文写的,花了很长的时间才看懂,因此,我觉得用自己的语言将这个开源项目分享出来 ...
- Robotics: Aerial Robotics(空中机器人)笔记(二):如何设计一架四旋翼无人机
在这一章里,我们将探索四旋翼如何飞行的. 这章将会讲一些基本的力学原理以及如何设计无人机. 上一章链接: Robotics: Aerial Robotics(空中机器人)笔记(一): Introduc ...
- 四旋翼无人机建模与实现(三)
四旋翼无人机建模与实现(三) 本文是对GitHub上的一个开源的四旋翼无人机建模与编程实现的学习笔记,因为原作者的文档使用英文写的,花了很长的时间才看懂,因此,我觉得用自己的语言将这个开源项目分享出来 ...
- 四旋翼无人机建模与实现(二)
四旋翼无人机建模与实现(二) 本文是对GitHub上的一个开源的四旋翼无人机建模与编程实现的学习笔记,因为原作者的文档使用英文写的,花了很长的时间才看懂,因此,我觉得用自己的语言将这个开源项目分享出来 ...
- 基于STM32F407四旋翼无人机---AK8975磁力计(四)
基于STM32F407四旋翼无人机---AK8975磁力计(四) 磁力计基本介绍 1.2.磁力计原理图 2.磁力计数据获取 3.磁力计椭球拟合校准 3.1.简单介绍椭球拟合 磁力计基本介绍 该模块采用 ...
- 基于STM32的四旋翼无人机项目(二):MPU6050姿态解算(含上位机3D姿态显示教学)
前言:本文为手把手教学飞控核心知识点之一的姿态解算--MPU6050 姿态解算(飞控专栏第2篇).项目中飞行器使用 MPU6050 传感器对飞行器的姿态进行解算(四元数方法),搭配设计的卡尔曼滤波器与 ...
- 四旋翼无人机Matlab建模
本文主要分享一下四旋翼无人机的建模过程,然后在Matlab的simulink模块搭建起四旋翼无人机的模型,本篇文章主要参考了康日晖的<四旋翼无人机建模>与南京邮电大学周帆同学的硕士毕业论文 ...
最新文章
- Linux安装配置Redis CentOS 7 下安装Redis
- 史上最全!用Pandas读取CSV,看这篇就够了
- php mirror怎么安装,如何安装Composer配置国内Packagist镜像
- 接入Google Play SDK
- 帝国列表页分开调取年份和月份单独调用的方法?
- java bean 动作标签_jsp:javabean动作标签实例
- idea报错 IDEA:clear read-only status
- AD9361 补充(中)
- 施耐德c语言编程软件,施耐德PLC讲座 IEC语言梯形图
- Ubuntu16.04 与Movidius Neural Compute Stick配置
- php 输出html 总结
- Python笔记001-类的特殊方法
- 娑罗双树,半枯半荣,娑罗花开,盛者必衰
- 奇偶归一猜想(多组数据)——又称为3n+1猜想、冰雹猜想、角谷猜想
- H106OJ | 第二次练习(查找)
- 书法特征提取matlab,基于深度学习的软笔书法临摹评价方法与流程
- DOM基础详细 包含多个案例
- ffmpeg+nginx+dash调用摄像头直播
- 多行文本溢出显示省略号(…) +css样式
- diag()函数功能
热门文章
- 青年与计算机比赛,我市首届青少年电脑机器人竞赛精彩上演
- java aspose 导出word_使用Aspose.word导出word报告
- 铭soft理解图5.0
- 火灾报警管理系统java,火灾报警系统开题报告
- java取万位的值,Excel中表格数值进行取万位整数的操作方法
- c语言十六进制字符串求和,一串十六进制求和软件 两个十六进制怎么相加的
- 关于unity打包apk在手机上安装失败(-108)
- NVME(SATA)固态硬盘按装win7/10
- JavaEE - 数组
- 大专计算机考试题,大专计算机考试试题.doc