绕x轴旋转(正向和反向),即可实现飞行器的滚转运动。
图3 四旋翼飞行器滚转运动
偏航运动,如图4,四旋翼飞行器偏航运动可以借助旋翼产生的反扭矩来实现。旋翼转动过程中由于空气阻力作用会形成与转动方向相反的反扭矩,为了克服反扭矩带来的影响,可使四个旋翼中的两个正转,两个反转,且对角线上的各个旋翼转动方向相同。反扭矩的大小与旋翼转速有关,当四个电机转速相同时,四个旋翼产生的反扭矩相互平衡,四旋翼飞行器不发生转动;当四个电机转速不完全相同时,不平衡的反扭矩会引起四旋翼飞行器转动。在图4中,当电机1和电机3的转速上升,电机2和电机4的转速下降时,旋翼1和旋翼3对机身的反扭矩大于旋翼2和旋翼4对机身的反扭矩,机身便在富余反扭矩的作用下绕z轴转动,实现飞行器的偏航运动,转向与电机1、电机3的转向相反。
第 6 页 共 6 页
图4 四旋翼飞行器偏航运动
前后运动,如图5,要想实现飞行器在水平面内前后、左右的运动,必须在水平面内对飞行器施加一定的力。在图5中,增加电机3转速,使拉力增大,相应减小电机1转速,使拉力减小,同时保持其它两个电机转速不变,反扭矩仍然要保持平衡。按图2的理论,飞行器首先发生一定程度的倾斜,从而使旋翼拉力产生水平分量,因此可以实现飞行器的前飞运动。向后飞行与向前飞行正好相反。当然在图2图3中,飞行器在产生俯仰、翻滚运动的同时也会产生沿x、y轴的水平运动。
图5 四旋翼飞行器前后运动
侧向运动,如下图6,由于结构对称,所以侧向飞行的工作原理与图5中前
第 7 页 共 7 页
后运动的原理完全一样。
图6 四旋翼飞行器前后运动 2.2飞行器控制算法的分析与计算
旋转矩阵、欧拉角与四元数姿态表示方法广泛应用于动力学方程中,而欧拉角和四元数表示方法比起旋转矩阵具有节省存储空间和方便插值的优点。欧拉角表示方法具有简洁、几何意义明显等特点,同时姿态敏感器可以直接测出这些参数,能较为方便解用这些姿态参数描述的姿态动力学方程,但是采用欧拉角的姿态描述方法存在奇点问题,且需要大量的三角运算。而采用四元数表示方法可以避免这些问题,并且还提供了平滑插值,所以目前很多工程中选用四元数来描述飞行器运动及动力学方程中的姿态,但在设计控制规律时,仍然采用欧拉角描述。所以控制算法采用欧拉角与四元数相互结合相互转化的方法来实现,积分和修正用四元数算法(因为运算量较少、无奇点误差),最后用欧拉角输出控制PID(因为角度比较直观)。
第 8 页 共 8 页
图7 欧拉角示意图
定义ψ、θ、φ分别为绕Z轴、Y轴、X轴的旋转角度(即为欧拉角表示),如果用Tait-Bryan angle表示,分别为Yaw、Pitch、Roll。
图8 四元数示意图
四元数的定义如下:w?cos(?/2)
Tq??w x y z?,q?w2?x2?y2?z2?1
2通过旋转轴和绕该轴旋转的角度可以构造一个四元数:
w?cos(?/2);
x?sin(?/2)cos(?x);
y?sin(?/2)cos(?y);
z?sin(?/2)cos(?z)
欧拉角到四元数的转化:
第 9 页 共 9 页
?/2)?sin(?/2)sin(?/2)sin(??w??cos(?/2)cos(?/2)cos(?x??sin(?/2)cos(?/2)cos(?/2)?cos(?/2)sin(?/2)sin(?q??????y??cos(?/2)sin(?/2)cos(?/2)?sin(?/2)cos(?/2)sin(??????z??cos(?/2)cos(?/2)sin(?/2)?sin(?/2)sin(?/2)cos(四元数到欧拉角的转化:
22????arctan2(2(wx?yz),1?2(x?y))???????arcsin(2(wy?zx))? ???22??arctan2(2(wz?xy),1?2(y?z))???????/2)?/2)?? /2)??/2)?2.3数据融合的分析与计算
现在有了三两个传感器,都能在一定程度上测量角度关系,但是究竟用哪一个值才能准确表现出目前飞行器的姿态,由姿态传感器方案分析可知,应该在短时间内相信陀螺仪,隔一段时间后,读取加速度计的值,来校准陀螺仪的值。关于数据融合,也有很多方法,这里采用一种最为形象,贴切的,简单易懂的方法,互补滤波算法。
单轴融合原理如下图所示:
图9 单周数据融合示意图
通过上图可以看出,陀螺仪在融合后的角度基础上积分,然后与加速度计测量的角度融合,然后又提供给下一次积分,看起来更像一个反馈系统。
上面仅仅是单轴的融合,理解了单轴就可以结合四元数,得到3维的姿态融合。
全姿态融合原理如下图所示:
第 10 页 共 10 页