CN114378834B - 机械臂避障路径规划方法、装置、电子设备及存储介质 - Google Patents
机械臂避障路径规划方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114378834B CN114378834B CN202210289708.8A CN202210289708A CN114378834B CN 114378834 B CN114378834 B CN 114378834B CN 202210289708 A CN202210289708 A CN 202210289708A CN 114378834 B CN114378834 B CN 114378834B
- Authority
- CN
- China
- Prior art keywords
- path
- point
- obstacle
- area
- expansion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—Avoiding collision or forbidden zones
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
本申请属于路径规划技术领域,公开了一种机械臂避障路径规划方法、装置、电子设备及存储介质,通过获取起点和终点的位置数据,并获取机械臂的工作区域内各障碍物的尺寸数据和位置数据;根据各障碍物的尺寸数据和位置数据获取各障碍物的最小长方体包围区域;以起点和终点的直线连接线穿过的最小长方体包围区域为障碍区域,对障碍区域进行膨胀处理,得到对应的膨胀区域;根据直线连接线与各膨胀区域的边界面的两个交点的位置,获取位于膨胀区域的边界面上并连接两个交点的最优连接路径的转折点的位置数据;以起点、终点和各转折点为路径点生成总路径;从而,无需随机抽样,大大减小了运算量,提高了路径规划速度。
Description
技术领域
本申请涉及路径规划技术领域,具体而言,涉及一种机械臂避障路径规划方法、装置、电子设备及存储介质。
背景技术
六自由度机械臂常用于工业自动化领域中,如搬运,焊接,喷涂等。在工作中,机械臂周围可能会有障碍物的存在,因此需要机械臂具备自动规划路径和躲避障碍物的功能。一个理想的避障功能,能够使得机械臂以最短路径,最小代价去最快的到达目标点。目前最常用的算法是RRT算法,但是这种方法是随机抽样,在目标区域中发现一个样本通常需要大量时间,而且无法提供最优解。
发明内容
本申请的目的在于提供一种机械臂避障路径规划方法、装置、电子设备及存储介质,可减小运算量,提高路径规划速度。
第一方面,本申请提供了一种机械臂避障路径规划方法,用于对机械臂的路径进行规划,包括步骤:
A1.获取起点和终点的位置数据,并获取所述机械臂的工作区域内各障碍物的尺寸数据和位置数据;
A2.根据各所述障碍物的尺寸数据和位置数据获取各所述障碍物的最小长方体包围区域;
A3.以所述起点和所述终点的直线连接线穿过的所述最小长方体包围区域为障碍区域,对所述障碍区域进行膨胀处理,得到对应的膨胀区域;
A4.根据所述直线连接线与各所述膨胀区域的边界面的两个交点的位置,获取位于所述膨胀区域的边界面上并连接两个所述交点的最优连接路径的转折点的位置数据;
A5.以所述起点、所述终点和各所述转折点为路径点生成总路径。
该机械臂避障路径规划方法,与现有技术中通过RRT算法进行路径规划的方式相比,无需随机抽样,大大减小了运算量,提高了路径规划速度。
优选地,步骤A3包括:
获取所述机械臂的等效半径;
以所述等效半径为膨胀尺寸对所述障碍区域进行膨胀处理,得到对应的膨胀区域。
优选地,步骤A4包括针对每个所述膨胀区域执行的步骤:
获取所述直线连接线与所述膨胀区域的边界面的两个交点的位置数据;
根据两个所述交点的位置数据获取所有特征平面与所述膨胀区域的边界面的相交线;所述特征平面为两个所述交点所在的平面,且所述特征平面与所述膨胀区域的至少一个边界侧面垂直;
以两个所述交点把每个所述相交线划分为两个连接路径;
从各所述连接路径中选取最优连接路径,并获取所述最优连接路径的转折点的位置数据。
优选地,所述从各所述连接路径中选取最优连接路径,并获取所述最优连接路径的转折点的位置数据的步骤包括:
选取与其它所述障碍物的最小长方体包围区域及所述工作区域的边界的距离均不小于预设的第一距离阈值的所述连接路径中的最短连接路径为最优连接路径,并获取所述最优连接路径的转折点的位置数据。
优选地,步骤A5包括:
依次用直线连接所述起点、各所述转折点和所述终点,得到所述总路径。
优选地,所述依次用直线连接所述起点、各所述转折点和所述终点,得到所述总路径的步骤之后,还包括:
若不属于同一膨胀区域的相邻的两个连接点之间的路径段穿过至少一个所述障碍物的最小长方体包围区域,则以所述相邻的两个连接点为新起点和新终点,规划所述新起点和所述新终点之间的避障路径以替换所述相邻的两个连接点之间的路径段。
从而避免规划的路径穿过障碍物,提高总路径的合理性。
优选地,步骤A5还包括:
使用B-splines优化算法对所述总路径进行优化。
通过优化处理,可使总路径更加平滑,有利于提高机械臂工作时运动的平顺性。
第二方面,本申请提供了一种机械臂避障路径规划装置,用于对机械臂的路径进行规划,包括:
第一获取模块,用于获取起点和终点的位置数据,并获取所述机械臂工作区域内各障碍物的尺寸数据和位置数据;
第二获取模块,用于根据各所述障碍物的尺寸数据和位置数据获取各所述障碍物的最小长方体包围区域;
膨胀处理模块,用于以所述起点和所述终点的直线连接线穿过的所述最小长方体包围区域为障碍区域,对所述障碍区域进行膨胀处理,得到对应的膨胀区域;
第三获取模块,用于根据所述直线连接线与各所述膨胀区域的边界面的两个交点的位置,获取位于所述膨胀区域的边界面上并连接两个所述交点的最优连接路径的转折点的位置数据;
路径生成模块,用于以所述起点、所述终点和各所述转折点为路径点生成总路径。
与现有技术中通过RRT算法进行路径规划的方式相比,该机械臂避障路径规划装置在进行路径规划时,无需随机抽样,大大减小了运算量,提高了路径规划速度。
第三方面,本申请提供了一种电子设备,包括处理器和存储器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时,运行如前文所述机械臂避障路径规划方法中的步骤。
第四方面,本申请提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如前文所述机械臂避障路径规划方法中的步骤。
有益效果:
本申请提供的机械臂避障路径规划方法、装置、电子设备及存储介质,通过获取起点和终点的位置数据,并获取机械臂的工作区域内各障碍物的尺寸数据和位置数据;根据各障碍物的尺寸数据和位置数据获取各障碍物的最小长方体包围区域;以起点和终点的直线连接线穿过的最小长方体包围区域为障碍区域,对障碍区域进行膨胀处理,得到对应的膨胀区域;根据直线连接线与各膨胀区域的边界面的两个交点的位置,获取位于膨胀区域的边界面上并连接两个交点的最优连接路径的转折点的位置数据;以起点、终点和各转折点为路径点生成总路径;从而,无需随机抽样,大大减小了运算量,提高了路径规划速度。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请了解。
附图说明
图1为本申请实施例提供的机械臂避障路径规划方法的流程图。
图2为本申请实施例提供的机械臂避障路径规划装置的结构示意图。
图3为本申请实施例提供的电子设备的结构示意图。
图4为起点和终点的直线连接线与膨胀区域的边界面的交点的示意图。
图5为示例性的总路径的示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,图1是本申请一些实施例中的一种机械臂避障路径规划方法,用于对机械臂的路径进行规划,包括步骤:
A1.获取起点和终点的位置数据,并获取机械臂的工作区域内各障碍物的尺寸数据和位置数据;
A2.根据各障碍物的尺寸数据和位置数据获取各障碍物的最小长方体包围区域;
A3.以起点和终点的直线连接线穿过的最小长方体包围区域为障碍区域,对障碍区域进行膨胀处理,得到对应的膨胀区域;
A4.根据直线连接线与各膨胀区域的边界面的两个交点的位置,获取位于膨胀区域的边界面上并连接两个交点的最优连接路径的转折点的位置数据;
A5.以起点、终点和各转折点为路径点生成总路径。
该机械臂避障路径规划方法,与现有技术中通过RRT算法进行路径规划的方式相比,无需随机抽样,大大减小了运算量,提高了路径规划速度。
其中,起点和终点的位置一般是根据实际工作需要预先设置的。机械臂的工作区域的形状、尺寸和位置也是根据实际工作需要预先设置的;一般地,该工作区域是一个长方体状的空间,但不限于此。
其中,障碍物的最小长方体包围区域是能够把该障碍物完全包围在内的体积最小的长方体区域。最小长方体包围区域的尺寸和姿态取决于障碍物的实际形状和尺寸。
优选地,若有至少两个障碍物符合聚团条件(聚团条件是指:至少两障碍物中,任意一个障碍物与至少一个其它障碍物之间的距离小于预设的第二距离阈值;该第二距离阈值可根据实际需要设置,例如第二距离阈值为机械臂的等效半径),则把该符合聚团条件的至少两个障碍物作为一个整体(即当作一个障碍物)进行最小长方体包围区域的获取(得到的最小长方体包围区域是把这些符合聚团条件均完全包围在内的体积最小的长方体区域)。从而,步骤A2包括:在存在至少两个障碍物符合聚团条件的时候,把符合聚团条件的至少两个障碍物作为一个障碍物进行最小长方体包围区域的获取。
通过把距离过于接近的障碍物作为一个整体,获取一个把这些障碍物均包围在内的最小长方体包围区域,一方面,可避免后续步骤(步骤A4)中选取最优连接路径时,由于无法保证连接路径与其它障碍物的最小长方体包围区的距离足够大而选取失败,另一方面,可减少最终得到的总路径的转折次数,有利于提高总路径的平顺性,总路径的合理性更好。
其中,只要起点和终点的直线连接线与一个最小长方体包围区域有至少一个相交点,即认为该直线连接线穿过该最小长方体包围区域。
优选地,步骤A3包括:
A301.获取机械臂的等效半径;
A302.以等效半径为膨胀尺寸对障碍区域进行膨胀处理,得到对应的膨胀区域。
由于后续步骤得到的总路径中的部分路径段可能会沿膨胀区域的边界延伸,对障碍区域进行膨胀处理后,即使机械臂沿膨胀区域的边界移动也不会接触到障碍物,从而提高了最终得到的总路径的合理性。
一般地,机械臂的等效半径不小于机械臂的横截面的最小外接圆(把机械臂的横截面完全包围在内的最小圆)的半径,例如,可以把机械臂的等效半径取为机械臂的横截面的最小外接圆的半径,也可以把机械臂的等效半径取为机械臂的横截面的最小外接圆的半径与预设附加长度(可根据实际需要设置)之和,或者把机械臂的等效半径取为机械臂的横截面的最小外接圆的半径与预设放大系数C的乘积(C大于1,C可根据实际需要设置)。
步骤A302包括:使障碍区域的边界面朝外扩大,使扩大后的边界面与扩大前的边界面的距离为等效半径。
优选地,步骤A4包括针对每个膨胀区域执行的步骤:
A401.获取直线连接线(起点和终点的直线连接线)与膨胀区域的边界面的两个交点的位置数据;
A402.根据两个交点的位置数据获取所有特征平面与膨胀区域的边界面的相交线;特征平面为两个交点所在的平面,且特征平面与膨胀区域的至少一个边界侧面垂直;
A403.以两个交点把每个相交线划分为两个连接路径;
A404.从各连接路径中选取最优连接路径,并获取最优连接路径的转折点的位置数据。
由于障碍区域为长方体状的区域,膨胀处理后得到的膨胀区域也为长方体状的区域,其边界面由六个矩形的边界侧面组成,其中,当直线连接线穿过膨胀区域时,该膨胀区域会存在两个边界侧面与该直线连接线有且仅有一个交点,步骤A401中获取该直线连接线与该两个边界侧面的交点的位置数据。
例如图4中,直线AB为起点和终点的直线连接线,其与第一膨胀区域90的两个交点分别为C点和D点。其中,GHFE平面为其中一个特征平面,该特征平面与第一膨胀区域90边界面的相交线为四边形相交线GHFE,C点和D点把该相交线划分为连接路径CEFD和连接路径CGHD;ghfe平面为另一个特征平面,该特征平面与第一膨胀区域90边界面的相交线为四边形相交线ghfe,C点和D点把该相交线划分为连接路径CefD和连接路径CghD。
其中,连接路径的转折点是指该连接路径与膨胀区域的棱边之间的交点,一般地,每个连接路径具有一个或两个转折点。例如图4中的连接路径CEFD具有两个转折点:E点和F点,连接路径CGHD具有两个转折点:G点和H点,连接路径CefD具有两个转折点:e点和f点,连接路径CghD具有两个转折点:g点和h点。
优选地,从各连接路径中选取最优连接路径,并获取最优连接路径的转折点的位置数据的步骤包括:
选取与其它障碍物(即当前膨胀区域以外的障碍物)的最小长方体包围区域及工作区域的边界的距离均不小于预设的第一距离阈值的连接路径中的最短连接路径为最优连接路径,并获取最优连接路径的转折点的位置数据。
其中,第一距离阈值可根据实际需要设置,该第一距离阈值不小于机械臂的等效半径。
在另一些实施方式中,步骤A4包括针对每个膨胀区域执行的步骤:
获取直线连接线(起点和终点的直线连接线)与膨胀区域的边界面的两个交点的位置数据(具体过程参考前文);
采用预设的角度步长(可根据实际需要设置,例如1°),以两个交点所在的平面绕该两个交点的连线(直线连线)分步转动,形成多个目标平面;
获取各目标平面与膨胀区域的边界面的相交线;
以两个交点把每个相交线划分为两个连接路径(具体过程参考前文);
从各连接路径中选取最优连接路径,并获取最优连接路径的转折点的位置数据(具体过程参考前文)。
与前一种实施方式相比,该实施方式中得到的目标平面的数量一般比特征平面的数量多,得到的两个交点之间的连接路径的数量也更多,且这些连接路径在两个交点的连线的周向上更加密集地分布,虽然计算量更大,但更有利于得到更短的最优连接路径。
优选地,步骤A5包括:
依次用直线连接起点、各转折点和终点,得到总路径。
其中,进行连接时,根据起点到终点的直线连线穿过的膨胀区域的顺序进行各转折点的连接。例如图5中,起点A到终点B的直线连线AB依次穿过第二膨胀区域91、第三膨胀区域92和第四膨胀区域93,其中第二膨胀区域91处的转折点为点I和点J,第三膨胀区域92处的转折点为点K和点L,第四膨胀区域93处的转折点为点M和点N,从而用直线依次连接点A、点I、点J、点K、点L、点M、点N和点B得到总路径;需要说明的是,图5中显示的是俯视状态的情况,在实际应用中,总路径的各段连接线一般不在同一平面内,但也可能是在同一平面内的。
在实际应用中,通过上述步骤得到的总路径中,不属于同一膨胀区域的相邻两个连接点(起点、终点和转折点均属于连接点)之间的路径段可能会穿过至少一个障碍物的最小长方体包围区域,从而,该路径段应该重新规划以绕开该障碍物。从而,在一些优选实施方式中,依次用直线连接起点、各转折点和终点,得到总路径的步骤之后,还包括:
若不属于同一膨胀区域的相邻的两个连接点之间的路径段穿过至少一个障碍物的最小长方体包围区域,则以该相邻的两个连接点为新起点和新终点,规划新起点和新终点之间的避障路径以替换该相邻的两个连接点之间的路径段(具体过程参考起点和终点之间的总路径的规划过程)。
从而避免规划的路径穿过障碍物,提高总路径的合理性。
优选地,步骤A5还包括:
使用B-splines优化算法对总路径进行优化。
通过优化处理,可使总路径更加平滑,有利于提高机械臂工作时运动的平顺性。其中,使用B-splines优化算法对路径进行优化的过程为现有技术,此处不对其进行详述,需要说明的是,在优化过程中,用所有连接点作为控制点。
由上可知,该机械臂避障路径规划方法,通过获取起点和终点的位置数据,并获取机械臂的工作区域内各障碍物的尺寸数据和位置数据;根据各障碍物的尺寸数据和位置数据获取各障碍物的最小长方体包围区域;以起点和终点的直线连接线穿过的最小长方体包围区域为障碍区域,对障碍区域进行膨胀处理,得到对应的膨胀区域;根据直线连接线与各膨胀区域的边界面的两个交点的位置,获取位于膨胀区域的边界面上并连接两个交点的最优连接路径的转折点的位置数据;以起点、终点和各转折点为路径点生成总路径;从而,无需随机抽样,大大减小了运算量,提高了路径规划速度。
请参考图2,本申请提供了一种机械臂避障路径规划装置,用于对机械臂的路径进行规划,包括:
第一获取模块1,用于获取起点和终点的位置数据,并获取机械臂工作区域内各障碍物的尺寸数据和位置数据;
第二获取模块2,用于根据各障碍物的尺寸数据和位置数据获取各障碍物的最小长方体包围区域;
膨胀处理模块3,用于以起点和终点的直线连接线穿过的最小长方体包围区域为障碍区域,对障碍区域进行膨胀处理,得到对应的膨胀区域;
第三获取模块4,用于根据直线连接线与各膨胀区域的边界面的两个交点的位置,获取位于膨胀区域的边界面上并连接两个交点的最优连接路径的转折点的位置数据;
路径生成模块5,用于以起点、终点和各转折点为路径点生成总路径。
与现有技术中通过RRT算法进行路径规划的方式相比,该机械臂避障路径规划装置在进行路径规划时,无需随机抽样,大大减小了运算量,提高了路径规划速度。
其中,起点和终点的位置一般是根据实际工作需要预先设置的。机械臂的工作区域的形状、尺寸和位置也是根据实际工作需要预先设置的;一般地,该工作区域是一个长方体状的空间,但不限于此。
其中,障碍物的最小长方体包围区域是能够把该障碍物完全包围在内的体积最小的长方体区域。最小长方体包围区域的尺寸和姿态取决于障碍物的实际形状和尺寸。
优选地,若有至少两个障碍物符合聚团条件(聚团条件是指:至少两障碍物中,任意一个障碍物与至少一个其它障碍物之间的距离小于预设的第二距离阈值;该第二距离阈值可根据实际需要设置,例如第二距离阈值为机械臂的等效半径),则把该符合聚团条件的至少两个障碍物作为一个整体(即当作一个障碍物)进行最小长方体包围区域的获取(得到的最小长方体包围区域是把这些符合聚团条件均完全包围在内的体积最小的长方体区域)。从而,第二获取模块2用于在根据各障碍物的尺寸数据和位置数据获取各障碍物的最小长方体包围区域的时候,执行:在存在至少两个障碍物符合聚团条件的时候,把符合聚团条件的至少两个障碍物作为一个障碍物进行最小长方体包围区域的获取。
通过把距离过于接近的障碍物作为一个整体,获取一个把这些障碍物均包围在内的最小长方体包围区域,一方面,可避免后续选取最优连接路径时,由于无法保证连接路径与其它障碍物的最小长方体包围区的距离足够大而选取失败,另一方面,可减少最终得到的总路径的转折次数,有利于提高总路径的平顺性,总路径的合理性更好。
其中,只要起点和终点的直线连接线与一个最小长方体包围区域有至少一个相交点,即认为该直线连接线穿过该最小长方体包围区域。
优选地,膨胀处理模块3用于在以起点和终点的直线连接线穿过的最小长方体包围区域为障碍区域,对障碍区域进行膨胀处理,得到对应的膨胀区域的时候,执行:
获取机械臂的等效半径;
以等效半径为膨胀尺寸对障碍区域进行膨胀处理,得到对应的膨胀区域。
由于后续处理得到的总路径中的部分路径段可能会沿膨胀区域的边界延伸,对障碍区域进行膨胀处理后,即使机械臂沿膨胀区域的边界移动也不会接触到障碍物,从而提高了最终得到的总路径的合理性。
一般地,机械臂的等效半径不小于机械臂的横截面的最小外接圆(把机械臂的横截面完全包围在内的最小圆)的半径,例如,可以把机械臂的等效半径取为机械臂的横截面的最小外接圆的半径,也可以把机械臂的等效半径取为机械臂的横截面的最小外接圆的半径与预设附加长度(可根据实际需要设置)之和,或者把机械臂的等效半径取为机械臂的横截面的最小外接圆的半径与预设放大系数C的乘积(C大于1,C可根据实际需要设置)。
膨胀处理模块3在以等效半径为膨胀尺寸对障碍区域进行膨胀处理,得到对应的膨胀区域的时候,执行:使障碍区域的边界面朝外扩大,使扩大后的边界面与扩大前的边界面的距离为等效半径。
优选地,第三获取模块4用于在根据直线连接线与各膨胀区域的边界面的两个交点的位置,获取位于膨胀区域的边界面上并连接两个交点的最优连接路径的转折点的位置数据的时候,针对每个膨胀区域执行:
获取直线连接线(起点和终点的直线连接线)与膨胀区域的边界面的两个交点的位置数据;
根据两个交点的位置数据获取所有特征平面与膨胀区域的边界面的相交线;特征平面为两个交点所在的平面,且特征平面与膨胀区域的至少一个边界侧面垂直;
以两个交点把每个相交线划分为两个连接路径;
从各连接路径中选取最优连接路径,并获取最优连接路径的转折点的位置数据。
由于障碍区域为长方体状的区域,膨胀处理后得到的膨胀区域也为长方体状的区域,其边界面由六个矩形的边界侧面组成,其中,当直线连接线穿过膨胀区域时,该膨胀区域会存在两个边界侧面与该直线连接线有且仅有一个交点,第三获取模块4获取该直线连接线与该两个边界侧面的交点的位置数据。
例如图4中,直线AB为起点和终点的直线连接线,其与第一膨胀区域90的两个交点分别为C点和D点。其中,GHFE平面为其中一个特征平面,该特征平面与第一膨胀区域90边界面的相交线为四边形相交线GHFE,C点和D点把该相交线划分为连接路径CEFD和连接路径CGHD;ghfe平面为另一个特征平面,该特征平面与第一膨胀区域90边界面的相交线为四边形相交线ghfe,C点和D点把该相交线划分为连接路径CefD和连接路径CghD。
其中,连接路径的转折点是指该连接路径与膨胀区域的棱边之间的交点,一般地,每个连接路径具有一个或两个转折点。例如图4中的连接路径CEFD具有两个转折点:E点和F点,连接路径CGHD具有两个转折点:G点和H点,连接路径CefD具有两个转折点:e点和f点,连接路径CghD具有两个转折点:g点和h点。
优选地,第三获取模块4在从各连接路径中选取最优连接路径,并获取最优连接路径的转折点的位置数据的时候,执行:
选取与其它障碍物(即当前膨胀区域以外的障碍物)的最小长方体包围区域及工作区域的边界的距离均不小于预设的第一距离阈值的连接路径中的最短连接路径为最优连接路径,并获取最优连接路径的转折点的位置数据。
其中,第一距离阈值可根据实际需要设置,该第一距离阈值不小于机械臂的等效半径。
在另一些实施方式中,第三获取模块4用于在根据直线连接线与各膨胀区域的边界面的两个交点的位置,获取位于膨胀区域的边界面上并连接两个交点的最优连接路径的转折点的位置数据的时候,针对每个膨胀区域执行:
获取直线连接线(起点和终点的直线连接线)与膨胀区域的边界面的两个交点的位置数据(具体过程参考前文);
采用预设的角度步长(可根据实际需要设置,例如1°),以两个交点所在的平面绕该两个交点的连线(直线连线)分步转动,形成多个目标平面;
获取各目标平面与膨胀区域的边界面的相交线;
以两个交点把每个相交线划分为两个连接路径(具体过程参考前文);
从各连接路径中选取最优连接路径,并获取最优连接路径的转折点的位置数据(具体过程参考前文)。
与前一种实施方式相比,该实施方式中得到的目标平面的数量一般比特征平面的数量多,得到的两个交点之间的连接路径的数量也更多,且这些连接路径在两个交点的连线的周向上更加密集地分布,虽然计算量更大,但更有利于得到更短的最优连接路径。
优选地,路径生成模块5用于在以起点、终点和各转折点为路径点生成总路径的时候,执行:
依次用直线连接起点、各转折点和终点,得到总路径。
其中,进行连接时,根据起点到终点的直线连线穿过的膨胀区域的顺序进行各转折点的连接。例如图5中,起点A到终点B的直线连线AB依次穿过第二膨胀区域91、第三膨胀区域92和第四膨胀区域93,其中第二膨胀区域91处的转折点为点I和点J,第三膨胀区域92处的转折点为点K和点L,第四膨胀区域93处的转折点为点M和点N,从而用直线依次连接点A、点I、点J、点K、点L、点M、点N和点B得到总路径。
在实际应用中,通过上述处理得到的总路径中,不属于同一膨胀区域的相邻两个连接点(起点、终点和转折点均属于连接点)之间的路径段可能会穿过至少一个障碍物的最小长方体包围区域,从而,该路径段应该重新规划以绕开该障碍物。从而,在一些优选实施方式中,路径生成模块5在依次用直线连接起点、各转折点和终点,得到总路径之后,还执行:
若不属于同一膨胀区域的相邻的两个连接点之间的路径段穿过至少一个障碍物的最小长方体包围区域,则以该相邻的两个连接点为新起点和新终点,规划新起点和新终点之间的避障路径以替换该相邻的两个连接点之间的路径段(具体过程参考起点和终点之间的总路径的规划过程)。
从而避免规划的路径穿过障碍物,提高总路径的合理性。
优选地,路径生成模块5用于在以起点、终点和各转折点为路径点生成总路径的时候,还执行:
使用B-splines优化算法对总路径进行优化。
通过优化处理,可使总路径更加平滑,有利于提高机械臂工作时运动的平顺性。其中,使用B-splines优化算法对路径进行优化的过程为现有技术,此处不对其进行详述,需要说明的是,在优化过程中,用所有连接点作为控制点。
由上可知,该机械臂避障路径规划装置,通过获取起点和终点的位置数据,并获取机械臂的工作区域内各障碍物的尺寸数据和位置数据;根据各障碍物的尺寸数据和位置数据获取各障碍物的最小长方体包围区域;以起点和终点的直线连接线穿过的最小长方体包围区域为障碍区域,对障碍区域进行膨胀处理,得到对应的膨胀区域;根据直线连接线与各膨胀区域的边界面的两个交点的位置,获取位于膨胀区域的边界面上并连接两个交点的最优连接路径的转折点的位置数据;以起点、终点和各转折点为路径点生成总路径;从而,无需随机抽样,大大减小了运算量,提高了路径规划速度。
请参照图3,图3为本申请实施例提供的一种电子设备的结构示意图,本申请提供一种电子设备,包括:处理器301和存储器302,处理器301和存储器302通过通信总线303和/或其他形式的连接机构(未标出)互连并相互通讯,存储器302存储有处理器301可执行的计算机程序,当电子设备运行时,处理器301执行该计算机程序,以执行上述实施例的任一可选的实现方式中的机械臂避障路径规划方法,以实现以下功能:获取起点和终点的位置数据,并获取机械臂的工作区域内各障碍物的尺寸数据和位置数据;根据各障碍物的尺寸数据和位置数据获取各障碍物的最小长方体包围区域;以起点和终点的直线连接线穿过的最小长方体包围区域为障碍区域,对障碍区域进行膨胀处理,得到对应的膨胀区域;根据直线连接线与各膨胀区域的边界面的两个交点的位置,获取位于膨胀区域的边界面上并连接两个交点的最优连接路径的转折点的位置数据;以起点、终点和各转折点为路径点生成总路径。
本申请实施例提供一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时,执行上述实施例的任一可选的实现方式中的机械臂避障路径规划方法,以实现以下功能:获取起点和终点的位置数据,并获取机械臂的工作区域内各障碍物的尺寸数据和位置数据;根据各障碍物的尺寸数据和位置数据获取各障碍物的最小长方体包围区域;以起点和终点的直线连接线穿过的最小长方体包围区域为障碍区域,对障碍区域进行膨胀处理,得到对应的膨胀区域;根据直线连接线与各膨胀区域的边界面的两个交点的位置,获取位于膨胀区域的边界面上并连接两个交点的最优连接路径的转折点的位置数据;以起点、终点和各转折点为路径点生成总路径。其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random AccessMemory, 简称SRAM),电可擦除可编程只读存储器(Electrically Erasable ProgrammableRead-Only Memory, 简称EEPROM),可擦除可编程只读存储器(Erasable ProgrammableRead Only Memory, 简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-Only Memory, 简称ROM),磁存储器,快闪存储器,磁盘或光盘。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.一种机械臂避障路径规划方法,用于对机械臂的路径进行规划,其特征在于,包括步骤:
A1.获取起点和终点的位置数据,并获取所述机械臂的工作区域内各障碍物的尺寸数据和位置数据;
A2.根据各所述障碍物的尺寸数据和位置数据获取各所述障碍物的最小长方体包围区域;
A3.以所述起点和所述终点的直线连接线穿过的所述最小长方体包围区域为障碍区域,对所述障碍区域进行膨胀处理,得到对应的膨胀区域;
A4.根据所述直线连接线与各所述膨胀区域的边界面的两个交点的位置,获取位于所述膨胀区域的边界面上并连接两个所述交点的最优连接路径的转折点的位置数据;所述最优连接路径的转折点是指所述最优连接路径与所述膨胀区域的棱边之间的交点;
A5.以所述起点、所述终点和各所述转折点为路径点生成总路径;
步骤A5包括:
依次用直线连接所述起点、各所述转折点和所述终点,得到所述总路径;
所述依次用直线连接所述起点、各所述转折点和所述终点,得到所述总路径的步骤之后,还包括:
若不属于同一膨胀区域的相邻的两个连接点之间的路径段穿过至少一个所述障碍物的最小长方体包围区域,则以所述相邻的两个连接点为新起点和新终点,规划所述新起点和所述新终点之间的避障路径以替换所述相邻的两个连接点之间的路径段。
2.根据权利要求1所述的机械臂避障路径规划方法,其特征在于,步骤A3包括:
获取所述机械臂的等效半径;
以所述等效半径为膨胀尺寸对所述障碍区域进行膨胀处理,得到对应的膨胀区域。
3.根据权利要求1所述的机械臂避障路径规划方法,其特征在于,步骤A4包括针对每个所述膨胀区域执行的步骤:
获取所述直线连接线与所述膨胀区域的边界面的两个交点的位置数据;
根据两个所述交点的位置数据获取所有特征平面与所述膨胀区域的边界面的相交线;所述特征平面为两个所述交点所在的平面,且所述特征平面与所述膨胀区域的至少一个边界侧面垂直;
以两个所述交点把每个所述相交线划分为两个连接路径;
从各所述连接路径中选取最优连接路径,并获取所述最优连接路径的转折点的位置数据。
4.根据权利要求3所述的机械臂避障路径规划方法,其特征在于,所述从各所述连接路径中选取最优连接路径,并获取所述最优连接路径的转折点的位置数据的步骤包括:
选取与其它所述障碍物的最小长方体包围区域及所述工作区域的边界的距离均不小于预设的第一距离阈值的所述连接路径中的最短连接路径为最优连接路径,并获取所述最优连接路径的转折点的位置数据。
5.根据权利要求1所述的机械臂避障路径规划方法,其特征在于,步骤A5还包括:
使用B-splines优化算法对所述总路径进行优化。
6.一种机械臂避障路径规划装置,用于对机械臂的路径进行规划,其特征在于,包括:
第一获取模块,用于获取起点和终点的位置数据,并获取所述机械臂工作区域内各障碍物的尺寸数据和位置数据;
第二获取模块,用于根据各所述障碍物的尺寸数据和位置数据获取各所述障碍物的最小长方体包围区域;
膨胀处理模块,用于以所述起点和所述终点的直线连接线穿过的所述最小长方体包围区域为障碍区域,对所述障碍区域进行膨胀处理,得到对应的膨胀区域;
第三获取模块,用于根据所述直线连接线与各所述膨胀区域的边界面的两个交点的位置,获取位于所述膨胀区域的边界面上并连接两个所述交点的最优连接路径的转折点的位置数据;所述最优连接路径的转折点是指所述最优连接路径与所述膨胀区域的棱边之间的交点;
路径生成模块,用于以所述起点、所述终点和各所述转折点为路径点生成总路径;
路径生成模块用于在以所述起点、所述终点和各所述转折点为路径点生成总路径的时候,执行:
依次用直线连接所述起点、各所述转折点和所述终点,得到所述总路径;
若不属于同一膨胀区域的相邻的两个连接点之间的路径段穿过至少一个所述障碍物的最小长方体包围区域,则以所述相邻的两个连接点为新起点和新终点,规划所述新起点和所述新终点之间的避障路径以替换所述相邻的两个连接点之间的路径段。
7.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时,运行如权利要求1-5任一项所述机械臂避障路径规划方法中的步骤。
8.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时运行如权利要求1-5任一项所述机械臂避障路径规划方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210289708.8A CN114378834B (zh) | 2022-03-23 | 2022-03-23 | 机械臂避障路径规划方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210289708.8A CN114378834B (zh) | 2022-03-23 | 2022-03-23 | 机械臂避障路径规划方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114378834A CN114378834A (zh) | 2022-04-22 |
CN114378834B true CN114378834B (zh) | 2022-06-17 |
Family
ID=81205215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210289708.8A Active CN114378834B (zh) | 2022-03-23 | 2022-03-23 | 机械臂避障路径规划方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114378834B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115437368B (zh) * | 2022-06-02 | 2023-08-29 | 珠海云洲智能科技股份有限公司 | 一种救援路径确定方法、装置、救援设备及可读存储介质 |
CN115183793B (zh) * | 2022-09-14 | 2022-12-23 | 毫末智行科技有限公司 | 一种障碍物膨胀的规划方法、系统、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111750883A (zh) * | 2019-12-30 | 2020-10-09 | 广州极飞科技有限公司 | 作业路径的确定方法、装置、存储介质和电子设备 |
CN112015181A (zh) * | 2020-08-28 | 2020-12-01 | 上海高仙自动化科技发展有限公司 | 一种避障方法、装置、设备及计算机可读存储介质 |
CN112859864A (zh) * | 2021-01-15 | 2021-05-28 | 大连海事大学 | 一种面向无人船的几何路径规划方法 |
CN113341999A (zh) * | 2021-06-29 | 2021-09-03 | 河南科技大学 | 一种基于优化d*算法的叉车路径规划方法及装置 |
CN113799120A (zh) * | 2021-07-15 | 2021-12-17 | 中联重科股份有限公司 | 冗余自由度机械臂的路径规划方法、装置及工程机械 |
CN113954122A (zh) * | 2021-11-24 | 2022-01-21 | 中国计量大学 | 一种六自由度工业机械臂避障实验装置及其控制方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101667029B1 (ko) * | 2009-08-10 | 2016-10-17 | 삼성전자 주식회사 | 로봇의 경로 계획방법 및 장치 |
-
2022
- 2022-03-23 CN CN202210289708.8A patent/CN114378834B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111750883A (zh) * | 2019-12-30 | 2020-10-09 | 广州极飞科技有限公司 | 作业路径的确定方法、装置、存储介质和电子设备 |
CN112015181A (zh) * | 2020-08-28 | 2020-12-01 | 上海高仙自动化科技发展有限公司 | 一种避障方法、装置、设备及计算机可读存储介质 |
CN112859864A (zh) * | 2021-01-15 | 2021-05-28 | 大连海事大学 | 一种面向无人船的几何路径规划方法 |
CN113341999A (zh) * | 2021-06-29 | 2021-09-03 | 河南科技大学 | 一种基于优化d*算法的叉车路径规划方法及装置 |
CN113799120A (zh) * | 2021-07-15 | 2021-12-17 | 中联重科股份有限公司 | 冗余自由度机械臂的路径规划方法、装置及工程机械 |
CN113954122A (zh) * | 2021-11-24 | 2022-01-21 | 中国计量大学 | 一种六自由度工业机械臂避障实验装置及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114378834A (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114378834B (zh) | 机械臂避障路径规划方法、装置、电子设备及存储介质 | |
US11161247B2 (en) | Robot trajectory generation method, robot trajectory generation apparatus, storage medium, and manufacturing method | |
Kamon et al. | A new range-sensor based globally convergent navigation algorithm for mobile robots | |
CN110260867A (zh) | 一种机器人导航中位姿确定、纠正的方法、设备及装置 | |
Liu et al. | Proposal of tangent graph and extended tangent graph for path planning of mobile robots | |
Mukadam et al. | Simultaneous trajectory estimation and planning via probabilistic inference | |
CN115793647A (zh) | 一种机器人避障路径规划方法、系统及介质 | |
CN115933751A (zh) | 无人农机的全覆盖路径规划方法、装置及电子设备 | |
CN114859909A (zh) | 一种针对叉车式agv的路径规划方法及装置 | |
Lei et al. | Graph-based robot optimal path planning with bio-inspired algorithms | |
CN116382306A (zh) | 全覆盖作业农机的轨迹跟踪控制方法、装置、设备及介质 | |
CN113485366B (zh) | 用于机器人的导航路径生成方法及装置 | |
Kohler et al. | Fast computation of the C-space of convex 2D algebraic objects | |
CN116009552A (zh) | 一种路径规划方法、装置、设备及存储介质 | |
Abu-Dakka et al. | Evolutionary path planning algorithm for industrial robots | |
Geraerts et al. | Creating small roadmaps for solving motion planning problems | |
Wattanavekin et al. | Mobile robot exploration by using environmental boundary information | |
CN109807891B (zh) | 设备运动处理方法及装置 | |
XIANG et al. | Three-dimensional path planning of manipulator based on improved RRT algorithm | |
Stevenson | Model-based programming and control of robot manipulators | |
CN114474064B (zh) | 机器人控制方法及其装置、扫地机器人和存储介质 | |
CN113390415B (zh) | 机器人的定位方法、定位装置、管理系统和存储介质 | |
CN116652972B (zh) | 基于双向贪心搜索算法的串联机器人末端轨迹规划方法 | |
Chandra et al. | Middle Node Optimization algorithm for global optimal path planning | |
CN115096313B (zh) | 一种用于区域避障的数据处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |