本发明涉及轨迹过渡方法领域,尤其涉及一种基于plc的机器人关节空间轨迹过渡方法。
背景技术:
1、机器人运动空间按运动性质可划分为关节空间和笛卡尔空间,关节空间的轨迹为点到点运动,笛卡尔空间的轨迹为直线、圆弧、螺旋线等几何运动。机器人进行点到点运动时,控制器直接对运动关节进行轨迹规划,无需对插补点进行运动学逆解解算,机器人控制器规划效率高。在机器人实际的现场作业,点到点运动占据较大运动比例,只有在进行实际“加工”作业时,如对物体进行具体焊接、喷涂等,才会进行笛卡尔空间的直线、圆弧等运动。
2、机器人进行连续的点到点运动,如果每条点到点运动指令独立规划,则机器人执行每条运动指令时,都需要经历速度从0加速到最大速度,再减速到0的启动、匀速、停止的过程。机器人在关节空间持续的启停运动不仅大大降低运动效率,并且会增加时间和能耗成本,加速机器人的关节磨损。因此,机器人在关节空间的连续点到点运动之间的轨迹过渡显得极为重要,同时,点到点运动间的过渡对提升机器人的作业效率也极为关键。
3、传统关节空间连续轨迹的过渡方法大多是将关节空间运动点通过运动学正解转化到笛卡尔空间的描述,形成笛卡尔空间下的连续直线运动,再做基于直线运动的轨迹过渡。比如在两直线交点处插入圆弧、贝塞尔曲线等,形成光滑轨迹,然后计算过渡曲线的起始、终止点,将过渡轨迹点切换到关节空间下,重新进行轨迹规划。这样在每进行一次关节空间连续点到点运动过渡时,都需要进行两次空间变换,并且需要处理关节空间与笛卡尔空间下运动速度连续性问题,极大地增加了时间成本和控制器计算负载。然而,上述方法只是保证了过渡段轨迹的位置光滑,若要实现连续位姿过渡,还需要对过渡段的姿态进行过渡规划,计算较为繁锁。
4、为解决上述问题,本技术中提出一种基于plc的机器人关节空间轨迹过渡方法。
技术实现思路
1、(一)发明目的
2、为解决背景技术中存在的技术问题,本发明提出一种基于plc的机器人关节空间轨迹过渡方法,本发明构建机器人运动虚拟轴、读取点到点运动指令参数、计算运动过渡曲线控制点、构建运动过渡贝塞尔曲线、运动虚拟轴轨迹规划插补、机器人关节轴轨迹规划插补,最终实现机器人关节空间点到点运动的轨迹过渡规划。
3、(二)技术方案
4、为解决上述问题,本发明提供了一种基于plc的机器人关节空间轨迹过渡方法,包括:
5、s1、构建机器人关节空间运动虚拟轴;
6、s2、读取点到点运动指令参数;
7、s3、计算运动过渡曲线控制点;
8、s4、构建运动过渡贝塞尔曲线;
9、s5、运动虚拟轴轨迹规划插补:
10、2条连续的点到点运动被划分成三段:点到点运动pstp0、贝塞尔过渡曲线p0p1p2、点到点运动p2pend。以下针对pstp0、p0p1p2、p2pend各段运动轨迹分别进行速度规划;
11、点到点运动pstp0的起点pst和终点p0确定机器人各轴之间的矢量关系,根据s1中计算的运动虚拟轴的运动参数限制值,对vvirtual、avirtual、jvirtual进行反映射,然后,判断每个轴的运动参数是否可能满足物理限制值;
12、s6、机器人关节轴轨迹规划插补。
13、优选的,在s1中,首先,确定机器人的关节数量n,以机器人各关节轴为向量建立n维运动空间;
14、然后,在n维运动空间中构建运动虚拟轴,确定运动虚拟轴的物理运动参数,根据机器人各关节预设的物理运动参数来计算运动虚拟轴的物理运动参数,包括最大速度vvirtual、最大加速度avirtual、最大加加速度jvirtual;
15、设定机器人各关节预设的物理最大速度、最大加速度、最大加加速度依次为vmax(n)、amax(n)、jmax(n),其中,n为机器人关节编号,范围为1...n;则机器人运动虚拟轴的运动参数限制值可由下面计算得到:
16、运动速度限制值vvirtual:
17、
18、运动加速度限制值avirtual:
19、
20、运动加加速度限制值jvirtual:
21、
22、优选的,在s2中,从机器人运动指令缓存中,读取2条连续点到点运动轨迹pstpmd和pmdpend。pstpmd运动指令包括起始点pst、中间点pmd、过渡精度δ;pmdpend运动指令包括中间点pmd、终止点pend;其中,运动轨迹点pst、pmd、pend位置信息依次为pst(θs1,θs2,...,θsn)、pmd(θm1,θm2,...,θmn)、pend(θe1,θe2,...,θen)。
23、优选的,在s3中,由上述步骤中运动指令信息计算2次贝塞尔曲线的3个控制点p0、p1、p2的位置信息。设定在n维空间中,点到点运动指令各个轴的运动位移依次为s1、s2、...、sn,其对应运动虚拟轴的位移则由此可计算点到点运动pstpmd和pmdpend指令对应运动虚拟轴的位移;
24、pstpmd指令运动虚拟轴位移:
25、lsm=sqrt(pow((θm1-θs1),2)+pow((θm2-θs2),2)+…+pow((θmn-θsn),2))
26、pmdpend指令运动虚拟轴位移:
27、lme=sqrt(pow((θel-θm1),2)+pow((θe2-θm2),2)+…+pow((θen-θmn),2))
28、根据运动虚拟轴的运动位移及连续2条点到点运动过渡精度δ计算运动过渡长度rδ:
29、
30、控制点p0的位置坐标计算得:
31、p0(θm1-(θm1-θs1)*rδ/lsm,θm2-(θm2-θs2)*rδ/lsm,…,θmn-(θmn-θsn)*rδ/lsm)
32、控制点p1与中间点pmd重合,即:
33、p1=pmd
34、控制点p2的位置坐标计算得:
35、p2(θm1+(θe1-θm1)*rδ/lme,θm2+(θe2-θm2)*rδ/lme,...,θmn+(θen-θmn)*rδ/lme)。
36、优选的,在s4中,由上述步骤计算得到2次贝塞尔曲线的3个控制点p0、p1、p2的位置信息,则可计算点到点运动psp0、psp1、psp2对应的运动虚拟轴的运动位移ls0、ls1、ls2;
37、psp0指令运动虚拟轴位移:
38、ls0=sqrt(pow((θ01-θs1),2)+pow((θ02-θs2),2)+…+pow((θ0n-θsn),2))
39、psp1指令运动虚拟轴位移ls1等于lsm,即:
40、ls1=lsm
41、psp2指令运动虚拟轴位移:
42、ls2=sqrt(pow((θ21-θs1),2)+pow((θ22-θs2),2)+…+pow((θ2n-θsn),2))
43、根据过渡曲线3个控制点p0、p1、p2的运动虚拟轴位移,构建运动虚拟轴连续轨迹的2次贝塞尔过渡曲线:
44、l(t)=(1-u)2*ls0+2*u*(1-u)*ls1+u2*ls2,u∈[0,1]。
45、优选的,在s5中,具体方法为:
46、s51、根据点到点运动pstp0确定机器人各轴之间位置矢量关系cos(i),
47、cos(i)=(θ1-θs1)/ls1
48、s52、由上述位置矢量关系对vmax(i)进行正向映射,从而得到每个关节轴vmax(i)在运动虚拟轴上映射的最大速度映射值vvirmap(i)
49、vvirmap(i)=vmax(i)/cos(i)
50、s53、将s52中所得各轴的vvirmap(i)、vvirtual中值最小者作为运动虚拟轴最大速度vvirtual_new;
51、s54、同理,采用上述方法到运动虚拟轴最终的最大加速度avirtual_new和最大加加速度jvirtual_new;
52、s55、根据上述获取到的运动虚拟轴vvirtual_new、avirtual_new、jvirtual_new,采用s型速度曲线对点到点运动pstp0进行轨迹规划,从而完成点到点运动pstp0的轨迹规划;
53、p0p1p2速度规划:
54、过渡曲线p0p1p2为2次贝塞尔曲线,采用辛普森积分法计算过渡轨迹的曲线长度,运动速度为点到点运动pstp0的末端速度vends1,使用匀速运动实现过渡曲线p0p1p2速度规划;
55、p2pend速度规划:
56、点到点运动p2pend的运动轨迹规划,参照点到点运动pstp0轨迹规划;
57、速度规划完成后,根据plc控制器的插补周期对运动虚拟轴的pstp0、p0p1p2及p2pend的位移进行插补,从而得到每个插补点的位移长度。
58、优选的,在s6中,s5中对运动虚拟轴位移进行插补,得到每个插补点位移长度,假设插补点总个数为m,插补点位移在每段运动中位移比例为γi,其中,i的范围为1-m。机器人各运动轴与运动虚拟轴的运动曲线变化趋势一致,各轴插补点位移比例也为γi,从而计算出每个轴的轨迹插补点,完成机器人关节轴的轨迹规划插补。
59、本发明的上述技术方案具有如下有益的技术效果:
60、本方法实现机器人连续点到点运动过渡时,不需要进行机器人运动空间切换,避免了繁锁的计算;
61、本方法构建机器人虚拟轴,通过对虚拟轴连续点到点运动过渡及轨迹规划,从而实现机器人所有关节轴的轨迹过渡与规划,简单高效地解决了机器人多轴同步及轨迹平顺问题。