APP下载

一种基于运动学约束的工业机器人轨迹规划算法

2020-12-25孙巍伟王晗黄民

关键词:运动学约束加速度

孙巍伟,王晗,黄民

(北京信息科技大学 机电工程学院,北京 100192)

0 引 言

轨迹规划在工业机器人领域具有十分重要的意义,如何为多自由度的机械臂生成柔性而准确的轨迹,学者们进行了广泛的研究。在轨迹规划过程中,限制机器人的运动学约束可以减少执行机构的磨损,并且能够提高追踪的速度和精度[1-5],因此,在进行轨迹规划时,往往要考虑机器人的运动学约束,如速度、加速度和加加速度等。此外,由于机器人控制具有实时性的要求,轨迹规划算法必须快速,以便机器人能够对周边环境的变化产生即时的响应。

为实现机器人在关节坐标系或者任务坐标系中的柔性运动,国内外开展了大量的研究工作。J.Lloyd等[6]通过改变相邻路径区间内的传递曲线的形状进行优化设计,实现了工业机器人柔顺的轨迹规划;LIU S[7]把三次多项式用于表达单自由度机器人的运动轨迹,取得了一定的成效;R.L.Andersson[8]把单独的四次多项式函数用于机器人运动轨迹规划中,用于表达整条轨迹;S.Macfarlane等[9]则在其工作基础上进行延伸,成功地把7段五次多项式应用于工业机器人的轨迹规划中;周旋[10]、张平[11]、翁文武[12]将三次B样条曲线插值算法应用于工业机器人的轨迹规划中。此外,还有很多学者利用各种方法进行研究,如利用S型速度曲线[13]、双向寻优插补算法[14]、三次非均匀B样条[15]等。但是,目前针对工业机器人的轨迹规划一般是基于高阶的多项式插值以及样条曲线插值等方法,这些方法虽然能够产生相对平滑和柔性的运动轨迹,但其计算量比较庞大,无法满足实时性的要求,而且在机器人的运动学约束上也存在一些问题。

基于上述分析,本文提出一种多自由度的快速平滑轨迹生成算法,使用三次多项式表达机器人的运动轨迹,兼顾到机器人的运动学约束,包括速度、加速度和加加速度。该算法不涉及任何优化,因此,计算复杂度低,能够在机器人的一个控制周期(1~2 ms)内完成轨迹的计算和生成,从而满足机器人运动控制的实时性要求。

1 轨迹规划算法

1.1 问题描述

工业机器人是由一系列通过关节相连的连杆组成的一个运动链,其中,每个空间关节可表示为i=1,2,…,n,i为机器人运动链的序列位置[16]。图1所示为某7自由度工业机械臂及其拓扑结构,该机械臂具有7个球形关节,每个关节都具有不同的运动速度、加速度和加加速度的最大约束,每个关节的运动学约束也会随着机器人所执行任务的不同而有所差异。比如,机器人在末段执行器空载时或者执行较长的运动路线时,为了降低机器人所受的应力,轨迹规划时应适当限制其加速度和加加速度的值,而在机器人执行夹持或抓取任务时,相应的关节可以具有较大的速度和加速度。另外,由于机器人具有多个独立的运动关节,如何保证所有自由度机构的运动同步,对于提高机器人运动精度有着重要的意义。

图1 7自由度工业机器人及其拓扑结构Fig.1 7-DOF industrial robot and its topology

本文针对多自由度的工业机器人轨迹规划问题,考虑将一条路径转换为机器人控制器能够直接执行的轨迹,即时间的函数。该路径由一系列的路径点P组成。表1所示是在轨迹规划中所用到的符号。

表1 轨迹规划中所用到的符号Tab.1 Symbols used in trajectory planning

因此,轨迹规划的目的是根据每个路径点P的机器人的运动状态要求,生成一条机器人轨迹,满足

(3)

其中,∀i∈[1,n]。

1.2 单自由度轨迹规划

从最简单的单自由度轨迹规划开始,假定机器人只通过两个路径点,分别为起始点Pt0和终止点Ptf,机器人在这两个点的速度和加速度都为0,因此,机器人在这两个点的运动状态分别为

(x(t0),0,0),

(4)

(x(tf),0,0)。

(5)

为了达到运动时间最优,在运动过程中,机器人的速度、加速度和加加速度中的某个或某几个参数要达到其最大值,因此,采用7段多项式叠加的形式表示一条单自由度的运动轨迹,其运动学各项参数如图2所示。

图2 单自由度7段式机器人的运动轨迹Fig.2 Single-DOF seven-stage robot motion trajectory

由图2可以清晰看到,该轨迹被分成了7段,每一段都有一个运动学变量达到了最大值。在T1段机器人的加加速度达到了其最大限定值,此时机器人处于变加速运动状态,各个变量表达为

(9)

机器人在T2段的运动学方程为

(13)

在第2段运动中,机器人的加速度达到最大值,因此,加加速度被设定为0,以防止加速度超过其最大限制,该时间段内机器人以最大的加速度执行匀加速运动。

机器人在T3段的运动学方程为

(17)

该时间段内,机器人处于变加速运动,加速度值随时间减小但依然为正值,因此,机器人仍然加速直到速度达到其最大约束值Vmax。然后机器人运动达到T4阶段,该区间内机器人以最大速度执行匀速运动,由图2可以看出,机器人的运动轨迹关于T4段是对称的,T5~T7段内,机器人执行减速运动,从而在终点实现预期的运动状态。T4段机器人的运动学方程为

(20)

x(t)=Vmaxt+x(t3)。

(21)

在7段式的轨迹生成算法中,采用Bang-Bang加加速度曲线,保持了机器人速度和加速度的连续性,计算过程未涉及任何优化算法却达到了条件约束范围内的最优时间,原因是确保了在每个运动阶段,系统都会有一个变量达到最大值,这就保证了机器人在最短的时间内达到最大的加速度和速度。

1.3 多自由度轨迹规划

工业机器人往往由多个串联或者并联的关节组合而成,是一个多自由度的系统。多自由度系统的轨迹规划可以认为是多个独立单自由度规划的叠加,但是实际的工业应用中,简单的叠加可以实现多自由度系统的运动,却无法满足精度上的要求,因为通过单自由度算法规划出的n条轨迹,虽然每条轨迹都达到了时间最优,但每条轨迹的执行时间都不相同,这会导致机器人的某个关节已经停止运动的时候,其他关节仍在运动,这样的运动形式会大大影响机器人在轨迹追踪时的精度。因此,在对多组自由度系统进行轨迹规划时,要考虑不同自由度之间的时间同步性。时间同步是指机器人在执行运动时,所有自由度在同一时刻完成该运动,时间同步可以减少机器人运动时的误差,从而保证机器人在轨迹追踪时的精度。算法1说明了如何将多自由度的轨迹进行时间同步。

算法1:多自由度轨迹同步

输入:机器人的起点运动状态M(ti)和终点运动状态M(tf),运动学约束K

输出:时间同步的运动轨迹

1:fork=1 到ndo

2:计算第k个自由度的轨迹,并计算该自由度上轨迹的执行时间Tk

3:通过比较得到最大执行时间Tmax

4:计算时间调整系数Ci=Tk/Tmax(Ci≤1)

5:改变每个自由度上运动学约束Ki′=KiCi

6:根据新运动学约束Ki′计算新的运动轨迹

7:end for

算法首先按照旧的运动学约束计算每个自由度上的运动轨迹与运行时间,然后根据最大的运行时间对其他自由度上的运动进行调整,方法是通过简单的线性运算减小运动学约束,通过这种方法,机器人能够在其中一个自由度上实现给定的最大速度、加速度和加加速度,而将其余n-1个自由度运动时间延长至与该自由度相同。

2 仿真验证

为了验证本文提出的算法,分别使用时间未同步和时间同步算法生成一条二自由度的轨迹。该轨迹连接3个路径点,其位置为P1(0,0),P2(0.2,0.3)和P3(0.1,0.5)。假定机器人在这3个路径点的运动速度和加速度都为0,该例中采用的运动学约束为

|Jmax|=0.9 m/s3,

|Amax|=0.3 m/s2,

|Vmax|=0.15 m/s。

(22)

图3和图4分别是未使用同步算法和使用同步算法生成的运动轨迹。

图3 时间未同步的二自由度运动轨迹Fig.3 Two-DOF trajectories of time unsynchronized

从图3可以看出,未同步的轨迹中,x轴的运动完成的时间早于y轴上的运动,但是两个轴上的运动学参数都到达了其最大的约束值。

从图4可以看出,时间同步的轨迹则在两个自由度上保持了相同的运动时间,为了保证两个轴的运动时间相同,算法对x轴原本的运动学约束进行了调整。计算效率上,通过100次的轨迹计算,该二自由度轨迹在Core(TM)2 Quad CPU 2.66 GHz的计算机上平均计算时间为0.8 ms。因此,该算法可以满足实时性的需求,比如视觉伺服等。

3 试验结果

本文将提出的轨迹生成算法运用到AuBo-i5工业机械臂上,该机械臂含有6个关节自由度,试验设定机械臂的起始关节位置为(0,0,0,0,0,0),终点关节位置为(120°,50°,20°,60°,40°,90°),机械臂的运动学约束设置为(Jmax,Amax,Vmax)=(90 °/s3,30 °/s2,15 °/s)。采用提出的时间同步算法计算生成运动轨迹,然后发送给机械臂执行,图5 记录了机械臂的实际运动轨迹及各项参数。可以看出,机械臂在所有的关节上保持了相同的运动时间,由于在独立的自由度上,关节1的运动距离最大,运动时间最长,因此,只有该关节的运动学参数达到了约束范围内的最大值,而其余各关节为了保证能够达到相等的运动时间,按照比例减小了其运动学约束。该6自由度轨迹的计算时间仅为0.9 ms,因此,完全可以满足工业机器人运动控制实时性的要求。

图4 时间同步的二自由度运动轨迹Fig.4 Two-DoF trajectories of time synchronization

图5 机械臂的试验运动轨迹Fig.5 Experimental trajectories for the robot manipulator

该试验考虑了工业机械臂关节空间的轨迹规划,本文提出的轨迹生成算法主要应用在路径规划算法的下一层,即路径规划给出路径点后由本文的算法计算出相应的运动轨迹。工业机器人运动轨迹规划包含关节空间轨迹规划和笛卡尔空间轨迹规划,由于受自由度限制,笛卡尔空间光滑的轨迹可能不一定很合理,因此需要引入合理的逆运动学算法将空间路径点转化为合理的关节路径点,再利用提出的算法进行计算。

4 结 语

本文提出了一种基于运动学约束的工业机器人轨迹规划算法,该算法使用三次多项式表达机器人轨迹,因此可以生成柔性的运动。由于该方法不涉及任何优化算法,轨迹的产生由多项式直接计算生成,所以该算法所需要的计算时间极短,可以在机器人一个运动控制周期内生成运动轨迹,这对将各种传感器信号集成到机器人的反馈控制中有重要的实际意义。同时提出了一种简单有效的时间同步策略以减小机器人轨迹跟踪时的误差,通过试验验证,该算法符合机器人的运动控制实时性要求,可以作为机器人控制逻辑结构中路径规划和底层控制的中间层,轨迹生成算法接收路径规划的结果,并快速地将其转化为机器人底层控制器可以直接执行的时间函数。因此,该算法在视觉伺服或者力觉阻抗控制的应用中具备一定的使用价值,可以在未来开展相应的试验验证。

猜你喜欢

运动学约束加速度
“鳖”不住了!从26元/斤飙至38元/斤,2022年甲鱼能否再跑出“加速度”?
复合切割机器人的运动学分析与仿真研究
天际加速度
创新,动能转换的“加速度”
死亡加速度
马和骑师
基于运动学特征的新型滑板对速滑蹬冰动作模拟的有效性
基于运动学原理的LBI解模糊算法
适当放手能让孩子更好地自我约束
履带式推土机行驶系统运动学分析