The method for solving the optimal path between obstacles based on the full convex hull expansion algorithm of the present invention is as follows: first, to determine whether the current path intersects with the obstacle, if not, the path is the optimal path between two points, if not, to count the obstacles intersecting with the path, to calculate the central points of the obstacle, and to judge the relative positions of each central point and path; The convex hull (shell) operations are performed on the intersecting obstacles, and the convex hull (shell) operations are performed on the one side of the obstacles with large number. The boundary of the two convex hulls (hulls) is partitioned at the break point, added to the path network, and the original path is deleted. The above methods are repeated until all paths in the path network do not intersect with the obstacles. Finally, the above paths are solved according to certain path planning rules. The optimal path from the starting point to the end point in the path network. This method not only overcomes the shortcomings of high computational complexity and long operation time of the binary tree method, but also solves the problem of losing the path of convex hull boundary algorithm.
【技术实现步骤摘要】
基于全凸包扩张算法的障碍物间最优路径解算方法
本专利技术涉及航线设计、机器人路径规划、舰载机调运等领域,尤其涉及一种路径规划技术。
技术介绍
障碍物间最优路径规划属于一种特殊的路径规划问题,其在航线设计、机器人路径规划、舰载机调运领域有广泛的应用。当前,对于障碍物间最优路径规划的矢量方法主要有二叉树算法和凸包(壳)边界算法。二叉树算法类似于“拉线法”,是对距离当前点最近的障碍物进行绕过计算,并在航路二叉树中添加节点,重复上述过程,直至搜索至终点结束;然后按照“深度优先”和“试探搜索”相结合的原则,获取二叉树中所有路径,删除冗余节点后可得到最短路径。凸包(壳)边界算法首先统计路径穿过的所有障碍物并获取其顶点,根据各顶点与路径的距离,将顶点集分为上(下)点集,分别对上下点集进行凸包(壳)运算,将凸包(壳)边界作为路径,若新路径仍与障碍物相交,则重复上述步骤,直至所有路径均不予障碍物相交,最后用路径择优方法进行最优路径的规划。上述两种路径规划方法仍存在许多不足:二叉树方法对各路径穿过的最近障碍物进行绕过,算法复杂度较高,尤其是当障碍物数量较多时,运算时间较长。凸包(壳)边界方法可抽象为对路径与其穿过的障碍物进行凸包(壳)运算,将凸包(壳)边界作为绕行方案,但遗漏了障碍物间潜在的路径,路径网不全面。
技术实现思路
为克服上述两种方法存在的不足,本专利技术提供了一种基于全凸包(壳)扩张算法的障碍物间最优路径解算方法。本专利技术为实现上述目的所采用的技术方案是:一种基于全凸包扩张算法的障碍物间最优路径解算方法,包括以下步骤。步骤一:将起点S至终点D连线的路径作为当前路径r ...
【技术保护点】
1.基于全凸包扩张算法的障碍物间最优路径解算方法,其特征在于:包括以下步骤:步骤一:将起点(S)至终点(D)连线的路径作为当前路径(rcur);步骤二:判断当前路径(rcur)与障碍物(bi)是否相交,若否,则当前路径(rcur)为两点间最优路径,转步骤六,若是,统计与路径相交的障碍物(b′i),将其存入障碍物集(Bcur)中;步骤三:依次判断障碍物与当前路径(rcur)的相对位置关系,以左右侧为例,对应地将障碍物(b′j)添加至左侧障碍物集(Bleft)或右侧障碍物集(Bright),并分别统计两侧障碍物数量(Sumleft)与(Sumright);步骤四:对当前路径(rcur)与障碍物集(Bcur)进行凸包运算,将凸包边界在折点处打断后添加至路径网(R);步骤五:若Sumleft≥(<)Sumright且Sumright(Sumleft)≠0,对前路径(rcur)与障碍物集(Bleft)或(Bright)进行单侧凸包运算,将凸包边界并在折点处打断并添加至路径网(R);步骤六:在路径网(R)中删除当前路径(rcur);步骤七:若路径网(R)不与障碍物集B相交,转步骤八,若仍有路径(r ...
【技术特征摘要】
1.基于全凸包扩张算法的障碍物间最优路径解算方法,其特征在于:包括以下步骤:步骤一:将起点(S)至终点(D)连线的路径作为当前路径(rcur);步骤二:判断当前路径(rcur)与障碍物(bi)是否相交,若否,则当前路径(rcur)为两点间最优路径,转步骤六,若是,统计与路径相交的障碍物(b′i),将其存入障碍物集(Bcur)中;步骤三:依次判断障碍物与当前路径(rcur)的相对位置关系,以左右侧为例,对应地将障碍物(b′j)添加至左侧障碍物集(Bleft)或右侧障碍物集(Bright),并分别统计两侧障碍物数量(Sumleft)与(Sumright);步骤四:对当前路径(rcur)与障碍物集(Bcur)进行凸包运算,将凸包边界在折点处打断后添加至路径网(R);步骤五:若Sumleft≥(<)Sumright且Sumright(Sumleft)≠0,对前路径(rcur)与障碍物集(Bleft)或(Bright)进行单侧凸包运算,将凸包边界并在折点处打断并添加至路径网(R);步骤六:在路径网(R)中删除当前路径(rcur);步骤七:若路径网(R)不与障碍物集B相交,转步骤八,若仍有路径(r′)与障碍物集(B)相交,令rcur=r′,转步骤二;步骤八:按照一定的最优规则,解算由起点S至终点D的障碍物间最优路径。2.根据权利要求1所述的基于全凸包扩张算法的障碍物间最优路径解算方法,其特征在于:所述步骤二中,若满足:则当前路径rcur与障碍物不相交;若满足:则当前路径rcur与障碍物相交。3.根据权利要求1所述的基于全凸包扩张算法的障碍物间最优路径解算方法,其特征在于:所述步骤三中,障碍物与当前路径的相对位置关系以障碍物中心点Ai与当前路径的相对位置关系表示,首先计算障碍物b′i∈Bcur的中心点Ai,而各障碍物中心点Ai与当前路径rcur的相对位置关系包括中心点位于路径左右侧或上下侧,当中心点Ai位于...
【专利技术属性】
技术研发人员:董箭,彭认灿,李改肖,吕程,张志衡,董洲洋,黄晓琛,
申请(专利权)人:董箭,彭认灿,李改肖,吕程,张志衡,董洲洋,黄晓琛,
类型:发明
国别省市:辽宁,21
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。