APP下载

基于STM32的无人机避障系统设计

2020-08-14张光辉

现代信息科技 2020年8期
关键词:无人机

摘  要:对市场上现有无人机的飞行安全保护措施状况进行了调查,发现绝大部分无人机未安装避障系统。无人机的自主避障是安全飞行的重要保障。文章设计并实现了一种简单高效的避障系统,此系统设计以STM32开发板和超声波模块为基础,在搭载Pixhawk开源飞控的四旋翼无人机平台上对避障功能进行研究,实现无人机避障。飞行试验证明该避障系统可以实现无人机安全避障飞行,且通用性较好,能在不改变飞控固件的基础上直接移植到大部分无人机平台使用。

关键詞:无人机;STM32开发板;超声波模块;避障系统

Abstract:Based on the investigation of flight safety protection measures of UAVs in the market,it is found that most UAVs are not equipped with obstacle avoidance system. Autonomous obstacle avoidance of UAV is an important guarantee for safe flight. This paper designs and implements a simple and efficient obstacle avoidance system. Based on STM32 development board and ultrasonic module,this system is designed to study the obstacle avoidance function on the platform of four rotor UAV equipped with Pixhawk open source flight control,so as to realize the obstacle avoidance of UAV. Flight test shows that the obstacle avoidance system can achieve the UAV safe obstacle avoidance flight,and the system has good universality,and can be transplanted to most UAV platforms without changing the flight control firmware.

Keywords:UAV;STM32 development board;ultrasonic module;obstacle avoidance system

0  引  言

近年来多旋翼无人机因其具有体积较小、控制比较灵活、能够垂直起降、且能自主飞行和着陆等优点,在科研机构、广播媒体和军事领域都有着越来越重要的应用。但伴随着多旋翼无人机的广泛运用、飞行环境复杂性的增加,无人机撞机事故时有发生。解决无人机的飞行安全问题是当务之急,有些无人机生产厂家在旋翼上加装保护圈,这样可以减少碰撞后的损失,但也不能从根本上解决问题。目前,国内外的研发机构都相继开展自主避障系统的研究,主流无人机避障系统中,主要实现方法有超声波、激光雷达、双目视觉图像处理以及这几种方法组成的复合方法。这几种方法各有千秋,相比激光雷达测距模块需要高精度的硬件做支撑且成本较高的特点,超声波测距在性价比和近距离避障等方面有明显优势,为了提高避障系统的灵敏度和抗干扰能力,将STM32单片机作为主控开发板能够显著提高系统的数据处理能力。

基于校内巡检机器人项目对避障功能的研究,本文以STM32开发板和超声波模块为基础,在搭载Pixhawk开源飞控的四旋翼无人机平台上对避障功能进行研究验证。

1  系统总体方案设计

本文设计的无人机自主避障系统如图1所示,测距模块采用HC-SR04超声波传感器,用来实时检测无人机与前方障碍物的距离;基于STM32开发板的数据处理模块,用于采集超声波数据和遥控器信号,根据超声波数据对遥控器信号进行处理,处理后的多路PWM信号经通信端口送到PPM编码器中编译,得到一路PPM复合信号送入飞控,实现对无人机的避障控制。

2  硬件设计

本系统的硬件设计包括数据处理模块设计、测距模块、避障系统执行机构等。其中数据处理模块是整个无人机避障系统的控制中心,本文中数据处理模块基于STM32开发板,包含单片机芯片和必要的外围电路(如晶振电路、复位电路和SWD接口等);测距模块为系统采集距离信息,是数据处理模块输出PPM信号的判断条件;避障系统执行机构是一架四旋翼无人机平台,该平台硬件的设计包括四旋翼无人机本体的机架、飞控(Pixhawk)、电调、无刷电机、螺旋桨、电池、GPS等。

2.1  数据处理模块

数据处理模块是整个避障系统的大脑,是各个模块正常工作的基础。本文中数据处理模块基于STM32开发板,需要通过测距模块采集数据并同时采集2.4 G遥控器发出的多路无人机姿态控制信号,经数据处理模块处理后重新输出多路PWM飞行控制信号。

2.2  测距模块

在本设计中,超声波超感器选用了HC-SR04,该传感器探测范围在2 cm~450 cm,探测频率可达40 Hz。采用I2C接口与数据处理模块通信,只需修改地址即可读取相应的HC-SR04的数据。相比普通的超声波传感器,节省接口,读取方便。采用独特的可调滤波降噪技术,电源电压受干扰或噪音较大时,保证工作正常。

根据HC-SR04模块介绍可知,提供一个10 μs以上的脉冲触发信号,该模块内部将发出8个40 kHz周期电平并检测回波。一旦检测到有回波信号则输出回响信号。回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离:距离=高电平时间*声速(340 m/s)/2。

2.3  避障系统执行机构

避障系统执行机构是执行避障指令的机构,关系到无人机能否避免与障碍物发生碰撞,所以对此模块的性能以及可靠性的要求比较高。避障系统执行机构需要具有响应速度快、能够根据制动命令做出快速的响应、并且能够平稳地执行每一步飞行指令的特点。在本研究中,以搭载Pixhawk开源飞控的四旋翼无人机平台作为避障系统的执行模块。同时,为了使执行模块快速地对来自主控制器的指令产生响应,我们用PPM Encoder编码器连接主控制器与Pixhawk飞控。PPM Encoder编码器的作用是把数据处理模块输出的多个通道PWM信号编码成PPM复合信号输出,以单线方式连接Pixhawk飞控。

四旋翼无人机本体包括:机架、Pixhawk飞控、无刷电机、电调、螺旋桨、电池等。本文采用的四旋翼无人机为自组无人机,轴距450 mm,螺旋桨型号是9450,电机采用T-motor 2213 950 kV无刷电机。

对硬件选型后,将各模块按照如图2所示的方式进行连接。至此,本文的硬件工作搭建完成。

3  软件设计

四旋翼无人机避障系统的功能是在STM32最小系统开发板下实现的。整个软件系统由两个模块组成,一个是数据处理模块,一个是测距模块,体现在软件设计上就是主程序和避障系统的测距模块程序。在进行设计时,先画好程序流程图,作为编写程序的指导。每个模块的程序调试完成后,依照主程序流程图,与主程序建立联系。

3.1  避障系统主程序的设计

主程序是整个系统运行的主要逻辑,其他各部分的程序在这里被调用。四旋翼无人机避障系统的主程序流程如图3所示。

系统执行主程序时,首先进行系统初始化,然后对各个模块初始化,随后进入while循环,不断启动HC-SR04读取超声波数据,避障系统主控模块对超声波数据判断处理后输出PWM信号,PWM信号经PPM编码器输入飞行控制模块,控制无人机的飞行。

3.2  测距模块程序设计

设计中,四旋翼无人机安装了1个超声波模块进行测距数据采集,与单片机通过I2C通信。超声波传感器模块程序流程图如图4所示。

4  测试实验

为了提高调试的效率、便于分析故障,本研究对各个模块进行了分布调试。最后,将各个模块结合起来,完成整体的调试。以主控单片机为核心,整体调试也分为以下几个步骤。

4.1  测距模块实验

测距模块是避障系统的前端检测机构,是避障系统可靠工作的基础。本设计使用HC-SR04超声波传感器进行距离检测,STM32F103RCT6微处理器通过控制超声波传感器的Trig引脚使其发出8个40 kHz的方波,定时器开始计时,直到Echo引脚输出高电平计时停止,得到声波从发出到返回的时间,通过计算得出与障碍的距离。为了方便观察测距结果,测量结果由微处理器串口通过TTL转USB模块发送到电脑,通过电脑软件串口调试助手观察数据。

4.2  多信号处理与融合实验

进行这个步骤的调试需要把主控模块、PPM编码器、接收机和Pixhawk连接起来并通电,通过2.4 G遥控器的四个基本通道输出命令,接收机接收到指令后送主控,测距模块将检测数据送到主控模块,主控模块对多路信号进行处理后输出,遥控器的第一通道、第三通道、第四通道与主控处理后的第二通道信号经PPM编码器融合输入Pixhawk的RC端口。

在PPM编码器输入端测试经主控处理后的信号,其频率为73.5 Hz,占空比在7.35%~13.20%的范围内,中间值为10.20%。

在PPM编码器输出端测试经编码后的PPM信号,其频率为675.0 Hz。

4.3  避障系统与无人机联调实验及分析

确保各模块功能实现后,对全部模块进行组装,无人机不带桨进行静态实验。先打开遥控器,接通电池,等待测距模块与避障主控模块启动。Pixhawk飞控用USB线连接到电脑,并打开Mission Planner地面站,地面站上显示了四旋翼无人机当前的状态。

通过遥控器发送控制指令解锁无人机,分别观察超声波探头前无障碍物和有障碍物两种情况下Pitch通道值在Mission Planner地面站上的变化,我们可以发现在超声波探头前无障碍物时,Mission Planner地面站上Pitch通道值随着遥控器俯仰通道摇杆的变化而变化。

当超声波探头前有障碍物时,Mission Planner地面站上Pitch通道值随着遥控器俯仰通道摇杆前推而保持在1 520左右,遥控器俯仰通道摇杆后拉时,Mission Planner地面站上Pitch通道值跟随摇杆的变化而变化,地面站显示如图5所示。

这说明无人机避障系统能够检测到障碍物,并通过飞控接收的遥控信号来改变无人机的飞行状态,从而達到避障的目的。

静态实验完成后,我们可以对无人机避障系统进行动态避障实验。找到一面光滑的墙,操控无人机远远地向这面墙飞行,我们可以发现在无人机距离墙大概1 m左右时,无论我们如何推动遥控器俯仰通道的摇杆,无人机均悬停在原地,不再往墙前行,此时,副翼通道、油门通道、航向通道及俯仰通道的后拉均能正常控制飞机飞行姿态。飞机的避障飞行控制如图6所示。

5  结  论

本文围绕无人旋翼机避障系统展开研究,首先对无人机避障原理进行研究和分析,得到无人机实现防撞的方式,选择适合本次研究的无人机避障方案,然后,设计无人机避障系统。在硬件层面搭建实验平台,在软件层面设计程序进行控制。最后,验证无人机避障系统的功能。实验中无人机接近障碍物时可以有效悬停,但悬停距离与程序设计有一定误差。

本文设计的无人机避障系统主要针对前置避障,对其他方位的障碍物并不能达到避障效果,设计一款全向避障的避障系统是下一步的研究方向。

参考文献:

[1] 张西忱.无人机的避障技术及其应用 [J].集成电路应用,2017,34(2):66-68.

[2] 王力群,林朝辉.基于Arduino UNO平台的多适配性无人机避障技术 [J].科技创新导报,2016,13(9):18-19.

[3] 赵航.基于pixhawk的多旋翼无人机避障飞行系统研发 [D].北京:北方工业大学,2017.

[4] 袁安富,徐金琦,王伟,等.基于双STM32多旋翼无人机控制系统设计 [J].电子技术应用,2013,39(11):136-138.

作者简介:张光辉(1988.09—),男,汉族,河南信阳人,助理讲师,本科,研究方向:无人机应用。

猜你喜欢

无人机
基于蚁群算法的一种无人机二维航迹规划方法研究
无人机配送的障碍性因素分析
植保无人机操作规程及注意事项
高职院校新开设无人机专业的探讨
一种适用于输电线路跨线牵引无人机的飞行方案设计
浅析无人机技术在我国的发展前景