四旋翼自主飞行器
本系统采用瑞萨公司生产的R5F100LEA 的微控制器作为四旋翼飞行器主控芯片。采用高灵敏度的反射式红外光电传感器进行轨迹识别;采用陀螺仪调整飞行器的姿态;采用超声波测距来控制飞行器的高度;使用了互补滤波器对陀螺测量误差进行矫正,采用基于欧拉角反馈的 PID 控制器进行姿态控制。
关键词:四旋翼飞行器 R5F100LEA 循迹 陀螺仪 超声波
一、系统方案
本系统的四旋翼飞行器是用玩具四轴飞行器改造而成,为了实现平衡、循线飞行等功能,要求对飞行器的控制要有足够的精度。对于精度的控制而言,合适的控制算法、反馈信号的精度、系统模型的准确度等都对系统的稳定性及控制精度起重要作用。 1. 飞机姿态调整方案论证与选择
方案一:采用倾角传感器。测量精度不够,反应速度不够快 方案二:采用陀螺仪。如今的陀螺仪应用广泛,它具有体积小、重量轻、成本低、功耗低、可靠性高、易于数字化、智能化等优点, 能够比较精确的感知飞机当前的飞行状态,从而反馈给控制系统,以便能及时调整,符合本系统的要求。
如上所述,本系统采用方案二,陀螺仪的低功耗、体积小、重量轻很好的适应了本系统。 2. 机翼电机的方案论证与选择
方案一:采用有刷电机。有刷电机具有启动快、制动及时、可在大范围内平滑地调速、控制电路相对简单等特点,但有刷电机使用时功耗大、转速低、寿命短、噪声大且极易磨损。
方案二:采用无刷电机。无刷电机的控制电路相对复杂,但无刷电机的功耗只有有刷电机1/3,寿命是有刷电机的4倍,转速也远高于有刷电机,且低噪音、低干扰且绝对无磨损。符合本系统的要求。
综上所述本系统采用无刷电机。
3. 飞机循黑线飞行的方案论证与选择
方案一:采用旋翼控制。该方案是控制旋翼的转速进而来控制飞行器的前进、后退和转向,可以有效的减少飞行器的重量,但控制难度大,实施困难。
方案二:通过摄像头采集道路信息,对采回的数据进行处理来分辨路径,根据路径采取不同的策略进行控制。但需要处理大量数据,软件编程复杂,并且摄像头受外界光线的影响较大,采集的数据可能不可靠。
方案三:采用M18光电传感器。
综上所述,由于旋翼控制难度大,本系统采用方案三。
3. 供电模块的方案论证与选择
方案一:
方案二:
二、控制理论分析与计算
1. 循黑线飞行原理
飞行器飞行过程中,安装的传感器检测到地面的黑线后给控制系统一个信号,通过控制该信号让飞机顺着黑线方向飞行。 2. 无刷直流电机控制原理
无刷直流电机是一种同步电动机,电机的转速受输入电压及所带负载的影响,要让无刷直流电机转动起来,首先必须能够根据霍尔元器件或者反馈电路感应到电机转子目前所在位置,然后换流器件使电流按一定的相序通过电机线圈,产生顺时针方向或者
逆时针方向旋转的电磁场。该旋转的电磁场将通过电磁力牵引转子转动。通过改变换流器件的占空比 3. 平稳飞行的控制算法
设计姿态求解器有效的融合陀螺仪,加速传感器的数据,输出的 姿态角动态误差小,能够满足小型四旋翼飞行器姿态控制的需求,飞行器姿态PID 控制器原理图如图1 (1)基于四元数的姿态解算的算法
姿态解算需要从姿态测量系统得到原始测量数据,首先获取初始姿态,然后使用四元数算法进行姿态更新,再将四元数转换为欧拉角,通过互补滤波器进行姿态矫正,最后将矫正后的欧拉角转换为四元数并将其规范化,进行下一次的姿态更新。 3. 1 初始姿态获取
使用欧拉角表示姿态,令 ψ、θ和φ代表ZYX 欧拉角,分别称为偏航角、俯仰角和横滚角. 载体坐标系下的加速度( a xB ,a yB ,a zB ) 和参考坐标系下的加速度( a xN ,a yN ,a zN ) 之间的关系可表示为式(1)其中 c 和 s 分别代表 cos 和 sin .
起飞前,飞行器处于静止状态,无法由陀螺得到初始姿态. 此时参考坐标系下的加速度等于重力加速度,即
a yN g
由以上可得初始偏航角ψ=arctg(myN /mxN ) ,其中参考坐标下的磁场强度为(m xN ,m yN ,m zN )。 3.2 四元素姿态更新
时间间隔。
3.2 互补滤波器数据融合
由于陀螺零点漂移和离散采样产生的累积误差,由陀螺得到的四元数只能保证短期的精度,需要使用加速度计和磁力计对其进行矫正,下标e 代表经互补滤波器的矫正后的欧拉角估计值。
其中Δt代表陀螺采样
(2)PID 控制算法
以姿态欧拉角的期望值与计算值之差作为 PID 控制器的
输入,通过PID 进行精确控制电机转速,使电机的实际转度跟设置速度相差甚小,从而控制飞行器稳速飞行。
图1 飞行器姿态PID 控制器原理图
三、电路与程序设计
本系统以基于瑞萨的控制器R5F100LEA 为控制核心。
1. 硬件电路设计 (1)系统原理框图
本系统采用R5F100LEA 单片机作为控制核心,光电传感器和陀螺仪反馈运行状态,旋翼的无刷电机构成执行部分,1602液晶显示器部分构成智能控制。系统框图如图2所示。
图2系统框图
(2)循黑线飞行模块设计
通过 对黑线的感应来进行循迹,将感应信号传输给处理器,从而控制飞行器按照黑线直飞到另一区 (3)平衡模块设计 如图3所示 (4)电调驱动模块 2. 软件程序设计 (1)程序功能描述 (2)程序流程图
四、测试与结果分析
1. 测试方案
(1)把四旋自主飞行器摆放在布置的飞行区域A 区,启动飞机起飞,飞机飞过示高线降落到B 区,记录这个过程的飞行时间T(a→b) ,再把四旋自主飞行器摆放在布置的飞行区域B 区,启动飞机起飞,飞机飞过示高线降落到A 区,记录这个过程的飞行时间
T(b→a) 。将记录的数据填入表一
表一
(2)飞行器摆放在A 区,并在飞行器下面放一薄铁片,起飞后 让飞行器拾取铁片起飞,飞向B 区后将铁片投放到B 区后再返回A 区降落并停机,记录这个过程的往返飞行时间,将记录数据填入表二。
表二
2. 测试条件
(1)按照竞赛试题中的飞行区域俯视图和立体图布置飞行区域 (2)采用重量轻的12V 锂电池供电,已尽可能减轻飞机的重量 (3)飞机起飞后人为不在干预。 3. 测试结果及分析
通过上述测试数据,由此可以得出以下结论:
(1) (2)
五、总结
设计了一种四旋翼自主飞行器,以模块化设计思想给出了 四旋翼飞行器的整体设计框架,以及飞行器姿态解算过程,对陀螺测量误差使用互补滤波器进行矫正,提出了互补滤波器融合系数的确定方法,介绍了 PID 姿态控制器的原理 并对硬件进行了调试,从中取得的数据进行了进一步的分析。