0引言近年来,自主导航无人机以其低廉的成本、无人员伤亡风险、机动性能好、使用方便等优势,在高危作业、灾害航拍、抢险布控、环境监测等领域得到了广泛的应用[1]。
目前小型自主导航飞行无人机避障仍然是小型四旋翼无人机的发展和突破的关键技术。
结构简单,又能有效的避障通过系统是现在小型无人机亟待解决的主要问题。
本课题就是以Pixhawk 作为无人机飞控,由树莓派3B +运行MAVROS 以及避障程序,通过串口连接,使用MAVLINK 通讯协议,来给处于离线控制模式(offboard 模式)的无人机飞控发送飞行航点指令,完成室内通道的避障穿越。
1系统总体结构基于Pixhawk 飞控的无人机避障系统包括,搭载Pixhawk 的无人机和使用MAVROS 树莓派。
无人机避障控制系统结构图如图1所示。
四旋翼无人机包括飞行控制系统,和MAVLINK 指令接收系统,飞行控制系统需要运行在Pixhawk 飞控上的PX4飞控源码,其中PX4源码主要包括uorb 、姿态解算、姿态控制、位置解算、位置控制、navigator 、commander 等。
飞控根据接收到的外载计算机发出的期望位置和飞行模式来进行避障飞行。
树莓派3B+上主要运行MAVROS 、避障航点解算以及连接超声波传感器。
2010年,Willowgarage 公司发布了开源机器人操作系统ROS (Robot Operating System )[2]。
MAVROS 是ROS 的一个软件包,允许通过mavlink 协议在计算机和飞控板以及地面站之间通讯。
通过左侧,前方,右侧三个方向超声波传感器来估计自身位置,由避障程序来计算安全飞行路径,通过MAVROS 把指令发送给无人机进行避障飞行。
无人机机体结构:人机整体结构包括外形支架结构,控制面板以及起降辅助系统等。
无人机外形支架结构的坠落预防机制和处理机制需要从材料商选择是考虑结构耐摔、耐压、耐磨损等因素[2]。
无人机的机架不光要承担Pixhawk 飞控,树莓派3B+,超声波传感器以外,还要配置合适的电机和桨叶,以及对电机进行调速的电调,最后还需要供给能源的电池。
同时,无人机的外形要尽可能符合空气动力学,尽可能降低风阻,质量分布均匀,保持飞机的稳定。
无人机的试飞环境尽可能有一定的空间,防止发生坠机事故造成较大损失。
具体无人机的硬件控制系统的结构如图2所示。
Pixhawk 无人机飞控板上集成了加速度计,气压计,陀螺仪磁力计等飞行常用传感器,还可外接GPS 、无线通讯器的外置信息交互处理硬件。
芯片采用STM32F427Cortex M4芯片作为核心处理器,而且还在飞控板上添加一个32bit STM32F103芯片作为协处理器,在主处理器发生故障或出现死机的情况下,由协处理器继续运行PX4源码,保证飞行安全,进一步增加了稳定性[4]。
树莓派3B+上接入了三个GY-US42超声波传感器,GY-US42超声波传感器的测量距离为0.2-7.5m ,读取超声波传感器的信息方式为首先在一个引脚设置发出“低高基于Pixhawk 的无人机室内通道自主避障研究Research on Autonomous Obstacle Avoidance of Indoor Channel of UAV Based on Pixhawk杨旗YANG Qi ;崔玉博CUI Yu-bo ;陈杰CHEN Jie ;王家楠WANG Jia-nan(沈阳理工大学机械工程学院)(School of Mechanical Engineering ,Shenyang Ligong University )摘要:针对目前的无人机自主避障研究,以及无人机穿越的需求,提出了一套能完成避障穿越的四旋翼无人机避障系统。
其中采用了Pixhawk 作为无人机的飞行控制器,树莓派3B+上来运行MAVROS 和避障算法,以及连接超声波传感器,通过超声波传感器来判断无人机当前位置,通过MAVLINK 发布安全航点给无人机,进行避障穿越飞行。
Abstract:Aiming at the current research on autonomous obstacle avoidance of UAVs and the demand for UAV crossing,a set of four-rotor UAV obstacle avoidance systems capable of completing obstacle avoidance crossing is proposed.The Pixhawk is used as the flight controller of the drone,the Raspberry Pi 3B+is used to run the MAVROS and obstacle avoidance algorithms,and the ultrasonic sensor is connected.The ultrasonic sensor is used to judge the current position of the drone,and the safe waypoint is issued to the unmanned via MAVLINK machine to carry out obstacle avoidance flight.关键词:无人机避障;室内飞行;通道穿越;MAVROS ;超声波测距Key words:drone obstacle avoidance ;indoor flight ;channel crossing ;MAVROS ;ultrasonic ranging———————————————————————基金项目:本项目受辽宁省科技厅基金资助(基于TRIZ 理论的多无人机协同多视角场景人体行为识别研究,项目编号20170060)。
作者简介:杨旗(1976-),男,辽宁沈阳人,副教授,博士。
图1无人机避障控制系统结构图Internal Combustion Engine &Parts低”三种电频信号,由另一个引脚进行记录,当电平信号为高时,记录系统时间为t 1,为超声波发出时刻,继续监听当电平信号为低时,记录系统时间为t 2为超声波回来的时刻。
通过L=(t 2-t 1)*340/2,来计算距离信息,单位为米。
2无人机避障系统软件设计无人机避障系统的软件分为两个方面,一是运行于Pixhawk 上的PX4源码,二是,运行在树莓派3B+上的MAVROS ,以及通过MAVROS 给无人机发送飞行指令的避障程序。
2.1PX4源码PX4源码是运行在Pixhawk 上的一套开源飞控源码,其飞行控制功能强大,代码运行较为稳定,且采用模块化编程,还设计了一套Uorb 的内部通讯手段,具体内部运行图如图3所示。
Px4源码运行首先用户手动设置飞行模式,以及解锁,其次由位置解算模块获取无人机的GPS ,加速度计等传感器数据,解算出当前无人机的位置,并发送给位置控制模块以及姿态解算模块和navigator 模块。
经navigator模块确定任务类型、地理围栏、失效保护、把位置航点发送给位置控制器等。
同时姿态解算模块和位置控制模块会计算出满足下一次飞行的无人机姿态,并发送给姿态控制模块中,最后混控阵矩阵来计算出各轴的实际转速,通过电调来改变电机转速来完成一次飞行节点的任务。
2.2MAVROS 以及避障程序设计MAVROS 是ROS 机器人操作系统MAVLINK 可拓展的通信节点与UDP 的一个代理地面站。
MAVLINK 通讯协议,其是一个为微形飞行器设计的非常轻巧的、只由头文件构成的信息编组库。
他可以通过串口非常高效地封装C 结构数据,并将这些数据包发送至地面控制站[2]。
本课题中主要采用MAVROS 支持的一些订阅发送服务。
避障程序的设计主要包含两个方面一个方面是判断无人机当前的飞行状态是否处于需要避障的位置;另一个方面是如果无人机处于避障位置,如何躲避障碍穿过要求的路径。
其中判断无人机当前的飞行状态主要通过三个超声波传感器dis 1、dis 2、dis 3,分别为左侧,前方,右侧来判断自身的位置,具体飞行流程为首先判断自身当前航点位置是否安全,即传感器数值没低于设定的阈值,则改变飞机飞行模式为正常飞行模式,给出向前飞行的期望航点,若传感器数据有低于阈值判断为当前航点为危险航点。
改变飞行模式为避障飞行模式。
然后开始检测传感器的数值,如果是dis 2小于阈值,则判断为前方障碍,然后改为向侧面飞行,给出期望航点0,如果不是前方遇到障碍则判断dis 1是否小于阈值,如果是,则为左侧障碍,改变飞行方向为右侧,给出避障期望航点1,否则即为右侧障碍给出避障飞行航点2,然后将期望航点发送给通过MAVROS 转化成MAVLINK 信号发送给无人机,并且发送给无人机,然后开始通过加速度传感器和GPS 来计算当前位置与期望位置的误差,如果计算误差小于0.1M 并且持续100次,则判断当前飞行位置为期望航点位置。
继续进行避障飞行。
具体逻辑控制图如图4所示。
具体操作流程为,开启无人机电源,手动切入飞行模式(飞行任务设置在飞行模式中),飞机回通过MAVROS执行避障程序初始的进入offboard 离线飞行模式,然后解锁无人机准备起飞,起飞至设置好的定值高度,然后进入主循环开始避障飞行[5]。
3飞行实验小型无人机的自主导航飞行实验通常采用真机实飞或者仿真飞行。
本实验采用改进的无人机烧录程序来模拟无人机的实际飞行情况来验证无人机在实际避障穿越飞行可靠性。
飞行测试为linux 系统下的gazebo 仿真软件,并且通过rqt 插件来跟踪飞行航点坐标来判断飞行轨迹是否满足预期路线。
具体实验步骤为先打开MAVROS 节点,打开模拟的Pixhawk 飞控,和gazebo 仿真软件,通过tcp 协议来连接飞控和MAVROS 如图5所示。
然后打开飞行避障程序,然后在commander 里面输入飞行模式(本人设置ACRO 模式为任图2无人机的硬件控制系统结构图图3内部控制系统流程图图7无人机开始避障表1飞行速度与航点对飞行惯性的影响飞行速度m/s航点距离m有无碰撞方案1方案2方案30.050.050.10.10.20.1无无有图4避障逻辑控制图务飞行模式),然后避障程序接收到ACRO 模式后,开始正式启动运行,切入offboard 模式,解锁,起飞等。
如图6所示。
在起飞至初始航点2M 高度后,开使执行避障飞行任务,检测自身位置是否安全,进行穿越飞行。
在飞行实验中,对飞行的测试内容包括起飞,降落,数据通讯及规避障碍物等。