基于多传感器融合的室内自主飞行器系统

2022-07-24 12:09赵典王新怀徐茵韦佳辰徐逸飞
电子产品世界 2022年7期

赵典 王新怀 徐茵 韦佳辰 徐逸飞

摘要:设计了以多旋翼无人机为平台,基于多传感器融合、ADRC自抗扰控制、YOLOv5目标检测神经网络等技术的室内自主飞行器系统。系统以Jetson NANO为运行平台,采用ACFLY EDU飞行控制板运行核心控制部分,基于Intel RealSense T265的位置信息,融合飞行控制板IMU、高度气压计、TOF等传感器数据对无人机在室内的状态进行估计和修正,使用ROS和MAVROS构建通信系统,以提高无人机在室内飞行的平稳性。该系统可以根据控制命令或自主实现无人机一键起飞、动态室内定位、飞行姿态控制、对室内目标的检测与精准识别、航向控制与定点降落等功能。经电子设计竞赛实际测试,本系统能够不依赖传统的GPS信号和光流传感器等模块进行定位,同时具有较高的定位精度,可在室内复杂条件下完成自主飞行器既定的设计功能。

关键词:多传感器融合;室内自主飞行;ADRC自抗扰控制;T265;YOLOv5神经网络;ROS

0引言

无人机在最近十年内在民用领域有了长足的发展,但由于室内全球定位系统(global positioning system,GPS)信号弱或不可用,传统平台依赖的惯性导航误差较大,并且室内地面效应比较严重,所以室内无人机的发展进度相对缓慢。笔者通过对室内无人机飞行器比赛的训练和参与发现存在着如下问题:室内定位常用的光流传感器受环境光照强度和参照面特征点数量的影响;气压计高度读数随着楼层的变化,不能正常显示飞行器相对地板高度;室内地面效应严重致使飞行器起飞时参数震荡,传统比例积分微分(proportional integral derivative,PID)控制参数难以调整等,因此对室内自主飞行器系统的研究十分必要。

本系统以多旋翼无人机为平台,基于多传感器融合、ADRC(自抗扰控制)等技术,设计了一款室内自主飞行器,在一般室内环境下能够完成一键起飞、动態室内定位、航向姿态控制、目标检测等功能,拓展了无人飞行器在室内环境下的功能和可用性。

1系统设计

1.1系统组成部分

室内自主飞行器系统硬件部分包括:机载主控核心板NVIDIA Jetson NANO,ACfly EDU飞行控制板、Intel RealSense T265 追踪深度实感摄像头、RealSense D435i追踪深度实感摄像头、Tiger动力套装、地面站等。

室内自主飞行器系统软件部分包括:Linux操作系统、机器人操作系统ROS、通信协议MAVLINK、自抗扰控制ADRC算法、YOLOv5目标检测神经网络等。系统组成结构如图1所示。

1.2系统工作过程

机载主控核心板NANO实时将T265采集获得的深度位置数据与飞行控制模块采集的惯性测量单元(inertial measurement unit,IMU)及气压计数据进行融合,实现对无人飞行器的当前位姿数据进行纠正和估计,发送到飞控板,飞控板获得位姿数据后根据控制指令对无人飞行器位置和姿态进行控制。机载D435i深度相机可以通过部署在Jetson NANO上的YOLOv5神经网络对目标进行识别。获得目标的相对位置和坐标,并将数据上传到飞控板。

Jetson NANO与飞行控制板使用MAVLINK协议通过串口实现通信功能;通过WIFI连接远程上位机部署调试界面NoMachine进行非接触式调试和任务布置工作。通过各个模块的有机结合,最终实现了基于多传感器融合的室内自主飞行器系统,可以借助NoMachine完成远程命令下达实现自主飞行及功能操作。

2系统功能实现

2.1硬件部分

系统采用Nvidia Jetson NANO作为板载计算机。Jetson NANO的浮点计算性能达到472 GFLOPS的同时,它能并行运行多个神经网络并同时处理多个高分辨率的传感器。并且它具有小型化、轻量化和低功耗的特点,适合在无人机环境中进行部署和开发。

它作为无人机系统的核心,承担着信息处理和数据交互等工作,我们在它的系统之上搭建了ros(实时操作系统)平台,此平台可以以节点的方式高效的处理来自各个传感器的数据,同时在ros平台上可以很方便的调用各个模块厂家发布的模块包,简化,方便我们获取来自飞行时间(time of flight,ToF),摄像头,飞控等各个模块传递过来的信息数据,板载计算机进行综合处理之后可以通过串口,发送特定协议指令与飞控进行通信,从而控制无人的各种姿态运动。

系统采用Intel RealSense T265作为多传感器融合的核心模块,利用其内部的鱼眼镜头、IMU等模块获取环境中的视觉特征,而其内部带有Movidius Myriad 2视觉处理单元(VPU)可以直接在摄像头内部运行V-SLAM算法,减轻板材计算机数据处理的压力,可以直接从摄像头获得其位姿数据,在未知空间可精确追踪其路径。在预期使用环境下它可以达到低于1%的闭环漂移误差且也具有低功耗、小型化、轻量化等特点,有利于无人机在GPS数据不可用的位置进行稳定飞行操作。

项目采用ACFLY EDU开源飞控做为飞行控制板,其采用TM4C123GH6PM作为核心芯片,能够兼容MAVLINK通信协议,飞控内部带有陀螺仪、磁罗盘、气压计等模块,并支持外部传感器模块的拓展,能对多传感器数据进行检测和融合,得到无人机当前自身的姿态,速度等数据信息。飞控通过四路PWM波控制电调出力,进而控制各个电机的转速,完成对无人飞行器的位姿和速度控制。

ToF模块,通过激光反射时间差获取距离信息,它具有高精度,小体积,低功耗等特点,其距离分辨率可达到1 cm,同时模块通信方式支持串口模式,IIC模式,modbus模式,用户可根据自身系统配特点对其进行配置,该模块可以与飞控通信,飞控再将其数据与自身带有的气压计等模块实现无人机飞行高度的控制和稳定。

2.2软件部分

软件部分主要负责控制无人机姿态位置、板际通信实现、传感器数据采集、目标检测、远程控制等。

为了增加无人机姿态控制的精度以对抗室内环境的地面效应,笔者使用ADRC自抗扰控制算法代替传统的PID控制算法以完成室内飞行控制的目的。传统PID 算法是由飞行控制板从IMU模块中获取四元数,对四元数滤波后进行转换得到欧拉角来获取当前的姿态信息,通过构建PID模型的比例、积分、微分、三个量值来获得最终输出。然而传统PID算法的不足在于无法自适应外界干扰来调整比例、积分、微分三个量值使其能够始终控制姿态稳定,这在室内环境下尤其重要。因此笔者采用ADRC方法即使用跟踪微分器TD、扩张状态观测器ESO和状态误差反馈控制律(NLSEF)三个模块对无人机进行控制。

通信方面,系统NANO主控板环境中运行Ubuntu 18.04,并安装ROS Melodic版本,更新MAVROS扩展包。MAVROS通信协议被广泛应用于无人机通信,其是一种为微形飞行器设计的非常轻巧的、只由头文件构成的信息编组库。无人机的控制、状态、位置等信息都可编译为MAVROS数据包。机载电脑内部ROS节点调用MAVROS包进行信息的订阅和发布,将ROS数据与支持MAVLINK的飞行控制板进行连接并传输相关数据。

目标检测方面,系统依赖于NANO的TensorRT深度学习加速引擎部署YOLOv5模型。无人机通过D435i 深度相机获取目标图片,并将图片传入该模型中进行检测获取目标中心点位置信息以及目标在图片中的相对坐标信息。将这些信息与深度相机获得的深度点云图结合,再通过opencv功能包进行一系列的图形学形态学操作处理,可以得到目标物形态、分类,以及与无人机的距离位置等信息。板载电脑根据此类信息,结合当前运行的任务要求,发送不同的无人机运动控制指令,完成需要实现的目标。

系统任务下达与远程调试依赖于NoMachine图形远程界面Linux版本,通过Wi-Fi将地面站上位机与Jetson NANO进行连接。可以在地面站上位机观察NANO的输出值,对其进行实时调试;也可通过上位机向机载电脑发送控制命令以控制无人机动作。

3实际项目设计

3.1项目设计需求

本项目参加了2021年全国大学生电子设计竞赛G 赛题植保飞行器。赛题要求无人机按以下播撒区域飞行并做出指示:

赛题要求飞行器在“十”字起降点垂直起飞,升空至150±10cm巡航高度,寻找播撒作业起点,从“A”所在区块开始“撒药”作业,必须在360秒内完成对图7中所有绿色区块进行全覆盖播撒,作业完成后稳定准确降落在起降点;飞行器几何中心點与起降点中心距离的偏差不大于士10 cm。

在作业区中放置一只高度为150 cm、直径3.5±0.5 cm的黑色杆塔,杆塔上套有圆环形条形码(放条码的高度为120~140cm);作业中或返航途中,飞行器识别条形码所表征的数字,用LED闪烁次数显示数字,间隔数秒后再次闪烁显示。

最后以起降点“十”字中心为圆心,以上述杆塔二维码中识别的数字乘10 cm为半径,飞行器在该圆周上稳定降落;飞行器几何中心点与该圆周最近距离的偏差不大于±10 cm。

3.2无人机运动控制逻辑

针对赛题要求,我们采取无人机以固定轨迹路线进行播撒作业的方案,此方案可以有效的实现所有绿色区域检测并避开杆子防止区域,减少逻辑复杂度,简化系统流程。

运行轨迹如图8箭头所示。

想要完整实现的场地的遍历,需要建立在无人机对于自身的精确定位,而在实际测试过程中,无人机由于地面效应等原因,在无人机起飞过程中会有不可控的震荡,这容易造成T265数据的失效,因此在每次任务运行前,通过携带无人机遍历场地获取更多有效的视觉数据,可以有效减少T265自身数据出错的概率。整个过程中无人机使用ARDC自抗扰控制进行姿态自稳和位置校正。这一系列过程中系统调用了无人机姿态控制接口、位置控制接口、通过MAVLINK协议完成了上述控制。

3.3无人机功能控制逻辑

无人机在绕场飞行中,通过获取自身的定位数据,判断需要进行的功能模块,在无人机遍历绿色区域块的过程中,将会调用无人机下方的摄像头获取图片,再通过颜色阈值判断等方法对图片进行检测,判断下方作物颜色,以确定是否需要激光笔的闪烁。

而再遍历完所有绿色区域的,返航时(即图六中蓝色箭头所示行进路线),将会打开无人机侧方摄像头获取图片,并通过颜色阈值提取,膨胀腐蚀,霍夫直线检测等一系列图形学处理算法,再结合t265获取到的深度图共同判断,可以有效的获取杆子的距离以及方位,通过PID等算法控制无人机向杆子位置靠近,最后再通过深度学习等算法获取二维码所在的位置,调节无人机姿态向其靠近,接近一定距离后读取出相关条形码,根据条形码上的有效数据进行降落操作。

整个系统模块的流程图如图9所示。

4项目测试

本项目在自行搭建的,全封闭的保护网内进行实验测试,我们分别测试了无人机的失败播撒(“漏撒”和“误撒”)的次数,下降位置的准确度,以及二维码识别成功率。

经过实际测试,此套无人机系统可以实现无人机在室内精确定位以及稳定飞行。此项目方案流程可以较为完整的完成题目要求的各个功能,而完成度与无人机稳定性及周围环境密切相关。在一个较为宽阔且光线可控的封闭空间中,无人机的稳定性和完成度可以得到大幅度的提升。

5结语

构建了一种基于多传感器融合的室内自主飞行器系统,使用Intel RealSense T265摄像头作为室内定位传感器,在NVIDIA Jetson NANO上搭载ROS,采用ACFLY EDU飞控进行无人机姿态和位置控制,基于MAVROS-MAVLINK进行通信,使用Intel Realsense T265深度相机在Jetson NANO上部署YOLOv5进行目标识别,通过无人机任务管理系统实现无人机位置和姿态控制。通过参加电子设计竞赛无人机赛题试验测试自主飞行器系统的性能。比赛实验结果表明:

该系统实现了无人机在室内一键起飞、自主悬停、自主飞行、目标检测和自主降落功能。

无人机能够按照预定飞行路线自主飞行、传感器融合达到了室内定位所需的精度要求、能够按照要求完成既定任务。

该系统定位精度高、稳定性强、能够完成识别工作,对于室内智能无人机的实现具有很好的借鉴意义。

参考文献:

[1]姚光乐,王守雷.Pixhawk飞控系统的四旋翼无人机室内飞行技术研究[J].电子世界,2021(07):86-88.

[2]蔺晓俊,薛涛,孙习贞.基于视觉惯性里程计的室内自主飞行无人机系统设计[J].机械设计,2021:99-103.

[3]李佳佳.四旋翼飞行器一致性控制研究[D].陕西:西安电子科技大学.2018.

[4]王晶晶,顾得.无人机室内自主定位方法研究[J].计算机与数字工

程,2022(01):801-806.

[5]祁江鑫,吴玲,卢发兴,等.基于改进YOLOv4算法的无人机目标检测[J].兵器装备工程学报,2022.

[6]李健,刘孔宇,任宪盛,等.基于自适应阈值的Canny算法在MRI边缘检测中的应用[J].吉林大学学报,2021(02):22-25.

[7]MAGNUS LIE HETLAND. Python基础教程[M].北京:人民邮电出版社,2018.

[8]葛畅,何振鹏,年哲,等.四旋翼无人机姿态测试平台设计及运动控制研究[J].机械设计,2019,36(1):136-140.

[9]林晓华,王茂森,戴劲松.基于ROS的无人机占据地图构建方案设计[J].兵器装备工程学报,2021,42(5):215-220.

[10]赵丽荣,杨毅.无人机室内定位技术综述[C].第十四届全国信号和智能信息处理与应用学术会议论文集,北京,2021:270-273.

[11]张熙恒,张建强.多旋翼飞行器DIY入门与时间[M].西安:西安电子科技大学出版社,2018:144-146.