当前位置: 首页 > 专利查询>南开大学专利>正文

无人机任务规划模块配置错误检测方法、系统及存储介质技术方案

技术编号:39183924 阅读:9 留言:0更新日期:2023-10-27 08:31
本发明专利技术属于无人机通信领域,具体涉及一种无人机任务规划模块配置错误检测方法、系统及存储介质。本发明专利技术从无人机飞行控制系统源代码中提取配置参数的语法约束和语义约束,判断用户当前的配置参数是否符合两种约束,从而检测错误。本发明专利技术首先使用静态分析的手段对系统源代码提取数据流图,然后使用范式提取语法约束。对于配置参数的语义约束,分为四个步骤进行:将配置参数映射到飞行控制系统中的函数;辨识无人机飞行控制系统中关键函数的物理语义;提取检查点生成代码;预测检查点和无人机的物理语义表现,用户确认是否符合预期。结合语法约束和语义约束两方面的检测,本发明专利技术可以准确、普适、高效、灵活地诊断任意任务场景下、无人机是否存在任务规划相关的配置错误。无人机是否存在任务规划相关的配置错误。无人机是否存在任务规划相关的配置错误。

【技术实现步骤摘要】
无人机任务规划模块配置错误检测方法、系统及存储介质


[0001]本专利技术属于无人机通信领域,具体涉及一种无人机任务规划模块配置错误检测方法、系统及存储介质。

技术介绍

[0002]无人机因为其体积小、速度快、支持无人驾驶的特性,在国防和国民经济领域均具有广阔的应用场景,例如巡逻、摄影、快递等。除了远程手动控制无人机飞行之外,无人机通常还支持自动驾驶。在这种应用场景下,用户将无人机切换至自动驾驶模式,并预先设计一个包含航路点和路线等信息的飞行计划。上传给无人机后,无人机系统便可以自动化地执行整个飞行任务而全程无需人工干预。
[0003]不同用户的飞行计划和任务场景千差万别,为了适应用户千变万化的需求,现代常见的无人机飞行控制系统均向用户提供了大量可以定制的配置参数。这些配置参数覆盖到了无人机飞行控制系统的绝大多数功能模块,包括硬件定义模块、无线电通信模块、动力系统模块和自动驾驶模块等等。用户可以根据无人机硬件特点和任务场景需求自由地更改这些配置参数。
[0004]修改无人机配置参数的操作可通过两种方式完成:一是将键盘和监视器连接至无人机硬件,使用无人机飞行控制系统提供的终端界面执行配置参数修改命令;二是使用无线通信协议,向无人机发送修改配置参数的命令报文,该报文包括了要修改的配置参数名称和对应的值。在实际应用场景中,第二种方法因其灵活性更高而更常被使用,也有一些地面控制站(GCS)软件封装了第二种方法,向用户提供了一个更加友好的界面来发送修改无人机配置参数的请求。此外,为了支持用户更加灵活地配置无人机,无人机飞行控制系统允许用户在无人机落地时或飞行中均可修改配置参数。
[0005]无人机作为一个微型的飞行器,时刻需要灵活地调整自身的各项动力参数,从而确保飞行器能够安全地完成指定的飞行任务。具体而言,无人机飞行控制系统以很高的频率进行循环,循环开始时,系统收集无人机当前的传感器数据(例如GPS、加速度计、陀螺仪等),通过这些传感器数据估算无人机当前的飞行状态(例如位置、速度、姿态等)。之后,系统会将当前状态与无人机下一个参考状态进行比对,向无人机的动力模块输出电信号,驱使无人机移动到参考状态,然后进入下一次循环。
[0006]在上述的无人机飞行控制系统执行流程中,参考状态指的是用户希望无人机达到的状态。在自动驾驶模式中,参考状态是飞行控制系统的任务规划模块根据用户的飞行计划预先计算得到的。任务规划模块会将用户粗粒度的飞行计划进行拆解,输出细粒度的、包括详细无人机状态信息的参考状态,用以无人机的实时飞行参考。然而,任务规划模块受相关的一系列配置项的影响,如果这些配置项设置不当,会导致无人机飞行控制系统计算出错误的参考状态,例如计算出的参考状态包含偏离航线的位置、过低的速度等。错误的参考状态会指导无人机陷入不稳定的飞行状态,轻则偏航,重则坠毁。
[0007]现有的模糊测试、符号执行等技术难以检测到此类任务规划模块配置错误。一方
面,任务模块输出的参考状态不仅受配置参数的影响,还是基于用户输入的飞行计划而得到的,而后者有无穷多种可能的输入,这使得现有技术无法通过变异输入的方式检查配置参数的正确性,从而在判断是否存在任务规划相关的配置错误时准确率较低——因为出错的场景极有可能在先前的模糊测试中没有遇到过。另一方面,用户输入的飞行计划与配置参数的合理区间也有十分紧密的联系,例如一个较大的转角速度配置参数,在飞行路径较为平滑的飞行任务中可能会导致过冲,但在飞行路径转角较大的任务中又会被认为是合理的。对于这种不同计划期望的配置参数取值范围不同的情况,现有的分析技术也难以给出针对特定任务的判断,存在适用性差的问题。
[0008]此外,配置参数和飞行计划均可以在无人机飞行过程中实时修改。在实际飞行的过程中,当无人机接收到配置参数修改请求时,需要立刻判断这一修改是否有误,也就是说要立刻判断它对任务规划模块后续计算出的参考状态是否是可接受的。因此,使用仿真器预先模拟无人机表现的方法也是不能使用的,因为仿真器在时间和性能上的开销较大,无法满足无人机实时配置更改场景的灵活性要求。
[0009]综上所述,设计一种高效且准确的任务规划模块配置错误检测方法是至关重要的,即能够及时地对任务规划模块配置项修改做出反应,判断它对无人机后续参考状态计算的影响是否符合用户预期,并快速做出反馈,如果存在错误的配置参数,则提醒用户进行更正。

技术实现思路

[0010]为了解决现有技术在检测无人机任务规划模块配置错误时存在的准确率低、适用性差、效率较低、灵活性差的问题,本专利技术提供了一种基于静态分析的技术方案,设计了一套无人机任务规划模块配置错误检测方法、系统及存储介质,可准确、普适、高效、灵活地诊断任意需求场景下、无人机是否存在任务规划相关的配置错误,并可提供有助于用户改正错误的辅助信息。
[0011]为实现上述目的,本专利技术提供了如下技术方案:
[0012]无人机任务规划模块配置错误检测方法,包括以下步骤:
[0013]读取指定的无人机飞行控制系统源代码,并分析建立数据流图;
[0014]根据无人机飞行控制系统的源代码和数据流图,提取任务规划模块配置参数相关的语法约束和语义约束,并根据用户期望执行的飞行任务,读取用户输入的配置参数,检测其是否存在错误。
[0015]本技术方案进一步的优化,所述数据流图的建立过程为:首先定位飞行控制系统源代码中以键值对形式出现的配置参数变量,然后执行Andersen指针分析来识别程序中的指针别名,将识别出的存储配置参数的那些变量视为感兴趣的变量;以这些感兴趣的变量作为分析起始点,计算它们的数据流依赖关系;对于程序源码中直接或间接引用这些配置参数变量的其他变量,直接将它们一并添加至感兴趣变量集合中;对于C++代码中的指针,为每个感兴趣的变量维护它的抽象内存使用情况,分析源码中的指针是否访问了这些抽象内存地址,以此追踪指针相关的程序数据流
[0016]本技术方案进一步的优化,所述提取任务规划模块配置参数相关的语法约束,其过程为:
[0017]基于得到的数据流图,分析数据流中的所有语句节点,从中提取和语法约束检查的语句;语法约束检查语句通常采用比较和边界函数的形式,使用Backus

Naur范式定义这类配置参数语法约束检查语句;
[0018]基于通过上述文法提取出的配置参数语法约束,整理出和配置项相关的语法约束检查语句,如果用户输入的配置项数值无法通过这些约束检查语句,则可以认为当前配置项违反了语法约束,即存在配置错误。
[0019]本技术方案进一步的优化,所述提取任务规划模块配置参数相关的语义约束,其过程为:
[0020]第一步,将配置参数映射到飞行控制系统中的函数,找出哪些函数受到它们的影响。这通过已经提取到的无人机飞行控制系统数据流图来完成分析,在数据流图中,追踪每个配置参数影响的路径,提取路径中调用函数的结点,将这些函数全部视为受此配置项影响的函数,最终得到配置项到影响的函数的映射;
...

【技术保护点】

【技术特征摘要】
1.无人机任务规划模块配置错误检测方法,其特征在于,包括以下步骤:读取指定的无人机飞行控制系统源代码,并分析建立数据流图;根据无人机飞行控制系统的源代码和数据流图,提取任务规划模块配置参数相关的语法约束和语义约束,并根据用户期望执行的飞行任务,读取用户输入的配置参数,检测其是否存在错误。2.根据权利要求1所述的无人机任务规划模块配置错误检测方法,其特征在于,所述数据流图的建立过程为:首先定位飞行控制系统源代码中以键值对形式出现的配置参数变量,然后执行Andersen指针分析来识别程序中的指针别名,将识别出的存储配置参数的那些变量视为感兴趣的变量;以这些感兴趣的变量作为分析起始点,计算它们的数据流依赖关系;对于程序源码中直接或间接引用这些配置参数变量的其他变量,直接将它们一并添加至感兴趣变量集合中;对于C++代码中的指针,为每个感兴趣的变量维护它的抽象内存使用情况,分析源码中的指针是否访问了这些抽象内存地址,以此追踪指针相关的程序数据流。3.根据权利要求1所述的无人机任务规划模块配置错误检测方法,其特征在于,所述提取任务规划模块配置参数相关的语法约束,其过程为:基于得到的数据流图,分析数据流中的所有语句节点,从中提取和语法约束检查的语句;语法约束检查语句通常采用比较和边界函数的形式,使用Backus

Naur范式定义这类配置参数语法约束检查语句;基于通过上述文法提取出的配置参数语法约束,整理出和配置项相关的语法约束检查语句,如果用户输入的配置项数值无法通过这些约束检查语句,则可以认为当前配置项违反了语法约束,即存在配置错误。4.根据权利要求1所述的无人机任务规划模块配置错误检测方法,其特征在于,所述提取任务规划模块配置参数相关的语义约束,其过程为:第一步,将配置参数映射到飞行控制系统中的函数,找出哪些函数受到它们的影响,这通过已经提取到的无人机飞行控制系统数据流图来完成分析,在数据流图中,追踪每个配置参数影响的路径,提取路径中调用函数的结点,将这些函数全部视为受此配置项影响的函数,最终得到配置项到影响的函数的映射;第二步,辨识无人机飞行控制系统中关键函数的物理语义,这一步骤通过两种方法完成:其一,利用无人机飞行控制系统开发人员编写的单元测试代码,检查程序源代码中的所有测试代码块,定位和无人机物理表现有关的断言,断言之前的函数即为该物理表现相关的关键函数;其二,使用无人机飞行控制系统配...

【专利技术属性】
技术研发人员:张浛锋常志伟贾岩吕思艺李同刘哲理
申请(专利权)人:南开大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1