一种基于四旋翼无人机的自主避障系统及其实现方法与流程

文档序号:18413630发布日期:2019-08-13 19:03阅读:314来源:国知局
一种基于四旋翼无人机的自主避障系统及其实现方法与流程

本发明涉及一种无人机避障系统及其实现方法。



背景技术:

无人机全称“无人驾驶飞行器”(unmannedaerialvehicle)英文缩写为“uav”,是利用无线申遥控设备和自备的程序控制装置操纵的不载人飞机。它涉及传感器技术、通信技术、信息处理技术、智能控制技术以及航空动力推进技术等,是信息时代高技术含量的产物。无人机价值在于形成空中平台,结合其他部件扩展应用,替代人类完成空中作业。随着无人机技术的迅猛发展,多旋翼无人机凭借其成本低、机动灵活、垂直起降等特点被广泛应用于军事和民用领域,如空中侦察、通信中继、空中测绘、空中执法等。

目前,在无人机技术发展的诸多趋势中,避障能力仍然是其实现自动化和智能化的关键一环。多旋翼无人机的自动避障,就是当无人机在飞行时,利用各种传感器不断检测飞行路线上的各种障碍物,并根据传感器传回的数据控制无人机做出适当的飞行动作,达到躲避障碍物、安全飞行的目的。一个完善的自主避障系统能够很大程度上减少因操作失误而造成的无人机损毁或者伤及人身的事故发生率。

主流的无人机避障系统主要采用激光雷达、超声波、双(单)目视觉或者由多种测距方法和视觉图像处理组成的复合型方法,但是这些避障装置成本高、避障精度低,使用不方便,操作复杂。



技术实现要素:

本发明所要解决的技术问题是当前无人机避障系统成本高、避障精度低和使用不方便、操作复杂,为克服现有技术的不足而提供一种基于四旋翼无人机的自主避障系统及其实现方法。

本发明提供一种基于四旋翼无人机的自主避障系统,包括避障系统,所述避障系统与飞行控制系统相连;所述避障系统包括arduino控制器,所述arduino控制器分别与超声波传感器和遥控信号接收机相连,所述遥控信号接收机经无线信号实现与遥控器相连;所述飞行控制系统包括飞行控制器,所述飞行控制器与arduino控制器相连。

进一步的,所述超声波传感器设置有六个,分别对应无人机的前后左右上下六个方向。

进一步的,所述arduino控制器包括mega2560单片机,所述mega2560单片机的a0端口、a1端口、a2端口、a3端口、a4端口、a5端口分别与六个超声波传感器的range引脚相连,所述mega2560单片机的vcc端口与六个超声波传感器的vcc端口一一对应连接,所述mega2560单片机的gnd端口与六个超声波传感器的gnd端口一一对应连接。

进一步的,所述遥控信号接收机的ch1通道与mega2560单片机的d2端口相连,遥控信号接收机的ch2通道与mega2560单片机的d3端口相连,遥控信号接收机的ch3通道与mega2560单片机的d21端口相连,遥控信号接收机的ch5通道与mega2560单片机的d21端口相连,遥控信号接收机的ch6通道与mega2560单片机的d18端口相连。

进一步的,所述括mega2560单片机的d8端口、d9端口、d10端口、d11端口、d12端口分别与飞行控制器相连。

本发明还提供一种基于四旋翼无人机的自主避障系统的实现方法,包括一下:

步骤1,避障系统获取无人机与障碍物之间的距离信息;

步骤2,通过arduino控制器获取遥控信号;

步骤3,输出重构信号实现无人机自主避障。

进一步的,所述步骤1的具体内容如下:

利用超声波传感器来获取无人机各方向上与障碍物之间的距离信息,然后将距离信息通过i/o口发送至arduino控制器;当range引脚为高电平时,量程为3m,测量距离为:);当range管脚为低电平时,量程为1m,测量距离为:

进一步的,所述步骤2的具体内容如下:

遥控器发送遥控信号到遥控信号接收机,接收输出pwm信号到避障系统控制器则会触发mega2560外部中断,调用中断函数计算出接收机的pwm值;然后调用arduino舵机库servo中的map函数将pwm值转化成范围在1000-2000的通道值,如out_ail=map(rc_ail,ail_min,ail_max,1000,2000),其中rc_ail是由中断函数计算出来的第一通道即副翼(aileron)的pwm值,out_ail是转化后的通道值;当out_ail等于1500时,此时遥控器第一通道值处于中立位,无人机在前后方向上处于静止状态;当out_ail大于1500时,无人机向前飞行;当out_ail小于1500时,无人机向后飞行。

进一步的,所述步骤3的具体内容如下:

设置安全距离为1000mm,当测量距离大于1000mm时,此时在安全范围内,控制器直接输出中断函数获取的接收机pwm信号;当测量距离小于1000mm时,此时无人机不在安全范围之内,应该远离障碍物。

本发明采用以上技术方案与现有技术相比,具有以下技术效果:能够有效地实现四(多)旋翼无人机的自主避障功能,有效地提高了无人机的安全性和可靠性。其次,具有通用性,基本适用于市场上所有的飞行控制系统,并且可以在多种飞行模式下实现无人机的自主避障。最后具有高效性,基本不改变无人机原来的软件和硬件设计方案,极大的缩短了开发周期。

附图说明

图1为本发明的整体机构示意图。

图2为本发明中避障系统的硬件连接图。

具体实施方式

下面结合附图1-2对本发明的技术方案做进一步的详细说明:

本实施例提出了一种基于四旋翼无人机的室内场景构建系统,包括避障系统,避障系统与飞行控制系统相连;避障系统包括arduino控制器,arduino控制器分别与超声波传感器和遥控信号接收机相连,遥控信号接收机经无线信号实现与遥控器相连;飞行控制系统包括飞行控制器,飞行控制器与arduino控制器相连;超声波传感器设置有六个,分别对应无人机的前后左右上下六个方向;arduino控制器包括mega2560单片机,mega2560单片机的a0端口、a1端口、a2端口、a3端口、a4端口、a5端口分别与六个超声波传感器的range引脚相连,mega2560单片机的vcc端口与六个超声波传感器的vcc端口一一对应连接,mega2560单片机的gnd端口与六个超声波传感器的gnd端口一一对应连接;遥控信号接收机的ch1通道与mega2560单片机的d2端口相连,遥控信号接收机的ch2通道与mega2560单片机的d3端口相连,遥控信号接收机的ch3通道与mega2560单片机的d21端口相连,遥控信号接收机的ch5通道与mega2560单片机的d21端口相连,遥控信号接收机的ch6通道与mega2560单片机的d18端口相连;括mega2560单片机的d8端口、d9端口、、d10端口、、d11端口、、d12端口分别与飞行控制器相连。

本实施例还提出了一种基于四旋翼无人机的自主避障系统的实现方法,包括以下步骤:

步骤1,避障系统获取无人机与障碍物之间的距离信息:利用超声波传感器来获取无人机各方向上与障碍物之间的距离信息,然后将距离信息通过i/o口发送至arduino控制器;当range引脚为高电平时,量程为3m,测量距离为:);当range管脚为低电平时,量程为1m,测量距离为:

步骤2,通过arduino控制器获取遥控信号:控器发送遥控信号到遥控信号接收机,接收输出pwm信号到避障系统控制器则会触发mega2560外部中断,调用中断函数计算出接收机的pwm值;然后调用arduino舵机库servo中的map函数将pwm值转化成范围在1000-2000的通道值,如out_ail=map(rc_ail,ail_min,ail_max,1000,2000),其中rc_ail是由中断函数计算出来的第一通道即副翼(aileron)的pwm值,out_ail是转化后的通道值;当out_ail等于1500时,此时遥控器第一通道值处于中立位,无人机在前后方向上处于静止状态;当out_ail大于1500时,无人机向前飞行;当out_ail小于1500时,无人机向后飞行。

步骤3,输出重构信号实现无人机自主避障:设置安全距离为1000mm,当测量距离大于1000mm时,此时在安全范围内,控制器直接输出中断函数获取的接收机pwm信号;当测量距离小于1000mm时,此时无人机不在安全范围之内,应该远离障碍物。

本发明中,利用超声波传感器来获取无人机各方向上与障碍物之间的距离信息,然后将距离信息通过i/o口发送至arduino控制器。本发明使用的超声波传感器是us-016,可将测量距离转化为模拟电压输出,输出电压值与测量距离成正比,可根据不同应用场景设置成不同的量程。当range引脚为高电平时,量程为3m,测量距离为:)。当range管脚为低电平时,量程为1m,测量距离为:。将超声波传感器的range引脚分别与mega2560芯片的模拟输入端口a0~a3连接,同时与gnd对应相连,从而获取前后左右方向上的距离信息(上下方向的超声波传感器应与mega2560芯片的a4和a5相接)。

通过arduino控制器获取遥控信号,arduinomega2560具有54路数字输入输出端口,mega2560的处理器核心是atmega2560。mega2560芯片支持6路外部中断:pin2(中断0),pin3(中断1),pin18(中断5),pin19(中断4),pin20(中断3),和pin21(中断2),触发中断引脚可设成上升沿、下降沿或同时触发。本发明通过mega2560的外部中断来获取遥控器接收机的pwm值。遥控器发送遥控信号到遥控信号接收机,接收输出pwm信号到避障系统控制器则会触发mega2560外部中断,调用中断函数计算出接收机的pwm值。然后调用arduino舵机库servo中的map函数将pwm值转化成范围在1000-2000的通道值,如out_ail=map(rc_ail,ail_min,ail_max,1000,2000),其中rc_ail是由中断函数计算出来的第一通道即副翼(aileron)的pwm值,out_ail是转化后的通道值。当out_ail等于1500时,此时遥控器第一通道值处于中立位,无人机在前后方向上处于静止状态;当out_ail大于1500时,无人机向前飞行;当out_ail小于1500时,无人机向后飞行。其他遥控通道类似,但是第三通道(油门)没有中立位,通道值大于1000且正向增大时飞机上升,反之下降。

输出重构信号实现无人机自主避障,在避障系统中设置安全距离为1000mm,当测量距离大于1000mm时,此时在安全范围内,控制器直接输出中断函数获取的接收机pwm信号。当测量距离小于1000mm时,此时无人机不在安全范围之内,应该远离障碍物。arduino控制器将重构信号通过i/o口输出到飞控遥控信号接收模块。首先将遥控器接收机的通道1、2、3、5、6分别连接arduino控制器的数字口d2、d3、d21、d20、d18,并通过meaga2560的外部中断来获取遥控器各个通道的信号,分别用来控制无人机的左右、前后、上下等动作,另外第五通道和第六通道用来做无人机模式的选择和避障系统的开关,从而提高整个避障系统的可靠性。arduino控制器的数字口d8~d12是重构信号的输出端口,将其与飞控或者ppm编码器的各个通道对应相接即可将重构信号发送到飞行控制系统的信号接收模块。

实现方式如下:在避障系统中设置安全距离为1000mm,当测量距离大于1000mm时,此时在安全范围内,控制器直接输出中断函数获取的接收机pwm信号。当测量距离小于1000mm时,此时无人机不在安全范围之内,应该远离障碍物。

(1)当前(后)方有障碍物时,令out_ele=1400(1600),然后调用函数,将此时的遥控器第一通道的通道值转化为准确的pwm信号输出到无人机的遥控信号接收模块,由飞行控制系统进行姿态和位置控制,使无人机自动向后(前)方飞行,到达安全范围内悬停,实现前后方向上的自主避障。

(2)当左(右)方有障碍物时,令out_ail=1600(1400),然后调用函数,将此时的遥控器第二通道的通道值转化为准确的pwm信号输出到无人机的遥控信号接收模块,由飞行控制系统进行姿态和位置控制,使无人机自动向右(左)方飞行,到达安全范围内悬停,实现左右方向上的自主避障。

(3)当下(上)方有障碍物时,令out_thr=out_thr±100,然后调用函数,将此时的遥控器第三通道的通道值转化为准确的pwm信号输出到无人机的遥控信号接收模块,由飞行控制系统进行姿态和位置控制,使无人机自动向上(下)方飞行,到达安全范围内悬停,实现无人机的自主避障。

本发明利用arduinomega2560单片机作为避障系统控制器,利用us-016超声波传感器实时检测无人机上下左右前后等六个方向与障碍物之间的距离,并且将距离信息通过i/o口发送到arduino控制器,然后由控制器判断无人机是否在安全范围内。如果在安全范围内,则arduino处理器将接收机输出的pwm信号直接输出到无人机的信号接收模块或者ppm编码器中(有些无人机的飞行控制系统为了节约端口资源或者布局限制,只允许接收ppm信号);如果无人机不在安全范围之内,则控制器需要重构接收机发出的pwm信号之后才能输出到飞行控制系统,然后由飞行控制系统进行无人机的姿态和位置解算,控制无人机主动远离障碍物。无人机的飞行一般由遥控器或者地面站来控制。对于遥控器来讲,一般用不同的通道来控制无人机做相应的动作:第一通道一般指副翼(aileron),用来控制无人机左右飞行;第二通道是指升降(elevator),用来控制无人机的前进后退;第三通道指油门(throttle),用来控制飞行器油门的大小以实现无人机的上升和降落;第四通道指方向舵(rudder),一般用来改变机头的朝向。另外还有多余的通道去实现别的功能,如模式选择(定点、自稳、返航)等。接收机的作用是接收遥控通道的信号,并且将其转化成标准的pwm信号输出到飞行控制系统的信号接收模块,由飞行控制系统控制舵机转动来实现无人机飞行姿态的改变。

以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。

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