CN112223291B - 一种基于三维任务空间约束的机械臂避障方法及装置 - Google Patents
一种基于三维任务空间约束的机械臂避障方法及装置 Download PDFInfo
- Publication number
- CN112223291B CN112223291B CN202011132708.4A CN202011132708A CN112223291B CN 112223291 B CN112223291 B CN 112223291B CN 202011132708 A CN202011132708 A CN 202011132708A CN 112223291 B CN112223291 B CN 112223291B
- Authority
- CN
- China
- Prior art keywords
- point
- path
- new
- constraint
- tree
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
本发明公开了一种基于三维任务空间约束的机械臂避障方法及装置,所述方法包括:获取关节空间中机械臂运动路径的起始点qs和目标点qd;初始化搜索树RRTree1的树根节点为起始点qs,搜索树RRTree2的树根节点为目标点qd,对搜索树RRTree1进行扩展得到当前扩展关节点;依据设定的三维任务空间约束对当前扩展关节点new_point_temp进行约束更新;提取出一条从起始点qs到达目标点qd的无碰撞原始路径;对原始路径进行优化得到优化的路径;根据优化后的路径,移动六轴机械臂从起始点qs无碰撞地运动到目标点qd;本发明的优点在于:最终得到的机械臂笛卡尔构型符合机器人运动规律,路径较为优化。
Description
技术领域
本发明涉及机械臂自主路径规划技术领域,更具体涉及一种基于三维任务空间约束的机械臂避障方法及装置。
背景技术
机械臂避障路径规划技术,主要解决的是在障碍物环境下的多轴机械臂自主寻找一条从给定起点到终点路径的问题,规划出的路径能够使机械臂与障碍物及自身不发生任何碰撞。现阶段,避障路径规划分为两大类,一种是二维环境下移动机器人的避障路径规划,方法已经非常丰富,主要有Dijkstra算法、A*算法、人工势场法等,另一种是三维环境下机械臂的避障路径规划,多轴机械臂是一种多输入多输出、强耦合、非线性的高维复杂系统,若直接将上述二维的路径规划方法移植到机械臂上,则分别存在时间长、计算量大、易陷入局部最优等缺点。
基于随机采样的RRT算法速度更快,搜索能力强,不需要对障碍物进行精确建模,更适合于在机械臂关节的高维空间中进行搜索,不过正是由于随机采样概率完备的特点,容易出现机械臂的最终机械臂笛卡尔构型奇怪、路径不是最优等问题。
中国专利申请号201911086247.9,公开了一种改进型动态RRT*的移动机器人运动规划方法。该方法剔除了原RRT*算法中所有的碰撞检测,通过在代价函数中增加碰撞风险评估分量的方法控制代价函数值。当采样点或边与障碍物发生碰撞时,该分量将显著增大,促使代价函数值同步显著增大,抑制了发生碰撞的点和边继续扩张的可能性,从而使算法具有避障的能力。因该方法没有碰撞检测,在移动机器人运动规划问题上比RRT*算法收敛的速度更快,效率更高,在越复杂的环境中优势越突出,但是其不涉及机械臂笛卡尔构型以及路径优化的问题。
发明内容
本发明所要解决的技术问题在于现有技术机械臂避障方法容易出现机械臂的最终机械臂笛卡尔构型奇怪以及路径不是最优的问题。
本发明通过以下技术手段实现解决上述技术问题的:一种基于三维任务空间约束的机械臂避障方法,所述方法包括:
步骤一:获取关节空间中机械臂运动路径的起始点qs和目标点qd;
步骤二:双向RRT搜索树包括搜索树RRTree1和搜索树RRTree2,初始化搜索树RRTree1的树根节点为起始点qs,搜索树RRTree2的树根节点为目标点qd,对搜索树RRTree1进行扩展得到当前扩展关节点;
步骤三:依据设定的三维任务空间约束对当前扩展关节点new_point_temp进行约束更新得到更新后的扩展关节点;
步骤四:得到更新后的扩展关节点后,进行环境障碍物及自碰撞检测并且对双向RRT搜索树进行扩展,提取出一条从起始点qs到达目标点qd的无碰撞原始路径;
步骤五:对原始路径进行优化得到优化的路径;
步骤六:根据优化后的路径,移动六轴机械臂从起始点qs无碰撞地运动到目标点qd。
本发明通过在双向RRT搜索扩展过程中施加三维任务空间约束,约束机械臂末端在指定的范围内运动,从而得到更加优异平滑的运动规划路径,快速有效的实现多轴机械臂末端轨迹路径规划并对原始路径进行优化得到优化的路径,择优后路径具有可实施性,使得多轴机械臂具有自主规划能力,最终机械臂笛卡尔构型符合机器人运动规律。
进一步地,所述步骤二包括:
在搜索树RRTree1的树节点中找到与随机点最近的树节点closestNode_1,从与随机点最近的树节点closestNode_1出发通过公式向着随机点扩展一个步长得到当前扩展关节点new_point_temp,其中,segmentLength表示搜索步长。
进一步地,所述步骤三包括:
将机械臂末端工具相对于约束坐标系下的位姿矩阵通过
得到该约束下的笛卡尔空间位移Δx,Cmax表示约束矩阵C的上边界,Cmin表示约束矩阵C的下边界;
通过公式Δq=JT(JJT)-1Δx将笛卡尔空间位移Δx投影到关节空间得到关节空间位移Δq,其中,J表示雅克比矩阵;
利用公式new_point_temp’=new_point_temp-Δq对当前扩展关节点new_point_temp进行更新得到更新后的扩展关节点new_point_temp’。
进一步地,所述步骤四包括:
得到更新后的扩展关节点new_point_temp’后,将其与其父节点之间形成的路径进行环境障碍物及自碰撞检测,如果发生碰撞则将更新后的扩展关节点new_point_temp’作为搜索树RRTree1中的一个安全构型new_point_1;如果没有发生碰撞,将更新后的扩展关节点new_point_temp’收录到搜索树RRTree1中,然后判断更新后的扩展关节点new_point_temp’与当前随机点之间的欧式距离是否小于衔接误差disTh,若否则返回执行步骤二至步骤四直到欧式距离小于衔接误差disTh,小于衔接误差disTh后,交换搜索树RRTree2进行扩展,搜索树RRTree2的扩展方向是搜索树RRTree1扩展得到的安全构型new_point_1;
在搜索树RRTree2中找到距离安全构型new_point_1最近的节点closestNode_2,从该节点出发朝着安全构型new_point_1按设定步长前进,并依据设定的三维任务空间约束对扩展后的点进行约束更新,得到满足约束且不与环境及自身发生碰撞的安全构型new_point_2,一旦扩展过程中发生碰撞,则交换树进行扩展,如此循环,如果安全构型new_point_1与安全构型new_point_2之间的欧式距离小于衔接误差disTh,则说明搜索树RRTree1与搜索树RRTree2连到一起,由此提取出一条起始点qs到达目标点qd的无碰撞原始路径path。
进一步地,所述步骤五包括:
步骤501:在原始路径path中随机提取树节点i和树节点j,原始路径path中从树节点i到树节点j的路径为子路径path_ij;
步骤502:从树节点i开始,依照给定的三维任务空间约束利用公式new_path_ij=path_ij+Δq更新子路径path_ij得到更新后的子路径new_path_ij;
步骤503:判断子路径path_ij的长度是否小于更新后的子路径new_path_ij,若是,则将更新后的子路径new_path_ij替换子路径path_ij得到更新后的路径new_path,将更新后的路径new_path作为原始路径返回执行步骤501至步骤503,若否,则返回执行步骤501至步骤503,达到预设的迭代次数以后输出最终优化的路径。
本发明还提供一种基于三维任务空间约束的机械臂避障装置,所述装置包括:
起始点和目标点获取模块,用于获取关节空间中机械臂运动路径的起始点qs和目标点qd;
初始化模块,用于双向RRT搜索树包括搜索树RRTree1和搜索树RRTree2,初始化搜索树RRTree1的树根节点为起始点qs,搜索树RRTree2的树根节点为目标点qd,对搜索树RRTree1进行扩展得到当前扩展关节点;
更新模块,用于依据设定的三维任务空间约束对当前扩展关节点new_point_temp进行约束更新得到更新后的扩展关节点;
原始路径获取模块,用于得到更新后的扩展关节点后,进行环境障碍物及自碰撞检测并且对双向RRT搜索树进行扩展,提取出一条从起始点qs到达目标点qd的无碰撞原始路径;
优化模块,用于对原始路径进行优化得到优化的路径;
控制模块,用于根据优化后的路径,移动六轴机械臂从起始点qs无碰撞地运动到目标点qd。
进一步地,所述初始化模块还用于:
在搜索树RRTree1的树节点中找到与随机点最近的树节点closestNode_1,从与随机点最近的树节点closestNode_1出发通过公式向着随机点扩展一个步长得到当前扩展关节点new_point_temp,其中,segmentLength表示搜索步长。
进一步地,所述更新模块还用于:
将机械臂末端工具相对于约束坐标系下的位姿矩阵通过
得到该约束下的笛卡尔空间位移Δx,Cmax表示约束矩阵C的上边界,Cmin表示约束矩阵C的下边界;
通过公式Δq=JT(JJT)-1Δx将笛卡尔空间位移Δx投影到关节空间得到关节空间位移Δq,其中,J表示雅克比矩阵;
利用公式new_point_temp’=new_point_temp-Δq对当前扩展关节点new_point_temp进行更新得到更新后的扩展关节点new_point_temp’。
进一步地,所述原始路径获取模块还用于:
得到更新后的扩展关节点new_point_temp’后,将其与其父节点之间形成的路径进行环境障碍物及自碰撞检测,如果发生碰撞则将更新后的扩展关节点new_point_temp’作为搜索树RRTree1中的一个安全构型new_point_1;如果没有发生碰撞,将更新后的扩展关节点new_point_temp’收录到搜索树RRTree1中,然后判断更新后的扩展关节点new_point_temp’与当前随机点之间的欧式距离是否小于衔接误差disTh,若否则返回执行初始化模块、更新模块以及原始路径获取模块直到欧式距离小于衔接误差disTh,小于衔接误差disTh后,交换搜索树RRTree2进行扩展,搜索树RRTree2的扩展方向是搜索树RRTree1扩展得到的安全构型new_point_1;
在搜索树RRTree2中找到距离安全构型new_point_1最近的节点closestNode_2,从该节点出发朝着安全构型new_point_1按设定步长前进,并依据设定的三维任务空间约束对扩展后的点进行约束更新,得到满足约束且不与环境及自身发生碰撞的安全构型new_point_2,一旦扩展过程中发生碰撞,则交换树进行扩展,如此循环,如果安全构型new_point_1与安全构型new_point_2之间的欧式距离小于衔接误差disTh,则说明搜索树RRTree1与搜索树RRTree2连到一起,由此提取出一条起始点qs到达目标点qd的无碰撞原始路径path。
进一步地,所述优化模块还用于:
步骤501:在原始路径path中随机提取树节点i和树节点j,原始路径path中从树节点i到树节点j的路径为子路径path_ij;
步骤502:从树节点i开始,依照给定的三维任务空间约束利用公式new_path_ij=path_ij+Δq更新子路径path_ij得到更新后的子路径new_path_ij;
步骤503:判断子路径path_ij的长度是否小于更新后的子路径new_path_ij,若是,则将更新后的子路径new_path_ij替换子路径path_ij得到更新后的路径new_path,将更新后的路径new_path作为原始路径返回执行步骤501至步骤503,若否,则返回执行步骤501至步骤503,达到预设的迭代次数以后输出最终优化的路径。
本发明的优点在于:本发明通过在双向RRT搜索扩展过程中施加三维任务空间约束,约束机械臂末端在指定的范围内运动,从而得到更加优异平滑的运动规划路径,快速有效的实现多轴机械臂末端轨迹路径规划并对原始路径进行优化得到优化的路径,择优后路径具有可实施性,使得多轴机械臂具有自主规划能力,最终机械臂笛卡尔构型符合机器人运动规律。
附图说明
图1为本发明实施例所公开的一种基于三维任务空间约束的机械臂避障方法的流程图;
图2为本发明实施例所公开的一种基于三维任务空间约束的机械臂避障方法中带末端工具的六轴机械臂及障碍物环境示意图;
图3为本发明实施例所公开的一种基于三维任务空间约束的机械臂避障方法中基于六轴机械臂模型的D-H坐标系示意图;
图4为本发明实施例所公开的一种基于三维任务空间约束的机械臂避障方法中步骤四的算法流程图;
图5为本发明实施例所公开的一种基于三维任务空间约束的机械臂避障方法中碰撞检测时对障碍物以及机械臂进行包络的示意图;
图6为本发明实施例所公开的一种基于三维任务空间约束的机械臂避障方法中碰撞检测时对障碍物及机械臂简化为线条的示意图;
图7为本发明实施例所公开的一种基于三维任务空间约束的机械臂避障方法中步骤五的算法流程图;
图8为本发明实施例所公开的一种基于三维任务空间约束的机械臂避障方法中路径优化示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图1所示,一种基于三维任务空间约束的机械臂避障方法,所述方法包括:
步骤S1:获取关节空间中机械臂运动路径的起始点qs和目标点qd;具体过程为:
获取关节空间中机械臂运动路径的起始点qs和目标点qd属于现有技术过程,如图2所示,其主要原理是利用D-H法对带末端抓取工具的六自由度机械臂进行建模,在获取障碍物环境的基础之上对障碍物采用OBB包围盒技术建立模型,给出笛卡尔空间的抓取起点位姿与终点位姿,图3所示,对六自由度机械臂进行建模,表1为机械臂的D-H参数表。
表1 D-H参数表
i | α<sub>i-1</sub> | α<sub>i-1</sub> | d<sub>i</sub> | θ<sub>i</sub> |
1 | 0 | 0 | d<sub>1</sub> | θ<sub>1</sub>(0) |
2 | -pi/2 | 0 | d<sub>2</sub> | θ<sub>2</sub>(-pt/2) |
3 | 0 | a<sub>2</sub> | d<sub>3</sub> | θ<sub>3</sub>(0) |
4 | 0 | a<sub>3</sub> | d<sub>4</sub> | θ<sub>4</sub>(-pt/2) |
5 | -pi/2 | 0 | d<sub>5</sub> | θ<sub>5</sub>(0) |
6 | -pi/2 | 0 | 0 | θ<sub>6</sub>(0) |
7(tool) | 0 | 0 | d<sub>7</sub> | 0 |
继续参阅图3,以上使用的D-H坐标系的建立原则为:
(1)Zi轴沿关节轴i的轴向;
(2)原点Oi为关节轴i+1与i轴的交点或其公垂线与关节轴Zi的交点;
(3)Xi轴沿公垂线ai轴的公垂线方向,由关节轴i指向关节轴i+1,如果关节轴i和关节轴i+1相交,则规定Xi轴垂直于这两条关节轴所在的平面;
(4)Yi轴按照右手定则确定;
(5)当第一个关节变量为0时,规定坐标系{0}和{1}重合。对于坐标系{n},其原点和Xn轴方向可以任意选取。但在选取时,通常尽量使连杆参数为0。
根据上述建模变换过程,可将坐标系i-1变换到坐标系i,如下公式(1)所示:
根据公式(1)计算各个连杆坐标系之间的变换矩阵,并将所有变换矩阵进行连乘就能够得到机械臂正运动学计算式,也就是末端坐标系{n}相对于机械臂基系{0}的变换矩阵,如下公式(2)所示:
根据机械臂控制器的关节空间拖动示教功能,示教出两组不会与自身及环境障碍物发生碰撞的关节角,并根据上述正运动学分析过程计算得到两组变换矩阵,并将其作为避障拾取的初始及目标位姿,初始化机械臂的工作环境,主要是障碍物的位置。通过上述建立的D-H参数表,通过六轴解析逆运动学算法计算得到关节空间中机械臂运动路径的起始点qs与目标点qd。确定合适的搜索步长segmenLenth与衔接误差disTh,同时给定最大迭代次数maxFailedAttempts;本实例中,关节空间为六维,要对机械臂的六个关节进行搜索,搜索范围为各关节的运动范围,起始位姿为[-300,800,100,-0.175,0.262,0],前三个元素为笛卡尔空间的位置,后三个元素为笛卡尔空间的姿态;终点位姿为[800,100,100,0.175,-0.175,0.262],进而运动学逆解择优计算得到起始点qs为[-1.037,-2.296,-1.200,2.099,-1.769,-0.726],目标点qd为[-2.888,-2.119,-1.546,2.289,-1.818,1.491],搜索步长segmentLength=0.1,衔接误差disTh=0.01,最大迭代次数maxFailedAttempts=100。
步骤S2:双向RRT搜索树包括搜索树RRTree1和搜索树RRTree2,初始化搜索树RRTree1的树根节点为起始点qs,搜索树RRTree2的树根节点为目标点qd,对搜索树RRTree1进行扩展得到当前扩展关节点;具体过程为:搜索时,先对搜索树RRTree1进行扩展,在关节空间范围内以概率α向目标点采样,以1-α在整个六维空间内随机采样,在关节空间范围内通过公式
获取随机点,其中,rand是一个0~1的随机值,α是给定的0~1之间的值,random(χ)表示生成一个小于常数χ的随机数;
在搜索树RRTree1的树节点中找到与随机点最近的树节点closestNode_1;从与随机点最近的树节点closestNode_1出发通过公式
向着随机点扩展一个步长得到当前扩展关节点new_point_temp,其中,segmentLength表示搜索步长。传统的双向RRT搜索树在找到与随机点最近的树节点closestNode_1时就开始判断closestNode_1是否发生碰撞,然后接着扩展搜索树RRTree2,直到两棵树连接就找到路径。但是这个路径随机性太强,虽然能够搜索成功,但是路径不优且机械臂大概率会以奇怪的构型运动。本发明的方法通过在双向RRT搜索扩展过程中施加三维任务空间约束,约束机械臂末端在指定的范围内运动,从而得到更加优异平滑的运动规划路径。
步骤S3:依据设定的三维任务空间约束对当前扩展关节点new_point_temp进行约束更新得到更新后的扩展关节点;具体过程为:
利用给定约束矩阵
获取给定的三维任务空间约束范围;其中,约束矩阵C的前三行表示约束的位置范围,后三行表示约束的姿态范围;
结合公式(1)和(2),根据更新前扩展的起始点qs进行正运动学运算,可以计算得到机械臂末端工具坐标系的齐次变换矩阵定义其为末端工具坐标系的参考变换,表示其相对于机械臂基系的齐次变换。另外,定义约束坐标系,约束坐标系通常是惯性系,可以是静止的(例如门的铰链),也可以根据对象的姿势改变,结合公式(1)和(2)通过正运动学运算得到三维任务空间约束范围的参考变换根据公式获取机械臂末端工具相对于约束坐标系下的位姿矩阵,其中,表示机械臂末端工具坐标系的齐次变换矩阵,表示三维任务空间约束范围的参考变换;其中,正运动学运算属于本领域常规技术,在此不做赘述。
将机械臂末端工具相对于约束坐标系下的位姿矩阵通过
得到该约束下的笛卡尔空间位移Δx,Cmax表示约束矩阵C的上边界,Cmin表示约束矩阵C的下边界;
通过公式Δq=JT(JJT)-1Δx (9)
将笛卡尔空间位移Δx投影到关节空间得到关节空间位移Δq,其中,J表示雅克比矩阵;
利用公式new_point_temp’=new_point_temp-Δq对当前扩展关节点new_point_temp进行更新得到更新后的扩展关节点new_point_temp’。
步骤S4:得到更新后的扩展关节点后,进行环境障碍物及自碰撞检测并且对双向RRT搜索树进行扩展,提取出一条从起始点qs到达目标点qd的无碰撞原始路径;具体过程为:
如图4所示,得到更新后的扩展关节点new_point_temp’后,将其与其父节点之间形成的路径进行环境障碍物及自碰撞检测,如果发生碰撞则判断是否为搜索树RRTree2,如果没有发生碰撞,将更新后的扩展关节点new_point_temp’收录到搜索树RRTree1中,然后判断更新后的扩展关节点new_point_temp’与当前随机点sample之间的欧式距离是否小于衔接误差disTh,若否则返回执行步骤S2至步骤S4直到欧式距离小于衔接误差disTh,小于衔接误差disTh后,判断是否为搜索树RRTree2;
如果不是搜索树RRTree2,则将更新后的扩展关节点new_point_temp’作为搜索树RRTree1中的一个安全构型new_point_1,在搜索树RRTree2的树节点中找到与new_point_1最近的树节点closestNode_2,从该节点出发朝着安全构型new_point_1按设定步长前进,并返回步骤S3至步骤S4依据设定的三维任务空间约束对扩展后的点进行约束更新;qs_target表示扩展方向。
如果是搜索树RRTree2,则将更新后的扩展关节点new_point_temp’作为搜索树RRTree2中的一个安全构型new_point_2,判断安全构型new_point_2与安全构型new_point_1之间的欧式距离是否小于衔接误差disTh,如果安全构型new_point_1与安全构型new_point_2之间的欧式距离小于衔接误差disTh,则说明搜索树RRTree1与搜索树RRTree2连到一起,由此提取出一条起始点qs到达目标点qd的无碰撞原始路径path,如果安全构型new_point_1与安全构型new_point_2之间的欧式距离大于等于衔接误差disTh,则交换搜索树,返回执行步骤S2至步骤S4。
上述环境障碍物及自碰撞检测为现有技术过程,其主要原理为:对障碍物使用轴向包围盒进行包络,对机械臂以及末端工具连杆使用圆柱体进行包络,根据OBB包围盒算法判断轴向包围盒是否与机械臂任意圆柱体连杆相交来判断是否发生碰撞。首先将机械臂以及末端工具连杆使用圆柱体进行包络,讨论每根连杆圆柱轴线的位置关系,简化来看即为空间两条异面线段之间的位置关系,根据任意两条空间异面线段之间最短距离是否小于对应两根连杆圆柱半径之和来判断是否发生碰撞;在本实例中,障碍物碰撞检测与机械臂连杆自碰撞检测的示意图如图5和图6所示,障碍物使用轴向包围盒2,连杆i用圆柱体1进行包络。连杆i半径为ri,碰撞检测时,将连杆的半径补偿至包围盒的长宽高上,则机械臂的连杆此时可以描述成由两点构成的线段,可以将线段进行离散化,然后判断离散化后的各个点是否在包围盒构成的区域R内,如果在区域R内则线段与障碍物发生碰撞,否则不发生碰撞;机械臂的自碰撞问题简化来看,就是将机械臂的各个连杆简化成圆柱体,讨论每根连杆圆柱轴线之间的位置关系。假设d为任意两根连杆圆柱轴线之间的距离,如果d<2ri,表示发生了自碰撞,否则不发生碰撞。
步骤S5:对原始路径进行优化得到优化的路径;如图7和图8所示,具体过程为:
步骤501:在原始路径path中随机提取树节点i和树节点j,原始路径path中从树节点i到树节点j的路径为子路径path_ij;
步骤502:从树节点i开始,依照给定的三维任务空间约束利用公式new_path_ij=path_ij+Δq更新子路径path_ij得到更新后的子路径new_path_ij;
步骤503:判断子路径path_ij的长度是否小于更新后的子路径new_path_ij,若是,则将更新后的子路径new_path_ij替换子路径path_ij得到更新后的路径new_path,将更新后的路径new_path作为原始路径返回执行步骤501至步骤503,若否,则返回执行步骤501至步骤503,达到预设的迭代次数以后输出最终优化的路径。
步骤S6:根据优化后的路径,移动六轴机械臂从起始点qs无碰撞地运动到目标点qd。
通过以上技术方案,本发明提供的一种基于三维任务空间约束的机械臂避障装置,通过在双向RRT搜索扩展过程中施加三维任务空间约束,约束机械臂末端在指定的范围内运动,从而得到更加优异平滑的运动规划路径,快速有效的实现多轴机械臂末端轨迹路径规划并对原始路径进行优化得到优化的路径,择优后路径具有可实施性,使得多轴机械臂具有自主规划能力,最终机械臂笛卡尔构型符合机器人运动规律。
实施例2
与本发明实施例1相对应的,本发明实施例2还提供一种基于三维任务空间约束的机械臂避障装置,所述装置包括:
起始点和目标点获取模块,用于获取关节空间中机械臂运动路径的起始点qs和目标点qd;
初始化模块,用于双向RRT搜索树包括搜索树RRTree1和搜索树RRTree2,初始化搜索树RRTree1的树根节点为起始点qs,搜索树RRTree2的树根节点为目标点qd,对搜索树RRTree1进行扩展得到当前扩展关节点;
更新模块,用于依据设定的三维任务空间约束对当前扩展关节点new_point_temp进行约束更新得到更新后的扩展关节点;
原始路径获取模块,用于得到更新后的扩展关节点后,进行环境障碍物及自碰撞检测并且对双向RRT搜索树进行扩展,提取出一条从起始点qs到达目标点qd的无碰撞原始路径;
优化模块,用于对原始路径进行优化得到优化的路径;
控制模块,用于根据优化后的路径,移动六轴机械臂从起始点qs无碰撞地运动到目标点qd。
具体的,所述初始化模块还用于:
向着随机点扩展一个步长得到当前扩展关节点new_point_temp,其中,segmentLength表示搜索步长。
具体的,所述更新模块还用于:
将机械臂末端工具相对于约束坐标系下的位姿矩阵通过
得到该约束下的笛卡尔空间位移Δx,Cmax表示约束矩阵C的上边界,Cmin表示约束矩阵C的下边界;
通过公式Δq=JT(JJT)-1Δx将笛卡尔空间位移Δx投影到关节空间得到关节空间位移Δq,其中,J表示雅克比矩阵;
利用公式new_point_temp’=new_point_temp-Δq对当前扩展关节点new_point_temp进行更新得到更新后的扩展关节点new_point_temp’。
具体的,所述原始路径获取模块还用于:
得到更新后的扩展关节点new_point_temp’后,将其与其父节点之间形成的路径进行环境障碍物及自碰撞检测,如果发生碰撞则将更新后的扩展关节点new_point_temp’作为搜索树RRTree1中的一个安全构型new_point_1;如果没有发生碰撞,将更新后的扩展关节点new_point_temp’收录到搜索树RRTree1中,然后判断更新后的扩展关节点new_point_temp’与当前随机点之间的欧式距离是否小于衔接误差disTh,若否则返回执行初始化模块、更新模块以及原始路径获取模块直到欧式距离小于衔接误差disTh,小于衔接误差disTh后,交换搜索树RRTree2进行扩展,搜索树RRTree2的扩展方向是搜索树RRTree1扩展得到的安全构型new_point_1;
在搜索树RRTree2中找到距离安全构型new_point_1最近的节点closestNode_2,从该节点出发朝着安全构型new_point_1按设定步长前进,并依据设定的三维任务空间约束对扩展后的点进行约束更新,得到满足约束且不与环境及自身发生碰撞的安全构型new_point_2,一旦扩展过程中发生碰撞,则交换树进行扩展,如此循环,如果安全构型new_point_1与安全构型new_point_2之间的欧式距离小于衔接误差disTh,则说明搜索树RRTree1与搜索树RRTree2连到一起,由此提取出一条起始点qs到达目标点qd的无碰撞原始路径path。
具体的,所述优化模块还用于:
步骤501:在原始路径path中随机提取树节点i和树节点j,原始路径path中从树节点i到树节点j的路径为子路径path_ij;
步骤502:从树节点i开始,依照给定的三维任务空间约束利用公式new_path_ij=path_ij+Δq更新子路径path_ij得到更新后的子路径new_path_ij;
步骤503:判断子路径path_ij的长度是否小于更新后的子路径new_path_ij,若是,则将更新后的子路径new_path_ij替换子路径path_ij得到更新后的路径new_path,将更新后的路径new_path作为原始路径返回执行步骤501至步骤503,若否,则返回执行步骤501至步骤503,达到预设的迭代次数以后输出最终优化的路径。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种基于三维任务空间约束的机械臂避障方法,其特征在于,所述方法包括:
步骤一:获取关节空间中机械臂运动路径的起始点qs和目标点qd;
步骤二:双向RRT搜索树包括搜索树RRTree1和搜索树RRTree2,初始化搜索树RRTree1的树根节点为起始点qs,搜索树RRTree2的树根节点为目标点qd,对搜索树RRTree1进行扩展得到当前扩展关节点;
步骤三:依据设定的三维任务空间约束对当前扩展关节点new_point_temp进行约束更新得到更新后的扩展关节点;具体过程为:
将机械臂末端工具相对于约束坐标系下的位姿矩阵通过转换为一个6维的位移矢量,其中,表示机械臂末端工具相对于约束坐标系的位移,后三行表示末端工具相对于约束坐标系的姿态,考虑给给定约束矩阵C的边界,利用公式
得到该约束下的笛卡尔空间位移Δx,Cmax表示约束矩阵C的上边界,Cmin表示约束矩阵C的下边界;
通过公式Δq=JT(JJT)-1Δx将笛卡尔空间位移Δx投影到关节空间得到关节空间位移Δq,其中,J表示雅克比矩阵;
利用公式new_point_temp’=new_point_temp-Δq对当前扩展关节点new_point_temp进行更新得到更新后的扩展关节点new_point_temp’;
步骤四:得到更新后的扩展关节点后,进行环境障碍物及自碰撞检测并且对双向RRT搜索树进行扩展,提取出一条从起始点qs到达目标点qd的无碰撞原始路径;
步骤五:对原始路径进行优化得到优化的路径;具体过程为:
步骤501:在原始路径path中随机提取树节点i和树节点j,原始路径path中从树节点i到树节点j的路径为子路径path_ij;
步骤502:从树节点i开始,依照给定的三维任务空间约束利用公式new_path_ij=path_ij+Δq更新子路径path_jj得到更新后的子路径new_path_ij;
步骤503:判断子路径path_ij的长度是否小于更新后的子路径new_path_ij,若是,则将更新后的子路径new_path_ij替换子路径path_ij得到更新后的路径new_path,将更新后的路径new_path作为原始路径返回执行步骤501至步骤503,若否,则返回执行步骤501至步骤503,达到预设的迭代次数以后输出最终优化的路径;
步骤六:根据优化后的路径,移动六轴机械臂从起始点qs无碰撞地运动到目标点qd。
3.根据权利要求1所述的一种基于三维任务空间约束的机械臂避障方法,其特征在于,所述步骤四包括:
得到更新后的扩展关节点new_point_temp’后,将其与其父节点之间形成的路径进行环境障碍物及自碰撞检测,如果发生碰撞则将更新后的扩展关节点new_point_temp’作为搜索树RRTree1中的一个安全构型new_point_1;如果没有发生碰撞,将更新后的扩展关节点new_point_temp’收录到搜索树RRTree1中,然后判断更新后的扩展关节点new_point_temp’与当前随机点之间的欧式距离是否小于衔接误差disTh,若否则返回执行步骤二至步骤四直到欧式距离小于衔接误差disTh,小于衔接误差disTh后,交换搜索树RRTree2进行扩展,搜索树RRTree2的扩展方向是搜索树RRTree1扩展得到的安全构型new_point_1;
在搜索树RRTree2中找到距离安全构型new_point_1最近的节点closestNode_2,从该节点出发朝着安全构型new_point_1按设定步长前进,并依据设定的三维任务空间约束对扩展后的点进行约束更新,得到满足约束且不与环境及自身发生碰撞的安全构型new_point_2,一旦扩展过程中发生碰撞,则交换树进行扩展,如此循环,如果安全构型new_point_1与安全构型new_point_2之间的欧式距离小于衔接误差disTh,则说明搜索树RRTree1与搜索树RRTree2连到一起,由此提取出一条起始点qs到达目标点qd的无碰撞原始路径path。
4.一种基于三维任务空间约束的机械臂避障装置,其特征在于,所述装置包括:
起始点和目标点获取模块,用于获取关节空间中机械臂运动路径的起始点qs和目标点qd;
初始化模块,用于双向RRT搜索树包括搜索树RRTree1和搜索树RRTree2,初始化搜索树RRTree1的树根节点为起始点qs,搜索树RRTree2的树根节点为目标点qd,对搜索树RRTree1进行扩展得到当前扩展关节点;
更新模块,用于依据设定的三维任务空间约束对当前扩展关节点new_point_temp进行约束更新得到更新后的扩展关节点;具体过程为:
将机械臂末端工具相对于约束坐标系下的位姿矩阵通过转换为一个6维的位移矢量,其中,表示机械臂末端工具相对于约束坐标系的位移,后三行表示末端工具相对于约束坐标系的姿态,考虑给给定约束矩阵C的边界,利用公式
得到该约束下的笛卡尔空间位移Δx,Cmax表示约束矩阵C的上边界,Cmin表示约束矩阵C的下边界;
通过公式Δq=JT(JJT)-1Δx将笛卡尔空间位移Δx投影到关节空间得到关节空间位移Δq,其中,J表示雅克比矩阵;
利用公式new_point_temp’=new_point_temp-Δq对当前扩展关节点new_point_temp进行更新得到更新后的扩展关节点new_point_temp’;
原始路径获取模块,用于得到更新后的扩展关节点后,进行环境障碍物及自碰撞检测并且对双向RRT搜索树进行扩展,提取出一条从起始点qs到达目标点qd的无碰撞原始路径;
优化模块,用于对原始路径进行优化得到优化的路径;具体过程为:
步骤501:在原始路径path中随机提取树节点i和树节点j,原始路径path中从树节点i到树节点j的路径为子路径path_ij;
步骤502:从树节点i开始,依照给定的三维任务空间约束利用公式new_path_ij=path_ij+Δq更新子路径path_ij得到更新后的子路径new_path_ij;
步骤503:判断子路径path_ij的长度是否小于更新后的子路径new_path_ij,若是,则将更新后的子路径new_path_ij替换子路径path_ij得到更新后的路径new_path,将更新后的路径new_path作为原始路径返回执行步骤501至步骤503,若否,则返回执行步骤501至步骤503,达到预设的迭代次数以后输出最终优化的路径;
控制模块,用于根据优化后的路径,移动六轴机械臂从起始点qs无碰撞地运动到目标点qd。
6.根据权利要求4所述的一种基于三维任务空间约束的机械臂避障装置,其特征在于,所述原始路径获取模块还用于:
得到更新后的扩展关节点new_point_temp’后,将其与其父节点之间形成的路径进行环境障碍物及自碰撞检测,如果发生碰撞则将更新后的扩展关节点new_point_temp’作为搜索树RRTree1中的一个安全构型new_point_1;如果没有发生碰撞,将更新后的扩展关节点new_point_temp’收录到搜索树RRTree1中,然后判断更新后的扩展关节点new_point_temp’与当前随机点之间的欧式距离是否小于衔接误差disTh,若否则返回执行初始化模块、更新模块以及原始路径获取模块直到欧式距离小于衔接误差disTh,小于衔接误差disTh后,交换搜索树RRTree2进行扩展,搜索树RRTree2的扩展方向是搜索树RRTree1扩展得到的安全构型new_point_1;
在搜索树RRTree2中找到距离安全构型new_point_1最近的节点closestNode_2,从该节点出发朝着安全构型new_point_1按设定步长前进,并依据设定的三维任务空间约束对扩展后的点进行约束更新,得到满足约束且不与环境及自身发生碰撞的安全构型new_point_2,一旦扩展过程中发生碰撞,则交换树进行扩展,如此循环,如果安全构型new_point_1与安全构型new_point_2之间的欧式距离小于衔接误差disTh,则说明搜索树RRTree1与搜索树RRTree2连到一起,由此提取出一条起始点qs到达目标点qd的无碰撞原始路径path。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011132708.4A CN112223291B (zh) | 2020-10-21 | 2020-10-21 | 一种基于三维任务空间约束的机械臂避障方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011132708.4A CN112223291B (zh) | 2020-10-21 | 2020-10-21 | 一种基于三维任务空间约束的机械臂避障方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112223291A CN112223291A (zh) | 2021-01-15 |
CN112223291B true CN112223291B (zh) | 2022-02-11 |
Family
ID=74108912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011132708.4A Active CN112223291B (zh) | 2020-10-21 | 2020-10-21 | 一种基于三维任务空间约束的机械臂避障方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112223291B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113069208B (zh) * | 2021-03-31 | 2022-05-17 | 杭州三坛医疗科技有限公司 | 手术导航方法、装置、电子设备及存储介质 |
CN113400303B (zh) * | 2021-06-01 | 2022-09-23 | 青岛悟牛智能科技有限公司 | 基于rrt*算法的六轴机器人果蔬采摘路径规划方法 |
CN113618276B (zh) * | 2021-07-27 | 2022-04-26 | 华南理工大学 | 基于分层搜索树实现工件自动布置的变位机路径规划方法 |
CN113485241B (zh) * | 2021-07-28 | 2022-11-01 | 华南理工大学 | 基于线结构光传感器的焊接机器人离线扫描路径规划方法 |
CN113715006B (zh) * | 2021-08-19 | 2023-01-31 | 苏州华兴源创科技股份有限公司 | 机械手臂的驱动方法 |
CN113787518B (zh) * | 2021-09-06 | 2022-11-11 | 武汉库柏特科技有限公司 | 一种机器人末端姿态控制方法、装置、设备及存储介质 |
CN113722864B (zh) * | 2021-09-13 | 2023-09-05 | 哈工大机器人(合肥)国际创新研究院 | 一种7自由度冗余机械臂逆运动学求解方法及系统 |
CN114633258B (zh) * | 2022-04-24 | 2023-06-20 | 中国铁建重工集团股份有限公司 | 一种隧道环境下机械臂运动轨迹的规划方法及相关装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9411335B2 (en) * | 2009-08-10 | 2016-08-09 | Samsung Electronics Co., Ltd. | Method and apparatus to plan motion path of robot |
CN108621165A (zh) * | 2018-05-28 | 2018-10-09 | 兰州理工大学 | 障碍环境下的工业机器人动力学性能最优轨迹规划方法 |
CN110228069A (zh) * | 2019-07-17 | 2019-09-13 | 东北大学 | 一种机械臂在线避障运动规划方法 |
CN110497403A (zh) * | 2019-08-05 | 2019-11-26 | 上海大学 | 一种改进双向rrt算法的机械臂运动规划方法 |
CN111678523A (zh) * | 2020-06-30 | 2020-09-18 | 中南大学 | 一种基于star算法优化的快速bi_rrt避障轨迹规划方法 |
-
2020
- 2020-10-21 CN CN202011132708.4A patent/CN112223291B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9411335B2 (en) * | 2009-08-10 | 2016-08-09 | Samsung Electronics Co., Ltd. | Method and apparatus to plan motion path of robot |
CN108621165A (zh) * | 2018-05-28 | 2018-10-09 | 兰州理工大学 | 障碍环境下的工业机器人动力学性能最优轨迹规划方法 |
CN110228069A (zh) * | 2019-07-17 | 2019-09-13 | 东北大学 | 一种机械臂在线避障运动规划方法 |
CN110497403A (zh) * | 2019-08-05 | 2019-11-26 | 上海大学 | 一种改进双向rrt算法的机械臂运动规划方法 |
CN111678523A (zh) * | 2020-06-30 | 2020-09-18 | 中南大学 | 一种基于star算法优化的快速bi_rrt避障轨迹规划方法 |
Non-Patent Citations (1)
Title |
---|
基于约束流形的机械臂运动规划算法研究;陈伟;《中国优秀硕士学位论文全文数据库信息科技辑》;20200815;第29-38页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112223291A (zh) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112223291B (zh) | 一种基于三维任务空间约束的机械臂避障方法及装置 | |
CN112677153B (zh) | 一种改进的rrt算法及工业机器人路径避障规划方法 | |
US9411335B2 (en) | Method and apparatus to plan motion path of robot | |
CN110509279B (zh) | 一种仿人机械臂的运动路径规划方法及系统 | |
CN111546347B (zh) | 一种适用于动态环境下的机械臂路径规划方法 | |
CN108356819B (zh) | 基于改进a*算法的工业机械臂无碰撞路径规划方法 | |
US20110035050A1 (en) | Method and apparatus to plan motion path of robot | |
CN101612734A (zh) | 管道喷涂机器人及其作业轨迹规划方法 | |
CN112809665B (zh) | 一种基于改进rrt算法的机械臂运动规划方法 | |
CN115958590A (zh) | 一种基于rrt的机械臂深框避障运动规划方法及装置 | |
CN111546378B (zh) | 一种空间机械臂快速碰撞检测方法 | |
CN112405541B (zh) | 激光3d精密切割双机器人协同作业方法 | |
CN111251306B (zh) | 一种带有底盘误差的机械臂路径规划方法 | |
CN113276109B (zh) | 一种基于rrt算法的双机械臂解耦运动规划方法及系统 | |
CN113799120A (zh) | 冗余自由度机械臂的路径规划方法、装置及工程机械 | |
Liu et al. | Improved RRT path planning algorithm for humanoid robotic arm | |
CN113771035B (zh) | 基于rrt*算法的冗余多自由度机械臂避障路径优化方法 | |
Bhuiyan et al. | Deep-Reinforcement-Learning-based Path Planning for Industrial Robots using Distance Sensors as Observation | |
Lasky et al. | Sensor-based path planning and motion control for a robotic system for roadway crack sealing | |
Hwang et al. | Intelligent image base visual servoing controller for robot arm | |
CN114939872B (zh) | 基于MIRRT*-Connect算法的智能仓储冗余机械臂动态避障运动规划方法 | |
Liang et al. | PR-RRT*: Motion Planning of 6-DOF Robotic Arm Based on Improved RRT Algorithm | |
Zahid et al. | Investigation of branch accessibility with a robotic pruner for pruning apple trees | |
Kim et al. | A RRT-based collision-free and occlusion-free path planning method for a 7DOF manipulator | |
CN116852367A (zh) | 一种基于改进RRTstar的六轴机械臂避障路径规划方法 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220919 Address after: 236000 room 304, building 3, Zone C, intelligent equipment science and Technology Park, 3963 Susong Road, Hefei Economic and Technological Development Zone, Anhui Province Patentee after: Hefei Hagong Tunan intelligent control robot Co.,Ltd. Address before: 236000 area C, intelligent equipment science and Technology Park, 3963 Susong Road, Hefei Economic and Technological Development Zone, Anhui Province Patentee before: HRG INTERNATIONAL INSTITUTE FOR RESEARCH & INNOVATION |
|
TR01 | Transfer of patent right |