一种基于视觉导航的四旋翼无人机的自主飞行系统及控制方法与流程

文档序号:11690780阅读:782来源:国知局
一种基于视觉导航的四旋翼无人机的自主飞行系统及控制方法与流程

本发明涉及多旋翼无人机技术领域,尤其涉及一种基于视觉导航的四旋翼无人机的自主飞行系统及控制方法。



背景技术:

在室内环境中,小型无人机往往采用微机电惯性导航装置。微机电惯性导航依靠内部的加速度计测得三个轴向的运动加速度,积分运算后得到无人机位置信息,在短时间内有很高的定位精度。但微机电惯性系统的零漂较严重,随时间的延长,误差积累使得测量精度不断降低,从而逐渐偏离准确值,不宜单独使用。目前室内环境导航常用的是采用测距传感器来获取外界环境信息,如声纳传感器、激光测距仪等。声纳传感器利用发射一列声波与接受发射波的时间间隔来感知周围环境的距离信息。声纳传感器有价格低廉、数据处理简单、实时性好的优点而被广泛使用,但声纳传感器存在测量误差较大,容易受环境因素如温度、湿度和反射声纳材料等影响。声纳传感器在发射声波时,是按着一个散射角发射的扇形区域,无法确定障碍在扇形区域的准确位置。使用多个声纳传感器时,由于室内环境较拥挤可能产生串扰,即一个声纳传感器发射的声波被另一个声纳传感器接受。声波在复杂环境中多次反射造成能量损耗,如毛後等吸收声能量,使反射的声波能量迅速减少,导致返回时的声波信号低于接受的响应阈值,而错误反馈障碍物的距离。根据声纳传感器的特点,感知环境的信息量少、精度不高和可能出现错误距离反馈,因此声纳传感器在室内导航上无法满足精确度的要求。激光测距仪利用发射一列光束和接受光束的时间间隔来感知周围环境的距离信息。由于光束的传输速度快于声波的传输速度,激光测距仪的测量速度更快,激光测距仪的测量速度主要受仪器中机械结构的电机转速限制。激光测距仪发射的光束散射角小,光波的发射性能好,不会有多次反射和错误反射情况,保证了数据的确定性,可以直接读出真实距离。与声纳传感器相比,激光测距仪在测量一倾数据时,可以测量较大角度和较多数据点,更能准确感知环境的距离信息。但是,激光测距仪价格昂贵,特别是测量三维距离信息的激光雷达。对于一般激光测距仪只能提供一个高度平面上一定测量角度的距离信息,激光接受不了镜面反射损失的光束,对于环境中的玻璃或非常光滑表面的物体无法检测,导致信息缺失。在室内环境中的导航,由于大部分障碍物都垂直地面,可以釆用与地面平行的平面距离信息进行导航。激光测距仪具有测量速度快,测量精度高,对环境中的噪声、光照强度不敏感的特点,满足无人机导航需要的实时性和精确性。但在导航中的路径规划缺乏智能性,在复杂楼道多房间导航时,无法比较判断正确目标房间,在定位目标时,无法计算目标位置。因此,应该提供一种新的技术方案解决上述问题。



技术实现要素:

本发明要解决的技术问题是:针对目前室内导航装置存在的不足,提供一种一种基于视觉导航的四旋翼无人机的自主飞行系统及控制方法。

本发明通过以下技术方案来实现:

一种基于视觉导航的四旋翼无人机的自主飞行系统,包括飞行控制板,所述飞行控制板外接电源模块、驱动模块、高度测量模块和视觉导航模块,所述飞行控制板上设有飞控处理器模块、飞行姿态采集模块、显示模块和通讯模块,

所述飞行控制板采用stm32f407飞控处理器模块,用于通过mpu-6050整合的3轴陀螺仪、3轴加速器以及地磁传感器来采集姿态数据并且采取pid控制,调制pwm信号输出不同的占空比信号驱动无刷直流电机,控制飞行姿态;

所述飞行姿态采集模块包括加速度传感器和角速度传感器用于对四旋翼无人机进行姿态测量;

所述高度测量模块采用us-100超声波传感器用于测量飞行高度,通过测量超声波模块返回的高电平时间,得到高度,再通过低通滤波进行数据平滑处理,得到稳定的高度信息作为反馈,对四旋翼飞行器飞行高度的进行控制;

所述视觉导航模块采用k60单片机控制ov7725摄像头,用于处理图像数据,并通过串口将路线信息发送给飞行控制板使其调整飞行路线达到巡线的目的,使四旋翼飞行器自主循迹,在规定区域起降、悬停;

所述驱动模块采用无刷电机和电调作为四旋翼无人机的驱动模块,用于实现四旋翼飞行器的稳定运行;

所述通讯模块用于实现数据接收和数据发送;

所述显示模块用于显示实时的数据输出。

一种基于视觉导航的四旋翼无人机的自主飞行的控制方法,包括如下步骤:

a)飞行姿态控制

飞行控制板通过飞行姿态采集模块获得四旋翼无人机的各种姿态信息,作为反馈量,经过pid控制算法得出无人机4个旋浆上对应的4个电机应有的转速,然后通过pwm定时器接口发送给电调,调整4个电机的转速来实现对其姿态的控制;

b)飞行器超声波定高控制

定高控制算法采用的是位置式pid控制,定高控制的输出最后与姿态控制的输出叠加到4个电机的控制中,对超声波的数据滤波使用的是低通滤波,采用近三次的平均值,使用欧拉角来校正高度值,高度控制程序每60ms执行一次,把计算出的高度控制输出分成30次叠加到电机控制;

c)飞行器自主循迹控制

采用ov7725摄像头模块来采集线道信息,安装在飞机的下面正中心的位置,在飞行器上装配us-100超声波传感器来采集高度信息,用k60芯片专门处理图像数据,通过摄像头对实时图像进行采集,得到线道的信息,对当前采集到的图像信息做出判断,从而得到道路的情况,之后将处理完的结果通过串口发送给飞控主控制芯片达到循迹的目的;

一般线道图像都由黑线和白色背景构成,在处理时将一帧图像转换成“0”、“1”的信息保存其中0为背景,1为赛道,然后提取黑线中心以得到黑线位置,自主循迹算法分为4步:

(3)对图像进行中值滤波;

(4)提取每一行的黑线中心点;具体方法,从第一行开始,并且从左往右开始依次寻找白色到黑色的跳变点,记下该点所在的列数x,即为该行黑线的左边界。再继续从右往左寻找白色到黑色的跳变点,记下该点所在的列数y,即为该行黑线的右边界,那么该行黑线中心点所在的列数=(x+y)/2,就这样,从第1行寻找到第30行;

(3)把前30行找到的所有中心点所在的列数相加以后求均值,即将前30行所有中心点列数求和然后除以30;

(4)由于摄像头被安装在飞机的下面正中心的位置,根据提取到的黑线中心可以得到飞机是否偏离了方向,进而可以根据偏移量适当地调整飞机的飞行角度,使其回到赛道线的正上方。

进一步的技术方案:

所述四旋翼无人机为四轴飞行器,四轴飞行器配有四个旋浆,四个旋浆两两相对交叉呈十字交叉结构,每个旋浆配有一个无刷直流电机和电调,飞行控制板采调制pwm信号输出不同的占空比信号驱动无刷直流电机,控制飞行姿态。

由于上述技术方案的采用,本发明与现有技术相比,具有如下优点:

本发明的四旋翼无人机的自主飞行系统及控制方法,扩大了无人机的室内导航能力和应用的范围,同时提高了无人机躲避障碍的能力,以及无人机的机动性、智能性。无人机室内飞行技术对于防恐侦查,室内营救、拾取室内目标等具有重要意义。

附图说明

图1是本发明飞行器自主飞行系统方框图。

图2为飞行器超声波定高控制流程图。

图3为飞行器自主循迹控制流程图。

其中:1、飞行控制板,2、电源模块,3、驱动模块,4、高度测量模块,5、视觉导航模块,6、飞控处理器模块,7、飞行姿态采集模块,8、显示模块,9、通讯模块。

具体实施方式

下面结合附图和实施例对本发明作进一步说明。

如图1所示,一种基于视觉导航的四旋翼无人机的自主飞行系统,包括飞行控制板1,所述飞行控制板1外接电源模块2、驱动模块3、高度测量模块4和视觉导航模块5,所述飞行控制板1上设有飞控处理器模块6、飞行姿态采集模块7、显示模块8和通讯模块9,

所述飞行控制板1采用stm32f407飞控处理器模块6,用于通过mpu-6050整合的3轴陀螺仪、3轴加速器以及地磁传感器来采集姿态数据并且采取pid控制,调制pwm信号输出不同的占空比信号驱动无刷直流电机,控制飞行姿态;

所述飞行姿态采集模块7包括加速度传感器和角速度传感器用于对四旋翼无人机进行姿态测量;

所述高度测量模块4采用us-100超声波传感器用于测量飞行高度,通过测量超声波模块返回的高电平时间,得到高度,再通过低通滤波进行数据平滑处理,得到稳定的高度信息作为反馈,对四旋翼飞行器飞行高度的进行控制;

所述视觉导航模块5采用k60单片机控制ov7725摄像头,用于处理图像数据,并通过串口将路线信息发送给飞行控制板1使其调整飞行路线达到巡线的目的,使四旋翼飞行器自主循迹,在规定区域起降、悬停;

所述驱动模块3采用无刷电机和电调作为四旋翼无人机的驱动模块,用于实现四旋翼飞行器的稳定运行;

所述通讯模块9用于实现数据接收和数据发送;

所述显示模块8用于显示实时的数据输出。

在本实施中飞行控制板1采用stm32f407飞控处理器,该芯片搭载arm公司的cortex-m3内核,内部集成1mbflash和192kbram,内置高速片上振荡器时钟,最高频率可达168mhz,支持看门狗定时器,内置上电复位、按键中断、时钟输出、蜂鸣器输出控制电路等,该芯片具有出色的实时性和优越的功耗控制;同时,它还有丰富的外设,如iic接口、usart接口等,方便连接数传、超声波、gps、wifi、osd等模块,大大提高系统的拓展性。

在本实施例中,驱动模块3采用无刷电机和电调作为四旋翼无人机的驱动模块,无刷直流电机由电动机主体和驱动器组成,是一种典型的机电一体化产品。由于无刷直流电动机是以自控式运行的,不会像变频调速下重载启动的同步电机那样在转子上另加启动绕组,也不会在负载突变时产生振荡和失步。无刷电机具有低干扰,噪声低,运转顺畅,寿命长等优点。而且无刷电机转速快且平稳,这些优点对于模型运行稳定性是一个巨大的支持,完全可以适合本设计要求。

在本实施例中,所述飞行姿态采集模块7包括加速度传感器和角速度传感器用于对四旋翼无人机进行姿态测量,用加速度的测量数据来互补角速度传感器测量的不足,本设计采用6轴运动处理组件mpu-6050,其特点有:

a.内部3轴角速度传感器具有±250、±500、±1000与±2000(°/s)全格测量范围;3轴加速度量程可程序控制,控制范围为±2g、±4g、±8g和±16g。

b.具备较低功耗:芯片供电电压vdd为2.5v±5%、3.0v±5%、3.3v±5%;陀螺仪工作电流5ma,待机电流仅5μa;加速计工作电流500μa,在10hz低功耗模

式下仅40μa。

c.陀螺仪和加速计都具备16位adc同步采样;另外陀螺仪具备增强偏置和温度稳定的功能,减少了用户校正操作,且具备改进的低频噪声性能;加速计则具备

可编程中断和自由降落中断的功能。

d.接口采用可高达400khz的快速模式iic,内建频率发生器在所有温度范围仅有1%频率变化。

e.具备较小的4mm×4mm的qfn封装,减少占据面积;

在本实施例中,使用ov7725模块作为飞行器的图像采集模块,ov7725是一款cmos摄像头器件,属于硬件二值化摄像头,速率可达150帧每秒,去噪点能力极强,二值化效果非常理想。输出8位图像数据,具有自动增益和自动白平衡控制,能进行亮度、对比度、饱和度、γ校正等多种调节功能。其视频时序产生电路可产生行同步、场同步、混合视频同步等多种同步信号和像素时钟等多种时序信号。5v电源供电,工作时功耗<120mw,待机时功耗<10μw。针对于本次设计,ov7725能够采集相应场地情况,在姿态较为平稳的条件,实现场地数据读取,可姿态飞行控制,是实现巡线起飞降落等多个功能的关键因素。

如图2和3所示,一种基于视觉导航的四旋翼无人机的自主飞行的控制方法,包括如下步骤:

a)飞行姿态控制

飞行控制板通过飞行姿态采集模块获得四旋翼无人机的各种姿态信息,作为反馈量,经过pid控制算法得出无人机4个旋浆上对应的4个电机应有的转速,然后通过pwm定时器接口发送给电调,调整4个电机的转速来实现对其姿态的控制;

本飞行器中姿态解算利用的是mpu6050dmp(digitalmotionprocess)输出的四元数。为了有较好的线性度,将需要的姿态差转换为欧拉角后再进行pid控制。姿态解算后出来三个角度,即横滚角(roll)、俯仰角(pitch)、偏航角(yaw)

解算出的姿态需要通过控制电机的转动来让四轴飞行器稳定飞行。控制电机较为经典的是采用pid算法,但四轴飞行器是个需要稳定性很强的系统,单闭环pid控制器稳定性不强,会使四轴飞行器飞行效果不好。由于姿态速度响应的速度比姿态响应的速度快,四轴飞行器飞行的时候引起的姿态速度变化也比姿态速度变化大,故姿态速度控制作为内环,姿态控制作为外环,也就是角度外环和角速度内环组成的串级pid控制器。将四元数转换后的欧拉角与陀螺仪测出来的角速度进行串级pid控制,其中欧拉角作为外环,每5ms执行一次;角速度作为内环,每2.5ms执行一次。外环的设定值为遥控器的指令值,内环的设定值为外环的输出值。由于内环的角速度控制不需要无静差,所以内环采用pd控制,为防止测量的误差造成较大影响,外环积分需要限幅。

横滚角(roll)和俯仰角(pitch)的控制算法是一样的,控制参数也比较接近。首先得到姿态的角度差,将该值乘以角度系数p后限幅作为角速度控制器期望值,该期望值与mpu6050得到的当前角速度做差,得到角速度误差乘以kp得到p,在i值小于限幅值时将角速度误差累加到i中,前后两次角速度误差的差作为d项,最后将p、i、d三者相加并限幅得到最终pid输出。

b)飞行器超声波定高控制

定高控制算法采用的是位置式pid控制,定高控制的输出最后与姿态控制的输出叠加到4个电机的控制中,对超声波的数据滤波使用的是低通滤波,采用近三次的平均值,使用欧拉角来校正高度值,高度控制程序每60ms执行一次,把计算出的高度控制输出分成30次叠加到电机控制;一键起飞是当遥控器发出该指令时,高度设定为1.0m,定高控制pid起作用,直到四轴飞行器达到设定高度后,飞行器进行自主定高飞行。一键降落是当遥控器发出该指令时,高度设定值慢慢减小,直到飞行器降落到地面后,四轴飞行器电机停止转动,达到一键降落功能。定高控制流程图见图2

c)飞行器自主循迹控制

采用ov7725摄像头模块来采集线道信息,安装在飞机的下面正中心的位置,在飞行器上装配us-100超声波传感器来采集高度信息,用k60芯片专门处理图像数据,通过摄像头对实时图像进行采集,得到线道的信息,对当前采集到的图像信息做出判断,从而得到道路的情况,之后将处理完的结果通过串口发送给飞控主控制芯片达到循迹的目的;

一般线道图像都由黑线和白色背景构成,在处理时将一帧图像转换成“0”、“1”的信息保存其中0为背景,1为赛道,然后提取黑线中心以得到黑线位置,自主循迹算法分为4步:

(5)对图像进行中值滤波;

(6)提取每一行的黑线中心点;具体方法,从第一行开始,并且从左往右开始依次寻找白色到黑色的跳变点,记下该点所在的列数x,即为该行黑线的左边界。再继续从右往左寻找白色到黑色的跳变点,记下该点所在的列数y,即为该行黑线的右边界,那么该行黑线中心点所在的列数=(x+y)/2,就这样,从第1行寻找到第30行;

(3)把前30行找到的所有中心点所在的列数相加以后求均值,即将前30行所有中心点列数求和然后除以30;

(4)由于摄像头被安装在飞机的下面正中心的位置,根据提取到的黑线中心可以得到飞机是否偏离了方向,进而可以根据偏移量适当地调整飞机的飞行角度,使其回到赛道线的正上方。摄像头寻迹控制流程图见图3。

经过测试,由于线道本身比较简单,对比度明显,加上中值滤波对噪声的滤除,可以很准确地提取出线道中心线位置,但是该算法涉及的运算较多,如果只用主飞控来接收处理摄像头数据,1s内只能处理1帧图像,这么慢的处理速度很容易导致飞机飞出线道外,于是本设计添加了k60芯片专门处理摄像头数据,并将控制信息通过串口发送给主飞控芯片,通过优化算法,最终可以实现1s处理50帧图像,大大提高了实时性。

优选的,作为第二个实施例,本实施例是对实施例一的进一步限定,所述四旋翼无人机为四轴飞行器,四轴飞行器配有四个旋浆,四个旋浆两两相对交叉呈十字交叉结构,每个旋浆配有一个无刷直流电机和电调,飞行控制板采调制pwm信号输出不同的占空比信号驱动无刷直流电机,控制飞行姿态。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1