基于树莓派的无人机飞行监控机载系统设计

2022-04-06 10:07顾国民
实验室研究与探索 2022年2期
关键词:飞行数据树莓电源

顾国民, 卢 瑾, 潜 杰

(浙江工业大学计算机科学与技术学院,杭州 310023)

0 引 言

随着无人机技术的逐渐成熟,无人机已应用于工业巡检,例如地质勘测[1]、电力巡检[2-5]、输油管道[6]、喷洒农业等。与传统人工巡检相比,无人机巡检地形条件限制小,时间节省,有利于提高巡检效率。巡检实际工作场景中受到信号干扰或阻挡较为严重时,地面工作站容易丢失对无人机的监视,无法实时查看无人机当前状态以及作业情况,甚至造成无人机飞行过程中失控、丢失的情况发生[7-11]。

树莓派是一款采用ARM架构的微型电脑主板,具有强大的系统功能和接口资源,具备所有PC的基本功能,可安装完整的Linux系统,支持多种语言进行应用开发,经过多代产品的迭代,功能稳定,开发资料众多,通用性好,且具有体积小、功耗低和重量轻等特点。

对于无人机而言,低功耗以及重量轻的优点能够最大限度减少对无人机续航的影响[12-15]。本文针对无人机巡检过程中产生的问题,设计了一套以树莓派为平台的无人机飞行监控机载系统,以解决巡检无人机作业过程中突发的信息中断缺陷,并在该情况下依托移动数据网络实施紧急信息回传和设备定位等功能。

1 机载系统功能与架构

无人机飞行数据监控机载系统具备以下功能:

(1)增加备用电源装置,实现主、备电源两种供电方式,确保无人机一旦出现电源故障,机载系统依然可以持续工作。

(2)对无人机状态、网络连接状态以及电源状态进行实时监测,并显示监测结果。

(3)机载系统实时存储无人机网络状态、电源、无人机数据程序、系统以及无人机飞行状态数据等信息。

(4)利用4G移动通信技术将设备定位及机载系统工作状态数据实时传送至起到类似飞机飞行数据记录仪的功能,提高无人机巡检工作的稳定性。

为实现以上功能,机载系统分为微型主板、电源、显示以及通信等模块主要部分,各模块安装于防水防尘的外盒中,并固定于无人机顶部,系统整体架构如图1所示。

图1 系统整体架构图

2 机载系统硬件平台

机载系统硬件包括主控平台、电源、显示、通信以及负责无人机与主控平台间交互的串口通信模块,系统原理如图2所示。

图2 机载系统工作原理图

2.1 微型主板

微型主板是机载系统的核心部分,主要负责计算、处理各种数据,如无人机的位姿、飞行速度以及电池电量等信息,同时要保持与地面站的数据连接,需要有足够的运算精度与能力,足够的通信接口等。本文选用树莓派3B作为无人机二次开发平台,安装Arm版操作系统Ubuntu Mate 16.04,并在该操作系统上部署机器人操作系统(Robot Operating System,ROS)作为DJI OSDK开发环境,通过其订阅和分发功能与无人机进行通信,并对获取得的无人机传感器信息进行处理,得到当前时间、GPS经纬度、飞行高度、飞行速度、电池电量等信息,存储在本地以待移动通信系统进行上传。微型主板与其他功能模块进行连接。

2.2 电源模块

机载系统具有主电源供电和备用电源供电两种方式,无人机出现电源故障依然可以监控其作业状态及位置,并记录无人机作业信息。

电源模块由降压、主、备电源切换以及备用电源模块组成。降压稳压模块采用UBEC 5A,其输入端与无人机的电源输出端连接,输出端与UPS电源模块的输入端连接,无人机输出电压为24 V,降压稳压模块将24 V降低到5 V,提供3 A的输出电流;备用电池模块包括电源管理扩展板和充电电池,电源管理扩展板采用U100 UPS,电池采用18650锂电池,其中U100 UPS的电源输出管脚和GND管脚分别和微型主板的电源输入管脚和GND管脚连接。主、备电源切换采用一路光耦隔离模块检测电源输入模式,模块的输入端与降压模块的输出端连接,信号输出端OUT-I/O与树莓派的第13号GPIO管脚连接,接地端与树莓派的GND管脚相连。当有电源接入时,输出为低电平;电源断开时,输出为高电平,通过树莓派的GPIO读取高、低电平信号,进行电源输入的判断。

2.3 显示模块

机载系统对无人机状态、网络连接状态以及电源状态进行实时监测并显示,显示模块选用7.4 mm e-Paper柔性墨水屏,该屏带有内部控制器,使用SPI接口通信,且具有支持局部刷新、功耗低、视角宽、断电仍可清晰显示等优点。显示模块的SPI通信接口与树莓派Board物理引脚进行连接,显示屏幕嵌于外盒顶部。显示屏划分为5个部分,分别用于显示系统时间、OSDK连接状态、网络连接状态、无人机工作状态及系统运行状态。

2.4 通信模块

本文采用4G LTE WIFI Dongle无线上网卡,通过USB口与树莓派进行连接,安装在机载系统盒内,通信系统利用3G/4G移动通信信号,将飞行数据通过http协议实时上传至云端。经验证,无人机搭载本系统使用4G模块在高度100 m的环境下可以稳定运行。

2.5 串口通信

无人机的主控芯片为单片机,树莓派属于PC机,两者之间的通信需要通过信号转换,本文采用CH340G芯片与无人机主控芯片连接,实现USB转TTL,将电平转换到双方都能识别的信号,以便树莓派能有效地读取无人机发送的信号。CH340G芯片通过排线与无人机上的UART口连接,CH340G芯片的TX脚连接无人机的RX脚,RX脚连接无人机的TX脚,通过USB口将CH340G芯片与树莓派连接,将双方识别的电平转换为通信电平。

3 飞行监控软件设计

选用Python和C++语言编程,利用Python简洁的语法特性和强大的图像库支持,实现状态显示、网络检测、供电方式判断等功能,C++语言实现无人机行数据信息读取等功能,运行流程如图3所示。

图3 机载系统运行流程图

3.1 开机自启动脚本

机载系统在无人机开机时自动通电开机,在进入系统后,无人机飞行数据获取、处理以及上传等功能的程序均以脚本方式自动运行,无须人为进行任何操作。

图4为ubuntu16.04开机自启动脚本文件start.sh。

图4 自启动脚本文件

设备开机后机载系统自动运行入口脚本,启动各模块功能,并以记事本格式存储信息,信息数据包括网络状态、电源状态、无人机数据程序状态、系统状态以及无人机飞行数据等。机载系统从存储信息中读取部分信息实时上传至云端。脚本文件运行顺序分别为:

(1)开启墨水屏驱动程序脚本,读取系统状态值,并通过墨水屏显示当前系统状态。

(2)调用ROS系统版本SDK,通过ROS的发布功能以不同主题发布无人机的状态数据,待订阅程序进行接受并处理。

(3)判断当前网络状态,实时修改系统网络状态,并在网络可用的情况下进行数据上传。

(4)通过树莓派的GPIO口判断主板的供电方式是主电源供电还是备用电源供电。

(5)订阅发布的主题消息获取无人机原始数据,将无人机原始数据处理后存储到本地待发送文件,并保存以开始时间命名的日志文件。

3.2 数据信息获取模块

飞行数据信息获取模块主要实现无人机原始数据的获取、处理及本地保存,DJI OSDK是一个用于开发无人机应用程序的开发工具包,基于OSDK开发的应用程序能够运行在机载计算机上,通过调用OSDK的开放接口,实现飞行控制及图像感知等应用功能,OSDK提供了丰富的接口,方便开发者使用第3方应用程序和算法框架,满足用户个性化的应用功能和控制需求。

基于OSDK开发的应用程序运行在嵌入式操作系统ROS,并通过ROS的发布功能将无人机的状态数据以不同主题进行发布,包括电池电量信息、GPS信息。以及可以测量速度、方向的IMU信息,订阅程序接受发布的主题消息获取无人机原始数据,进行处理后存储本地待发送文件中,并保存以开始时间命名的日志文件,图5是无人机机载系统订阅程序接收消息并处理的工作流程图。

图5 订阅程序流程图

机载系统从无人机获取原始数据信息,采样频率3 Hz,计算处理得到包括定位时间、经度、维度、高度、水平速度、垂直速度、与起飞点距离以及电池电量,详细格式见表1,存储于本地gps.txt文件。无人机应用程序的开发工具包工作状态存储于osdkstatue.txt文件。

表1 采集数据格式表

3.3 网络检测模块

网络检测模块用于获取数据上传之前,判断当前网络状态,实时修改系统网络状态信息,并在网络可用的情况下将文件gps.txt中存储的数据进行发送,工作流程如图6所示,当前网络的状态信息将存储于本地的networkstatue.txt文件。

3.4 电源检测模块

电源检测模块通过GPIO口读取高低电平信号进行判断,低电平为主电源供电,高电平为备用电源供电,若是备用电源供电,机载系统根据设定时间工作运行后实现自动关闭,电源状态信息保存于本地shutdown.txt文件。

3.5 状态显示模块

通过开启墨水屏驱动程序脚本,读取系统状态值显示当前系统状态,状态信息分别从osdkstatue.txt、networkstatue.txt以及shutdown.txt文件中读取,并存储为systatue.txt。显示屏划分为5个部分,分别用于显示系统时间、OSDK连接状态、网络连接状态、无人机M300工作状态及系统运行状态,根据程序启动和信号获取情况设计8种机载系统状态,见表2。

表2 机载系统状态表

图7为网络程序未启动状态(表2中状态3)下的墨水屏工作状态显示示例。

图7 状态显示示例

4 实验结果

无人机机载系统搭载的飞行设备采用的是四旋翼无人机经纬M300 RTK,该无人机可支持悬停、低速巡航,最大有效载荷为2.7 kg,抗风能力达到7级,可适应-20~50℃的温度环境。

图8为机载系统设备实物图。

图8 机载系统实物图

实验过程中,除显示屏嵌套安装在密闭外盒表面,其他机载系统部件组装在外盒中,并固定在无人机顶部,实验场景如图9所示。

图9 机载系统安装图

实际测试中,针对无人机飞行的高度以及速度进行的实验论证,在保证安全可靠的前提下,目前得到的飞行高度为100 m;飞行最大速度为12 m/s,实际续航时间在26 min左右,有效单次飞行距离为16 km。

图10为无人机在校园内实际飞行测试中,机载系统上传鹰眼实时绘制的飞行轨迹图以及回传的飞行数据及定位信息。

图10 校园实测飞行轨迹及飞行数据图

5 结 语

本文基于树莓派设计一套对无人机飞行数据实时监视的机载系统,解决无人机在飞出遥控范围或遇到突发事件下失控的问题,利用移动通信技术为系统开发多链路的数据传输系统,提高数据传输的可靠性,同时降低无人机的飞行风险,保证每次飞行作业数据能得到有效、高效的保管,实现数据的可追溯,极大地提高了无人机巡检工作的稳定性和安全性,对教学、科研及生产等领域都有较大的参考价值。

猜你喜欢
飞行数据树莓电源
Cool Invention炫酷发明
基于树莓派的骑行智能头盔设计
GARMIN1000系统维修平台搭建预研究
基于树莓派的远程家居控制系统的设计
浅谈飞行数据集中处理流程管理
民航空管自动化系统中飞行电报自动化处理
哪一款移动电源充电更多?更快?
阳光电源
欧盟:冷冻树莓进口增加45%
欧盟:速冻树莓比鲜食树莓市场更好