APP下载

四旋翼飞行器巡线算法的研究

2016-09-08肖志红魏仕伦

中国新通信 2016年15期
关键词:巡线

肖志红 魏仕伦

【摘要】 本文提出了一种适用于四旋翼飞行器巡线的控制算法,解决了其他巡线方式的巡线不精确问题。在带有线性CCD的四旋翼飞行器上开发和实现了这一巡线算法,并进行多次巡线测试,验证了该算法的可行性和有效性,且可以增强巡线控制系统的鲁棒性。

【关键词】 四旋翼飞行器 串级PID 巡线

Abstract:This paper proposes a control algorithm which is applicable for the quadrocopter, and solved the inaccurate problem of other patrol algorithms. Developed and realized this patrol algorithm on the aircraft with a linear CCD. We experimented this patrol algorithm for many times and verified the feasibility and validity of the algorithm, and this algorithm can enhance the robustness of the control system of the patrol.

Keywords: Quadrocopter Cascade PID control Patrol algorithm1

一、引言

四旋翼飞行器是近年兴起的一种微型飞行器。相对于固定翼飞行器,四旋翼飞行器具有控制灵活、抗干扰能力强、飞行稳定的优点。在很多领域得到了应用,例如:航拍[1]、电力线路检测[2]、地势侦查[3]等。因此,近年来四旋翼飞行器成为微型飞行器中的一个重要研究方向。

本文就如何设计四旋翼飞行器巡线算法进行了研究。整体设计结构图如图(1)所示,采用主频为72MHz的32位ARM处理器STM32F103作为主控。考虑到该处理器的处理能力有限,决定采用数据处理量较少的线性CCD、超声波传感器以及自带数字运动处理器(DMP:Digtial Motion Processor)的MPU6050传感器进行数据采集。把采集的数据经过位置环和姿态环处理,最后将处理好的数据进行融合再作为控制信号来控制电机,使四旋翼飞行器能够精确巡线。

二、获取四旋翼飞行器巡线所需的数据

2.1 角度、角速度、加速度数据的获取

MPU6050是一款集成加速度计、陀螺仪的六轴姿态传感器,可以采用I2C总线与主控板进行通信。主控板通过I2C总线读取MPU6050的加速度和角速度的原始数据,然后采用卡尔曼滤波算法对获取的加速度和角速度的原始数据数据进行滤波,从而准确可靠的加速度和角速度数据。对于四旋翼飞行器姿态角的获取,利用MPU6050的DMP,通过调用InvenSense公司的运动处理库来获取四元数,然后利用公式(1)将四元数转化成欧拉角,从而获取四旋翼飞行器的实时姿态[4-6]。

式(1)中q0、q1、q2、q3为四元数,?为俯仰角,θ翻滚角,ψ偏航角。

利用MPU6050的DMP可以非常方便的实现姿态解算,大大减轻了主控板的运算压力,使主控板有更多的时间去处理控制算法以及其他任务。

2.2位置数据的获取

对于位置数据的获取,如图(2)所示,采用超声波传感器来获取Z轴(高度)数据,线性CCD来获取四旋翼飞行器在X轴上的位置(选用X轴还是Y轴取决于线性CCD的位置,如果线性CCD的位置与MPU6050规定的X轴垂直那么就是获取X轴上的位置,反之则是Y轴上的位置,本文默认获取X轴上的位置)。因为四旋翼飞行器巡线时对高度要求较高,所以需要精度高的传感器。目前主要的高度传感器有气压计和超声波传感器,气压计的精度为5~10cm,而超声波的精度为1cm。显然超声波具有更高的精度,因此本文采用HC-SR04超声波传感器来获取高度数据,使用卡尔曼滤波算法对原始数据进行滤波。考虑到该处理器的处理能力有限,且需要处理多个任务,所以对于X轴位置数据的获取,采用数据处理量较少的线性CCD来获取四旋翼飞行器在X轴上的位置数据即可。

三、姿态环控制算法设计

3.1串级PID控制

当四旋翼飞行器正常飞行时,如果突遇外界干扰,可能会使得MPU6050内部的加速度传感器或陀螺仪采集数据失真,从而使得获取的欧拉角错误。因此只用角度单环的情况下,四旋翼飞行器很难在外界干扰的情况下稳定飞行[7]。因此姿态环可采用串级PID算法进行控制,控制算法结构图如图(3)所示,使用角速度作为内环。角速度由陀螺仪采集数据输出,采集值一般不会受到外界干扰,且角速度变化灵敏,当受外力干扰时恢复迅速,可有效避免外界干扰造成的影响,增强了系统的鲁棒性。

式(4)为角度环PID计算公式,式(5)为角速度环PID计算公式。)(_kPidOutAngle为角度环输出,)(_tankPidOutc ePals为角速度环PID输出,e(t)=期望角度-实际角度,e(t)=)(_kPidOutAngle-实际角速度。

四、巡线算法设计

4.1巡线算法设计

四旋翼飞行器巡线和定点类似,其巡线相当于在X,Z轴方向上的定点。设计之初想把定点算法的设计思路应用到巡线上,通过翻看大量关于四旋翼飞行器定点的文献[8-9]发现传统的四旋翼飞行器定点算法的设计思路都如图(4)所示的控制算法结构,将位置环的输出作为角度环的输入。把这一设计思路应用到巡线上时发现四轴飞行器虽然能够巡线,但是巡线不精确,四旋翼飞行器会在黑线附近大幅度等幅震荡,达不到巡线的要求。

经多次试验并仔细分析,发现问题在于角度的变化对于位置偏差的修正过慢。当位置发生变化时,角度的变化不能迅速对位置的偏差进行修正,所以导致传统四旋翼飞行器定点算法应用到巡线上造成巡线不精确的问题。本文对此将巡线控制算法的结构改成如图(5)所示的结构,不再将位置环和姿态环进行串联,而是将位置环和姿态环采用并联的形式,将位置环的输出直接作为控制量施加在电机上。采用这种巡线算法结构大大提高了四旋翼对位置偏差的修正速度。

4.2 测试及分析

以X轴位置测试为例。本次测试位置环PID控制频率为50HZ,期望X轴位置为0。将采集到的四旋翼飞行器X轴位置数据通过蓝牙发送到PC机上,再通过上位机把接收到的数据绘制成波形图。波形图Y轴的单位为0.4cm/格,X轴的单位为200ms/格。由于线性CCD的测量范围有限,能够测量的最大范围约为±30cm,超过这一范围的位置在图中表现为Y=±64。图(6)为定点算法应用到巡线上的位置波形图,从该图中可看出四旋翼飞行器的位置在0附近大幅度震荡,不能在一个小范围内稳定。图(7)为本文改进的控制结构的位置波形图,从该图中可看出四轴飞行器的位置经过一大波震荡后,近似归为期望值0,且调节时间很短,能够达到我们的稳准快要求,从而实现精确巡线。Z轴位置测试结果类似。

五、结束语

本文主要研究了四旋翼飞行器的巡线算法,参考传统四旋翼飞行器定点算法的设计思路,发现了其在巡线应用上的问题,并提出了一种适用于四旋翼飞行器巡线的算法,大大提高了四旋翼飞行器的巡线精度,且增强了系统的鲁棒性。

参 考 文 献

[1]黄鹏宇,曾路荣,杨川,彭远行,余成波.一种新型灾难救援四轴航拍飞行器设计[J].四川兵工学报,2014,06:124-128.

[2]李勇.无人飞行器在特高压交流输电线路巡视中的应用模式研究[D].华北电力大学,2014.

[3]钱杰.四旋翼飞行器整体设计与航迹跟踪地面站软件设计[D].电子科技大学,2015.

[4]何瑜.四轴飞行器控制系统设计及其姿态解算和控制算法研究[D].电子科技大学,2015.

[5]王金红,成怡,钱红亮,谢飞.四轴飞行器姿态监控系统设计[J].宇航计测技术,2014,06:9-13.

[6]朱阳,王伟成,王民慧.基于MPU9150的四轴飞行器姿态控制系统设计[J].制造业自动化,2015,10:46-48+71.

[7]陆伟男,蔡启仲,李刚,郑力.基于四轴飞行器的双闭环PID控制[J].科学技术与工程,2014,33:127-131.

[8]孙骅.基于GPS与AHRS的四轴飞行器悬停算法研究[J].机械科学与技术,2013,04:481-487.

[9]白志君.四旋翼无人机室内自主导航系统的研究与实现[D].厦门大学,2014.

猜你喜欢

巡线
基于移动互联网的智能化巡线管理系统的建设与应用
基于智能标石的光缆巡线和管理系统设计
电工师徒翻山越岭巡线十年
机器人巡线任务教学方法探究
输电线路智能化发展方向分析
三维激光雷达在输电线路机巡中的应用
基于水中机器人协同竞技的设计与实现
无人机为仁化高山电网线路“把脉”
智能识别算法在无人机巡线中的应用研究
让机器人巡线不脱线