曹逸凡 张正华 张帅帅 陈韩 徐杰
摘要:由于无人机的自动控制依赖常规的人工操作,难以提升可靠性和有效的设备安全保障。提出了基于多传感器的低成本自动控制系统,采用单片机控制连接Pixhawk飞控板,实现无遥控器条件下对无人机的自动控制。控制板将控制信号传输至Pixhawk飞控板,在无人遥控的情况下控制无人机行动,并在无指令情况下保障机体安全降落。实验结果表明,该系统能够实现对无人机基本的自动控制,并在工作状态中有效保障工作人员及无人机机体的安全。
关键词:多传感器;无人机;Pixhawk;自动控制系统
中图分类号:TP212 文献标志码:A 文章编号:1008-1739(2019)03-56-3
0 引言
随着科学技术的进步,以智能化的机器人代替人工来完成许多耗费人力的工作已成为当今潮。目前,在森林防火、电路巡检等许多方面已经能够看到无人机的身影,而无人机的用途也随着时间的推移在快速拓展。森林防火方面,无人机具有高效、安全、便捷等先天优势,能够抵达护林人员无法抵达的山区,快速查看林场情况,便于部署各项措施。电路巡检方面,无人机能够轻易抵达巡检人员难以抵达的高处,高效且安全地实现对输电网络的检测,保证工作人员人身安全,提升巡检效率。另外,在物流配送、智慧仓储和空中网关等诸多民用方面无人机也开始崭露头角。无人机在多领域的应用已成为未来的发展趋势,微型无人机在室内的应用也已经成为重要发展方向。
无人机的大规模应用势必造成无人机操作人员短缺,培养一名操作人员需要极高的成本,完全采用人工操作无人机的成本过高。本文构建了一种基于多传感器与高性能低成本的STM3 2F103单片机平台的自动控制系统,其较高的运算速度保证了飞行器工作的流畅性,保证飞行器在空中安全飞行,同时飞行器在初次起飞指令后会预留一段安全时间,保证用户有足够的时间撤出靠近飞行器的危险区域,防止意外发生。
1 系统总体设计
当今多种飞控板功能日趋完备,系统采用的Pixhawk更是其中较为先进的飞控,故系统设计由飞控板基础功能实现对无人机的基础控制,选择STM3 2F103作为系统控制板,在有效控制成本的同时模拟遥控器信号对飞控下达指令,使无人机能够脱离遥控器独立工作,采集板布置传感器,组成传感器组,与飞控传感器采集的数据共同反馈至控制板,由控制板模拟遥控器向Pixhawk飞控板发出指令,控制无人机从起飞到降落全程的自动控制,系统体系结构如图1所示。
2 系统硬件设计
2.1 Pixhawk飞控板
Pixhawk是一种较为普及且具备高性能自动驾驶仪,适用于多旋翼飞行器、固定翼飞行器和小车等多种平台。其前身是APM,但现今APM早已无法满足愈加复杂的运算需求。Pixhawk的优势在于它继承了多线程的编程环境,新的自动驾驶仪功能及预设飞行模式,基于PX4的底层驱动保障全周期处理。这些选项赋予了无人机进行高自由度飞行的能力。
2.2 基于STM32F103的自动控制板
系统由基于STM32F103的控制板接收传感器的反馈,对无人机的运动状态进行检测,并模拟遥控器向飞控板发出指令,由飞控板控制飞行器进行运动。因此最重要的是用STM32模拟遥控器的各种指令的信号,包括起飞、着陆、悬停等基础操作,及当无指令时控制飞行器安全着陆,保障机体安全,减少损失。
待控制板基础功能构筑完成后,可添加更多传感器,使无人机功能多样化,能够执行更加复杂的任务。STM3 2F103单片机预留了多种接口,使本系统能够有更大的拓展性,可搭载其他模块实现功能的丰富。
2.3 多传感器模块设计
定高模块主要用于工作的开始,使飞行器在合适的高度展开作业,是飞行器自主工作的基础,其模块流程如图2所示。
定高模块硬件采用bmp085气压传感器来测量大气压并将其转为实时海拔高度,將二者相减便得到了无入机距离地面的高度,是无人机常用的传感器,选择HC-SR04超声波传感器来测量无人机实时高度,将2种传感器反馈数据相结合,使得无人机的控制更加精确。
3 系统软件设计
3.1 控制板操作模块设计
通过模拟遥控器信号的方式将飞机的控制权交由控制板,操控者再以按键的方式开始飞行器的工作流程,飞行器收到信号后开始进入启动流程,3s安全时间之后飞行器自检并解锁启动,保证操作人员有足够的时间撤离至规定的安全距离(6m)外,并等待下—步指示,其原理如图3所示。
控制器部分程序代码如下:
static void SysCtrl_Update_Act_Find_St(void)
{
NodeShape_t shape_i;
NodeShape_t shape_new=NodeShape_Notlung;
if((FindStartPoint_ms_Left<0)&&(Msg_FMUToCtrl.Pkg.Alt_Sonar>FIND_START_POINT_CM_MIN))
{
FindStartPoint_ms_Lefi=FIND_START_POINT_MS_MAX;
Beep_On0;
}
if((FindStartPoint_ms_Lefi>0) && (NodeShape_Curt!=NodeShape_StartPoint))
{
for(shape_i=NodeShape_Nothing,shape_i {if(NodeShapeProb[shape_i]>0){ NodeShapePtob[shape_i]--; }} 3.2 无人机基本姿态控制 3.2.1 自动启动 自动启动功能是一切功能的基础,可实现操作人员在远程对无人机进行解锁与控制,对无人机自动控制有着重要意义,部分自动启动程序如下: { static uint32 Hover_Start_Stamp; uint32 Sys_ms_Now; switch(Demo_St_Act) { caseDemo_St_Act_Climb:{ if(SysPID[Alt].PID [Pos].err_abs) &&(SysPID[Alt].PID[Pos].err_abs<10)) { Demo_St Act=Demo_St Act_Stable; Demo_LostInfo.FeatureValid=No; }}break; 3.2.2 自动降落并锁定 当无人机完成所有指示或未明确指令时,系统将控制无人机自动着陆并锁定,部分自动降落与锁定代码如下: {Sys_ms_Now=Sys_ms; if((Sys_ms_Now-Hover_Start_Stamp)>(5*1000)) {Demo_St_Act=Demo_St_Act_Land; Demo_Losthifo.FeatureValid=No; DroneLanding=Yes;}}break; case Demo St Act Land://自动着陆 {if(Get_Height() {Demo_St_Act=Demo_St_Act_Lock; MsgToFMU_Lock=Yes; Demo_LostInfo.FeatureValid=No;}}break; case_Demo_St_Act_Lock://自动锁定 {}break;} 4 实验结果与分析 考虑到系统主要應用于小型无人机于室内的应用,于4m×4m×2m的室内实验场地中进行了多次实验,测试系统的易用性与稳定性。实验结果如表1所示。 测试结果表明系统能够实现飞行器完成既定任务过程中的全程稳定控制,对比其他无人机控制方案及市场上现有的自动控制手段,具有易用性强、成本低等优势,对比人工操作,自动控制的时间更短,稳定性更高,且能有效节约人力成本,但在室外环境中难以实现有效控制,更适用于室内小型无人机的自动控制。系统的最大优势在于对无人机从解锁到降落锁定过程中的全程控制,这对于通过无人机实现自动化工作有着重要意义。 5 结束语 在研究过程中,系统着眼于室内自动化流程的需要,将技术突破重点放在了小型无人机的室内全程自动化控制,与以往人工控制无人机并切换自动模式不同,系统可以在全程自主控制的情况下让无人机完成简单的自动工作流程,结合实验数据可以看出,系统运行稳定,能够基本实现无人机的自动控制。但出于传感器精度等不足,室外光线、风力和气压等因素更加复杂等多种原因,系统在室外工作效果并不理想,今后的研究将从改进传感器组人手,努力解决无人机的室外自动工作问题,实现无人机的全天候自动化。