发明名称 一种行星表面全局路径快速规划方法
摘要 本发明涉及一种行星表面全局路径快速规划方法,属于深空探测技术领域。首先获得待进行路径规划区域内的障碍分布信息图,并对其进行分析处理,在能避开障碍物的可行区域内选取多个可行节点,并根据选取的节点进行可行区域内的路径连通;获取节点坐标信息,创建采用Dijkstra算法进行路径规划所需网络拓扑结构,以路径的长度作为约束条件,规划出一条初始最优路径;将路径长度函数作为适应度函数,选取节点时所遵循的数学函数关系及坐标的约束范围,作为遗传算法的待优化目标及约束条件,采用遗传算法对初始最优路径进行优化处理,输出优化结果作为最终的规划路径。本方法具有算法简单、高效、通用性好、可扩展性强的优点。
申请公布号 CN102929286B 申请公布日期 2015.05.27
申请号 CN201210487551.6 申请日期 2012.11.26
申请人 北京理工大学 发明人 徐瑞;崔平远;朱胜英;高艾;曲鹏程
分类号 G05D1/10(2006.01)I 主分类号 G05D1/10(2006.01)I
代理机构 代理人
主权项 一种行星表面全局路径快速规划方法,其特征在于:包括以下步骤:步骤1,获得待进行路径规划区域内的障碍分布信息图;分析处理后,在能避开障碍物的可行区域内选取多个可行节点,并根据选取的节点进行可行区域内的路径连通;节点的选取原则为:各节点横纵坐标满足同一种数学函数关系;可行区域内的路径连通遵循邻近节点连通的原则,且所连通的路径不能穿过障碍物、不能跨越多个可行节点;步骤2,对已连通的节点编号,获取节点坐标信息,并储存在数据信息矩阵U<sub>1</sub>和U<sub>2</sub>中,其中U<sub>1</sub>储存节点坐标信息,U<sub>2</sub>储存连通线段两端节点的编号信息;<maths num="0001" id="cmaths0001"><math><![CDATA[<mfenced open='' close=''><mtable><mtr><mtd><msub><mi>U</mi><mn>1</mn></msub><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mn>1</mn></mtd><mtd><msub><mi>x</mi><mn>1</mn></msub></mtd><mtd><msub><mi>y</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><mn>2</mn></mtd><mtd><msub><mi>x</mi><mn>2</mn></msub></mtd><mtd><msub><mi>y</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd></mtd><mtd><mo>.</mo></mtd><mtd></mtd></mtr><mtr><mtd></mtd><mtd><mo>.</mo></mtd><mtd></mtd></mtr><mtr><mtd></mtd><mtd><mo>.</mo></mtd><mtd></mtd></mtr><mtr><mtd><mi>k</mi></mtd><mtd><msub><mi>x</mi><mi>k</mi></msub></mtd><mtd><msub><mi>y</mi><mi>k</mi></msub></mtd></mtr><mtr><mtd></mtd><mtd><mo>.</mo></mtd><mtd></mtd></mtr><mtr><mtd></mtd><mtd><mo>.</mo></mtd><mtd></mtd></mtr><mtr><mtd></mtd><mtd><mo>.</mo></mtd><mtd></mtd></mtr><mtr><mtd><mi>n</mi></mtd><mtd><msub><mi>x</mi><mi>n</mi></msub></mtd><mtd><msub><mi>y</mi><mi>n</mi></msub></mtd></mtr></mtable></mfenced></mtd><mtd><msub><mi>U</mi><mn>2</mn></msub><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mn>1</mn></mtd><mtd><msub><mi>i</mi><mn>1</mn></msub></mtd><mtd><msub><mi>j</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><mn>2</mn></mtd><mtd><msub><mi>i</mi><mn>2</mn></msub></mtd><mtd><msub><mi>j</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd></mtd><mtd><mo>.</mo></mtd><mtd></mtd></mtr><mtr><mtd></mtd><mtd><mo>.</mo></mtd><mtd></mtd></mtr><mtr><mtd></mtd><mtd><mo>.</mo></mtd><mtd></mtd></mtr><mtr><mtd><mi>l</mi></mtd><mtd><msub><mi>i</mi><mi>l</mi></msub></mtd><mtd><msub><mi>j</mi><mi>l</mi></msub></mtd></mtr><mtr><mtd></mtd><mtd><mo>.</mo></mtd><mtd></mtd></mtr><mtr><mtd></mtd><mtd><mo>.</mo></mtd><mtd></mtd></mtr><mtr><mtd></mtd><mtd><mo>.</mo></mtd><mtd></mtd></mtr><mtr><mtd><mi>m</mi></mtd><mtd><msub><mi>i</mi><mi>m</mi></msub></mtd><mtd><msub><mi>j</mi><mi>m</mi></msub></mtd></mtr></mtable></mfenced></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000654981760000011.GIF" wi="1031" he="464" /></maths>式中,n为节点的编号总数,(x<sub>k</sub>,y<sub>k</sub>)为第k个节点的坐标信息;m为所有可行节点连通后形成的连通线段总数,(i<sub>l</sub>,j<sub>l</sub>)为第l条连通线段两个端点对应的节点编号,且(i<sub>l</sub>,j<sub>l</sub>)∈{(i<sub>l</sub>,j<sub>l</sub>)|i<sub>l</sub>,j<sub>l</sub>=1,2,…,n,i<sub>l</sub>≠j<sub>l</sub>};k=1,2,…,n,l=1,2,…,m;步骤3,将步骤2得到的数据矩阵U<sub>1</sub>和U<sub>2</sub>作为初始条件,创建采用Dijkstra算法进行路径规划所需网络拓扑结构,以路径的长度作为约束条件,规划出一条初始最优路径:f(s)=min(length(s<sub>start</sub>→s<sub>goal</sub>))其中:s<sub>start</sub>为起始点,s<sub>goal</sub>为目标点,f(s)为在所创建的网络拓扑结构中距离最短的一条路径;建立矩阵U<sub>3</sub>用以存储初始最优路径从起始点到达目标点过程中所经历的连通线段总数,以及连通线段两端对应的节点编号;<maths num="0002" id="cmaths0002"><math><![CDATA[<mfenced open='' close=''><mtable><mtr><mtd><msub><mi>U</mi><mn>3</mn></msub><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mn>1</mn></mtd><mtd><msub><mi>e</mi><mn>1</mn></msub></mtd><mtd><msub><mi>f</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><mn>2</mn></mtd><mtd><msub><mi>e</mi><mn>2</mn></msub></mtd><mtd><msub><mi>f</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd></mtd><mtd><mo>.</mo></mtd><mtd></mtd></mtr><mtr><mtd></mtd><mtd><mo>.</mo></mtd><mtd></mtd></mtr><mtr><mtd></mtd><mtd><mo>.</mo></mtd><mtd></mtd></mtr><mtr><mtd><mi>q</mi></mtd><mtd><msub><mi>e</mi><mi>q</mi></msub></mtd><mtd><msub><mi>f</mi><mi>q</mi></msub></mtd></mtr><mtr><mtd></mtd><mtd><mo>.</mo></mtd><mtd></mtd></mtr><mtr><mtd></mtd><mtd><mo>.</mo></mtd><mtd></mtd></mtr><mtr><mtd></mtd><mtd><mo>.</mo></mtd><mtd></mtd></mtr><mtr><mtd><mi>v</mi></mtd><mtd><msub><mi>e</mi><mi>v</mi></msub></mtd><mtd><msub><mi>f</mi><mi>v</mi></msub></mtd></mtr></mtable></mfenced></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000654981760000012.GIF" wi="376" he="460" /></maths>其中:v表示从起始点到达目标点过程中初始最优路径所经历的连通线段总数,(e<sub>q</sub>,f<sub>q</sub>)为第q条连通线段两端节点对应的编号,(e<sub>q</sub>,f<sub>q</sub>)满足如下关系:(e<sub>q</sub>,f<sub>q</sub>)∈{(e<sub>q</sub>,f<sub>q</sub>)|q=1,2,…v,e<sub>q</sub>≠f<sub>q</sub>};步骤4,根据步骤3得到的矩阵U<sub>3</sub>中的节点编号,以及矩阵U<sub>1</sub>中对应节点的全局坐标信息,将路径长度函数f(S)作为适应度函数:f(S)=min(length(e<sub>1</sub>→f<sub>1</sub>)+length(e<sub>2</sub>→f<sub>2</sub>)+…+length(e<sub>q</sub>→f<sub>q</sub>))确定坐标约束范围:f(x<sub>k</sub>,y<sub>k</sub>)=0,(a<sub>k</sub><x<sub>k</sub><b<sub>k</sub>)其中:y<sub>k</sub>=f(x<sub>k</sub>)为坐标x<sub>k</sub>与y<sub>k</sub>所满足的函数关系,(a<sub>k</sub>,b<sub>k</sub>)为横坐标x<sub>k</sub>约束范围的上下界;步骤5,将步骤4确定的适应度函数以及相应坐标的约束范围,分别作为遗传算法的待优化目标及约束条件,采用遗传算法对步骤3得到的初始最优路径进行优化处理,输出优化结果作为最终的规划路径。
地址 100081 北京市海淀区中关村南大街5号