一种小型无人机的机载计算机软件系统设计

2015-03-23 03:53:31罗泽勇
关键词:数传航电多任务

罗泽勇

(中国科学院长春光学精密机械与物理研究所,吉林长春130033)

一种小型无人机的机载计算机软件系统设计

罗泽勇

(中国科学院长春光学精密机械与物理研究所,吉林长春130033)

针对某小型无人机的飞行任务要求,设计并实现了该无人机机载计算机软件系统.通过对该无人机航电系统结构特点进行分析,提出了软件系统结构的层次化设计方法,并利用模块化设计思想对软件系统进行任务划分.按照ORB机制设计了系统进程间的通信方式,采用状态机设计方法实现了系统的应急策略.所设计的机载计算机软件系统结构优良,层次清晰,具有高度可扩展性和可继承性.半物理仿真试验和外场试验结果表明,该机载计算机软件系统功能正常,运行稳定.

小型无人机;软件系统;系统架构;进程间通信;状态机

0 引言

在过去的几十年里,小型无人机在全世界的军事和民用领域内得到广泛应用.小型无人机具有灵活性高、隐蔽性好以及对燃料要求较低等优势,能够在恶劣(dirty)、枯燥(dull)、危险(dangerous)的3D环境中执行各种艰巨任务[1].现在其机载计算机软件系统的设计已经成为限制小型无人机向全自主、多任务、高安全方向发展的主要障碍[2].无人机机载计算机与大多数嵌入式系统一样,大小有限、资源有限,但要求能够满足各种复杂条件实时应用,因而其软件系统的开发是一个复杂的过程.在小型无人机机载计算机软件系统设计过程中,需要重点考虑的问题:(1)如何设计灵活、可扩展的软件系统架构以满足任务多样性要求,以及越来越广泛的传感器处理要求[3];(2)无人机的广泛应用导致越来越多的飞行事故的出现,频繁的飞行事故率导致无人机在军用和民用领域中受限[4-5],所以如何在设计中保证无人机的安全性和可靠性也是机载计算机软件系统设计的一个重要任务.

国内文献中关于机载软件系统的研究大多数都是从特定平台着手,介绍软件具体实现方式,很少介绍软件的结构化设计方法.而国外文献研究中更强调顶层的结构设计,美国斯坦福大学采用基于Server-Client的软件架构、Server建立与硬件层接口、Client建立与用户层的接口,这种架构能够将顶层任务和底层服务隔离开[6].本文借鉴了这种分层设计的方法,通过对功能模块的层次划分和任务划分,在高实时性和高可靠性的嵌入式实时多任务操作系统的基础上完成了多任务的并发设计,确定了高度可扩展的软件系统的架构.引入以数据为中心的系统进程间通信方式,增加了软件系统的数据通信的可靠性和灵活性.本文通过软件设计中充分考虑无人机在地面和空中的应急情况处理,为提高无人机安全性和可靠性提供了另一种有效手段.

1 航电系统概述

机载计算机软件系统设计与航电系统结构密不可分,图1描述了该小型无人机航电系统的结构.整个航电系统以机载计算机为核心,各种传感器、组合导航、数传等航电设备通过串口与机载计算机进行通信,共同完成无人机的传感器数据采集、飞行控制和任务管理.机载计算机采用实时多任务操作系统,处理通过各个传感器采集到的数据,进行位置和姿态的预测,实现飞控算法,将控制指令和动力指令分别发送给执行机构和发动机ECU,并通过数传系统向地面站发送飞行状态信息,同时利用数据记录仪记录相应的飞行状态数据;组合导航系统包含三轴陀螺、三轴加速度计和GPS,用于测量无人机机体坐标下的位置、速度和加速度等信息;空速计、压力传感器分别用于测量空速和气压高度信息;安控系统用于执行紧急情况下的无人机应急策略.

该小型无人机飞行任务要求:实现从自主滑跑起飞、爬升、姿态稳定飞行到遥控降落;通过数传系统将飞行任务状态和通信链路本身状态发送给地面站进行监测;对各个航电设备进行自检测功能;通过飞行管理实现对多个任务的实时调度;能够在航电设备故障状态下进行应急处理.

2 软件结构

系统的架构是否合理以及模块化设计是否清晰,是影响机载计算机软件系统能否顺利开展详细设计工作的主要因素.系统的架构表示为系统的基本组件、组件之间的相互关系以及对这些组件管理的基本原则[7].优良的软件架构能够清楚地对系统进行描述,有利于软件的扩展、测试和维护.模块化的目的是为了降低程序复杂度,减少程序的耦合程度,使程序设计、调试和维护等操作简单化.图2为机载计算机软件系统的层次化结构.根据功能需求,将机载计算机软件系统划分为驱动层、数据处理层、控制层和应用层4个层次.

从图2中可以看出,软件系统结构的最底层为软件的驱动层,直接和硬件相关,主要负责传感器数据的采集、数传通信数据的读取、组合导航原始数据的采集、执行机构的控制等工作;驱动层之上为数据处理层,数据处理层调用驱动层模块获取原始数据,对原始数据进行解码、变换等加工,将加工后的数据发布给控制层;控制层位于数据处理层之上,控制层需要的数据依赖于数据处理层,但是控制层不会与具体的数据处理任务耦合,而是通过对象请求代理进行接口数据耦合,具体来说是通过ORB机制为驱动层和控制层之间提供通用的数据通信服务,实现控制层和数据处理层数据的同步;软件结构的最上层为应用层,根据功能需求进行飞行任务管理,直接调用控制层的控制模块实现自主起降、航迹飞行、区域侦察等特定任务,同时进行无人机状态的切换.

3 设计方案

3.1多任务划分和管理

任务是能够独立执行的一个功能或处理过程,是操作系统调度的基本单位,任务的合理划分和优先级的合理设置对保证系统的实时性至关重要.机载计算机软件的设计采用了VxWorks实时操作系统,该操作系统支持多任务,并基于优先级进行任务调度.在多任务实时操作系统下进行任务划分需要遵循以下原则:

(1)功能独立的操作划分为一个任务;

(2)功能联系密切的操作划为同一个任务;

(3)I/O操作划分为单独任务;

(4)周期性的操作作为任务来执行;

(5)根据操作的紧急程度划分为不同优先级的任务.

根据机载计算机软件系统的层次架构和任务划分的原则,在机载计算机软件系统中设计了不同优先级的几类任务(如表1所示).表1中:传感器数据采集、组合导航和舵机控制执行I/O操作划分为单独的任务;数传通信作为周期性任务;功能完整并具有大量运算的飞行控制率计算作为独立的任务;飞行管理、应急处理和数据记录等操作功能独立,也划分为单独的任务.

机载计算机软件系统中的多任务并发图如图3所示.多任务的并发执行能够提高任务调度的灵活性,总体上减少系统的执行时间.在图3中,数传通信是地面站和无人机交互的直接通道,包括遥控任务和遥测任务,这2个任务执行周期设计为40ms;控制率计算任务实现自主滑跑和基本飞行模态的控制算法,应具有较高优先级,执行周期设计为20ms;传感器数据采集、组合导航和舵机控制任务主要执行I/O操作,设计为中断驱动方式的异步任务;组合导航数据处理、传感器数据处理、控制指令转换等任务属于重要数据获取的中间层,执行周期设计为40ms;飞行管理任务和应急处理任务属于非紧急任务,执行周期设计为80ms.

3.2以数据对象为中心的通信方式设计

进程间通信是多任务系统设计的重要功能,在VxWorks操作系统中,任务取代了进程的概念.机载计算机的软件系统中采用了ORB机制实现多对多的任务间通信,ORB机制提供了开放的对象通信的框架,以数据对象为中心,在不同任务间建立了数据交换的软总线,将数据和任务解耦合,对数据对象进行封装和管理.

机载计算软件系统中通过Publish/Subscribe方法实现ORB机制.图4表示采用Publish/Subscribe方法,实现不同任务间的数据通信.中间为对象请求代理,它将所有的交互的数据进行分类和封装,确定不同的数据通道;消费数据的任务(Subscriber)首先向对象代理发生订阅请求;生成数据的任务(Publisher)产生数据的同时,将该事件发布出去;对象请求代理监听到数据发布事件发生后,将该事件通知给所有订阅该数据的任务,订阅数据的任务即可通过该数据通道获得所需要的数据.生成和消费数据的任务彼此透明,生成和消费过程不需要严格同步,通过采用互斥信号量和加锁的方式保证对不同任务对数据的读写不发生冲突,解决进程间通信的数据一致性问题;另外,这种处理方式以数据对象作为中心,当需要新的数据结构可以直接添加到ORB中,并且生产数据和消费数据的任务可以根据需要被具有该数据接口的其他模块替换,显著增强了系统设计的独立性和扩展性.

3.3复杂应急处理的状态机设计

复杂情况下的安全保障是无人机系统面对的一个重大挑战[8].尤其是在航电设备出现故障、复杂环境下数传系统失灵等状况下,做出合理的应急决策是保证无人机和地面指挥、操作人员安全的重要手段.在机载计算机软件系统设计过程中,针对自主滑跑和空中飞行过程中可能会出现的紧急情况制定了应急策略.首先描述出可能出现故障情况和无人机所处的飞行状态,然后针对各个故障情况制定相应的应急策略,再通过状态机直观地给出紧急情况下状态的转换关系,最后在机载计算机中将状态机转化为代码.

(1)地面应急处理

自主滑跑阶段包括自主滑跑、手遥滑跑和应急处理的3个状态,主要针对可能出现的数传系统故障、无人机偏离跑道、超出决断距离等情况进行应急处理.当出现数传故障、超出最大滑跑速度及超出最大滑跑距离的情况,关闭发动机,继续自主纠偏;当航向角超出允许范围,认为滑跑已经偏离正常轨道,在关闭发动机的情况下,进行一定程度的刹车制动;当超出滑跑允许最长距离和侧偏距离,认为情况紧急,为避免严重事故发生,采取关闭发动机、刹车刹死的应急措施.具体的状态机转换过程如图5所示.

(2)空中应急处理

无人机在空中自主飞行过程中,各种航电设备一旦出现故障,都有可能导致严重的事故发生,在软件设计通过实现完善的应急策略能够显著地增加无人机的安全性.本文以数传系统故障为例介绍应急状态机的设计过程.当无人机在空中发生数传故障的情况下,首先通过无人机当前的飞行高度、飞行速度和飞行姿态判断当前处于何种飞行状态,并确定出应急安全状态;然后根据当前飞行状态判断能否进入到应急安全状态,若能进入应急安全状态,就切换到应急安全状态等待数传故障恢复,若不能进入应急安全状态或者进入应急安全状态以后数传故障长时间不能恢复,就采取紧急处理措施,关闭发动机开伞降落.具体空中应急的状态机描述如图6所示.

4 系统验证

4.1半物理仿真

图7为小型无人机半物理仿真的实验室环境.通过利用三轴转台、仿真计算机、视景仿真平台等设备对无人机机载计算机软件系统进行测试.试验中不仅测试了基本的飞行模态,还对加入干扰以及主要航电设备出现异常等情况进行了模拟,通过试验数据分析,判定机载计算机软件系统运行是否稳定,控制算法是否满足要求以及应急策略是否合理.

半物理仿真试验的主要测试项目及测试结果如表2所示.

4.2飞行试验

在外场飞行试验中,测试了包括平飞、定向飞、爬升、左盘旋、右盘旋、下滑等飞行模态,这里仅列举部分飞行模态的测试结果.横坐标表示数据点,实际飞行过程中40ms产生一个数据点,纵坐标分别是滚转、俯仰和偏航3个姿态角.无人机做30°航向角定向飞行,无人机姿态角响应如图8所示,从图8中可以看出滚转角控制稳定,偏航角控制精度较高;无人机做-0.3°等俯仰角下滑,无人机姿态角响应如图9所示,从图9中可以看出滚转角控制稳定,俯仰角控制角度与期望值吻合.整个飞行试验过程软件系统未出现异常.

5 结论

本文针对自主研发的小型无人机平台,进行了机载计算机软件系统的设计,该机载计算机软件系统结构层次分明、模块化清晰.利用松耦合的ORB通信机制,完成了机载计算机软件系统内部不同构建的复杂交互.通过设计状态机实现了地面和空中的复杂应急策略,保证了无人机的安全性.从半物理试验和外场飞行试验的结果可以看出,机载计算机软件系统的设计稳定可靠,完全能够满足无人机飞行任务的要求.

[1] DANIELA MEOLA,LUIGI IANNELLI,LUIGI GLIELMO.Flight control system for small-size unmanned aerial vehicles:design and software-in-the-loop validation[C]//21st Mediterranean Conference on Control &Automation,Chaina:IEEE,2013:357-362.

[2] YI-RUI TANG,YANGMIN Li.The software architecture of a reconfigurable real-time onboard control system for a small UAV helicopter[C]//The 8th International Conference on Ubiquitous Robots and Ambient Intelligence,Incheon:IEEE,2011:228-233.

[3] JOHN TISDALE,ALLISON RYAN,MARCO ZENNARO,et al.The software architecture of the berkeley UAV platform[C]//Proceedings of the 2006IEEE International Conference on Control Applications,Munich:IEEE,2006:1420-1425.

[4] DAVID W KING,ALLEN BERTAPELLE,CHAD MOSES.UAV failure rate criteria for equivalent level of safety[C]//International Helicopter Safety Symposium,Montereal:American Helicoper Society,2005:269-381.

[5] JAMES T HING,PAUL YOH.Development of an unmanned aerial vehicle piloting system with integrated motion cueing for training and pilot evaluation[J].Journal of Intelligent and Robotic Systems International Inc,2008:3-19.

[6] JANG JS,C TOMLIN J.Design and implementation of a low cost,hierarchical and modular avionics architecture for the dragonFly UAVs[C]//Proceedings of AIAA Guidance,Navigation,and Control Conference,Minneapolis:AIAA,2002:4465-4477.

[7] FRED BRIGGS.UAV software architechure[C]//Infotech@Aerospace Conferences,California:AIAA,2012:2539.

[8] MIAOBO DONG,BEN M CHEN,GUOWEI CAI.Development of a real-time onboard and ground station software systerm for a UAV helicopter[J].Journal of Aerospace Computing,Information,and Communication,2007:933-955.

Design of an airborne computer software system for a small UAV

LUO Ze-yong

(Changchun Institute of Optics Fine Mechanics and Physics,Chinese Academy of Sciences,Changchun 130033,China)

An airborne computer software system was developed,which could be used for flight mission of a certain small UAV.For the structure of the avionics,a hierarchical software design method was proposed,and the software task component was divided by quoting the concept of modulization.The interprocess communication(IPC)was implemented according to ORB mechanism.The safety strategy was set up by state machine.The designed airborne computer software system has a good architecture with high scalability and inheritable.The entire software system has been successfully tested in both a hardware-in-the-loop simulation environment and actual field flights.The flight results have shown that the software system is competent and reliable enough to go on with automatic flight of the UAV.

UAV;software system;system architecture;IPC;state machine

TP 336;V 249 [学科代码] 520·60 [

] A

(责任编辑:石绍庆)

1000-1832(2015)01-0064-07

10.16163/j.cnki.22-1123/n.2015.01.013

2013-12-30

中国科学院“三期创新”平台资助项目;吉林省科技发展计划项目(20100458).[作者简介] 罗泽勇(1984—),男,硕士,助理研究员,主要从事飞行仿真技术研究.

猜你喜欢
数传航电多任务
基于数传电台的靶弹测控系统设计
基于中心化自动加权多任务学习的早期轻度认知障碍诊断
民用飞机航电系统虚拟教学资源建设
电子制作(2019年7期)2019-04-25 13:18:30
嫦娥卫星数传副瓣信号的干涉测量研究与精度验证
载人航天(2019年1期)2019-03-07 01:41:02
基于判别性局部联合稀疏模型的多任务跟踪
自动化学报(2016年3期)2016-08-23 12:02:56
某型无人直升机航电舱热设计优化
航电枢纽清污系统改造
基于多任务异步处理的电力系统序网络拓扑分析
电测与仪表(2016年5期)2016-04-22 01:13:46
高速数传电缆散射参数的测试及半实物仿真的分析与研究
电子器件(2015年5期)2015-12-29 08:43:30
频率偏置对Ka频段圆极化频率复用数传链路的影响
航天器工程(2014年5期)2014-03-11 16:35:56