发明名称 一种智能识别威胁类型的无人机飞行路径规划方法
摘要 本发明公开了一种智能识别威胁类型的无人机飞行路径规划方法,在混合环境下智能识别威胁类型并搜寻最优飞行路径,该方法由探测和运行两个阶段组成;探测阶段由多个探测体共同执行探测任务完成对搜索区域的基本认知,主要包括节点信息素值更新、动态威胁标识和静态威胁躲避,并由此形成基础的优化航路;运行阶段由单个无人机完成实际寻路,利用探测阶段的形成的基本认知,可以很好地保证在实际执行阶段准确躲避静态威胁、尽早识别并躲避动态威胁以及快速规划最优航路,使无人机快速安全地到达目标点。
申请公布号 CN104834317A 申请公布日期 2015.08.12
申请号 CN201510200932.5 申请日期 2015.04.24
申请人 华北计算技术研究所 发明人 杜雁双;王磊;刘春生;费林鹤
分类号 G05D1/10(2006.01)I 主分类号 G05D1/10(2006.01)I
代理机构 北京理工大学专利中心 11120 代理人 高燕燕;仇蕾安
主权项 一种无人机路径规划方法,其特征在于,包括如下步骤:步骤1、对搜索区域进行初始化,具体为:S01:对搜索区域进行栅格化,将无人机出发的节点定义为源节点,将无人机要到达的节点定义为目标节点;每个节点均存储该节点的信息素值V和特异化信息素值SV;S02:确定搜索区域内静态威胁区域的中心位置及静态威胁的半径r,对静态威胁区域内的节点信息素值V进行赋值:V=‑πr<sup>2</sup>;将搜索区域内静态威胁区域之外的节点的信息素值赋值为(0.1)<sup>n</sup>,其中,n为搜索区域内节点总个数;S03:根据搜索区域内敌方防御力量,设置动态威胁的个数及属性,并将所有动态威胁随机置于搜索区域内,覆盖范围根据动态威胁各自的属性确定;令动态威胁在搜索区域内随机移动,其移动速度与无人飞机的飞行速度一致;步骤2、采用探测体对搜索区域进行探测,完成对动态威胁的特异化标记,具体为:S20、在初始时刻t<sub>1</sub>,采用m个虚拟无人机作为探测体置于源节点上,用flage表示探测体存活状态:当flage为1时表示存活,当flage为0时表示探测体被攻击死亡;实时监测到达目标节点的探测体的数目,并记录当该数目等于1的时刻t<sub>2</sub>,同时启动计时器,设置倒计时时长为2×(t<sub>2</sub>‑t<sub>1</sub>);同时,从初始时刻t<sub>1</sub>开始,针对任意一个探测体,执行步骤S21至步骤S23;当倒计时结束时,停止所有探测体在搜索区域内的探测;S21、当前探测体准备从当前所处节点转换到下一节点上,具体步骤如下:S211、首先判断探测体当前所处节点的信息素值V大小是否为‑∞:(1)若V为‑∞,将表征探测体存活状态的flage置为0,探测体停止探测,同时将探测体所在动态威胁区域内的动态威胁进行特异化标记;同时,被特异化标记的动态威胁覆盖的区域内节点信息素值V置为‑∞,节点的特异化信息素值SV置为1,然后执行S212;当被特异化标记的动态威胁离开覆盖区域的节点后,节点信息素值复原为覆盖前的值,节点特异化信息素值SV置为0,然后执行S212;(2)若V不为‑∞,则执行S212;S212、判断探测体当前所在节点的前方以及上、下相邻的3个相邻节点中是否有目标节点,若有目标节点,执行步骤S23;若没有目标节点,则执行S213;S213、判断所述3个相邻节点的信息素值V与0的大小关系:(1)若3个相邻节点的信息素值都小于或等于0,则这3个节点都为不可用备选节点,即置探测体当前所处节点的信息素值为0,进入步骤S22;(2)若3个相邻节点中存在至少一个节点的信息素值大于0,则信息素值大于0的节点为可用备选节点,并分别计算出转换概率:转换概率等于当前可用备选节点的信息素值除以所有可用备选节点信息素值之和;选择转换概率最大的可用备选节点作为潜在转换节点;将探测体当前所处节点的信息素值V更新为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>V</mi><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><msup><mrow><mo>(</mo><msub><mi>V</mi><mn>0</mn></msub><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mn>2</mn></msup><mo>,</mo><msub><mi>V</mi><mn>0</mn></msub><mo>&lt;</mo><mn>1</mn></mtd></mtr><mtr><mtd><msup><mrow><mo>(</mo><mfrac><msub><mi>V</mi><mn>0</mn></msub><mrow><msub><mi>V</mi><mn>0</mn></msub><mo>+</mo><mn>1</mn></mrow></mfrac><mo>)</mo></mrow><mrow><mo>[</mo><msub><mi>V</mi><mn>0</mn></msub><mo>]</mo></mrow></msup><mo>&times;</mo><msub><mi>V</mi><mn>0</mn></msub><mo>+</mo><msub><mi>V</mi><mn>0</mn></msub><mo>,</mo><msub><mi>V</mi><mn>0</mn></msub><mo>&GreaterEqual;</mo><mn>1</mn></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>]]></math><img file="FDA0000705373720000021.GIF" wi="652" he="237" /></maths>V<sub>0</sub>为当前所处节点的更新前的信息素值,[V<sub>0</sub>]表示不大于V<sub>0</sub>的最大整数;最后将探测体转换到所述潜在转换节点上,将该潜在转换节点作为下一次转换的当前所处节点,返回步骤S211;S22、将探测体从当前所处节点转换到上一个所处节点,并将该上一个所处节点的信息素值进行减半处理,然后执行步骤S211;S23、将探测体转换到该目标节点,当前探测体完成探测;步骤3、基于步骤1对节点的信息素值的初始化以及步骤2的动态威胁的特异化标记结果,在搜索区域对无人机的飞行路径进行规划,具体为:在初始时刻,将虚拟无人机置于出发节点上,设置用于存储临时最短航路的第一存储区以及存储无人机实际飞过节点的第二存储区,初始时,第一和第二存储区均为空;S30、在第二存储区中存储无人机当前所处节点的坐标,再判断与当前所处节点相邻的节点中是否包含目标节点:(1)若包含目标节点,存储该目标节点,执行步骤S38;(2)若不包含目标节点,在以当前所处节点为中心,以2个栅格长度为半径的圆形区域内,判断是否存在特异化信息素值SV为1的节点:如果存在,将特异化信息素值SV为1的节点定义为已识别威胁节点,执行步骤S32;如果不存在,再判断所述第一存储区是否存有临时最短航路:若没有,则执行步骤S31;若有,则进一步判断临时最短航路的第一个节点是否与3个相邻节点中的任一个相同,若相同,则将该节点的信息素值进行加倍处理,执行步骤S31;若不相同,则将所述第一存储区内的临时最短航路删除,执行步骤S31;S31、(1)若存在其中1个相邻节点的信息素值为正且大于其他2个相邻节点的信息素值时,将信息素值最大的节点作为下一次转换的当前所处节点,执行步骤S30;(2)若存在2个相邻可选节点的信息素值相同且为正并大于另外1个相邻节点的信息素值时,进入步骤S33;(3)若存在3个相邻可选节点的信息素值相同且为正,进入步骤S34;(4)否则,进入步骤S38;S32、判断无人机当前所处节点与已识别威胁节点的相对位置,判断方法如下:若已识别威胁节点与无人机当前所处节点处在同一行或同一列时,进入步骤S35;若已识别威胁节点与无人机当前所处节点处既不在同一行也不在同一列时,进入步骤S36;S33、无人机分别以这2个相邻节点作为出发点,以目标节点为终点,在搜索区域内对信息素值大于0的节点应用Dijkstra算法,分别计算出最短航路,比较2条最短航路的长度,若2条航路长度不同,选择其中较短航路;若2条航路长度相同,随机选择其中一条航路,将选择出的航路中的第一个节点作为无人机下一次的当前所处节点,将选择出的航路中的第一个节点删除,并将该航路作为临时最短航路,更新第一存储区,然后执行步骤S30;S34、无人机分别以这3个相邻节点作为出发点,以目标节点为终点,在搜索区域内对信息素值大于0的节点应用Dijkstra算法,分别计算出最短航路,比较3条最短航路的长度:(1)若存在其中1条航路的长度小于其他2条,选择较短一条航路;(2)若存在任2条航路的长度相等且小于等于第3条,则从这2条相等的航路中随机选择一条航路;将选择出的航路中的第一个节点作为无人机下一次的当前所处节点,将选择出的航路中的第一个节点删除,并将该航路作为临时最短航路,更新第一存储区,然后执行步骤S30;S35、根据现在节点与已识别威胁节点的位置关系,计算出3个相邻节点中不可以进行转换的节点,从而进一步确定可能的转换节点,具体方法如下:当已识别威胁节点与无人机当前所处节点处在同一行或同一列时,获得已识别威胁节点与无人机所在行或列的中间位置节点是否为无人机上一次所处节点:若是,进入步骤S30;若不是,进一步判断除该中间位置节点之外的2个相邻节点的信息素值特性,并确定下一转换节点,具体判定方法如下:(1)当两个节点中存在信息素值大于0的节点,且两个节点信息素值不相同时,选择信息素值较大的节点作为转换节点,将无人机转换到该转换节点,并作为下一次的当前所处节点;将该当前所处节点对搜索区域内的信息素值大于0的节点应用Dijkstra算法,计算出到达目标节点的最短航路,删除临时最短航路的第一个节点,用该临时最短航路更新第一存储区,进入步骤S30;(2)当所述2个相邻节点信息素值相同且大于0时,则分别从该2个相邻节点出发,利用Dijkstra算法得出到达目标节点的两条最短航路;当两条航路长度不同时,选择较短航路;当两条航路长度相同时,随机选择一条航路;将无人机下一个节点转换到选择出来的航路第一个节点上,作为下一次的当前所处节点,删除临时最短航路的第一个节点,用该临时最短航路更新第一存储区,进入步骤S30;(3)否则,无人机退回到上一次所处节点,并将该上一次所处节点作为下一次的当前所处节点,进入步骤S30;S36、根据现处节点与动态威胁节点的位置关系,计算出3个相邻节点中可能进行转换的节点,具体方法如下:选择与动态威胁节点既不在同一行也不在同一列的节点为可能的转换节点,并进一步判断可能的转换节点的信息素值:1)若信息素值大于0,则转换到该节点,将该节点作为下一次的当前所处节点,进入步骤S30;2)若信息素值小于等于0,则回退到上一次所处节点,并将上一次所处节点作为下一次当前所处节点,进入步骤S30;S37、这3个相邻节点的信息素值是负值或0,将现在所处节点的信息素值置0,回退到上一次所处节点,并把上一次所处节点作为下一次的当前所处节点,进入步骤S30;S38、无人机到达目标节点,完成任务,在第二存储区中依次读取按时间的先后顺序存储的节点序列,即为本次飞行的路径。
地址 100083 北京市海淀区北四环中路211号