摘 要: 组建了一种基于嵌入式实时操作系统VxWorks平台的无人直升机控制系统,实现远距离无人直升机飞行状态信息传输,接收地面基站命令后完成自主定点飞行任务。主要利用基于优先级的消息队列方法和嵌入式操作系统VxWorks的信号量与看门狗定时功能实现多任务间调度,获得飞行状态数据向地面基站传输与自主定点飞行的同步。通过实验飞行,该系统的正确性与可靠性得到了验证。
关键词: 无人直升机,VxWorks,任务,消息队列
1 前言
自主飞行无人直升机的研究是现今多学科交叉研究的热点与难点。无人直升机在炮兵射击训练、战场监视、输电线路巡视,森林火灾状况观测等军用与民用方面都有着广泛的作用。自从1917年英国研制出世界上第一架无人机,无人机已经经历了无人靶机、预编程序控制无人侦察机、指令遥控无人侦察机、复合控制和自主飞行多用途无人机的发展过程,现今无人直升机研究在于自主飞行控制。现今无人直升机任务多样化和远距离作业需求,对无人直升机远距离通信和控制提出了更高要求【1】。
在无人直升机控制系统设计中采用实时操作系统是现今研究的重点与热点。VxWorks是专门为实时嵌入式系统设计开发的32位操作系统,它高性能内核和友好用户开发界面使得VxWorks成为目前嵌入式系统领域使用最广泛、市场占有率最高的系统。把VxWorks操作系统应用到机载控制计算机中,可以满足无人直升机信息处理的实时性要求。机载控制计算机需要控制无人直升机上多个设备,同时还需要与地面基站系统通信,VxWorks操作系统良好的多任务调度功能可以满足多任务需求。同时VxWorks操作系统具备体积小、可裁减和支持多种CPU的高性能【2】,使得无人直升机控制系统在硬件选取上具备很高的灵活性。
VxWorks操作系统提供了多网口的源代码驱动,支持TCP与UDP协议、远程调用、远程文件访问、文件输出、远程命令执行等强大网络通信功能,同时它的开发工具Tornado界面友好,调试方便【3】。这些特点缩短了控制系统的开发周期,达到了预期的效果。
系统设计
1.1 控制系统整体结构
无人直升机控制系统包括以下七个部分:无人直升机、机载控制计算机、机载平衡模块、机载导航模块、手动遥控模块、地面基站与其他机载模块,其他机载模块根据系统扩展的需要进行添加【4】。系统的结构图见图一
图一 无人直升机控制系统结构图