一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

六自由度机械臂避障路径规划方法与流程

2021-12-17 21:05:00 来源:中国专利 TAG:


1.本发明属于机械臂运动规划技术领域,涉及一种六自由度机械臂避障路径规划方法,包括一种用于六自由度机械臂在复杂障碍物环境下避障路径规划的改进rrt

connect算法。。


背景技术:

2.机械臂应用是现代工业自动化、智能化的一个重要体现,而作为机械臂应用过程中所要解决的一个重要问题——路径规划问题一直颇受人们的重视。机械臂路径规划方法的好坏直接影响机械臂的整体工作性能及效率。
3.目前,解决机械臂路径规划问题的常用的方法有:a
*
算法、人工势场法、快速随机树算法、rrt

connect算法、rrt*算法等。其中,a
*
算法和人工势场法主要在移动机器人路径规划中具有较好的表现,但随着维度的增加,空间环境复杂度的提升将导致前述算法的计算量陡增,并可能会导致算法陷入局部极小值问题。基于采样的快速随机树算法虽可减少障碍物描述以及用搜索树来探索工作空间,适用于不同维度的机械臂路径规划问题,但该算法采取完全随机的采样方式来扩展搜索树新节点,算法的实时性和路径质量无法得到良好地保证。传统rrt

connect(双向快速扩展随机树)算法在起点和终点分别构建搜索树,通过两棵搜索树的交互扩展来搜索可行路径,极大地加快了算法速度,但rrt

connect算法的探索方向依旧是随机的,且路径质量也没有明显得到改善。rrt*针对路径质量优化问题提出了重选父节点和重布线随机树,在节点扩展的过程中选择代价小的父节点和重新布线来减小路径代价,因此rrt*算法在有限的迭代次数中可以获取相对较优的路径,但随着搜索树扩展,节点数增加,算法计算量会随之增大,算法的收敛时间成了突出问题。因此,研究在复杂障碍物环境下良好实现六自由度机械臂避障路径规划问题是具有十分重要的现实意义的。


技术实现要素:

4.针对现有技术存在的缺陷和不足,本发明的目的在于提供一种六自由度机械臂避障路径规划方法,与传统rrt

connect算法相比,该方案在rrt

connect算法的基础上,将目标偏置策略、metropolis接受准则、势力场修正策略、基于动态步长的双树扩展策略及重选父节点策略进行有机融合,不仅可有效提高避障路径规划的实时性,而且还可对路径的规划质量进行必要地改善。
5.本发明在已知起始位置,目标位置和障碍物信息的情况下,利用双树结构探索空间,辅以目标偏置和metropolis接受准则优化随机采样点的生成,加快算法收敛于目标位置,采用动态步长,根据节点扩展情况来评判节点周围障碍物情况,依据障碍物多少动态调节节点扩展步长,使其适应不同的障碍物环境,并采用势力场修正策略,加快算法远离起始点,收敛目标位置,有效提高了算法避障路径规划的实时性,最后用重选父节点优化路径节点,减少路径长度。前述设计的路径规划算法可以很好的适用于六自由度机械臂路径规划
问题,在不同的障碍物环境中都可以完成路径规划任务。
6.本发明具体采用以下技术方案:
7.一种六自由度机械臂避障路径规划方法,其特征在于:在已知起始位置,目标位置和障碍物信息的情况下,利用双树结构探索空间,辅以目标偏置和metropolis接受准则优化随机采样点的生成,以加快算法收敛于目标位置;并依据势力场修正策略,调整节点扩展位置,加快算法远离起始点,收敛目标位置;采用动态步长,根据节点扩展情况评判节点周围障碍物情况,依据障碍物多少动态调节节点扩展步长,使其适应不同的障碍物环境;最后采用重选父节点优化路径节点,减少路径长度。
8.若对算法的操作具体化,则包括了以下步骤:
9.步骤s1:设六自由度机械臂末端操作器在系统基坐标系o

xyz下的位置矢量为p=(x,y,z)
t
;其末端操作器连体坐标系o
e

x
e
y
e
z
e
的姿态通过基坐标系o

xyz进行z

y

x欧拉角q=(γ,β,α)
t
旋转操作确定,即以基坐标系o

xyz为起始坐标系,先绕基坐标系o

xyz的z轴旋转α角,获得坐标系o'

x'y'z';再绕旋转后的坐标系o'

x'y'z'的y'轴旋转β角,获得坐标系o
”‑
x”y”z”;最后绕坐标系o
”‑
x”y”z”的x”轴旋转γ角,最终确定出机械臂末端操作器的连体坐标系o
e

x
e
y
e
z
e
;由此,将机械臂末端操作器位姿相对于系统基坐标系o

xyz的齐次变换矩阵描述为:
[0010][0011]
其中,为末端操作器连体坐标系o
e

x
e
y
e
z
e
姿态相对于基坐标系o

xyz的旋转变换矩阵,o=(0,0,0)为零向量,为机械臂连杆i连体坐标系相对于连杆i

1连体坐标系的齐次变换矩阵,θ
i
表示机械臂连杆i相对于连杆i

1的关节转角;
[0012]
利用上式及反变换法对系统进行运动学反解,可求得机械臂各连杆关节角θ
i
(i=1,2,

,6);
[0013]
利用符号表示机械臂在位置*时的系统节点;其中,表示机械臂各连杆在位置*时所对应的关节角;将系统起始位置节点用符号q
init
表示,目标位置节点用q
goal
表示,相应的以机械臂关节角行程作为系统的路径代价度量;
[0014]
在此基础上,获取包括尺寸、形状、起始位置q
init
、目标位置q
goal
的机械臂信息及包括障碍物的尺寸、形状及位置的机械臂工作环境信息;
[0015]
步骤s2:以机械臂起始位置q
init
作为根节点构建起始搜索树startt,以机械臂目标位置q
goal
作为根节点构建目标搜索树goalt;所述起始搜索树是一个以q
init
为根节点且可以不断扩展的节点集motions;所述目标搜索树是一个以q
goal
为根节点且可以不断扩展的
节点集motiong;起始搜索树的扩展步长startt_step和目标搜索树的扩展步长goalt_step初始时都设为相同的步长值init_step;
[0016]
步骤s3:采用目标偏置和metropolis接受准则在工作空间筛选随机采样点q
rand
;设rand为在[0,1]内随机生成的数值,p
goal
为目标偏置概率;若rand<p
goal
,则直接将目标点q
goal
作为随机采样点q
rand
;若rand≥p
goal
,则采用metropolis接受准则来筛选随机采样点q
rand
,即若采样点满足p=1,则接受此采样点,继续执行步骤s4;若p=0,则此采样点不被算法接受,重新进行随机采样,直至采样点满足p=1的情况;其中,metropolis接受准则如下:
[0017][0018]
其中,q
nearest
表示起始搜索树startt中距离采样点q
rand
最近的节点,q
end
表示起始搜索树startt上一次扩展时节点集motions添加的节点,符号d(q
a
,q
b
)表示节点a和节点b的路径代价,即λ为采样点接受范围调节参数;λ值越大,则采样点接受范围越小;λ值越小,则采样点接受范围越大;
[0019]
步骤s4:在起始搜索树startt上搜寻节点集motions中距离q
rand
最近的节点q
nearest
;设起始搜索树startt的步长为startt_step,若d(q
nearest
,q
rand
)≥startt_step,
[0020]
则依据:
[0021]
扩展出新节点q
new_0
;若d(q
nearest
,q
rand
)<startt_step,则节点扩展失败,执行步骤s9;
[0022]
步骤s5:新节点q
new_0
初步扩展成功后,考虑新节点q
new_0
受起始节点斥力和目标节点引力影响,对新扩展节点q
new_0
的位置作如下势力场修正:
[0023][0024]
其中,q
new
为势力场修正后的新节点,b为斥力调节参数,c为引力调节参数,且b、c分别满足:
[0025][0026][0027]
步骤s6:对新节点q
new
重新选择父节点q
parent
;设radius=k_rrg_*log(carddbl);k_rrg_=e e/dimdbl,carddbl=startt.size 1;其中,startt.size表示当前startt的节点数,e是自然对数的底,dimdbl是关节空间维度;之后以q
new
为圆心,radius为半径在起始搜索树startt上搜寻半径radius范围内的节点,并逐个将其记为q
nears
[i],i=1,2,

,p;p
表示满足搜索条件的节点数;将q
nears
[i]依次作为q
new
的备选父节点,计算从q
init
途径q
nears
[i]并运动到q
new
的路径总代价:
[0028]
q
new
[i].cost=q
nears
[i].cost d(q
nears
[i],q
new
)(i=1,2,

,p)
[0029]
其中,q
near
[i].cost表示q
init
运动到q
nears
[i]的路径代价;在不发生碰撞的前提下,将满足路径总代价最小即,
[0030]
q
new
.cost=min{q
new
[1].cost,q
new
[2].cost,

,q
new
[p].cost}
[0031]
的备选父节点拟作为q
new
最终的父节点q
parent

[0032]
步骤s7:再次判断机械臂从q
parent
运动至q
new
过程中是否发生碰撞,若不发生碰撞,则扩展成功,将q
new
加入startt的节点集motions中,并继续执行步骤s8;若扩展失败则跳转至步骤s9;
[0033]
步骤s8:重设起始搜索树的步长startt_step=startt_step init_step且λ=λ 1,执行步骤s10;
[0034]
步骤s9:startt_step设置为初始步长值init_step,λ=1,返回步骤s3;
[0035]
步骤s10:判断startt,goalt是否满足连接条件即d(qnew,qgoalt_nearest)=thr;其中,q
goalt_nearest
为目标搜索树goalt中距离q
new
最近的节点,thr为连接阈值;
[0036]
若满足连接条件,则起始搜索树的根节点到目标搜索树的根节点之间经过的全部节点即为规划的路径;若不满足连接条件,则切换至目标搜索树goalt开始进行反向空间搜索;执行步骤s11;
[0037]
步骤s11:目标搜索树goalt以q
new
为反向目标扩展方向,扩展步长设置为goalt_step,若搜索树goalt向q
new
反向扩展时并未遇到障碍物且d(q
goalt_nearest
,q
new
)≥goalt_step时,依据:
[0038][0039]
goalt_step=goalt_step init_step
[0040]
拓展反向新节点q
goalt_new
,并将q
goalt_new
加入到goalt的节点集motiong中;其中,q
goalt_nearest
表示目标搜索树goalt的节点集motiong中距离q
new
最近的节点;
[0041]
之后,目标搜索树goalt继续以q
new
为扩展方向扩展;若目标搜索树goalt扩展过程中遇到障碍物或d(q
goalt_nearest
,q
new
)<goalt_step,则目标搜索树goalt停止扩展,goalt_step设置为初始步长值init_step后,执行步骤s12;
[0042]
步骤s12:判断startt,goalt是否满足连接条件,即是否满足d(q
new
,q
goalt_nearest
)=thr:
[0043]
若满足,则起始搜索树的根节点到目标搜索树的根节点之间经过的全部节点即为规划的路径;
[0044]
若不满足,则切换至起始搜索树startt开始搜索空间;返回执行步骤s3。
[0045]
与现有技术相比,本发明及其优选方案采用改进rrt

connect算法将目标偏置策略、势力场修正策略、基于动态步长的双树扩展策略及重选父节点策略进行有机融合,旨在有效提高六自由机械臂无障路径的规划速度及规划质量。在随机点采样环节引入目标偏置策略及基于λ参数动态调节的metropolis接受准则,可使搜索树具备向目标位置快速靠近的能力的同时,能接受远离目标点的情况出现,保留绕开障碍物的能力,以确保机械臂无障
路径的快速、有效规划。新节点扩展环节中的势力场修正操作,可使路径搜索加快远离起始点并向目标点靠拢,同样提升了算法的收敛速度。基于动态步长的双树扩展策略可让算法在简单的障碍物环境中,以更快的速度收敛;在复杂的障碍物环境中,可以根据障碍物分布的不同,采用不同的步长扩展,避免因步长过大而使算法无法避开障碍物或因步长过小而使算法的收敛速度变慢。引入重选父节点策略在搜索树每次成功扩展新节点后,重新选择代价最小的父节点,通过缩短搜索树添加新节点增加的路径代价来优化路径,可以获取相对较优的路径。
附图说明
[0046]
下面结合附图和具体实施方式对本发明进一步详细的说明:
[0047]
图1本发明实施例中motoman

gp7型号机械臂尺寸参数图。
[0048]
图2是本发明实施例中基于ros平台机械臂仿真模型图。
[0049]
图3是本发明实施例中基于改进rrt

connect算法的路径规划总流程图。
[0050]
图4是本发明实施例中采样点q
rand
选取子流程图。
[0051]
图5是本发明实施例中目标树goalt扩展子流程图。
[0052]
图6是本发明实施例中机械臂路径规划效果示意图。
具体实施方式
[0053]
为让本专利的特征和优点能更明显易懂,下文特举实施例,作详细说明如下:
[0054]
本实施例基于ros(robot operating system,机器人操作系统)平台,搭建机械臂仿真场景,选用motoman

gp7型号机械臂作为本实例研究对象,其尺寸参数和运动学参数如图1所示。
[0055]
motoman

gp7型号机械臂运动学参数如下表1所示:
[0056]
[0057][0058]
以机械臂基座中心构建笛卡尔基坐标系o

xyz,障碍物1的中心位置设为(0.6m,0.4m,0.25m)、障碍物2的中心位置设为(0.6m,0m,0.25m)、障碍物3的中心位置设为(0.6m,

0.4m,0.25m)、障碍物4的中心位置设为(0.6m,0.3m,0.6m)、障碍物5的中心位置设为(0.6m,0.3m,0.1m)、障碍物6的中心位置设为(0.6m,

0.3m,0.6m)、障碍物7的中心位置设为(0.6m,

0.3m,0.1m);图示长方体障碍物大小均相同,长度0.6m、宽度0.05m、高度0.5m;球体障碍物半径均为0.1m,仿真场景如图2所示。六自由度机械臂末端操作器的起始位置设为p0=(0.55m,0m,0.81m)
t
,起始姿态以z

y

x欧拉角表示设为q0=(90
°


90
°
,90
°
)
t
;机械臂的第一、二个目标位置分别设为p1=(0.6,

0.25,0.25)
t
、p2=(0.6,0.25,0.25)
t
;机械臂在两个目标位置的末端姿态设为q1=q2=(180
°
,0
°
,180
°
)。在本实施例中采用改进rrt

connect算法规划路径,机械臂将会从起始位置运动至第一个目标位置后,再运动至第二个目标位置,最终返回起始位置。
[0059]
参见图3

图5,本发明的改进rrt

connect算法的实际应用步骤如下:
[0060]
步骤s1:设六自由度机械臂末端操作器在系统基坐标系o

xyz下的位置矢量为p=(x,y,z)
t
;其末端操作器连体坐标系o
e

x
e
y
e
z
e
的姿态通过基坐标系o

xyz进行z

y

x欧拉角q=(γ,β,α)
t
旋转操作确定,即以基坐标系o

xyz为起始坐标系,先绕基坐标系o

xyz的z轴旋转α角,获得坐标系o'

x'y'z';再绕旋转后的坐标系o'

x'y'z'的y'轴旋转β角,获得坐标系o
”‑
x”y”z”;最后绕坐标系o
”‑
x”y”z”的x”轴旋转γ角,最终确定出机械臂末端操作器的连体坐标系o
e

x
e
y
e
z
e
。于是,机械臂末端操作器位姿相对于系统基坐标系o

xyz的齐次变换矩阵可描述为:
[0061][0062]
其中,为末端操作器连体坐标系o
e

x
e
y
e
z
e
姿态相对于基坐标系o

xyz的旋转变换矩阵,o=(0,0,0)为零向量,为机械臂连杆i连体坐标系相对于连杆i

1连体坐标系的齐次变换矩阵,θ
i
表示机械臂连杆i相对于连杆i

1的关节转角。
[0063]
利用上式及反变换法对系统进行运动学反解,可求得机械臂各连杆关节角θ
i
(i=1,2,

,6)。
[0064]
为便于后续路径规划改进rrt

connect算法的设计,利用符号表示机械臂在位置*时的系统节点;其中,表示机械臂各连杆在位置*时所对应的关节角。于是,系统起始位置节点可用符号q
init
表示,目标位置节点可用q
goal
表示,相应的
以机械臂关节角行程作为系统的路径代价度量。
[0065]
以上述为基础,获取机械臂信息(包括尺寸、形状、起始位置q
init
、目标位置q
goal
)及其工作环境信息(包括障碍物的尺寸、形状及位置)。
[0066]
步骤s2:以机械臂起始节点q
init
(即起始位置)作为根节点构建起始搜索树startt,以机械臂目标节点q
goal
(即目标位置)作为根节点构建目标搜索树goalt。注意所述起始搜索树实际上是一个以q
init
为根节点且可以不断扩展的节点集motions;所述目标搜索树实际上是一个以q
goal
为根节点且可以不断扩展的节点集motiong。本实施例中依据机械臂参数设置初始步长值init_step设为7.614,起始搜索树startt的步长startt_step和目标搜索树goalt的步长goalt_step在初始时都设置为init_step,即startt_step=goalt_step=init_step=7.614;
[0067]
步骤s3:采用目标偏置和metropolis接受准则在工作空间中筛选随机采样点q
rand
,本实施例中目标偏置概率p
goal
设置为0.05,rand为在[0,1]内随机生成的数值;若rand<p
goal
,随机采样点q
rand
为目标点q
goal
,若rand≥p
goal
,则采用metropolis接受准则来筛选随机采样点q
rand
,若采样点满足p=1,则接受此采样点,继续执行步骤s4;若p=0,则此采样点不被算法接受,重新进行随机采样,直至采样点满足p=1的情况;metropolis接受准则如下:
[0068][0069]
其中,q
nearest
表示起始搜索树startt中距离采样点q
rand
最近的节点,q
end
表示起始搜索树startt上一次扩展时节点集motions中最新添加的节点,符号d(q
a
,q
b
)表示节点位置a和节点位置b的路径代价,即λ为采样点接受范围调节参数;λ值越大,则采样点接受范围越小;λ值越小,则采样点接受范围越大。本实施例中λ初始值设为2;
[0070]
步骤s4:在起始搜索树startt上搜寻节点集motions中距离q
rand
最近的节点q
nearest
;设起始搜索树startt的步长为startt_step,若d(q
nearest
,q
rand
)≥startt_step,则依据:
[0071][0072]
扩展出新节点q
new_0
;若d(q
nearest
,q
rand
)<startt_step,则节点扩展失败,执行步骤s9;
[0073]
步骤s5:新节点q
new_0
扩展成功后,考虑新节点q
new_0
受起始节点斥力和目标节点引力影响,对新扩展节点q
new_0
的位置作如下势力场修正:
[0074][0075]
其中,q
new
表示为势力场修正后的新节点,b为斥力调节参数,c为引力调节参数,且b、c分别满足:
[0076][0077][0078]
步骤s6:对新节点q
new
重新选择父节点q
parent
。设radius=k_rrg_*log(carddbl);k_rrg_=e e/dimdbl,carddbl=startt.size 1;startt.size表示当前startt的节点数,e是自然对数的底,dimdbl是关节空间维度;本实施例中dimdbl=6。之后以q
new
为圆心,radius为半径在起始搜索树startt上搜寻半径radius范围内的节点,并逐个将其记为q
nears
[i](i=1,2,

,p;p表示满足搜索条件的节点数);将q
nears
[i]依次作为q
new
的备选父节点,计算从q
init
途径q
nears
[i]并运动到q
new
的路径距离总代价:
[0079]
q
new
[i].cost=q
nears
[i].cost d(q
nears
[i],q
new
)(i=1,2,

,p)
[0080]
其中,q
near
[i].cost表示q
init
运动到q
nears
[i]的路径距离代价。在不发生碰撞的前提下,将满足路径总代价最小即:
[0081]
q
new
.cost=min{q
new
[1].cost,q
new
[2].cost,

,q
new
[p].cost}的备选父节点拟作为q
new
最终的父节点q
parent

[0082]
步骤s7:再次判断机械臂从q
parent
运动至q
new
过程中是否发生碰撞,若不发生碰撞,则扩展成功,将q
new
加入startt的节点集motions中,并继续执行步骤s8;若扩展失败则跳转至步骤s9;
[0083]
步骤s8:起始搜索树的步长startt_step=startt_step init_step且λ=λ 1,执行步骤s10;
[0084]
步骤s9:startt_step设置为初始步长值init_step,λ=1,返回步骤s3;
[0085]
步骤s10:判断startt,goalt是否满足连接条件即d(qnew,qgoalt_nearest)=thr?其中,q
goalt_nearest
为目标搜索树goalt中距离q
new
最近的节点,thr为连接阈值;在本实施例中thr=0;
[0086]
若满足连接条件,则起始搜索树的根节点到目标搜索树的根节点之间经过的全部节点即为规划的路径;若不满足连接条件,则切换至目标搜索树goalt开始进行反向空间搜索;执行步骤s11;
[0087]
步骤s11:目标搜索树goalt以q
new
为反向目标扩展方向,扩展步长设置为goalt_step,若搜索树goalt向q
new
反向扩展时并未遇到障碍物且d(q
goalt_nearest
,q
new
)≥goalt_step时,依据
[0088][0089]
goalt_step=goalt_step init_step
[0090]
拓展反向新节点q
goalt_new
,并将q
goalt_new
加入到goalt的节点集motiong中。其中,q
goalt_nearest
表示目标搜索树goalt的节点集motiong中距离q
new
最近的节点;
[0091]
之后,目标搜索树goalt继续以q
new
为扩展方向扩展;若目标搜索树goalt扩展过程中遇到障碍物或d(q
goalt_nearest
,q
new
)<goalt_step,则目标搜索树goalt停止扩展,goalt_
step设置为初始步长值init_step后,执行步骤s12;
[0092]
步骤s12:判断startt,goalt是否满足连接条件,即是否满足d(q
new
,q
goalt_nearest
)=thr?
[0093]
若能够连接,则起始搜索树的根节点到目标搜索树的根节点之间经过的全部节点即为规划的路径;图6即为机械臂路径规划效果示意图。
[0094]
若不能连接,则交换至起始搜索树startt开始搜索空间;返回执行步骤s3。
[0095]
本专利不局限于上述最佳实施方式,任何人在本专利的启示下都可以得出其它各种形式的六自由度机械臂避障路径规划方法,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本专利的涵盖范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献