当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于VxWorks的无人直升机控制系统设计

   摘  要:    组建了一种基于嵌入式实时操作系统VxWorks平台的无人直升机控制系统,实现远距离无人直升机飞行状态信息传输,接收地面基站命令后完成自主定点飞行任务。主要利用基于优先级的消息队列方法和嵌入式操作系统VxWorks的信号量与看门狗定时功能实现多任务间调度,获得飞行状态数据向地面基站传输与自主定点飞行的同步。通过实验飞行,该系统的正确性与可靠性得到了验证。
关键词:    无人直升机,VxWorks,任务,消息队列

1     前言
   自主飞行无人直升机的研究是现今多学科交叉研究的热点与难点。无人直升机在炮兵射击训练、战场监视、输电线路巡视,森林火灾状况观测等军用与民用方面都有着广泛的作用。自从1917年英国研制出世界上第一架无人机,无人机已经经历了无人靶机、预编程序控制无人侦察机、指令遥控无人侦察机、复合控制和自主飞行多用途无人机的发展过程,现今无人直升机研究在于自主飞行控制。现今无人直升机任务多样化和远距离作业需求,对无人直升机远距离通信和控制提出了更高要求【1】。

    在无人直升机控制系统设计中采用实时操作系统是现今研究的重点与热点。VxWorks是专门为实时嵌入式系统设计开发的32位操作系统,它高性能内核和友好用户开发界面使得VxWorks成为目前嵌入式系统领域使用最广泛、市场占有率最高的系统。把VxWorks操作系统应用到机载控制计算机中,可以满足无人直升机信息处理的实时性要求。机载控制计算机需要控制无人直升机上多个设备,同时还需要与地面基站系统通信,VxWorks操作系统良好的多任务调度功能可以满足多任务需求。同时VxWorks操作系统具备体积小、可裁减和支持多种CPU的高性能【2】,使得无人直升机控制系统在硬件选取上具备很高的灵活性。

   VxWorks操作系统提供了多网口的源代码驱动,支持TCP与UDP协议、远程调用、远程文件访问、文件输出、远程命令执行等强大网络通信功能,同时它的开发工具Tornado界面友好,调试方便【3】。这些特点缩短了控制系统的开发周期,达到了预期的效果。 

系统设计

1.1   控制系统整体结构
   无人直升机控制系统包括以下七个部分:无人直升机、机载控制计算机、机载平衡模块、机载导航模块、手动遥控模块、地面基站与其他机载模块,其他机载模块根据系统扩展的需要进行添加【4】。系统的结构图见图一


图一 无人直升机控制系统结构图[!--empirenews.page--]

   通过手动遥控使无人直升机起飞,起飞后遥控器触动多路选择器,把无人直升机的控制权交与机载控制计算机。机载控制计算机开始传输飞行状态数据给地面基站。地面基站发送自主飞行命令给机载控制计算机使得它启动自主定点飞行任务,控制无人直升机定点飞行,

飞行任务结束后返回状态信息给地面基站。

1.2   控制系统硬件结构
   此无人直升机控制系统的控制对象是模型直升机JRVoyager GS R260, 机载导航模块包括Crescent的GPS与Honeywell HMR3300型号的电子罗盘。机载控制计算机是由三星公司生产的16/32位RISC处理器S3C44B0X搭建的硬件平台,控制系统硬件结构图见图二。


图二 无人直升机控制系统硬件结构图

图二中由于S3C44B0X的UART单元提供了两个独立的异步串行I/O端口,每个端口都可以在DMA模式下工作,使得CPU和串行I/O口之间直接进行数据传输,另外GPS与电子罗盘提供的是标准RS-232接口,这与S3C44B0X系统所定义的高低电平不同,所以需要通过电平转换芯片MAX232C来进行转换。由于S3C44B0X片内不带以太网接口,所以选用RTL8039作为以太网接口芯片与地面基站控制系统进行通信。S3C44B0X根据内部程序输出5路PWM波控制无人直升机的5个舵机,完成自主定点飞行任务。74LS128芯片作为多路选择器,切换手动遥控模式与自主定点飞行模式。另外还扩展大容量的外部寄存器,其中8MB的HY57V641620作为SDRAM存储器存储程序运行中的中间数据,2MB的SST39VF1601存储器作为FLASH存储源程序。[!--empirenews.page--]

1.3   控制系统软件设计
    无人直升机控制系统的软件包含四大部分:一是根据S3C44B0X重新配置VxWorks系统的BSP。二是基于优先级的消息队列实现,消息队列中包含飞行状态信息与自主定点飞行信息。三是基于看门狗与信号量的多任务调度,实现自主定点飞行与实时飞行状态信息传输的功能。四是基站控制软件的设计。系统上电后初始化socket套接字,网络联通后采用UDP协议通信。下面将着重介绍基于优先级的消息队列与基于信号量与看门狗的多任务调度。

2.3.1 基于优先级的消息队列
   在控制系统中,不能因为执行机载设备的数据传输命令而拒绝执行地面基站的自主飞行命令。为解决这一问题,本控制系统建立了基于优先级的消息队列机制。系统在RAM中开辟一个区域用于建立消息队列,队列中指针指向的是各个信息的内存块地址。各个任务将根据这些指针指向的数据来进行实际操作。

(1)基于优先级的消息队列方法。首先信息接收任务接收信息后根据信息头地址内容判断信息优先级,地面基站的自主飞行命令优先级为最高,把它插入到消息队列的队列头,而机载电子罗盘与GPS发送的数据信息优先级低,按照时间顺序排列在消息队列的队列尾。信息解释任务从消息队列头逐一取出信息然后进行处理。

(2)消息队列的实现。通过单向链表来实现消息队列的添加与删除。每个链表元素是一个结构体struct messageChain,结构体包含头指针pBuff与指向下一个元素的指针pNext。同时使用两个全局变量直接表示链表头与链表尾,一个全局变量表示链表长度,这

样可以直接处理链表头或者链表尾的内容以简化查找过程。

2.3.2 基于看门狗的多任务调度
     VxWorks系统可以为每个任务设定特定的任务名与任务优先级,系统支持256个优先级。为了调试的方便,在本控制系统中设定的任务优先级在60到100之间,这是因为由程序发起的任务优先级要高于Tornado开发环境中shell发起sp的任务优先级即小于100,同时也要低于系统任务的优先级即大于60【5】。控制系统包含了信息接收任务,信息解释任务,信息发送任务,网络监测任务,定时轮询任务,自主飞行任务等多任务。流程图见图三。


图三 任务调度流程图[!--empirenews.page--]

     任务的操作使用的是VxWorks系统中的taskLib()与taskInfo()库函数。看门狗时钟精确定时用到函数wdCreate(),wdStart()等,任务间的同步调度使用的是信号量,包括有二进制信号量与计数信号量。信息接收任务把网络中传输的信息按照高低优先级在消息队列中添加元素,并存放信息到特定的内存块中,然后启动计数型的信号量,信号量的值对应于当前消息队列中还没有被执行命令的个数,每增加一个消息命令后,计数型信号量就释放,消息解释任务获得释放的信号量后从消息队列头获得最应被优先执行的命令,根据内存中的首地址信息,调用相应的执行函数。如果判断是无人直升机飞行状态信息,调用信息发送任务把实时信息传送给地面基站。如判断是无人直升机自主飞行命令,则调用自主飞行任务,在此任务中要定时查询无人直升机飞行状态信息并与命令中信息做比较,控制舵机动作以完成自主定点飞行任务。在定时查询机载设备信息以确定飞行状态时,用taskDelay()函数不能满足精确定时的要求。VxWorks系统提供得看门狗它可以保证严格的定时,在调用自主飞行任务时创建看门狗。经过1s的时间延时后运行查询无人直升机飞行状态信息的函数,比较信息后控制舵机动作,直到完成无人直升机的自主定点飞行任务后取消看门狗。切换到信息发送任务,发送飞行状态信息到地面基站监控系统。

2.3.3 地面基站控制效果图
    软件界面可以直观的显示控制系统效果,同时便于调试与观察直升机的实际飞行状况。基站控制软件应用VC++编译器的套节字socket与基于信号量的多线程技术通过C++语言进行编译。控制效果图中显示无人直升机自主定点飞行时的实时状态信息:当前高度、设定高度、东西距离、南北距离、方位角、俯仰角、测滚角等。实现了良好的人机交互功能,是控制系统开发的必备平台。地面基站控制效果图见图四


图四 地面基站控制效果图

2     结束语
本文对无人直升机控制系统从硬件与软件两个方面进行了阐述,并应用了先进与高性能的实时操作系统VxWorks,通过VxWorks多任务调度时的快速切换响应实现无人直升机的自主飞行。并且通过实际的多次实验飞行与调试,实现了无人模型直升机自主飞行的任务,取得了预期的效果。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭