四旋翼动力学、仿真和控制

译者注:本文原址:http://andrew.gibiansky.com/blog/physics/quadcopter-dynamics/

本文介绍了四旋翼的动力学和控制模型,并在matlab里进行仿真,对理解四旋翼的工作原理很有帮助。译者就读于北京航空航天大学航空科学与工程学院,转载请注明出处。

原文中只给出部分代码,且有些配置没有写明。译者对其进行了部分完善。完善部分以灰色字体标出。另外,由于本人知识水平和英语水平有限,翻译过程难免出现错误,敬请指正。

介绍

直升机是一种利用高速旋转的电机将气流向下压而提供推力并保持在空中的的飞行器。常规的直升机拥有两个电机。它们既可以配置在同一平面上共同提供升力,且转向相反(这是为了平衡飞行器上产生的力矩)。两个电机也可以配置为一个主电机用来提供升力而较小的一个配置在一旁专门平衡主电机桨产生的转矩。然而,这两种配置都需要很复杂的机械结构来控制飞行器的运动方向;主电机上必须有一个自动倾斜器用来改变主螺旋桨的攻角。为了产生一个力矩这个攻角的调节主要由两个电机在每个阶段的位置决定,因此在电机的一侧会有更多的升力产生。这种复杂的电机和自动倾斜器的设计容易产生机械故障,提高了结构成本和设计复杂度。

四旋翼直升机(四旋翼)拥有四个隔开的完全相同的电机,一般而言四个电机被安排在飞机的四个角落上。通过这四个相互独立的电机,自动倾斜器的需求就减轻了。自动倾斜器是为了使电机在角度上拥有更多的自由度,而同样级别的控制需求可以被增加的两个电机满足。

四旋翼的发展曾经一度止步不前,这是由于人们发现不利用电子设备而同时控制四个独立的电机非常困难。随着微处理器成本的降低,四旋翼通过电子设备进行控制甚至是完全自动控制变得可行,从而四旋翼可以应用在商业、军事甚至只是因为人们的兴趣上。

四旋翼的控制是一个既困难又有趣的问题。它拥有六个方向的自由度(三个位置坐标和三个角度坐标)却只有四个输入量(四个电机),是一个静不定系统。为了实现在六个方向上的运动,水平方向上的旋转和平移运动必须成对出现。因此四旋翼的动力学模型是强非线性的,尤其是在计及复杂的空气动力学影响以后。最后,不同于地面上的机器人,四旋翼拥有非常小的摩擦阻力,因此必须为他们提供阻尼从而使他们可以停止运动并保持稳定。综上所述,这些因素共同形成了一个有趣的控制难题。我们将建立一个简化的四旋翼动力学模型并为该模型设计一个控制器让我们的四旋翼能够按照指定轨道飞行,同时在使用数值仿真系统上对我们的控制器进行测试。

四旋翼动力学

时间: 2024-10-19 16:52:50

四旋翼动力学、仿真和控制的相关文章

四旋翼飞行器结构和原理

四旋翼飞行器结构和原理 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 前言:前年做电赛时留下的一套四旋翼飞行器如今只剩下四个旋翼和电机(不知道被谁给拆了,组装零件找不到了),趁着国庆几天假期,希望能够快速的将其重新DIY出来.其中控制和驱动板卡可以暂时先由面包板焊接出来,等验证成功能飞的起来时在重新设计集成电路板来实现整机. 旋翼的原理:升力的来龙去脉 这是空气动力学中的知识,研究的内容十分广泛,本文只关注通识理论,阐述对翼型升力和旋翼升力的原理. 翼

STM32四旋翼飞行器

这个飞控是基于STM32,整合了MPU6050,即陀螺仪和重力加速计,但没有融合电子罗盘: 这是飞控程序的控制流程(一个执行周期): 比较重要的地方: 1.i2c通信方式: STM32的开发库是带有i2c通信的相关函数的,但是我最后还是没有用这些函数. 我通过GPIO模拟i2c,这样也能获得mpu6050的数据,虽然代码多了一些,但是比较好的理解i2c的原理. STM32库实现的模拟i2c代码(注释好像因为编码问题跪了): /***********************************

基于STM32的四旋翼飞行器的设计与实现

针对四旋翼飞行控制器姿态数据测量易受干扰.算法实现及设计较为困难等问题,设计并实现了以高性价比的STM32F103VET6微处理器作为主控板的四 旋翼飞行器.选用六轴运动组件MPU6050.电子罗盘HMC5883L及气压计MS5611等传感器对飞行器姿态数据进行了实时采集,并结合卡尔曼滤波 方法对姿态数据进行了数据融合.在控制算法上采用了非线性双闭环PID来实现两组四个电机的转速控制,并通过遥控器对四旋翼飞行器的飞行姿态进行实时调 节.飞行试验表明:基于STM32F103VET6微处理器的四旋翼

蛋疼的四旋翼

自从智能车在省赛挂掉后,这个假期一直在搞四旋翼.这是一个比摄像头平衡小车更难控制的蛋痛玩意儿. 除开能够保持他平衡外,还要求巡线.限高.保持20s以上的悬停, 需要得到姿态角,这个我直接使用的MPU6050 DMP直接读取姿态,避免了用什么七姿态卡尔曼滤波云云带来的时间浪费,只需要做的就是DMP库的移植,并且测得的姿态角十分准确,即使如此也花了差不多两个月的时间,高度测量本来的打算是使用MS6511气压计,但是高速旋转的无刷电机带动的气流影响了他的温度测量和气压测量,导致测量值不够稳定,最后不得

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

四旋翼飞行器结构和原理 1.结构形式       旋翼对称分布在机体的前后.左右四个方向,四个旋翼处于同一高度平面,且四个旋翼的结构和半径都相同,四个电机对称的安装在飞行器的支架端,支架中间空间安放飞行控制计算机和外部设备.结构形式如图 1.1所示. .工作原理 四旋翼飞行器通过调节四个电机转速来改变旋翼转速,实现升力的变化,从而控制飞行器的姿态和位置.四旋翼飞行器是一种六自由度的垂直升降机,但只有四个输入力,同时却有六个状态输出,所以它又是一种欠驱动系统. 四旋翼飞行器的电机 1和电机 3逆时

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

因为最近在做四旋翼的项目.所以在网上查找了点资料,转了下面这篇关于四旋翼入门级的知识. 1.结构形式       旋翼对称分布在机体的前后.左右四个方向,四个旋翼处于同一高度平面,且四个旋翼的结构和半径都相同,四个电机对称的安装在飞行器的支架端,支架中间空间安放飞行控制计算机和外部设备.结构形式如图 1.1所示. .工作原理 四旋翼飞行器通过调节四个电机转速来改变旋翼转速,实现升力的变化,从而控制飞行器的姿态和位置.四旋翼飞行器是一种六自由度的垂直升降机,但只有四个输入力,同时却有六个状态输出,

[转]四旋翼飞行器 - 基于stm32

原文地址:http://www.cnblogs.com/moranBlogs/p/3684275.html 期待我也可以做出一个飞行器来!! 尝试制作这个四旋翼飞控的过程,感触颇多,整理了思绪之后,把重要的点一一记下来: 这个飞控是基于STM32,整合了MPU6050,即陀螺仪和重力加速计,但没有融合电子罗盘: 另外,四旋翼飞行器的运动方式请百度百科,不太复杂,具体不再赘述: 这是飞控程序的控制流程(一个执行周期): 比较重要的地方: 1.i2c通信方式: 因为我不是学电类专业,最开始对i2c这

2016.2.15 四旋翼相关资料

--------2016.2.15--------最近在玩儿四旋翼,所以相关的资料我会贴上来供需要的朋友参考,如果遇到了我们趟过的地雷就能够方便一些. 机架:F450我们之后由于要将NVIDIA的开发板和飞行器连在一起,所以从机架的选择上我们要慎重考虑,之前为了方便选的是F330,但是DJI正版的F330停产了,所以taobao的F330进行测试,经过测试发现F330相当脆弱,机架非常容易在后写撞击中折断,所以如果上面搭载NVIDIA的开发板的话,那么这样开发的成本太高,一旦炸机可能机毁板子亡,

CCNP路由实验之十四 路由器的訪问控制ACL

?? ACL(Access Control List,訪问控制列表) 是路由器接口的指令列表,用来控制port进出的数据包.ACL适用于全部的路由协议,如IP.IPX.AppleTalk等.这张表中包括了匹配关系.条件和查询语句,表仅仅是一个框架结构.其目的是为了对某种訪问进行控制.訪问控制列表使用包过滤技术,在路由器上读取第三层及第四层包头中的信息如源地址,目的地址,源port.目的port等,依据预先定义好的规则对包进行过滤.从而达到訪问控制的目的,该技术初期仅在路由器上支持.如今已经支持三