一种机载动态电子围栏的高确定数据结构设计方法
文献发布时间:2023-06-19 09:32:16
技术领域
本发明属于航空技术领域,具体涉及到一种机载动态电子围栏的高确定数据结构设计方法。
背景技术
无人机电子围栏技术,可有效保证在实际作战应用中,使无人机具备自动避让禁飞区域的能力。由于禁飞区域的地形往往是随机、无规律的,因此,常常用一系列不规则的多边形来表示电子围栏。根据电子围栏的用途,一般有禁止飞出的限制型和禁止飞入的拒止型两种。
然而电子围栏的外形及拐点数目具有很大的不确定性且无规律,同时由于无人机空中位置的随机性及任务多样性,大大增加了动态航路规划过程中新航点序列的频繁变化及复杂程度,如果使用传统的数组进行处理,会大大降低数据处理效率。如何选取一种有效的数据结构对电子围栏进行高效计算和处理,成为首当其冲的问题。
发明内容
1、发明目的:
通过设计合理的数据结构,降低电子围栏建模及动态航路规划算法复杂度,提高计算效率。
2、发明技术解决方案:
1)使用双向链表数据结构对电子围栏建模,解决不同类型电子围栏的算法互异性问题,降低建模复杂度;
2)使用链表进行动态航路规划的设计,提高数据处理效率,且通过提前设置缓冲区,解决链表动态分配地址与机载的固定寻址的矛盾。
技术方案
一种机载动态电子围栏的高确定数据结构设计方法,包括以下步骤:
步骤1、选取双向链表数据结构对电子围栏建模
使用双向链表对电子围栏进行建模,并对限制型围栏进行逆时针建模,对拒止型围栏进行顺时针建模。其中,单个节点包含的元素如下:
1)单个围栏的经度坐标
2)单个围栏的纬度坐标
3)下一个节点地址
4)上一个节点地址
在对电子围栏进行一些功能扩展或者计算时,将需要计算或使用的数据加入单个节点中。
步骤2、使用链表进行航路规划的设计
使用链表来进行航路规划,对于每次生成的航点序列,仅需明确其前一个航点的位置以及后一个航点位置,即可将其插入至之前已生成的链表序列;
同时,本方法预先规划缓冲池,先将新产生的航路点依次放入缓冲池中,再根据航点之间的前后关系链接起来,生成新的航路链。
进一步的,在进行步骤1、步骤2前,需要提前对底层数据区进行预置,本技术将底层数据区划分为三个部分:
1)保留区,用于存储原始电子围栏,与任务预加载的保持一致;
2)综合区,用于存储经计算、处理后的综合电子围栏;
3)规划区,用于动态航路规划时航路链的存储。
如上步骤中,每个数据区大小均按照可能出现的最大数据容量的1.5倍进行预置。
进一步的,步骤1中,对电子围栏的功能扩展和计算,包括电子围栏的安全边界延拓和围栏信息融合。
如上步骤中,提到的电子围栏边界延拓,是对用于表示电子围栏的不规则多边形进行扩大或者缩小,可将延拓的距离和方向加入单个节点的数据元素。
进一步的,步骤1中,限制型与拒止型的算法互异性,具体为:
1)电子围栏延拓:延拓方向不同,限制型内缩,拒止型外扩
2)不同电子围栏融合:两个拒止型融合为求多边形并集,限制型与拒止型融合为求多边形交集。
进一步的,步骤2中,缓冲池可使用底层数据区的规划区代替。
进一步的,步骤2中,在进行航路规划前,需将规划区的数据清除,再进行新的航路规划计算。
技术效果
该技术已经在某型无人机上使用,可有效支撑电子围栏建模及动态航路规划功能的设计与实现,同时大大降低代码量,并显著提高运算效率。通过仿真计算、虚拟飞行、机上在环试验证明,该技术可保证无人机电子围栏功能的正常、高效运行。
附图说明
图1双向链表描述电子围栏示意图;
其中,Lon表示单个围栏的经度坐标
Lat表示单个围栏的纬度坐标
*pNxt表示下一个节点地址
*pLst表示上一个节点地址
图2使用链表进行动态航路规划及预置缓冲区示意图;
其中,Pa表示飞机上一任务点
Wpt表示飞机当前任务点
Pnew1~Pnew9表示航路规划过程中临时生成的航路点
图3底层数据结构规划。
具体实施方式
下面我们结合附图对本发明做出进一步的说明(如图1所示):
机载动态电子围栏的高确定数据结构设计方法,包括以下步骤:
1、选取双向链表数据结构对电子围栏建模
(在对电子围栏进行计算和处理时,针对不规则多边形的拐点,只需考虑同该拐点相邻的两拐点即可;同时,由于限制型与拒止型围栏的特性正好相反,为了减小算法复杂程度,)这里使用双向链表对电子围栏进行建模(示意图如图1所示),并对限制型围栏进行逆时针建模,对拒止型围栏进行顺时针建模。其中,单个节点包含的元素如下:
1)单个围栏的经度坐标
2)单个围栏的纬度坐标
3)下一个节点地址
4)上一个节点地址
另外,在对电子围栏进行一些功能扩展或者计算时,可以将需要计算或使用的数据加入单个节点中。
对于限制型的逆时针建模与拒止型的顺时针建模,是为了解决限制型与拒止型的算法互异性的问题,是双向链表的核心价值所在,可以电子围栏计算的归一化,大大提高计算效率。
2、使用链表进行航路规划的设计(如图2所示)
在进行航路规划时,由于电子围栏数量往往较多,每计算一个围栏可能就会引起航路节点变化,进而导致数据结构的变化情况难以预知,同时,如果使用数组进行计算,会大大降低数据处理效率。
本技术使用链表来进行航路规划,对于每次生成的航点序列,仅需明确其前一个航点的位置以及后一个航点位置,即可将其插入至之前已生成的链表序列,从而大大简化逻辑的复杂程度。
同时,本方法预先规划了缓冲池,可先将新产生的航路点依次放入缓冲池中,再根据航点之间的前后关系链接起来,生成新的航路链。
使用链表进行动态航路规划及预置缓冲区示意图如图2所示。
进一步的,在进行步骤1、步骤2前,需要提前对底层数据区进行预置,本技术将底层数据区划分为三个部分:(如图3所示)
1)保留区,用于存储原始电子围栏,与任务预加载的保持一致;
2)综合区,用于存储经计算、处理后的综合电子围栏;
3)规划区,用于动态航路规划时航路链的存储。
如上步骤中,每个数据区大小均按照可能出现的最大数据容量的1.5倍进行预置,从而实现对顶层电子围栏功能所需的“受控动态空间分配”能力,保证电子围栏各功能之间互不干扰,正常运行。
进一步的,步骤1中,对电子围栏的功能扩展和计算,包括电子围栏的安全边界延拓和围栏信息融合,从而方便进行下一步的动态航路规划。
如上步骤中,提到的电子围栏边界延拓,是对用于表示电子围栏的不规则多边形进行扩大或者缩小,可将延拓的距离和方向加入单个节点的数据元素,从而使计算更为清晰,同时减小代码量
进一步的,步骤1中,限制型与拒止型的算法互异性,主要表现在:
1)电子围栏延拓:延拓方向不同,限制型内缩,拒止型外扩
2)不同电子围栏融合:两个拒止型融合为求多边形并集,限制型与拒止型融合为求多边形交集。
使用限制型与拒止型的逆/顺时针建模,可以电子围栏计算的归一化,大大提高计算效率
进一步的,步骤2中,缓冲池可使用底层数据区的规划区代替,从而满足链表动态分配地址与机载软件固定寻址的矛盾。
进一步的,步骤2中,在进行航路规划前,需将规划区的数据清除,再进行新的航路规划计算,防止数据区溢出。
- 一种机载动态电子围栏的高确定数据结构设计方法
- 一种基于全局不确定性证据动态融合的工业报警器设计方法