CN112894817A - 一种任务空间下的机械臂运动规划方法 - Google Patents

一种任务空间下的机械臂运动规划方法 Download PDF

Info

Publication number
CN112894817A
CN112894817A CN202110110575.9A CN202110110575A CN112894817A CN 112894817 A CN112894817 A CN 112894817A CN 202110110575 A CN202110110575 A CN 202110110575A CN 112894817 A CN112894817 A CN 112894817A
Authority
CN
China
Prior art keywords
mechanical arm
obstacle
node
center
configuration
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.)
Granted
Application number
CN202110110575.9A
Other languages
English (en)
Other versions
CN112894817B (zh
Inventor
蒋旭平
刘壮
张波涛
汪江平
王坚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Foshan Haixie Technology Co ltd
Guangzhou Gaudi Mechanical And Electrical Engineering Co ltd
Original Assignee
Hangzhou Dianzi University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN202110110575.9A priority Critical patent/CN112894817B/zh
Publication of CN112894817A publication Critical patent/CN112894817A/zh
Application granted granted Critical
Publication of CN112894817B publication Critical patent/CN112894817B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

本发明涉及一种任务空间下的机械臂运动规划方法。本发明首先根据机械臂的结构,采用D‑H方法建立正运动学模型,在任务空间直接进行末端位姿的启发式搜索,通过对选取的待扩展节点进行梯度投影逆运动学计算获得关节角数据,在关节空间对待扩展节点进行碰撞检测,判断机械臂能否安全到达待扩展节点。最后,将发生碰撞的位姿映射到末端工作平面中进行局部最小判断。本发明的机械臂任务空间启发式搜索优化方法弥补了机械臂任务空间规划方法的不足,是一种能在任务空间快速搜索出可行路径的方法。本发明所提方法可以使机械臂避免陷入局部最优陷阱。

Description

一种任务空间下的机械臂运动规划方法
技术领域
本发明属于自动化技术领域,涉及一种任务空间下的机械臂运动规划方法。
背景技术
机械臂是服务机器人对目标执行操作的核心部件,也是自动化生产线上的关键设备。在完成复杂任务时,机械臂的运动规划需要面临一些末端位置和姿态的约束。末端执行器在精准的抓取、切割、焊接等任务中均需满足末端位置和姿态约束。目前基于关节空间的运动规划方法,然而,在关节空间描述的任务约束下,难以进行复杂的运动规划。因此,在任务空间下构建机械臂的运动规划方法对于机器人执行末端约束下的任务具有重要意义。
发明内容
本发明的目标是构建任务空间下的机械臂启发式搜索运动规划方法,并对其优化。首先,在任务空间直接进行末端位姿的启发式搜索,然后,对球形包络后的障碍物与机械臂进行碰撞检测。最后将发生碰撞的位姿映射到末端工作平面中进行局部最小判断。该方法能有效避免机械臂在任务空间下采用启发式搜索规划时陷入局部最小状态的缺陷。在机械臂的任务空间中采用启发式搜索算法进行规划,具有规划速度快,能满足任务约束等优点。但是该方法容易陷入局部极小陷阱。本发明所提方法可以弥补该缺陷。
本发明方法的步骤包括:
步骤(1)、采用D-H法(Denavit-Hartenberg)建立机械臂的正运动学模型,并构建障碍物模型;将障碍物的位置数据保存至不可行集合Closed表,其中障碍物的位置数据包括障碍物的中心、半径信息;同时根据机械臂的正运动学模型计算出初始状态的末端执行器位姿pf,其中位姿包括姿态信息和坐标信息。
通过机械臂的每个关节Ji的构型与运动信息获得各关节的运动变换矩阵Ai,通过公式(1)得到变换矩阵
Figure BDA0002918813810000011
Figure BDA0002918813810000012
Figure BDA0002918813810000021
其中1≤i≤j,j表示机械臂关节自由度;
Figure BDA0002918813810000022
表示pf的三维姿态信息;(px,py,pz)表示pf的三维坐标信息;
步骤(2)、将pf的三维姿态信息采用欧拉角表示。初始化时将机械臂当前末端执行器的位姿pc设置为pf的位姿信息如下:
pf=(xf,yf,zf,αf,βf,γf) 式(3)
其中xf,yf,zf表示pf的三维坐标信息;αf,βf,γf表示pf的欧拉角;
步骤(3)、使用任务空间下的启发式搜索算法ARA*(Anytime RepairingA*)对机械臂末端执行器位姿进行规划:
3-1初始化:将待扩展节点列表PNEXT设置为空列表,PNEXT节点数目u=0,循环参数v=1。
3-2将机械臂当前末端执行器位姿的6个自由度各自加减一个单位获得12个周边节点信息;将上述12个周边节点中不在不可行集合Closed表中的节点加入到待扩展节点列表PNEXT
PNEXT={p1,p′1;p2,p′2;...;pv,p′v;...;pu,p′u},u≤12 式(4)
pv表示周边节点,p′v表示pv的父节点。
同时将待扩展节点列表PNEXT中不在可行集合OPEN表的节点进行初始化操作:将父节点设为空,原有代价函数F(pv)old设为无穷大;然后计算待扩展节点列表PNEXT所有节点的新代价函数F(pv)new
F(pv)new=G(pv)+H(pv) 式(5)
F(pv)old=G(pv)old+H(pv) 式(6)
其中,G(pv)表示从初始节点到pc的代价值加一,H(pv)表示pv到目标节点的欧式距离,初始节点为初始状态的末端执行器位姿pf,目标节点为机械臂末端执行器最终要到达的位姿;G(pv)old表示初始节点到p′v的代价值加一。
3-3比较待扩展节点列表PNEXT中所有节点的F(n)old和F(n)new,如果F(n)old>F(n)new,将父节点p′v改为当前节点pc,同时将pv的F(n)old赋值为F(n)new,反之不做变化。
步骤(4)、判断是否遍历列表PNEXT中所有节点
比较v和u的大小,若v≤u则对列表PNEXT的第v个节点设为子节点pnext,执行步骤(5)-(6),若v>u则将可行集合OPEN表中代价函数F(n)最小的节点更新为机械臂当前末端执行器位姿pc,返回步骤(3)。
步骤(5)、对子节点pnext进行碰撞检测:
5-1对节点pnext采用梯度投影法进行逆运动学计算,得到一组最优的逆运动学解,即为关节角解;将这组关节角解通过D-H正运动学计算得到机械臂所有关节的三维坐标。
5-2根据5-1得到的机械臂所有关节的三维坐标构建各关节的机械臂构型;然后对各关节的机械臂构型进行碰撞检测,判断节点pnext是否会与障碍物发生碰撞,具体步骤如下:
5-2-1选取相邻两个关节Ja,Jb之间的机械臂构型L,设安全距离r为障碍物半径加上ε倍的机械臂构型半径:
r=ro+ε·rl 式(7)
其中rp表示障碍物半径,rl表示机械臂构型半径,ε为人为设定,ε>1。
5-2-2计算构型L到障碍物中心的距离s;如果s>r,表示未发生碰撞,则将节点pnext加入到可行集合OPEN表中,执行步骤(7);若s≤r,则首先计算以障碍物中心为顶角,障碍物中心与两个关节连接的线段为边的夹角∠MON,并计算构型L距离障碍物中心obs为s时的最大安全角δ,若夹角∠MON小于最大安全角δ则认为未发生碰撞,则将节点pnext加入到可行集合OPEN表中,执行步骤(7);若夹角∠MON大于等于最大安全角δ则发生碰撞,进行步骤(6)。
Figure BDA0002918813810000031
其中M为关节Ja的中心点,N是关节Jb的中心点,O是障碍物的中心,a是障碍物中心到关节Ja的距离;b是障碍物中心到关节Jb的距离;l为机械臂构型L的长度。
Figure BDA0002918813810000032
其中s为障碍物中心到构型L的距离,r表示距离障碍物中心的安全距离,l表示构型L的长度。
步骤(6)、发生碰撞后需要判断是否会出现机械臂构型无法绕开障碍物的情况,进行局部最小检测,具体步骤如下:
6-1建立以当前末端执行器位姿pc的三维坐标信息(xc,yc,zc),目标位置pt的三维坐标信息(xt,yt,zt),以机械臂的基座中心为原点po(0,0,0)构成末端工作平面OCT。
Ax+By+Cz+D=0 式(10)
6-2将障碍物及机械臂构型投影到该平面OCT中,球形障碍物在平面中的投影是以障碍中心的投影点po′为圆心,以障碍物半径ro为半径的圆形障碍物obs’。机械臂构型在平面中的投影是各关节角在平面的投影点所组成的新的构型L‘。
6-3观察投影后的机械臂构型L‘是否与投影后的障碍物obs’发生碰撞:对L‘和obs’使用步骤(5)的方法进行碰撞检测。若构型L‘与obs’发生碰撞,则表示机械臂构型无法绕开障碍物。将待扩展节点
Figure BDA0002918813810000041
加入到不可行集合Closed表中,更新v=v+1,返回步骤(4)。若未发生碰撞,判断机械臂构型L‘是否将障碍物obs’包围,步骤如下:
a)根据目标位置pt和障碍物中心po′得向量
Figure BDA0002918813810000042
计算在
Figure BDA0002918813810000043
垂直方向上的单位向量
Figure BDA0002918813810000044
Figure BDA0002918813810000045
b)根据障碍物中心po′和原点Po得向量
Figure BDA0002918813810000046
根据障碍物中心po′和当前节点坐标pc得向量
Figure BDA0002918813810000047
计算
Figure BDA0002918813810000048
Figure BDA0002918813810000049
的数量积与
Figure BDA00029188138100000410
Figure BDA00029188138100000411
的数量积的乘积F:
Figure BDA00029188138100000412
若F<0,则认为机械臂构型L‘包围了障碍物obs’,这种情况表示机械臂构型无法绕开障碍物。因此将这些会造成局部最小问题的待扩展节点pnext加入到不可行集合Closed表中,更新v=v+1,返回步骤(4)。若F≥0,则认为机械臂构型L‘未包围障碍物obs’,机械臂构型可以绕开障碍物。将节点pnext舍去,当作未查询过的节点,更新v=v+1,返回步骤(4)。
步骤(7)、,判断可行集合OPEN表中含有目标节点,若是则在可行集合OPEN表中采用回溯父节点的方式从目标节点回溯到初始节点得到一条安全的机械臂运动路径,反之则更新v=v+1,返回步骤(4)。
本发明的另一个目的是提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述的方法。
本发明的又一个目的是提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述的方法。
本发明提出的机械臂任务空间运动规划优化方法弥补了现阶段机械臂关节空间规划方法很难描述任务约束的缺点,并有效地解决了任务空间启发式搜索规划算法中存在的末端执行器陷入局部最优陷阱的问题。
本发明提出的机械臂任务空间运动规划方法,能够有效地控制机械臂,完成具有末端位姿约束特点的任务。
附图说明
图1为本发明的流程图;
图2为夹角∠MON示意图;
图3为投影至OCT平面示意图。
具体实施方式
下面结合具体实施例对本发明做进一步的分析。
以一具体机械臂为例,如图1任务空间启发式搜索优化方法的实施步骤如下:
步骤(1)、初始化机械臂系统及障碍物参数,具体操作如下:
1-1获得机械臂结构参数。即机械臂所对应的D-H参数表。
表1:机械臂的D-H参数表
Figure BDA0002918813810000051
其中,0代表机械臂基座,1…6数字代表第1…6个关节。θ表示旋转关节的关节变量,d表示滑动关节的关节变量。q表示关节之间的距离。α表示关节之间的姿态变化量。
1-2对机械臂进行建模,将机械臂抽象为关节与关节间的圆柱形连杆组成的构型L。关节坐标由D-H正运动学计算得出,构型连杆的半径为rl
1-3对障碍物进行球形包络,得到障碍物球心坐标obs,障碍物半径为ro
步骤(2)、采用D-H法(Denavit-Hartenberg)建立机械臂的正运动学模型,并构建障碍物模型;将障碍物的位置数据保存至不可行集合Closed表,其中障碍物的位置数据包括障碍物的中心、半径信息;同时根据机械臂的正运动学模型计算出初始状态的末端执行器位姿pf,其中位姿包括姿态信息和坐标信息。
通过机械臂的每个关节Ji的构型与运动信息获得各关节的运动变换矩阵Ai,通过公式(1)得到变换矩阵
Figure BDA0002918813810000061
Figure BDA0002918813810000062
Figure BDA0002918813810000063
其中1≤i≤j,j表示机械臂关节自由度;
Figure BDA0002918813810000064
表示pf的三维姿态信息;(px,py,pz)表示pf的三维坐标信息;
步骤(3)、将pf的三维姿态信息采用欧拉角表示。初始化时将机械臂当前末端执行器的位姿pc设置为pf的位姿信息如下:
pf=(xf,yf,zf,αf,βf,γf) 式(3)
其中xf,yf,zf表示三维坐标信息,αf,βf,γf表示pf的欧拉角;
步骤(4)、使用任务空间下的启发式搜索算法ARA*(Anytime RepairingA*)对机械臂末端执行器位姿进行规划:
4-1初始化:将待扩展节点列表PNEXT设置为空列表,PNEXT节点数目u=0,循环参数v=1。
4-2将机械臂当前末端执行器位姿的6个自由度各自加减一个单位获得12个周边节点信息;
p1=(xc+1,yc,zc,αc,βc,γc)
p2=(xc-1,yc,zc,αc,βc,γc)
p3=(xc,yc+1,zc,αc,βc,γc)
p4=(xc,yc-1,zc,αc,βc,γc)
p5=(xc,yc,zc+1,αc,βc,γc)
p6=(xc,yc,zc-1,αc,βc,γc)
p7=(xc,yc,zc,αc+1,βc,γc)
p8=(xc,yc,zc,αc-1,βc,γc)
p9=(xc,yc,zc,αc,βc+1,γc)
p10=(xc,yc,zc,αc,βc-1,γc)
p11=(xc,yc,zc,αc,βc,γc+1)
p12=(xc,yc,zc,αc,βc,γc-1)
将上述12个周边节点中不在不可行集合Closed表中的节点加入到待扩展节点列表PNEXT
PNEXT={p1,p′1;p2,p′2;...;pv,p′v;…;pu,p′u},u≤12 式(4)
pv表示周边节点,p′v表示pv的父节点。
同时将待扩展节点列表PNEXT中不在可行集合OPEN表的节点进行初始化操作:将父节点设为空,原有代价函数F(pv)old设为无穷大;然后计算待扩展节点列表PNEXT所有节点的新代价函数F(pv)new
F(pv)new=G(pv)+H(pv) 式(5)
F(pv)old=G(pv)old+H(pv) 式(6)
其中G(pv)表示从初始节点到pc的代价值加一,H(pv)表示pv到目标节点的欧式距离,初始节点为初始状态的末端执行器位姿pf,目标节点为机械臂末端执行器最终要到达的位姿;G(pv)old表示初始节点到p′v的代价值加一。
4-3比较待扩展节点列表PNEXT中所有节点的F(n)old和F(n)new,如果F(n)old>F(n)new,将父节点p′v改为当前节点pc,同时将pv的F(n)old赋值为F(n)new,反之不做变化。
步骤(5)、判断是否遍历列表PNEXT中所有节点
比较v和u的大小,若v≤u则对列表PNEXT的第v个节点设为子节点pnext,执行步骤(6)-(7),若v>u则将可行集合OPEN表中代价函数F(n)最小的节点更新为机械臂当前末端执行器位姿pc,返回步骤(4)。
步骤(6)、对子节点pnext进行碰撞检测:
6-1对节点pnext采用梯度投影法进行逆运动学计算,得到一组最优的逆运动学解,即为关节角解;将这组关节角解通过D-H正运动学计算得到机械臂所有关节的三维坐标。
6-2根据6-1得到的机械臂所有关节的三维坐标构建各关节的机械臂构型;然后对各关节的机械臂构型进行碰撞检测,判断节点pnext是否会与障碍物发生碰撞,具体步骤如下:
6-2-1选取相邻两个关节Ja,Jb之间的机械臂构型L,设安全距离r为障碍物半径加上ε倍的机械臂构型半径:
r=ro+ε·rl 式(7)
其中ro表示障碍物半径,rl表示机械臂构型半径,ε为人为设定,ε>1。
6-2-2计算构型L到障碍物中心的距离s;如果s>r,表示未发生碰撞,则将节点pnext加入到可行集合OPEN表中,执行步骤(8);若s≤r,则首先计算以障碍物中心为顶角,障碍物中心与两个关节连接的线段为边的夹角∠MON(如图2),并计算构型L距离障碍物中心obs为s时的最大安全角δ,若夹角∠MON小于最大安全角δ则认为未发生碰撞,则将节点pnext加入到可行集合OPEN表中,执行步骤(8);若夹角∠MON大于等于最大安全角δ则发生碰撞,进行步骤(7)。
Figure BDA0002918813810000081
其中M为关节Ja的中心点,N是关节Jb的中心点,O是障碍物的中心,a是障碍物中心到关节Ja的距离;b是障碍物中心到关节Jb的距离;l为机械臂构型L的长度。
Figure BDA0002918813810000082
其中s为障碍物中心到构型L的距离,r表示距离障碍物中心的安全距离,l表示构型L的长度。
步骤(7)、发生碰撞后需要判断是否会出现机械臂构型无法绕开障碍物的情况,进行局部最小检测,具体步骤如下:
7-1建立以当前末端执行器位姿pc的三维坐标信息(xc,yc,zc),目标位置pt的三维坐标信息(xt,yt,zt),以机械臂的基座中心为原点po(0,0,0)构成末端工作平面OCT。
Ax+By+Cz+D=0 式(10)
满足如下约束:
A×0+B×0+C×0+D=0 式(11)
Axt+Byt+Czt+D=0 式(12)
Axc+Byc+Czc+D=0 式(13)
令A=1,得D=0,
Figure BDA0002918813810000083
7-2如图3将障碍物及机械臂构型投影到该平面OCT中,球形障碍物在平面中的投影是以障碍中心的投影点po′为圆心,以障碍物半径ro为半径的圆形障碍物obs’。机械臂构型在平面中的投影是各关节角在平面的投影点所组成的新的构型L‘。
7-3观察投影后的机械臂构型L‘是否与投影后的障碍物obs’发生碰撞:对L‘和obs’使用步骤(6)的方法进行碰撞检测。若构型L‘与obs’发生碰撞,表示机械臂构型无法绕开障碍物。将待扩展节点pnext加入到不可行集合Closed表中,更新v=v+1,返回步骤(4)。若未发生碰撞,判断机械臂构型L‘是否将障碍物obs’包围,步骤如下:
a)根据目标位置pt和障碍物中心po′得向量
Figure BDA0002918813810000091
计算在
Figure BDA0002918813810000092
垂直方向上的单位向量
Figure BDA0002918813810000093
Figure BDA0002918813810000094
b)根据障碍物中心po′和原点Po得向量
Figure BDA0002918813810000095
根据障碍物中心po′和当前节点坐标
pc得向量
Figure BDA0002918813810000096
计算
Figure BDA0002918813810000097
Figure BDA0002918813810000098
的数量积与
Figure BDA0002918813810000099
Figure BDA00029188138100000910
的数量积的乘积F:
Figure BDA00029188138100000911
若F<0,则认为机械臂构型L‘包围了障碍物obs’,这种情况表示机械臂构型无法绕开障碍物。因此将这些会造成局部最小问题的待扩展节点pnext加入到不可行集合Closed表中,更新v=v+1,返回步骤(5)。若F≥0,则认为机械臂构型L‘未包围障碍物obs’,表示机械臂构型可以绕开障碍物。将节点pnext舍去,当作未查询过的节点,更新v=v+1,返回步骤(5)。
步骤(8)、判断可行集合OPEN表中含有目标节点,若是则在可行集合OPEN表中采用回溯父节点的方式从目标节点回溯到初始节点得到一条安全的机械臂运动路径,反之则更新v=v+1,返回步骤(5)。

Claims (7)

1.一种任务空间下的机械臂运动规划方法,该方法包括以下步骤:
步骤(1)、采用D-H法建立机械臂的正运动学模型,并构建障碍物模型;将障碍物的位置数据保存至不可行集合Closed表,其中障碍物的位置数据包括障碍物的中心、半径信息;同时根据机械臂的正运动学模型计算出初始状态的末端执行器位姿pf,其中位姿包括姿态信息和位置坐标信息;
步骤(2)、将pf的三维姿态信息采用欧拉角表示,初始化时将机械臂当前末端执行器的位姿pc设置为pf的位姿信息如下:
pf=(xf,yf,zf,αf,βf,γf) 式(3)
其中xf,yf,zf表示pf的三维坐标信息,αf,βf,γf表示pf的欧拉角;
步骤(3)、使用任务空间下的启发式搜索算法ARA*(Anytime Repairing A*)对机械臂末端执行器位姿进行规划,更新待扩展节点列表PNEXT
步骤(4)、判断是否遍历列表PNEXT中所有节点
比较v和u的大小,若v≤u则将列表PNEXT的第v个节点设为子节点pnext,执行步骤(5)-(6),若v>u则将可行集合OPEN表中代价函数F(n)最小的节点更新为机械臂当前末端执行器位姿pc,返回步骤(3);
步骤(5)、对子节点pnext进行碰撞检测:
5-1对节点pnext采用梯度投影法进行逆运动学计算,得到一组最优的逆运动学解,即为关节角解;将这组关节角解通过D-H正运动学计算得到机械臂所有关节的三维坐标;
5-2根据5-1得到的机械臂所有关节的三维坐标构建各关节的机械臂构型;然后对各关节的机械臂构型进行碰撞检测,判断节点pnext是否会与障碍物发生碰撞,具体步骤如下:
5-2-1选取相邻两个关节Ja,Jb之间的机械臂构型L,设安全距离r为障碍物半径加上ε倍的机械臂构型半径:
r=ro+ε·rl 式(7)
其中ro表示障碍物半径,rl表示机械臂构型半径,ε为人为设定参数;
5-2-2计算构型L到障碍物中心的距离s;如果s>r,表示未发生碰撞,则将节点pnext加入到可行集合OPEN表中,执行步骤(7);若s≤r,则首先计算以障碍物中心为顶角,障碍物中心与两个关节连接的线段为边的夹角∠MON,并计算构型L距离障碍物中心obs为s时的最大安全角δ,若夹角∠MON小于最大安全角δ则认为未发生碰撞,则将节点pnext加入到可行集合OPEN表中,执行步骤(7);若夹角∠MON大于等于最大安全角δ则发生碰撞,进行步骤(6);
步骤(6)、发生碰撞后需要判断是否会出现机械臂构型无法绕开障碍物的情况,进行局部最小检测,具体步骤如下:
6-1建立以当前末端执行器位姿pc的三维坐标信息(xc,yc,zc),目标位置pt的三维坐标信息(xt,yt,zt),以机械臂的基座中心为原点po(0,0,0)构成末端工作平面OCT;
6-2将障碍物及机械臂构型投影到该平面OCT中,球形障碍物在平面中的投影是以障碍中心的投影点po′为圆心,以障碍物半径ro为半径的圆形障碍物obs’;机械臂构型在平面中的投影是各关节角在平面的投影点所组成的新的构型L‘;
6-3观察投影后的机械臂构型L‘是否与投影后的障碍物obs’发生碰撞:对L‘和obs’使用步骤(5)的方法进行碰撞检测;若构型L‘与obs’发生碰撞,表示机械臂构型无法绕开障碍物;将待扩展节点Ppnext加入到不可行集合Closed表中,更新v=v+1,返回步骤(4);若未发生碰撞,判断机械臂构型L‘是否将障碍物obs’包围,步骤如下:
根据目标位置pt和障碍物中心po′得向量
Figure FDA0002918813800000021
计算在
Figure FDA0002918813800000022
垂直方向上的单位向量
Figure FDA0002918813800000023
Figure FDA0002918813800000024
根据障碍物中心po′和原点Po得向量
Figure FDA0002918813800000025
根据障碍物中心po′和当前节点坐标pc得向量
Figure FDA0002918813800000026
计算
Figure FDA0002918813800000027
Figure FDA0002918813800000028
的数量积与
Figure FDA0002918813800000029
Figure FDA00029188138000000210
的数量积的乘积F:
Figure FDA00029188138000000211
若F<0,则认为机械臂构型L‘包围了障碍物obs’,这种情况表示机械臂构型无法绕开障碍物;因此将这些会造成局部最小问题的待扩展节点pnext加入到不可行集合Closed表中,更新v=v+1,返回步骤(4);若F≥0,则认为机械臂构型L‘未包围障碍物obs’,表示机械臂构型可以绕开障碍物;将节点pnext舍去,当作未查询过的节点,更新v=v+1,返回步骤(4);
步骤(7)、判断可行集合OPEN表中含有目标节点,若是则在可行集合OPEN表中采用回溯父节点的方式从目标节点回溯到初始节点得到一条安全的机械臂运动路径,反之则更新v=v+1,返回步骤(4)。
2.如权利要求1所述的一种任务空间下的机械臂运动规划方法,其特征在于步骤(1)通过机械臂的每个关节Ji的构型与运动信息获得各关节的运动变换矩阵Ai,通过公式(1)得到变换矩阵
Figure FDA0002918813800000031
Figure FDA0002918813800000032
Figure FDA0002918813800000033
其中1≤i≤j,j表示机械臂关节自由度;
Figure FDA0002918813800000034
表示pf的三维姿态信息;(px,py,pz)表示pf的三维坐标信息。
3.如权利要求2所述的一种任务空间下的机械臂运动规划方法,其特征在于步骤(3)具体是:
3-1初始化:将待扩展节点列表PNEXT设置为空列表,PNEXT节点数目u=0,循环参数v=1;
3-2将机械臂当前末端执行器位姿pc各自加减一个单位获得12个周边节点信息;将上述12个周边节点中不在不可行集合Closed表中的节点加入到待扩展节点列表PNEXT
PNEXT={p1,p′1;p2,p′2;...;pv,p′v;...;pu,p′u},u≤12 式(4)
其中pv表示周边节点,p′v表示pv的父节点;
同时将待扩展节点列表PNEXT中不在可行集合OPEN表的节点进行初始化操作:将父节点设为空,原有代价函数F(pv)old设为无穷大;然后计算待扩展节点列表PNEXT所有节点的新代价函数F(pv)new
F(pv)new=G(pv)+H(pv) 式(5)
F(pv)old=G(pv)old+H(pv) 式(6)
其中G(pv)表示从初始节点到pc的代价值加一,H(pv)表示pv到目标节点的欧式距离,初始节点为初始状态的末端执行器位姿pf,目标节点为机械臂末端执行器最终要到达的位姿;G(pv)old表示初始节点到p′v的代价值加一;
3-3比较待扩展节点列表PNEXT中所有节点的F(n)old和F(n)new,如果F(n)old>F(n)new,将父节点p′v改为当前节点pc,同时将pv的F(n)old赋值为F(n)new,反之不做变化。
4.如权利要求3所述的一种任务空间下的机械臂运动规划方法,其特征在于步骤(5-2-2)中以障碍物中心为顶角,障碍物中心与两个关节连接的线段为边的夹角∠MON具体是:
Figure FDA0002918813800000041
其中M为关节Ja的中心点,N是关节Jb的中心点,O是障碍物的中心,a是障碍物中心到关节Ja的距离;b是障碍物中心到关节Jb的距离;l为机械臂构型L的长度。
5.如权利要求3或4所述的一种任务空间下的机械臂运动规划方法,其特征在于步骤(5-2-2)中最大安全角δ具体是:
Figure FDA0002918813800000042
其中s为障碍物中心到构型L的距离,r表示距离障碍物中心的安全距离,l表示构型L的长度。
6.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-5中任一项所述的方法。
7.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-5中任一项所述的方法。
CN202110110575.9A 2021-01-27 2021-01-27 一种任务空间下的机械臂运动规划方法 Active CN112894817B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110110575.9A CN112894817B (zh) 2021-01-27 2021-01-27 一种任务空间下的机械臂运动规划方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110110575.9A CN112894817B (zh) 2021-01-27 2021-01-27 一种任务空间下的机械臂运动规划方法

Publications (2)

Publication Number Publication Date
CN112894817A true CN112894817A (zh) 2021-06-04
CN112894817B CN112894817B (zh) 2022-04-29

Family

ID=76118858

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110110575.9A Active CN112894817B (zh) 2021-01-27 2021-01-27 一种任务空间下的机械臂运动规划方法

Country Status (1)

Country Link
CN (1) CN112894817B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113954073A (zh) * 2021-11-08 2022-01-21 北京华航唯实机器人科技股份有限公司 机器人活动部件的轨迹分析方法及装置、机器人设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107607120A (zh) * 2017-09-06 2018-01-19 北京理工大学 基于改进修复式Anytime稀疏A*算法的无人机动态航迹规划方法
CN108356819A (zh) * 2018-01-17 2018-08-03 西安交通大学 基于改进a*算法的工业机械臂无碰撞路径规划方法
CN108942942A (zh) * 2018-08-16 2018-12-07 居鹤华 一种基于轴不变量的多轴机器人逆运动学建模与解算方法
US20190070734A1 (en) * 2017-09-05 2019-03-07 Abb Schweiz Ag Robotic system for grasping objects
CN110900611A (zh) * 2019-12-13 2020-03-24 合肥工业大学 一种新型机械臂目标定位及路径规划方法
CN111347429A (zh) * 2020-04-16 2020-06-30 淮阴工学院 一种基于改进蚁群算法的可碰撞检测机械臂路径规划方法
CN111761582A (zh) * 2020-07-08 2020-10-13 浙江大学 一种基于随机采样的移动机械臂避障规划方法
CN111791234A (zh) * 2020-07-07 2020-10-20 苏州红橙蓝机器人有限公司 一种狭窄空间内多机器人空间工作位置防撞控制算法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190070734A1 (en) * 2017-09-05 2019-03-07 Abb Schweiz Ag Robotic system for grasping objects
CN107607120A (zh) * 2017-09-06 2018-01-19 北京理工大学 基于改进修复式Anytime稀疏A*算法的无人机动态航迹规划方法
CN108356819A (zh) * 2018-01-17 2018-08-03 西安交通大学 基于改进a*算法的工业机械臂无碰撞路径规划方法
CN108942942A (zh) * 2018-08-16 2018-12-07 居鹤华 一种基于轴不变量的多轴机器人逆运动学建模与解算方法
CN110900611A (zh) * 2019-12-13 2020-03-24 合肥工业大学 一种新型机械臂目标定位及路径规划方法
CN111347429A (zh) * 2020-04-16 2020-06-30 淮阴工学院 一种基于改进蚁群算法的可碰撞检测机械臂路径规划方法
CN111791234A (zh) * 2020-07-07 2020-10-20 苏州红橙蓝机器人有限公司 一种狭窄空间内多机器人空间工作位置防撞控制算法
CN111761582A (zh) * 2020-07-08 2020-10-13 浙江大学 一种基于随机采样的移动机械臂避障规划方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113954073A (zh) * 2021-11-08 2022-01-21 北京华航唯实机器人科技股份有限公司 机器人活动部件的轨迹分析方法及装置、机器人设备
CN113954073B (zh) * 2021-11-08 2024-03-22 北京华航唯实机器人科技股份有限公司 机器人活动部件的轨迹分析方法及装置、机器人设备

Also Published As

Publication number Publication date
CN112894817B (zh) 2022-04-29

Similar Documents

Publication Publication Date Title
Adiyatov et al. A novel RRT*-based algorithm for motion planning in dynamic environments
CN109571466B (zh) 一种基于快速随机搜索树的七自由度冗余机械臂动态避障路径规划方法
CN111546347B (zh) 一种适用于动态环境下的机械臂路径规划方法
CN108356819B (zh) 基于改进a*算法的工业机械臂无碰撞路径规划方法
CN107953334A (zh) 一种基于a星算法的工业机械臂无碰撞路径规划方法
CN110228069A (zh) 一种机械臂在线避障运动规划方法
Gochev et al. Path planning with adaptive dimensionality
US20110035050A1 (en) Method and apparatus to plan motion path of robot
CN108638055B (zh) 一种七自由度空间机械臂自主避障规划方法
Bohigas et al. Planning singularity-free paths on closed-chain manipulators
Ivan et al. Topology-based representations for motion planning and generalization in dynamic environments with interactions
JP5659890B2 (ja) ロボットの軌道計画システム及び軌道計画方法
CN114147708B (zh) 基于改进的天牛须搜索算法的机械臂避障路径规划方法
CN113442140B (zh) 一种基于Bezier寻优的笛卡尔空间避障规划方法
CN115416016A (zh) 一种基于改进人工势场法的机械臂避障路径规划方法
CN112894817B (zh) 一种任务空间下的机械臂运动规划方法
Li et al. Navigation of mobile robots based on deep reinforcement learning: Reward function optimization and knowledge transfer
CN115793647A (zh) 一种机器人避障路径规划方法、系统及介质
CN109807933B (zh) 一种能力图点云更新方法、装置、设备及存储介质
JP2003280710A (ja) ロボットハンドの作業軌道の生成と制御方法
Chen et al. Optimizing the obstacle avoidance trajectory and positioning error of robotic manipulators using multigroup ant colony and quantum behaved particle swarm optimization algorithms
JP7375587B2 (ja) 軌道生成装置、多リンクシステム、及び軌道生成方法
Zhuang et al. Obstacle avoidance path planning for apple picking robotic arm incorporating artificial potential field and A* algorithm
Alatartsev et al. Improving the sequence of robotic tasks with freedom of execution
Tang et al. Coordinated motion planning of dual-arm space robot with deep reinforcement learning

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
TR01 Transfer of patent right

Effective date of registration: 20230626

Address after: Room 1201, No. 14-2, Yongfa Road, Xiuquan Street, Huadu District, Guangzhou, Guangdong 510800

Patentee after: Guangzhou Gaudi Mechanical and Electrical Engineering Co.,Ltd.

Address before: No. 508-2A, North Block, Poly Tianji, Qiandenghu, Guicheng Street, Nanhai District, Foshan, Guangdong 528200 (residence declaration)

Patentee before: Foshan Haixie Technology Co.,Ltd.

Effective date of registration: 20230626

Address after: No. 508-2A, North Block, Poly Tianji, Qiandenghu, Guicheng Street, Nanhai District, Foshan, Guangdong 528200 (residence declaration)

Patentee after: Foshan Haixie Technology Co.,Ltd.

Address before: 310018 No. 2 street, Xiasha Higher Education Zone, Hangzhou, Zhejiang

Patentee before: HANGZHOU DIANZI University