APP下载

基于Arduino UNO平台的多适配性无人机避障技术

2016-05-14王力群林朝辉

科技创新导报 2016年9期
关键词:避障无人机

王力群 林朝辉

摘 要:针对多旋翼无人机的安全避障问题,该文提出一种基于Arduino UNO的多适配性无人机避障技术。该技术基于 ATmega328P单片机的Arduino UNO硬件平台,并选取XL-MaxSonar-EZ系列的超声波传感器对无人机与障碍物之间的距离进行在线测量,完成一种多适配性的无人机避撞系统硬件及软件设计,并在多旋翼无人机平台上进行多次飞行试验验证。试验结果表明,该系统的兼容性较好,可与各种飞控系统及遥控接收机实现无缝连接,简洁高效地实现多旋翼避障的目的,在无人机安全领域具有一定的实用价值。

关键词:Arduino UNO 多适配性 避障 无人机

中图分类号:TP391 文献标识码:A 文章编号:1674-098X(2016)03(c)-0018-02

随着无人机技术的快速发展,多旋翼飞行器以其机械结构简单、机动性好、悬停凝视、定点悬拍、垂直起降等优点,已成为当前许多国家或科研机构的研究热点,在军事和民用多个领域也都有广阔的应用前景。然而,随着无人机民用化的持续加速,面对复杂的场景和成本控制要求,越来越多的安全问题体现了出来,无人机撞机伤人事件屡见不鲜,有效提高无人机的安全性已迫在眉睫。

无人机自主避障系统能够有效的避免撞机伤人,减少损失,对无人机的普及无疑是一大利好消息。所谓无人机自主避障功能,就是无人机飞行器在飞行的过程中遇到障碍物的时候,通过自动提前识别、有效规避障碍物,达到安全飞行的效果,就目前而言,主流的多旋翼无人机避障系统主要有三种,分别是超声波、TOF以及相对更加复杂的由多种测距方法和视觉图像处理组成的复合型方法,但无论哪种方法都仅仅针对特定的飞行控制系统,在不了解飞控系统软硬件架构的情况下,现有的避障系统不具备良好的适配性,有一定局限性。由于目前现有的飞行控制系统基本均接收遥控器接收机的标准信号,因此,该文在接收机和飞控系统之间增加避障系统,采集遥控器接收机输出的信号并根据避障测距传感器所测量的无人机与障碍物之间的距离,重构出遥控器信号输送给飞行控制模块,可以在不改变飞控软硬件的情况下实现精确避障,这样就能够有效克服了传统的避障系统设计周期长、成本高及风险高的缺点,极大的提高开发效率。

1 系统架构总体设计

多适配性无人机避障系统总体方案如图1所示,避障系统介于遥控接收机与飞行控制系统之间,其主要包括超声波传感器及Arduino UNO平台。其中,超声波传感器用于测量无人机与障碍物之间的距离,Arduino采集遥控器接收机输出的信号,并根据所采集的距离进行逻辑判断,重构出遥控器信号输送给飞行控制系统PWM输入端,从而控制无人机的电子调速器来控制飞行的姿态以达到避障的目的。

2 硬件设计

2.1 电源模块

由于该系统中Arduino UNO控制板为无人机记载设备,因此使用外接电源进行输入,图2为外部供电模块原理图,其中,X1是电源输入口,电源的输入的范围为7~12 V,图中D1是二极管,二极管的特性是单向导通。使用二极管的目的是:即使电源输入的正反极性反转,也不会烧毁线路板上的元器件。

2.2 Arduino UNO与飞控接口

Arduino UNO控制板与飞控系统之间选择14路数字输入输出接口,工作电压为5 V,每一路能输出和接入最大电流为40 mA。每一路配置了20~50 kΩ内部上拉电阻。引脚的特定功能:串口信号RX(0号)、TX(1号)可与内部USB-to-TTL芯片相连,提供TTL电压水平的串口接收信号;外部中断(2号和3号)为触发中断引脚,可设成上升沿、下降沿或同时触发;脉冲宽度调制PWM(3、5、6、9、10、11)可以提供6路8位PWM输出;SPI(10(SS),11(MOSI),12(MISO),13(SCK))可以SPI通信接口;LED(13号)顾名思义是Arduino专门用于测试LED的保留接口,输出为高时点亮LED,反之输出为低时LED熄灭。图3为Arduino与飞控数字接口图。

2.3 超声波传感器选型

系统选用XL-MaxSonar-EZ系列的MB1212超声波传感器进行测距,其适用于I2C通讯接口,它有高效的声波功率输出,可实时自动校准,以确保用户不断变化的条件(电压和声学或电噪声),接受范围内的每个读数,自行得出最准确的数值。其供电电压为3.3~5 V,提供了由短至长的范围探测和测距,检测距离为0~765 cm,可以在-40 ℃~+65 ℃温度范围内工作。工作时它不受物体的颜色和其他视觉特征的影响,而是采用高频率的声波进行检测,符合避障传感器的需求。

3 软件设计

3.1 软件流程

多适配性无人机避障系统软件流程如图4所示,Arduino Uno控制板接收遥控器接收机输出的PPW信号,并采集超声波传感器所测量的无人机与障碍物之间的距离信号,进行信号判断处理,重构出遥控器信号输送给飞行控制系统,若判断结果大于安全距离则输出遥控器原始信号,飞机按计划正常飞行,若判断结果小于安全距离,则传递给飞控系统的遥控器信号输出=-k*(安全距离-测量距离),其中,k为一个正系数,表征避障效果强度,即k值越大,避障反应越强烈。

3.2 算法实现

基于上述流程,在Arduino开发平台进行了软件实现。将安全距离设定400 mm,代码中的控制只选用了副翼和升降舵作为控制通道,独立了油门和方向舵通道,目的是若发生意外情况,飞手可操控油门通道让飞机停止工作,保证重要系统工作的独立稳定性。首先进行测距,得出前方距离distance,注意distance为浮点全局变量;后对distance做了一次滤波:如果distance大于等于400,则distance赋值为400。可以看出,如果测出的距离是400那么变量delta就为0。如果距离是300,那么delta就是100,所以给飞机一个0~400雷达范围,当距离为400或者大于400时则系统认为是没有障碍物的,当有障碍物进入范围后,这个delta的作用就是测出障碍物进入雷达范围边缘的距离,也可理解为超边缘距离,而后,将这个delta除以4,作用是给delta做一个比例P,这个比例P的大小为1/4。最后,将delta作用在OUTELE=OUTELE-delta;这样飞机遇到障碍物后,会根据障碍物的远近做出避让,障碍物越近,那么delta越大,避障动作越大,实现避开障碍目的。

4 实验结果

为验证系统设计的有效性,该文基于四轴八桨的多旋翼飞行平台,分别选择大疆公司的A2飞控及3DR公司的APM系统,进行飞行试验验证。在两个试验中,当飞行器以平稳的速度靠近障碍时,均可得到快速的避撞响应,当后退至安全距离后飞行器自主悬停。遥控器也可参与飞机姿态的控制,保证了飞行器的安全,达到了预期避障的要求。

5 结语

该文将超声速传感MB1212与Arduino UNO平台相结合,通过超声波实时采集无人机与目标障碍物之间的距离,利用嵌入式软件进行信号判断处理,重构出遥控器信号输送给飞行控制系统进行避障控制,进而实现了一种多适配性无人机避障系统的软硬件设计。通过基于不同飞控系统的外场飞行实验,该设计在无需了解飞控内部信息的情况下,可高效简洁地实现避障。整体设计具有成本低、可靠性高、算法复杂度低和可扩展等优点,具有很强的实用性。

参考文献

[1] 赵立峰,张凯,王伟.多旋翼无人机位置控制系统设计[J]. 计算机测量与控制,2016(3):24-28.

[2] 刘晓玲,丁保全.基于STM32的多旋翼无人机超声波测距系统[J].物联网技术,2016(2):13-16.

[3] 常国权,戴国强.基于STM32的四轴飞行器飞控系统设计[J].单片机与嵌入式系统应用,2015(2):29-32.

[4] 王刚.基于Arduino Uno平台的跌倒检测报警系统设计[J].单片机与嵌入式系统应用,2015(7):49-52.

[5] JimeNez F,Lara F,Redel R.API for communication between Labview and Arduino UNO [J].IEEE Latin America Transactions, 2014(12):971-976.

猜你喜欢

避障无人机
基于HC—SR04超声波传感器的智能避障小车设计
高职院校新开设无人机专业的探讨