一种多任务独立并行的无人机飞行控制方法

文档序号:9707805阅读:633来源:国知局
一种多任务独立并行的无人机飞行控制方法
【技术领域】
[0001] 本发明涉及一种无人机飞行控制方法,尤其涉及一种基于VxWorks操作系统的多 任务独立并行的无人机飞行控制方法。
【背景技术】
[0002] 无人驾驶飞机简称"无人机",英文缩写为"UAV",是利用无线电遥控设备和自备的 程序控制装置操纵的不载人飞机。目前,无人机在航拍、农业植保、测绘等领域的应用,大大 拓展了无人机本身的用途。随着无人机飞行任务要求越来越多,其任务执行效率要求越来 越高,也导致现代无人机飞行控制器越来越复杂,这对机载自动控制系统提出了更高的要 求。目前很多无人机飞行控制器已采用通用处理芯片加多任务实时操作系统的结构。但目 前的无人机飞行控制器中的软件架构大多移植自原基于前后台模式的系统架构,这种移植 仍使用了原有系统的串行运行架构,并没有充分利用多任务实时操作系统的多任务并行特 性,不能发挥系统的全部性能,反而由于操作系统的加入,增加了系统的复杂度和不稳定 性。
[0003] 所以在可靠性要求高、延时容忍度低、质量要求严格的现代无人机飞行控制器上, 传统的系统架构已不能满足需要,无法实现能够高效完成多个并行任务的控制方法。

【发明内容】

[0004] 本发明的目的就在于为了解决上述问题而提供一种基于VxWorks操作系统的多任 务独立并行的无人机飞行控制方法。
[0005] 本发明通过以下技术方案来实现上述目的:
[0006] -种多任务独立并行的无人机飞行控制方法,采用VxWorks操作系统实现,包括以 下步骤:
[0007] (1)在VxWorks操作系统中加载多个并行执行的任务,将所有任务分为三类,其中, 第一类任务是综合数据管理任务,第二类任务包括导航制导任务、控制解算任务和飞行任 务管理任务,第三类任务包括传感器管理任务、执行机构管理任务和人机交互管理任务;
[0008] (2)系统启动后首先启动第一类任务,再启动第二类任务和第三类任务,
[0009] 其中,第一类任务的处理步骤为:
[0010] ①创建主消息队列,队列的输入端是第二类和第三类任务,队列的输出端是第一 类任务,队列为阻塞队列,先入先出辅以优先级;
[0011] ②针对第二类任务创建3个分任务消息队列,这些队列的输入端是第一类任务,输 出端是分别是3个第二类任务,队列为阻塞队列,先入先出;
[0012] ③针对第三类任务创建3个分任务消息队列,这些队列的输入端是第一类任务,输 出端是分别是3个第三类任务,队列为非阻塞队列,先入先出;
[0013] ④依次创建导航制导任务、控制解算任务、传感器管理任务、执行机构管理任务、 人机交互管理任务和飞行任务管理任务并将创建的主消息队列和分任务消息队列的端口 分别传入这些任务中,这些任务有相同的优先级,相同的处理时间片;
[0014]⑤向所有6个分任务消息队列发送任务启动消息;
[0015]⑥确认所有任务启动完成;
[0016] ⑦开始进入第一类任务主循环;
[0017] ⑧取出主消息队列中的一个消息,若没有消息则进入等待;
[0018] ⑨对取出的消息进行分析处理并对数据加盖时间戳;
[0019] ⑩按照设计将分析后的数据放入相应分任务消息队列;
[0020] (Q)回到步骤⑦;
[0021] 第二类任务的处理步骤为:
[0022] A、启动后进入等待状态,等待分任务信息队列传来的任务启动消息;
[0023] B、确认启动消息;
[0024] C、开始进入第二类任务主循环;
[0025] D、取出分任务消息队列的一个消息,若没有消息则进入等待;
[0026] E、按照预定算法进行处理,在导航解算任务中,将该消息用于导航解算算法,在控 制解算任务中,将该消息用于控制解算,在飞行任务管理任务中,将该消息用于飞行任务规 划算法;
[0027] F、解算完成后,将解算数据输入主消息队列;
[0028] G、回到步骤C;
[0029]第三类任务的处理步骤为:
[0030] a、启动后创建信号量;
[0031] b、进入等待状态,等待分任务信息队列传来的任务启动消息;
[0032] c、启动定时器,定时时间与该任务相关的机载设备通信相关;
[0033] d、进入第三类任务的主循环;
[0034] e、取出分任务消息队列的一个消息,无论是否存在消息均进入下一步骤;
[0035] f、如果存在消息,则根据消息指令进行相应处理,如果不存在消息则进入下一步 骤;
[0036] g、等待信号量来临;
[0037] h、当信号量来临,进入数据接收流程,如果是传感器管理任务,则依次读取机载各 个传感器数据,如果是执行机构管理任务,则分别向执行机构送出控制指令并读取反馈,如 果是人机交互管理任务则读取测控设备传来的数据,并将本机数据按约定送出;
[0038] i、将读取到的数据送入主消息队列;
[0039] 」_、回到步骤(1;
[0040] 在定时器中,当定时时间到来时,则给出信号量,并启动下一次定时。
[0041] 上述三类任务启动时间不同,但是启动后则统一根据综合数据管理任务发送的启 动指令同时启动,并行运行,互不干扰。
[0042] 本发明的有益效果在于:
[0043] (1)各个任务可以独立并行工作,互不影响,执行效率高;
[0044] (2)数据在综合数据管理中汇总、分发,每一个任务都可以全面的利用所有数据, 有利于全面的对飞行状态进行判断,数据利用率高;
[0045] (3)整个飞行控制器架构中各任务相对独立,对其它任务的数量、运行状态约束 小;
[0046] (4)接口任务、数据分析任务以及处理任务等不同层次的任务相互分离,拥有优异 的可移植性能。
【附图说明】
[0047] 图1是本发明所述多任务独立并行的无人机飞行控制方法采用的控制器的硬件结 构框图;
[0048] 图2是本发明所述多任务独立并行的无人机飞行控制方法采用的控制器内的软件 结构框图。
【具体实施方式】
[0049]下面结合附图对本发明作进一步说明:
[0050] 本发明所述多任务独立并行的无人机飞行控制方法,采用VxWorks操作系统实现, 其采用的控制器的硬件结构如图1所示,由接口处理模块、电源模块以及核心处理模块构 成,其中,电源模块负责给接口处理模块和核心处理模块供电,接口处理模块负责实现与外 部其它机载设备的协议的物理层实现,并将有效数据传给核心处理模块,核心处理模块采 用单板计算机,是整个飞行控制器的核心,完成了外部数据的分析,导航制导信息解算、控 制率解算、执行机构控制解算、遥控遥测信息收集分析、以及接口模块控制等功能。
[0051] 本发明所述多任务独立并行的无人机飞行控制方法包括以下步骤:
[0052] (1)在VxWorks操作系统中加载多个并行执行的任务,将所有任务分为三类,其中, 第一类任务是综合数据管理任务,第二类任务包括导航制导任务、控制解算任务和飞行任 务管理任务,第三类任务包括传感器管理任务、执行机构管理任务和人机交互管理任务,具 体的并行任务和整体软件架构如图2所示;
[0053] (2)系统启动后首先启动第一类任务,再启动第二类任务和第三类任务,
[0054]其中,第一类任务的处理步骤为:
[0055] ①创建主消息队列,队列的输入端是第二类和第三类任务,队列的输出端是第一 类任务,队列为阻塞队
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1