基于Jerk值限制的三阶匀加减速运动轨迹设计

2019-09-02 03:28杨旭东王淞
现代电子技术 2019年9期

杨旭东 王淞

摘  要: 为了提高机器人的运动精度,让机器人的运动更加平滑,在二阶运动轨迹的基础上加入Jerk值这一限制条件。实验中根据Jerk值的变化将一个两点之间的运动轨迹分成七段,建立各个阶段的数学模型。设计运动轨迹的逻辑控制算法,以Simulink中Stateflow工具箱为载体,利用Stateflow中的状态模块以及逻辑控制转换模块,将建立的运动轨迹数学模型以及逻辑控制演算法结合在一起,设计成一个三阶匀加减速运动轨迹产生器。通过三阶运动曲线生成的梯形加速度轨迹可以使机器人在运动过程中减少运动冲击,延长使用寿命,在实际工业应用中具有十分重要的意义。

关键词: Jerk; Stateflow; 匀加减速运动; 轨迹规划; 机器人控制; 轨迹算法

中图分类号: TN99?34                          文献标识码: A                           文章编号: 1004?373X(2019)09?0103?04

Design of third?order uniform acceleration and deceleration motion trajectory

based on Jerk value limitation

YANG Xudong, WANG Song

(School of Mechanical Engineering, Guizhou University, Guiyang 550025, China)

Abstract: In order to improve the motion accuracy of the robot and make the robot′s motion more smooth, the limitation of Jerk value is added to the second?order motion trajectory. According to the change of Jerk values in the experiment, the motion trajectory between two points is divided into seven sections, and the mathematical model of each section is established. The logic control algorithm of the motion trajectory is designed. The Stateflow toolbox in Simulink is taken as the carrier, and the state module in Stateflow and logic control conversion module are used to combine the logic control algorithm with established mathematical model of motion trajectory to form a third?order uniform acceleration and deceleration motion trajectory generator. The trapezoidal acceleration trajectory generated by the third?order kinematic curve can reduce the motion impact and prolong the service life of the robot during the movement process of the robot, which is of great significance in practical industrial applications.

Keywords: Jerk; Stateflow; uniform acceleration and deceleration motion; trajectory planning; robot control; trajectory algorithm

0  引  言

在机器人的工作过程中,机器人的运动轨迹可以划分成多个点到点的运动轨迹叠加而成。为了实现机器人在运动过程中的精确性、稳定性与平滑性,文献[1]提出一种点到点的运动轨迹规划方法:在运动轨迹设计过程中,通过运动速度与加速度来规划运动轨迹的产生。由于在运动过程中加速度为阶跃信号,加速度轨迹从零瞬间变化到最大值,在实际应用过程中会让执行机构产生不连续的驱动力,机器人在运动过程中会产生运动冲击,影响控制精度。针对以上问题,作者在运动轨迹中加入第三个运动参数Jerk值,通过矩形曲线Jerk值作用,加速度曲线变为梯形,速度曲线为S形,通过该方法生成的运动轨迹将更加平滑,执行机构在任何情况下都将产生连续的驱动力,减少运动冲击,延长机构的使用寿命。

Matlab软件因为其强大的功能,在机械自动化领域的应用越来越广。Stateflow是Matlab Simulink中一个具有逻辑控制功能的工具箱,可以通过Stateflow中的状态模块和流程图模块,建立需要的控制模型,完成想要的邏辑控制。将机器人运动的轨迹规划与Stateflow结合起来,形成一种全新的轨迹控制方法,与传统的通过C语言编写控制程序相比,更加简单实用。

1  三阶匀加减速运动轨迹数学模型

三阶匀加减速运动轨迹是指:在运动轨迹的运动参数中,加入除速度与加速度之外的第三个运动参数Jerk值。把Jerk值设置成阶跃信号曲线,可以得到梯形的加速度曲线与S形的速度曲线,最终获得更加平滑的运动轨迹曲线。设定运动轨迹的初始位置为[x0],初始速度为[v0],初始加速度为[a0],Jerk为[j],运动轨迹的基本原理如下:

在上述运动方程的基础上,通过Jerk的不同变化,可以将整个点到点的运动过程分成七段,Jerk值从正最大值到零再到负最大值,通过这种变化产生连续变化的加速度与速度,得到平滑的运动轨迹,如图1所示。

图1  Jerk值变化示意图

在运动过程中,设定起始点[S0]的坐标为Pos_start,起始时间为[T_input],终点[S7]的坐标为Pos_target,到达时间为[Tout],系统运行时间为[T_run],整个运行过程需要的时间为[T_exe]。通过以上运动参数,求出运动过程中的最大速度、最大加速度以及Jerk值。

在求解整个匀加减速运动轨迹之前还需要知道到达每个节点的时间。设置Jerk值作用的时间为[T]_jm,恒定加速度作用的时间为[T]_am,恒定速度作用的时间为[T]_vm,七个节点的时间分别为[T]_[S1]~[T]_[S7]。利用运动轨迹的最大速度、加速度与Jerk值,就可以求出运动轨迹到达每个节点的位移[Pos_S1~Pos_S6]与速度[Vel_S1~Vel_S6]。在已知各个节点的时间分布以及位移和速度以后,利用式(4)~式(6)就可以求出整个点到点的匀加减速运动轨迹,每个阶段的运动方程式如下:

2  以Simulink Stateflow为基础的轨迹控制算法设计

2.1  运动轨迹算法设计

为了使机器人在运动过程中控制起来更加简便,实验中设计了如图2所示的轨迹算法路程图。首先在轨迹产生器的输入端输入起始坐标与终点坐标,系统根据式(4)~式(6)计算出完成本次轨迹所需要的最大速度、最大加速度以及Jerk值。以这三个运动参数为基础,结合运动轨迹数学模型产生一个三阶匀加减速运动轨迹曲线。在整个轨迹输出的过程中,系统会时刻监测有没有新的位置指令输入。如果在轨迹还没有到达终点坐标时输入了一个新的位置指令,则系统将停止向上一次输入的终点坐标运动,以下达新指令的时间为起始时间,那一刻所处的位置坐标为起始坐标,以新的输入坐标为终点坐标去规划一个运动轨迹。当系统运动到目标位置以后,它会再一次检验有没有新的位置坐标输入,如果有将向下一个坐标运动,如果没有新的指令输入,则轨迹输出会一直停留在最后一个终点坐标上。

2.2  Simulink Stateflow控制流程设计

在Matlab Simulink环境中,根据Stateflow工具箱中的状态模块与流程图的判定条件语法,结合逻辑控制算法,组成运动轨迹控制的核心。如图3所示,Initialize模块为起始模块,设置运动轨迹的初始化运动参数,并且将参数送到运动轨迹的数学模型中,产生第一个运动轨迹,到达起始点。之后系统就会判断目标指令有没有变化,当输入新的目标指令以后,系统进入Judge模块,重新设置新的运动参数,然后将新的运动参数传送到运动轨迹的数学模型中,生成新的运动轨迹。在运动过程中,Judge状态模块也会一直检测是否有新的指令输入。如果有新的指令输入,系统将会更新Judge模块的轨迹参数,将重置的参数送入到运动轨迹数学模型中,生成新的运动轨迹。

图2  逻辑算法流程图

图3  Stateflow逻辑控制结构

3  运动轨迹仿真实验

整个运动轨迹的控制实验都是在Matlab Simulink环境中完成。首先,将建立的運动轨迹数学模型编写成Matlab控制程序,封装成一个轨迹输出控制模块;然后,使用Simulink Stateflow设计的轨迹控制算法封装成一个逻辑算法控制模块,两个模块之间通过运动轨迹参数建立联系;最后,加入输入端口与输出端口,建立一个三阶匀加减速运动轨迹产生器,如图4所示。通过指令输入端口输入目标位置,经过逻辑算法控制模块将运动轨迹参数输送到运动轨迹的数学模型中,通过数学模型的计算,将生成的运动轨迹输送到轨迹输出端口。

为了检验实验中所建立的匀加减速运动轨迹的实际效果,设定起始坐标为0 mm,终点坐标为100 mm,整段轨迹输出需要的总时间为3 s。通过该轨迹产生器生成运动轨迹的位移轨迹、速度轨迹、加速度轨迹以及Jerk轨迹如图5所示。

图4  Stateflow轨迹产生器

图5  匀加减速运动轨迹

4  结  论

为了提高整个运动轨迹的平滑性,减少执行机构的运动冲击,本文设计了一种基于Jerk值限制的三阶匀加减速运动曲线。将两点之间的运动轨迹分成七段,建立相应的数学模型。使用Matlab Simulink中的Stateflow逻辑状态控制方法,将运动轨迹的数学模型与设计的控制算法进行结合,设计了一个三阶匀加减速运动轨迹产生器。

实验中使用的轨迹设计方法与传统机器人的运动轨迹设计相比,具有如下优点:

1) 基于Jerk值的三阶运动轨迹与二阶运动轨迹相比,加速度变化更加平滑,执行机构在运动过程中不会受到冲击,使机器人的控制更加平稳,延长了机构的使用壽命。

2) 基于Stateflow的逻辑算法控制与通过C语言来编写算法相比,拥有可视化的操作界面,整个设计流程变得更加清晰简单,没有复杂的程序代码,通过简单的状态模块搭建以及判定条件设置即可完成复杂的逻辑控制。

参考文献

[1] HASCHKE R, WEITNAUER E, RITTER H. On?line planning of time?optimal, Jerk?limited trajectories [C]// 2008 IEEE/RSJ International Conference on Intelligent Robots and Systems. Nice: IEEE, 2008: 3248?3253.

[2] XIONG J, XU X, ZHAO X, et al. Research on trajectory?planning based on genetic algorithms for SCARA robot [C]// Proceedings of 2014 IEEE Chinese Guidance, Navigation and Control Conference. Yantai, China: IEEE, 2015: 1321?1324.

[3] DIMARCO C, ZIEGERT J C, VERMILLION C. Exponential and sigmoid?interpolated machining trajectories [J]. Journal of manufacturing systems, 2015, 37: 535?541.

[4] KR?GER T, WAHL F M. Online trajectory generation: basic concepts for instantaneous reactions to unforeseen events [J]. IEEE transactions on robotics, 2010, 26(1): 94?111.

[5] MathWorks. Model and simulate decision logic using state machines and flow charts [EB/OL]. [2018?02?13]. https://www.mathworks.com/products/stateflow.html.

[6] RYMANSAIB Z, IRAVANI P, SAHINKAYA M N. Exponential trajectory generation for point to point motions [C]// 2013 IEEE/ASME International Conference on Advanced Intelligent Mechatronics. Wollongong: IEEE, 2013: 906?911.

[7] GAO N N, WANG D Q, DING M W, et al. Control system design and trajectory planning for SCARA robots [J]. Applied mechanics & materials, 2014, 602: 1001?1005.

[8] BROQUE?RE, X, SIDOBRE D, HERRERA?AGUILAR I. Soft motion trajectory planner for service manipulator robot [C]// 2008 IEEE/RSJ International Conference on Intelligent Robots and Systems. Nice: IEEE, 2008: 2808?2813.

[9] SENCER B, ISHIZAKI K. Smooth polynomial interpolation for point?to?point trajectories with vibration avoidance [C]// 2015 IEEE Conference on Industrial Electronics Society. Yokohama: IEEE, 2016: 2070?2075.

[10] KATZSCHMANN R, KROGER T, ASFOUR T, et al. Towards online trajectory generation considering robot dynamics and torque limits [C]// 2013 IEEE/RSJ International Confe?rence on Intelligent Robots and Systems. Tokyo: IEEE, 2013: 5644?5651.

[11] ARDAKANI M M G, STEMMANN M, ROBERTSSON A, et al. An analytic solution to fixed?time point?to?point trajectory planning [C]// 2015 IEEE Conference on Control Applications. Sydney: IEEE, 2015: 306?311.