发明名称 一种基于稀疏A*搜索的三维多UAV协同航迹规划方法
摘要 本发明属于路径规划技术领域,具体涉及一种基于稀疏A*搜索的多UAV协同航迹规划方法。本发明包括:对路径规划的环境进行建模;初始化多目标SAS计算参数:包括最小航迹段长度,最大拐弯角、最大爬升/下滑角,UAV最小安全距离,UAV最低飞行高度;初始化UAV的位置,每个UAV代表一条航迹;更新UAV的位置;扩展当前节点;判断是否与其它航迹段发生碰撞;更新航迹段的节点表;如果已经达到步骤(2)中设定的最小航迹代价,则执行步骤(8),否则,执行步骤(3);确定协同规划最优路径,路径规划结束。本发明能够解决多目标优化问题,具有通用性。能够为决策者提供合理的最优解,更符合实际问题需要。
申请公布号 CN103557867B 申请公布日期 2016.05.04
申请号 CN201310467041.7 申请日期 2013.10.09
申请人 哈尔滨工程大学 发明人 刘利强;顾海超;杨裕杰;戴运桃;李宁;齐昭;汪相国;张凯;赵明;孟欣冉
分类号 G01C21/20(2006.01)I;G05D1/10(2006.01)I;G06F17/50(2006.01)I 主分类号 G01C21/20(2006.01)I
代理机构 代理人
主权项 一种基于稀疏A*搜索的三维多UAV协同航迹规划方法,其特征在于:(1)对路径规划的环境进行建模使用500km*500km范围的真实地形生成的200*200像素大小的数字高程地图,相邻像素之间的真实地形间距为2.5km;在三维空间中进行路径规划,S为UAV的出发点,G为终点,在路径规划范围内建立全局坐标系O‑XYZ,若n个路径点组成一个路径,则路径表示为L={S,L<sub>1</sub>,L<sub>2</sub>,...,L<sub>n</sub>,G},其中(L<sub>1</sub>,L<sub>2</sub>,...,L<sub>n</sub>)为全局地图中的路径点的序列,为路径规划的目标;(2)初始化多目标SAS计算参数:包括最小航迹段长度,最大拐弯角、最大爬升/下滑角,UAV最小安全距离,UAV最低飞行高度;初始化UAV的位置,每个UAV代表一条航迹;(3)更新UAV的位置;(4)扩展当前节点扩展步长L为最小航迹段长度,当前节点B包括UAV的经度、纬度、高度(x,y,z),UAV的飞行航向角为θ,与x轴,y轴,z轴的夹角分别为a,b,c,UAV的拐角g,UAV的爬升/俯冲角l,对于当前节点B有9个扩展节点,n系为地球坐标系,b系为载体坐标系,n系绕Z轴逆时针旋转<img file="FDA0000909929490000011.GIF" wi="45" he="60" />角得到<img file="FDA0000909929490000012.GIF" wi="62" he="74" />系,<img file="FDA0000909929490000013.GIF" wi="61" he="71" />系绕Y轴逆时针旋转β角得到b系,N为单位向量,其中,β=90°‑c,<img file="FDA0000909929490000014.GIF" wi="485" he="77" />N=[1,0,0]<sup>T</sup>,<img file="FDA0000909929490000015.GIF" wi="901" he="229" />D<sub>1</sub>为b系绕z轴逆时针旋转g度得到的矩阵,<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>D</mi><mn>1</mn></msub><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><mi>cos</mi><mi> </mi><mi>g</mi></mrow></mtd><mtd><mrow><mi>sin</mi><mi> </mi><mi>g</mi></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mrow><mo>-</mo><mi>sin</mi><mi> </mi><mi>g</mi></mrow></mtd><mtd><mrow><mi>cos</mi><mi> </mi><mi>g</mi></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000909929490000016.GIF" wi="518" he="231" /></maths>根据坐标变换可得到矩阵C1:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>C</mi><mn>1</mn><mo>=</mo><msup><mrow><mo>&lsqb;</mo><msup><mrow><mo>(</mo><msubsup><mi>C</mi><mi>n</mi><mi>b</mi></msubsup><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><msup><mrow><mo>(</mo><msub><mi>D</mi><mn>1</mn></msub><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><mi>N</mi><mo>&rsqb;</mo></mrow><mi>T</mi></msup><mo>,</mo></mrow>]]></math><img file="FDA0000909929490000017.GIF" wi="477" he="79" /></maths>C点坐标为:C=[x,y,z]+L*C1同理,可得到扩展点D,E,F,G,H,I,J,K在地球坐标系的坐标;通过解算得到扩展点的坐标,计算每个扩展节点的代价,找到代价最小的节点,以代价最小的点为当前节点,最终找到从起始点到目标点的协同最优航迹其中每条航迹的代价函数为:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><mi>&chi;</mi><mrow><mo>(</mo><mo>(</mo><mrow><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mn>5</mn></munderover><mrow><msub><mi>&lambda;</mi><mi>i</mi></msub><msub><mi>C</mi><mi>i</mi></msub></mrow></mrow><mo>)</mo><mo>+</mo><mi>&alpha;</mi><mi>L</mi><mo>(</mo><msub><mi>x</mi><mi>j</mi></msub><mo>)</mo><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000909929490000021.GIF" wi="682" he="151" /></maths>式中,x<sub>j</sub>代表第j条航迹,f(x<sub>j</sub>)代表第j条航迹的代价,C<sub>i</sub>(i=1,2,…,5)分别代表第i条航迹的最小航迹距离代价,最大转弯角代价,目标进入方向代价,最大爬升/俯冲角代价,最长航迹距离代价,飞行高度代价,距离威胁区代价的约束条件,即当满足约束条件时C<sub>i</sub>取值为零,不满足条件时,C<sub>i</sub>取一个极大的正整数,λ<sub>i</sub>(i=1,2,…,5)为其代价系数,<img file="FDA0000909929490000022.GIF" wi="205" he="135" />L(x<sub>j</sub>)为第j条航迹的协同航程代价,α为在航迹代价f(x<sub>j</sub>)中的代价系数,χ为收缩因子,<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>&chi;</mi><mo>=</mo><mfrac><mrow><mi>a</mi><mo>-</mo><mi>n</mi></mrow><mi>a</mi></mfrac><mo>,</mo></mrow>]]></math><img file="FDA0000909929490000023.GIF" wi="262" he="119" /></maths>式中,固定常数a为M<sub>max</sub>的3~10倍,M<sub>max</sub>=航迹起始点到终点直线距离最大值/步长L,且a>n<sub>max</sub>,n为扩展到当前节点的航迹段数,收缩因子的取值范围为[0,1];第j条航迹当前节点的航迹代价为:L<sub>j</sub>=L<sub>G</sub>+L<sub>H</sub>,其中,L<sub>G</sub>为已扩展航迹,L<sub>H</sub>为预估计达到目标点航迹,扩展到当前节点的协同航程为:L<sub>X</sub>=max{L<sub>1</sub>,L<sub>2</sub>,…,L<sub>n</sub>},其中,L<sub>1</sub>,L<sub>2</sub>,...,L<sub>n</sub>为n个UAV搜索到各自当前节点的航迹代价,第j条航迹当前节点的协同航程代价为:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>L</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mo>|</mo><msub><mi>L</mi><mi>j</mi></msub><mo>-</mo><msub><mi>L</mi><mi>X</mi></msub><mo>|</mo></mrow></mtd><mtd><mrow><msub><mi>L</mi><mi>j</mi></msub><mo>&NotEqual;</mo><msub><mi>L</mi><mi>X</mi></msub></mrow></mtd></mtr><mtr><mtd><msub><mi>L</mi><mi>j</mi></msub></mtd><mtd><mrow><msub><mi>L</mi><mi>j</mi></msub><mo>=</mo><msub><mi>L</mi><mi>X</mi></msub></mrow></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>]]></math><img file="FDA0000909929490000024.GIF" wi="630" he="167" /></maths>(5)判断是否与其它航迹段发生碰撞如果航迹段与其它航迹段没有交点,则执行步骤(6);否则,执行步骤(3);(6)更新航迹段的节点表把步骤(4)产生的合格扩展点增加到航迹段的节点表中,形成新的航迹段;(7)如果已经达到步骤(2)中设定的最小航迹代价,则执行步骤(8),否则,执行步骤(3);(8)确定协同规划最优路径,路径规划结束更新完的航迹段即为一组最优解的集合,选择最优路径作为路径规划的结果。
地址 150001 黑龙江省哈尔滨市南岗区南通大街145号哈尔滨工程大学科技处知识产权办公室