关 闭

新闻中心

EEPW首页>工控自动化>设计应用> 基于VxWorks的无人直升机控制系统设计

基于VxWorks的无人直升机控制系统设计

作者: 时间:2010-01-11 来源:网络 收藏

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

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


图四 地面基站控制效果图

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


上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭