四旋翼飞行器产生基本动作的原理为:电机1和3逆时针旋转驱动两个正桨产生升力,电机2和4顺时针旋转驱动两个反桨产生升力。反向旋转的两组电机和桨使其各自对机身产生的转矩相互抵消,保证四个电机转速一致时机身不发生转动。电机1和4转速减小(增大),同时电机2和3转速增大(减小),产生向前(后)方向的运动。电机1和2转速减小(增大),同时电机3和4转速增大(减小),产生向左(右)方向的运动。四个电机转速同时增大(减小)产生向上(向下)的运动。对角线的电机一组转速增大,另一组转速减小产生自身旋转运动。
3.3互补滤波器数据融合 由于陀螺零点漂移和离散采样产生的累积误差,由陀螺得到的四元数只能保证短期的精度,需要使用加速度计和磁力计对其进行矫正。首先使用(9)将更新后的四元数转换为欧拉角,然后使用互补滤波器进行矫正,基本原理如图4所示,其公式表示为(10)。其中下标g代表由陀螺得到的欧拉角,下标a代表由加速度计得到的欧拉角,下标e代表经互补滤波器矫正后的欧拉角估计值。 静态时,使用公式(3)-(6)计算的欧拉角即可作为有效值。动态时,造成加速度计角度计算误差的因素有两个。一是电机和旋翼旋转时引起的振动,二是除重力之外的外力产生的加速度。振动通常可以使用低通滤波器进行处理。对于有外力加速度的情况,计算三轴加速度的合成量,并计算与重力加速度的比值,当比值处于规定区间内时,认为由加速度计算的欧拉角是可靠的,可用互补滤波器进行矫正。当比值在区间外时,认为外力加速度过大,由加速度计算的欧拉角不可靠,取消矫正,仅用陀螺计算的欧拉角进行四元数更新。互补滤波器融合系数k由(10)表示。 3.4规范化四元数 表征旋转的四元数应该是规范化四元数,但是由于计算误差等因素,计算过程中四元数会逐渐失去规范化特性,因此必须对四元数做规范化处理。使用互补滤波器矫正后的欧拉角,先由(7)转换为四元数,然后使用(11)对其进行规范化后再进行更新操作。