任丽莉,李申亮,杨凤滨,滕 悦,康 冰
(1.长春师范大学高性能计算中心,吉林长春130032; 2.吉林大学通信工程学院,吉林长春130022;3.中国石油辽阳石化公司,辽宁辽阳111003)
近年来,四旋翼飞行器逐渐成为航空学术研究中新的前沿和热点。四旋翼飞行器是一种能实现垂直起降的非共轴式多旋翼飞行器[1],可以只通过调节蝶形分布的四个旋翼的转速,实现对四旋翼飞行器飞行姿态的控制。由于不需要尾翼,四旋翼飞行器结构更加紧凑,四个旋翼的提升力比单旋翼更加均匀,因而飞行姿态更加稳定。另外,四旋翼飞行器还具有起飞要求低、可悬停等特点[2]。其典型代表分别是:瑞士洛桑联邦科技学院的OS4、宾夕法尼亚大学的HMX4和佐治亚理工大学的GTMARS[3]。地面控制系统是四旋翼飞行控制系统的重要组成部分,在数据接收、图像处理、任务规划等方面有着不可或缺的作用[4]。能够控制四旋翼定点精确降落的地面站系统在日后四旋翼的集群化管理方面有重要的作用。本系统综合了嵌入式控制、无线通讯、图像处理和自动控制等技术,可用于相关专业本科生的实验教学系统。
在专门的四旋翼调试场地进行四旋翼的试飞和调试工作。场地大小10 m×7 m×2.5 m,在金属框架四轴固定绳网,为防止意外事故人员于场地外调试。四旋翼飞控芯片使用STM32F103系列单片机,地面站采用USB彩色广角摄像头,在QT平台上使用OPENCV库进行图像处理上位机的构建。
购买相关元器件进行四旋翼硬件的搭建,在恒拓开源飞控程序的基础上编写相关的控制函数,如自动起降、定点定高和无线通信程序,之后在场地内进行调试。在计算机上进行图像处理上位机环境的配置和程序的编写工作,并进行二者联动调试。
欧拉角特别适合描述物体的姿态和方向[5](图1),但由于其含有三角运算导致程序实现效率不高,基于四元数的姿态角(图2)表示比较复杂但程序上容易实现,因此四旋翼的姿态解算采取的是先获得关于四旋翼旋转信息的四元数,再将四元数转换成欧拉角的方法。
图1 欧拉角表示坐标轴旋转
图2 四元数表示姿态变换
φ,θ,ψ分别为四旋翼对X,Y,Z轴的夹角。四元数是一种有四个自由度的超复数,定义如下:
(1)
向量(i,j,k)T指旋转轴,w刻画绕该轴旋转的角度值。飞行器姿态可以看作绕通过机体坐标原点的某轴旋转一定角度得到的。二者之间有如下的转换关系:
(2)
(3)
在四旋翼的姿态控制部分,采用的是串级PID控制策略,即外环的输出作为内环的输入。外环为角度环,内环为角速度环。将四旋翼当前姿态角与目标姿态角比较得到姿态角偏差,作为PID控制器的输入,输出4个电机的控制量。相应流程图如图3所示,其中,t表示throttle,p表示pitch,r表示roll,y表示yaw。
图3 串级PID下的四旋翼姿态调节过程
在四旋翼的水平控制部分,使用了Pix4Flow光流传感器模块,该模块通过检测图像中明暗点的变化情况可以得到四旋翼的对地速度。将四旋翼实际对地速度与目标速度比较得到偏差,经过PID控制调节得到输出为目标姿态角,再通过姿态控制串级PID最终输出为4个电机的控制量。相应流程图如图4所示。
图4 水平位置调节过程
图5 图像处理过程
图像处理部分中,二值化操作使用的是inRange函数,该函数可根据设定的HSV阈值对图像进行二值化转换。腐蚀膨胀操作使用morphologyEx函数,该函数可根据初始条件进行相应次数的形态学滤波,包括腐蚀膨胀、开运算闭运算等。使用findContours获取轮廓信息,最后使用QT5自带的QserialPort类进行串口发送轮廓信息,包括轮廓大小、中心坐标和数量。图像处理过程如图5所示。
为了检验系统的可靠性和稳定性,在调试场地进行了大量的调试工作。
图6显示的是四旋翼定高飞行时的状态信息,其中曲线表示的是高度信息,可以算出整个过程的上升时间Tr=3.125 s,调节时间Ts=7.950 s,超调量为8.75%,满足控制要求。图7显示的是图像处理对于四旋翼的黑色底架识别效果。图像处理系统将识别到的物体的坐标信息通过蓝牙发送给四旋翼,四旋翼自身根据自身的坐标信息不断调整自身位置。
图6 四旋翼实际飞行效果
图7 实际识别效果
图8中4条曲线分别代表4个电机的转速信息,显示的是四旋翼朝某一方向进行水平位置的调节。图9为场地示意图。
图8 飞行数据信息
图9 场地示意图
从表1可以看出,在光照条件良好,无侧光影响的中午测试结果较好。在傍晚时刻,由于侧光对于四旋翼底部有影响会导致识别出现一定程度的偏差。
表1 测试结果
续表
综上所述,将计算机图像处理技术运用于四旋翼飞行器中,建立了一套近距离定点自动降落系统,为四旋翼的定点降落提供了一种新的解决思路。由于场地因素实验条件限制,未能对现实中各种复杂的情况加以模拟,有待进一步优化。