钱红亮 成怡 郭强 赵越
【摘 要】本文以四轴飞行器为基础来研究无人机(UAV)以成为当前研究热点,为实现四轴飞行器的能够自主飞行,设计了相应的视觉导航系统。飞行控制部分采用四元数解算姿态,运用经典的PID控制设计了X、Y、Z三个轴的PID控制器进行整个系统的飞行控制。导航方面则融合了惯性导航与视觉导航,提高导航精度。
【关键词】四轴飞行器;视觉导航;四元数
0引言
四軸飞行器是一种能够垂直起降的小型低空四旋翼无人飞行器,和固定翼飞行器相比,它具有机械结构简单、成本较低以及飞行稳定性好的特点。它可代替人来完成在海上、废墟等不适合人员进入的环境提供侦察、救援、绘图等服务。目前UAV广泛使用的是GPS或惯性导航系统,然而其使用具有一定的环境局限性,且惯性导航系统误差随时间积累,因而仅仅需要一些辅助导航来实现飞行器的精确导航。视觉导航方法,即由机载的视觉传感器获得周围环境的图像信息,然后通过图像算法及相机的位置标定解算出载体的位置,由于视觉传感器是无源的,而且在成本、重量、功率消耗和尺寸上都具有优势,易于实现。视觉导航方法主要有两种方法,一类是基于视觉传感器以视觉导航为主,直接利用图像特征控制飞行器到指定位置,一般有两个控制环,外环将实时特征与目标特征相比较,从而估计飞行器的飞行速度,然后通过内环控制电机转速使达到理想速度,最后使飞行器到达目标位置。另一类是视觉辅助导航,一般利用Kalman滤波方法,融合视觉传感器和惯性传感器给出载体位置,从而控制飞行。
1 系统总体设计
四轴飞行器视觉导航系统主要由飞行控制系统和视觉导航系统组成。飞行控制系统主控芯片采用STM32嵌入式处理器,实现对加速度计MPU6050和陀螺仪HMC5883L的数据采集,从而控制飞行姿态。飞行控制部分采用四元数算法,对传感器采集的数值进行转化处理,进行姿态解算,利用PID算法设计了相应的控制规律,实现对飞行器的闭环控制[1]。视觉导航系统主要由机载摄像头实时捕获周围环境图像,以无线的方式传输到视觉计算机并经过SIFT算法定位及相机的位置标定解算出载体位置。设计的四轴飞行器如图1所示。
图1 四轴飞行器实物图
2 系统硬件设计
2.1 飞行器控制系统结构
四轴飞行器的控制系统如图2所示。飞行控制器是系统的核心部分,所设计的控制器要能够通过采集处理三轴加速度计和陀螺仪传感器数据解算姿态,并根据导航指令和任务要求,结合相应的PID控制律给出适当的控制信号,控制飞行器的执行机构,改变飞行器的姿态和位置等[2]。整个控制系统包括电源模块,传感器模块,电机驱动模块和控制模块。传感器模块采用三轴加速度计和陀螺仪实时采集飞行器的飞行状态,并将飞行器的姿态传输给控制器模块,控制器采用的是ST公司生产的基于ARM Cortex-M3内核的STM32F103RBT6处理器,由于其能耗低,性能高,接口丰富,具有很强的数据处理能力,使得飞控系统能够稳定精确快速的处理数据。控制器模块接收到传感器传输的数据,对采集到的三轴角速率,三轴加速度通过四元数算法解算出姿态角,按所设计的的控制规律计算出控制量,转化为相应的PWM信号,经由驱动电路来控制四个电机工作,保持四轴飞行器稳定飞行。
图2 飞行控制系统结构图
2.1.1 姿态测量系统
四轴飞行器飞行器在某个时刻的状态由6个物理量来描述,即三维坐标中的3个位置量和沿3个轴的姿态量。本次设计的四轴飞行器使用整合性6轴运动处理组件MPU-6050,它整合了三轴加速度和三轴陀螺仪,通过串行总线IIC进行数据访问和传感器初始化配置控制,传感器检测数据经过四元数算法可得姿态角,此外还可通过惯性导航算法得到飞行器的惯导位置,将惯导位置与视觉位置融合可估算最优位置,从而提高导航的精度。它是实现自动检测和自动控制的首要环节。在测量过程中由于陀螺仪存在温漂导致测得的姿态信息并不准确,因此将陀螺仪、加速度计结合起来获取准确的滚转角、俯仰角信息。
加速度传感器:加速度传感器用于测量机身相对于水平面的倾斜角度,利用了地球万有引力,把重力加速度投影到X,Y,Z轴上,测量出物体的姿势。
陀螺仪:利用旋转物体的旋转轴所指的方向在不受外力影响时的不变性,测量外力对物体的影响。旋转物体的旋转轴方向是不确定的,因而角速度传感器只能用来测量位置改变,而无法像加速度传感器和地磁传感器那样,测量出物体的绝对角度和姿势。
2.1.2 电机驱动模块
四轴飞行器使用无刷电机取代传统的有刷电机,因为无刷电机具有效率高、转速快、噪音低、稳态转速误差小、没有电火花产生等优点。此次使用的是新西达A2212无刷电机,配以好盈30A商品电调,简化了系统设计,而且满足四轴飞行器快速响应的要求。主控芯片根据飞行姿态信息,结合导航指令和所设计的控制律计算输出PWM控制量协调控制4个电机,实现稳定飞行。通过控制PWM可以实现对加在两端实际等效电压的控制从而实现控制速度,PWM 占空比越高,等效电压就越高,占空比越低,等效电压就越低。STM32F103RBT6的定时器有4个捕获比较寄存器TIMx_CCR1-4,在输出模式下,该寄存器的值与计数器TIMx_CNT1-4的值比较,根据比较结果产生相应的动作。所以在程序设计中改变TIMx_CCR1-4的值就可以控制PWM的输出脉宽,从而控制电机转速。
2.2 视觉导航系统设计
视觉导航系统是将惯性传感器解算的位置和经由摄像头采集的图像经过图像算法解算的位置融合,找到飞行器精确位置,并将生成的导航指令实时传送至飞行控制系统,从而指引四轴飞行器进行相应的动作[3~4]。视觉导航系统依然使用STM32F103RBT6处理器作为导航控制器,在图像解算上利用SIFT算法构建图像的多尺度空间,然后精确定位特征点的位置。然后根据图像中提取的最稳定特征点采用最近/次近邻距离匹配方法对特征点进行匹配,利用已经匹配的特征点对求解基础矩阵再进一步解算本质矩阵从而求解了飞行器的姿态变换并实施控制。
3 系统软件分析
本控制器的软件部分采用C语言进行模块化开发,主要完成硬件平台各模块初始化、传感器数据采集处理、姿态角解算以及控制律的实现。系统上电后首先是定时器、中断、串口、传感器等的初始化及自检,自检成功才运行系统并进入任务调度。其中数据采集过程中一方面飞行控制器对MEMS传感器数据进行采集并处理,另一方面导航控制器控制机载摄像头采集环境视频图像并由无线模块传回地面PC上位机。在姿态控制中,采用四元数法解算姿态获得所需的姿态角,然后结合控制律改变PWM输出,从而控制4个电机转速,完成姿态调整。然后导航控制器融合惯导位置和地面PC上位机解算的视觉位置给出飞行器最优位置估计,对控制律解算后生成导航指令反馈给飞行控制系统,指引飞行器下一步动作。
3.1 飛行控制流程
飞行的控制流程步骤分解如下:
1)停在水平地面上,开机自检,电池电量情况,若电量过低则无法飞行;
2)定电机转速一致,机身也会发生倾斜。检测当前航向信息,加速度计测到向上的加速度(积分后得到速度);
3)和预期航向信息(俯仰角和滚转角为0,偏航角保持初始值不变)进行比较,当前航向角和预期值出现误差时,调整电机转速,以使其达到预期值;
4)控制电机使飞行器速度为0,达到悬停状态,动态平衡;
5)机载摄像头对周围环境进行拍摄,获取当前位置信息并且寻找特征点,并且通过无线传输给上位机;
6)通过SIFT算法对特征点进行匹配,并且将处理后的信息传输给控制器,生成导航指令指导飞行器飞行。
四旋翼无人直升机导航到达特征位置成功后,系统进入等待状态。若有上位机控制命令,则MSU对命令进行解析,执行相关操作。系统执行完命令后再次进入等待状态,等待新的命令到来。
3.2 SIFT算法图像匹配
3.2.1 SIFT算法定位特征点的位置
首先利用高斯核函数与图像进行卷积,得到经高斯模糊变化的图像,通过改变尺度空间因子生成一系列不同空间尺度的图像,然后对高斯模糊变化后的图像利用差分求取尺度空间的极值得到图像的高斯差分尺度空间,由此构建了图像的多尺度空间。在构建了图像的多尺度空间后,对图像点计算每个尺度下的高斯差分尺度的响应值,将这些响应值连接起来得到特征尺度的轨迹曲线。计算此特征曲线同时在二维空间和尺度空间中的极值点作为该位置点的特征尺度,由此的局部特征点的精确定位。在确定局部特征点的位置后,使用关键点的及领域像素的梯度信息,来作为特征点的方向参数,由此每个特征点都包括位置、尺度和方向3个信息。
3.2.2 最近/次近邻距离匹配方法对特征点进行匹配
取两幅图像,分别获得128维向量的特征集来描述图片的特征信息,以两特征集的欧氏距离作为距离函数。由于遍历算法耗时严重,以特征集的每一同维数据与其均值的差方根大小为索引建立Kd-Tree,采用BBF搜素算法 。然后通过欧氏距离以判断最近距离和次近距离的比值进行匹配。
3.2.3 求解了无人机的姿态变换
首先利用RANSAC作为搜索引擎,基于7点法的解算思想求解基础矩阵。在获得基础矩阵后,对原匹配点进行错误匹配点的剔除,保留属于内点的特征点。同时在利用Camera Caliration Toolbox for Matlab工具包进行摄像机内参标定,最终基础矩阵结合摄像机内参求得本质矩阵,最终结算解算得到载体的运动信息。
3.3 控制计算
为了提高飞行器控制可靠性,需要得到飞行器的俯仰和滚转角作为姿态校正,为提高其飞行稳定性,需加入角速率反馈以增加阻尼。飞行器的飞行姿态通过惯性测量单元来获取,包括陀螺仪、加速度传感器。由于加速度传感器测得量为线运动量,角速率陀螺测得量为角运动量,在此将二者都转化为飞行器的姿态角然后再进行数据融合。角速度传感器瞬时数据十分精确,但积分后存在较大累积误差。而加速度传感器的静态分量能够较准确地确定姿态角,但是由于飞行过程中飞行器自身存在加速度,同时加速度计对机械振动十分敏感,其瞬时测量值不能用于反映飞行器当前的姿态。
4 结束语
本研究不仅详细叙述了四轴飞行器视觉组合导航系统的软、硬件设计方法,并且利用机载摄像头将视觉导航和惯性导航相融合的组合导航方式,提高了整个系统的导航精度。该系统不仅能实现起飞、悬停等控制要求,并且能够自主寻找特征点并且实现飞行控制和定点降落,因此本研究适合近地面的侦查、监视和航拍等任务,具有广泛的应用范围。
【参考文献】
[1]刘乾,孙志锋.基于ARM的四旋翼无人飞行器控制系统[J].机电工程,2011,28(10):1237-1240.
[2]杨明志,王敏.四旋翼微型飞行器控制系统设计[J].计算机测量与控制,2008.
[责任编辑:许丽]