发明名称 一种多任务独立并行的无人机飞行控制方法
摘要 本发明公开了一种多任务独立并行的无人机飞行控制方法,采用VxWorks操作系统实现,包括以下步骤:在VxWorks操作系统中加载多个并行执行的任务,将所有任务分为三类,其中,第一类任务是综合数据管理任务,第二类任务包括导航制导任务、控制解算任务和飞行任务管理任务,第三类任务包括传感器管理任务、执行机构管理任务和人机交互管理任务;系统启动后首先启动第一类任务,再启动第二类任务和第三类任务,三类任务启动后则统一根据综合数据管理任务发送的启动指令同时启动,并行运行,互不干扰。通过本发明可以实现无人机的多个任务独立并行工作,互不影响,执行效率高,并有利于全面的对飞行状态进行判断,数据利用率高。
申请公布号 CN105468019A 申请公布日期 2016.04.06
申请号 CN201510976427.X 申请日期 2015.12.23
申请人 中国工程物理研究院总体工程研究所 发明人 李皓;赵林东;陈强洪;苏秀红
分类号 G05D1/10(2006.01)I 主分类号 G05D1/10(2006.01)I
代理机构 北京天奇智新知识产权代理有限公司 11340 代理人 杨春
主权项 一种多任务独立并行的无人机飞行控制方法,采用VxWorks操作系统实现,其特征在于:包括以下步骤:(1)在VxWorks操作系统中加载多个并行执行的任务,将所有任务分为三类,其中,第一类任务是综合数据管理任务,第二类任务包括导航制导任务、控制解算任务和飞行任务管理任务,第三类任务包括传感器管理任务、执行机构管理任务和人机交互管理任务;(2)系统启动后首先启动第一类任务,再启动第二类任务和第三类任务,其中,第一类任务的处理步骤为:①创建主消息队列,队列的输入端是第二类和第三类任务,队列的输出端是第一类任务,队列为阻塞队列,先入先出辅以优先级;②针对第二类任务创建3个分任务消息队列,这些队列的输入端是第一类任务,输出端是分别是3个第二类任务,队列为阻塞队列,先入先出;③针对第三类任务创建3个分任务消息队列,这些队列的输入端是第一类任务,输出端是分别是3个第三类任务,队列为非阻塞队列,先入先出;④依次创建导航制导任务、控制解算任务、传感器管理任务、执行机构管理任务、人机交互管理任务和飞行任务管理任务并将创建的主消息队列和分任务消息队列的端口分别传入这些任务中,这些任务有相同的优先级,相同的处理时间片;⑤向所有6个分任务消息队列发送任务启动消息;⑥确认所有任务启动完成;⑦开始进入第一类任务主循环;⑧取出主消息队列中的一个消息,若没有消息则进入等待;⑨对取出的消息进行分析处理并对数据加盖时间戳;⑩按照设计将分析后的数据放入相应分任务消息队列;<img file="FDA0000887664740000021.GIF" wi="68" he="67" />回到步骤⑦;第二类任务的处理步骤为:A、启动后进入等待状态,等待分任务信息队列传来的任务启动消息;B、确认启动消息;C、开始进入第二类任务主循环;D、取出分任务消息队列的一个消息,若没有消息则进入等待;E、按照预定算法进行处理,在导航解算任务中,将该消息用于导航解算算法,在控制解算任务中,将该消息用于控制解算,在飞行任务管理任务中,将该消息用于飞行任务规划算法;F、解算完成后,将解算数据输入主消息队列;G、回到步骤C;第三类任务的处理步骤为:a、启动后创建信号量;b、进入等待状态,等待分任务信息队列传来的任务启动消息;c、启动定时器,定时时间与该任务相关的机载设备通信相关;d、进入第三类任务的主循环;e、取出分任务消息队列的一个消息,无论是否存在消息均进入下一步骤;f、如果存在消息,则根据消息指令进行相应处理,如果不存在消息则进入下一步骤;g、等待信号量来临;h、当信号量来临,进入数据接收流程,如果是传感器管理任务,则依次读取机载各个传感器数据,如果是执行机构管理任务,则分别向执行机构送出控制指令并读取反馈,如果是人机交互管理任务则读取测控设备传来的数据,并将本机数据按约定送出;i、将读取到的数据送入主消息队列;j、回到步骤d;k、在定时器中,当定时时间到来时,则给出信号量,并启动下一次定时。
地址 621908 四川省绵阳市绵山路64号