资讯

浅谈四旋翼无人机的运动模型和控制原理

转载 2020-05-19 09:28 雨飞工作室 来源:雨飞工作室

(一)四旋翼无人机是怎么火起来的?

2010年,AR.Drone横空出世;在AR.Drone的引领下,全球范围内都有一股将四旋翼商业化的热潮。2012年DJI相继推出了风火轮系列四旋翼机架、悟空四旋翼飞控和S800六旋翼飞行器。其实,2012年的时候,研发四旋翼产品的人们在热情之余也存有一丝迷茫:四旋翼飞行器是很好玩,但是它除了作为玩具之外,还有什么价值呢?就像AR.Drone被定义成玩具一样,DJI最早的多旋翼产品也被人定义成玩具、航模。这个问题在2013年得到了解答。随着DJI在2013年1月的推出Phantom,四旋翼飞行器市场的形势发生了巨大的变化。Phantom与AR.Drone一样控制简便,新手学习多半个小时就可以自由飞行;Phantom尺寸比AR.Drone大的多,抗风性更好,还具有内置GPS导航功能,可以在户外很大的范围内飞行;更重要的是,当时利用GoPro运动相机拍摄极限运动已经成为欧美国家的时尚,而Phantom提供了挂载GoPro的连接架,让用GoPro相机的人们有了从天空向下的拍摄视角。特别地,与传统的飞机和直升机航拍不同,多旋翼系统小巧灵活,能让拍摄者自由地控制角度和距离。就像iPhone重新定义了手机一样,我们也可以毫不夸张地说:Phantom+GoPro重新定义了航拍,也重新定义了相机。必须承认:四旋翼无人机成为航拍娇子要感谢大疆!

四旋翼采用了四个旋翼的机械结构,四个电机作为飞行的直接动力源,通过改变四个螺旋桨产生的升力来控制,结构和动力学特性得到了简化。如图(a)~图(d),四旋翼的前桨和后桨顺时针旋转,左右两桨逆时针旋转,这种反向对称结构代替了传统直升机尾旋翼。在飞行过程中,改变四个旋翼的转速,四旋翼将产生各种飞行姿态,使四旋翼向预定方向运动,完成任务。

四旋翼的地面坐标系和机体坐标系:

(1)俯仰角θ,机体轴OX与地面间的夹角。

(2)滚转角φ,机体轴OZ和包含机体轴OX间的夹角。

(3)偏航角ψ,机体轴OX在地面投影与地轴OgXg间的夹角。

(二)四旋翼无人机的运动原型

四旋翼飞行器结构模型如下:

推进器(1、3)、(2、4)为互相对称的两部分。通过改变推进器转子的旋转速度,会使飞行器产生升力,引起运动。因此,通过改变4个推进器的转动速度,我们可以控制飞行器的垂直起降运动。如果相反地控制(2、4)推进器的旋转速度,会引起滚转运动;如果相反地控制(1、3)推进器的旋转速度,会引起俯仰运动;要使飞行器产生偏航运动,则需要通过共同控制(1、2)和(3、4)推进器的旋转速度。

(1)垂向飞行:垂向飞行相对来说比较容易控制,控制方式如图(a),图中箭头的粗细代表旋翼转速大小。同时增加四个电机的输出功率,旋翼转速增加使得总的拉力增大,四旋翼无人机向上飞行;反之,同时减小四个电机的输出功率,旋翼转速下降,使得总的拉力减小,四旋翼无人机向下飞行。

(2)纵向飞行:纵向飞行控制方式如图(b)。增加后边电机的输出功率,旋翼转速增加使拉力增大,相应的减小前边电机的输出功率,使拉力减小。这样由于存在拉力差,机身会俯仰倾斜,从而使旋翼拉力产生水平分量,因此可控制无人机向前飞行。向后飞行与向前飞行正好相反。

(3)横向飞行:由于四旋翼无人机的结构对称性,横向飞行的控制方式和纵向飞行完全一样,参见图(c)。

(4)水平转动:四旋翼无人机的水平转动可以借助旋翼产生的反扭矩来实现。旋翼转动过程中由于空气阻力作用会形成与转动方向相反的反扭矩,常规的直升机为了平衡反扭矩的影响,需借助尾桨的作用来实现。四旋翼无人机为了克服反扭矩的影响,使其四个旋翼中的两个正转,两个反转,且对角线上的两个旋翼转动方向相同。反扭矩的大小与旋翼转速有关,当四个旋翼转速相同时,反扭矩互相平衡,无人机不发生转动;当四个旋翼转速不同时,不平衡的反扭矩会引起四旋翼无人机的水平转动。为了使四旋翼无人机按照期望方向作水平转动,可以同时增加一对同方向旋转的旋翼转速并减小另一对旋翼转速,且转速增加的旋翼转动方向与期望的水平转动方向相同。水平转动控制如图(d)。

(三)四旋翼无人机的控制原理

根据四旋翼的运动调节方式将四旋翼无人机划分为四种基本的飞行控制方式。

(1)垂直飞行控制;

(2)横滚控制;

(3)俯仰控制;

(4)偏航控制。

垂直飞行控制垂直飞行控制主要是控制飞机的爬升、下降和悬停(上图)。四旋翼处于水平位置,在垂直方向惯性坐标系同机体坐标系重合。同时增加或减小四个旋翼的转速,旋翼产生升力使得四旋翼上升某一飞行高度。悬停时,保持四个旋翼的转速相等,产生的合推力与重力相平衡,从而四旋翼在某一高度处于相对静止状态,姿态角为零。垂直飞行控制的关键是要稳定四个旋翼的转速,保持一致的变化量。
横滚控制横滚控制通过增加左边旋翼转速,使拉力增大,相应减小右边旋翼转速,使拉力减小,同时保持其它两个旋翼转速不变。这样由于存在拉力差,机身会俯仰倾斜,从而使旋翼拉力产生水平分量,向右运动。∆2=∆4时可控制四旋翼作侧向平飞运动。
俯仰控制俯仰控制在保持左右两个旋翼速度不变的情况下,增加上面旋翼的转速,并相应减小下面旋翼的转速,使得上下两面存在着拉力差,从而引起机身的倾斜,产生侧向的旋翼拉力,因此四旋翼做侧向飞行。
偏航控制偏航控制四旋翼为了克服反扭矩影响,四个旋翼中的两个顺时针转,两个逆时针转,且对角线上的两个旋翼转动方向相同。反扭矩的大小与旋翼转速有关,当四个旋翼转速不完全相同时,不平衡的反扭矩会引起四旋翼转动。同时增加一对同方向旋转的旋翼转速并减小另一对按相反方向旋转的电机转速,且转速增加的旋翼转动方向与四旋翼机身转动方向相反。中心控制模块即飞行控制系统的核心处理器,作为整个系统的核心控制部分,主要负责采集传感器检测的姿态角速率(俯仰角速率、横滚角速率和偏航角速率)、三轴的线加速度和航向信息并实时计算;根据检测的飞行信息,结合既定的控制命令改变飞行状态和下传飞行状态数据。

以四轴,X形状为例。为方便说明,把电机进行编号, 右下为9号,右上为10号,左下为11,左上为3号电机。

1、飞行器保持悬停,4个电机的转速保持一致,来使飞行器保持水平。

四个电机的转速=悬停油门。

2、当我们希望飞行器向右飞的时候,我们设定在第一种情况的基础上,增加左边两个电机(3,11)的转速,减小右边两个电机(9,10)的转速。

9号电机=悬停油门 -  右倾的量;

10号电机= 悬停油门 -  右倾的量;

11号电机 = 悬停油门 + 右倾的量;

3号电机= 悬停油门 + 右倾的量;

3、当我们希望飞行器向左飞的时候,上面公式依然成立,只不过右倾的量是负数了。

4、当我们希望飞行器向前飞的时候,我们要增加后面一组电机(11,9)的转速,减小前面一组电机(3,10)的转速。

9号电机=悬停油门  +  前飞的量;

10号电机= 悬停油门 -  前飞的量;

11号电机 = 悬停油门 +  前飞的量;

3号电机= 悬停油门 - 前飞的量;

5、飞行器向后飞的情况,上面公式依然成立,前飞的量为负数。

6、当我们希望飞行器顺时针旋转, 我们增加10号,11号 对角线两个电机的转速,减小3号,9号这条对角线电机的转速。

9号电机=悬停油门  -  旋转的量;

10号电机= 悬停油门 +  旋转的量;

11号电机 = 悬停油门 + 旋转的量;

3号电机= 悬停油门 - 旋转的量;

7、当我们希望飞行器逆时针旋转, 我们减小10号,11号对角线两个电机的转速,增加3号,9号这条对角线电机的转速。继续使用上面的公式。

8、最后,针对一个电机,它同时要负责前后左右和旋转的情况, 那它就叠加了4种情况下的值:

9号电机   = 悬停油门 -  右倾的量  +  前飞的量  -   旋转的量;

10号电机 = 悬停油门 -  右倾的量  -   前飞的量  +  旋转的量;

11号电机 = 悬停油门 + 右倾的量  +  前飞的量  +  旋转的量;

3号电机   = 悬停油门 + 右倾的量  -   前飞的量   -  旋转的量。

所以实现代码如下:

#define PIDMIX(X,Y,Z) rcCommand[THROTTLE] + axisPID[ROLL]*X + axisPID[PITCH]*Y + YAW_DIRECTION * axisPID[YAW]*Z

#ifdef QUADX  

motor[0] = PIDMIX(-1,+1,-1); //REAR_R  

motor[1] = PIDMIX(-1,-1,+1); //FRONT_R  

motor[2] = PIDMIX(+1,+1,+1); //REAR_L  

motor[3] = PIDMIX(+1,-1,-1); //FRONT_L

#endif

一切对称、不对称的多旋翼布局都基于此理论,可以参考上述说明推导出来。 

0 0

网友评论

取消