APP下载

基于MATLAB Robotics的SCARA机器人运动学分析及轨迹规划

2018-05-05刘长柱

机电工程技术 2018年4期
关键词:位姿执行器运动学

刘长柱,曹 岩,贾 峰,高 硕,韩 冲

0 前言

机器人运动学分析是机器人研究和设计的基础,是机器人研究中动力学分析、运动控制及机器视觉研究等内容的前提[1]。机器人技术日新月异,机器人运动学仿真和轨迹规划在机器人设计、控制方面具有重要意义。对于机器人运动系统的研究和确立,很大程度上影响了机器人系统整体的基本性能[2]。SCARA机器人关节较少,运动灵活,精度较高,经常用来完成一些搬运、装配任务。由于机器人价格昂贵,不便用实物进行试验,因此在进行装配任务之前需要规划其运动轨迹,对机器人进行运动学仿真,研究机器人的动态性能。

关节式机器人由一系列关节和连杆按任意的顺序连接而成,根据关节与连杆参数进行矩阵变换,利用高斯消去等方法求解变换矩阵的逆,推导出机器人运动学方程。本文以四自由度SCARA机器人为研究对象,利用D-H参数法建立SCARA机器人运动学模型,建立各关节坐标,求出正逆解表达式。然后借助MATLAB Robotics工具箱,验证SCARA机器人运动学参数的正确性,研究运动学方程和进行轨迹规划。求解各个机械臂运动参数变化,利用MATLAB工具箱,减少原本繁琐的数学计算,具有一定的实际研究意义。

1 SCARA机器人运动学分析

机器人运动学分析[3]是通过分析机器人各连杆参数进一步计算末端执行器的位姿。接下来通过D-H参数法建立SCARA机器人每个连杆的笛卡尔坐标系和连杆参数,利用齐次矩阵和D-H参数法建立机器人运动学方程。在SolidWorks软件下建立SCARA机器人的三维模型,如图1所示。SCARA机器人具有四个自由度,大臂、小臂的回转运动,执行末端绕Z轴旋转和沿Z轴上下移动。SCARA机器人主要完成搬运、装配等工作,各关节的笛卡尔坐标系如图2所示,D-H连杆参数表如表1所示。

图1 SCARA机器人三维模型

表1中,杆件长度为:d1=370 mm,d3=320 mm,关节距离为:L1=300 mm,L2=250 mm。

图2 SCARA机器人的D-H坐标系

表1 运动参数和关节变量

1.1 正运动学分析

机器人的正运动学的前提是已知各杆件的D-H参数和关节变量,进一步计算机器人末端连杆的坐标系相对于基础坐标系的位姿。通常i-1Ti表示连杆i-1在连杆i坐标系中的位姿(i=1,2,3,4)。

式 (1) 中, cθi=cosθi, sθi=sinθi, cαi=cosαi,sαi=sinαi, θi为SCARA机器人i关节转角, αi为绕 xi轴从zi-1转至zi扭角,di为沿zi-1轴从xi-1轴量至xi轴连杆距离,将各个连杆变换矩阵依次相乘,求解机器人末端执行器正运动学方程:

式(2)为SCARA机器人手臂变换矩阵0T4,指的是末端坐标系相对基坐标系的位姿,也是研究机器人关节运动的重要环节。式(2)中:

其中θ1、θ2、θ3和θ4为已知SCARA机器人各关节转角,nx、ny、 px、 py和 pz是待求解的机械臂末端执行器位姿,并且 nx=oy, ny=-ox, az=1, si=sinθi,ci=cosθi, sij=sin(θi+θj), cij=cos(θi+θj)。

1.2 逆运动学分析

机器人的逆运动学分析是使驱动机器人达到期望位置,计算机器人各关节和连杆变量[3-5]。机器人逆运动学分析具有多解性,根据机器人的实际工作环境,得出唯一正确解。利用变量分离法,将单个矩阵的逆T-1n-1(n=1,2,3,4)左乘上面所列方程两端,令对应元素对应相等,可求出各关节变量值。

(1)求关节变量1

(2)求关节变量2

(3)求关节变量d3

令左右矩阵中的第三行第四个元素(3.4)相等,可得:

式(5)中:d3为关节变量,即沿z2轴从x2轴量至x3轴连杆距离,pz是已知的机械臂末端执行器位姿。

(4)求关节变量θ4

令左右矩阵中的第二行第一个元素(1.1,2.1)相等,即:

式(6)中:nx和ny是已知的机械臂末端执行器位姿,θ1、θ2和θ4待求解的SCARA机器人关节1、2和4转角。

2 SCARA机器人轨迹规划及仿真

轨迹规划是根据机器人执行的命令,满足一定的束缚,分析机器人手臂关节在工程运动中各关节转角的运动变化。机器人的轨迹规划对机器人运动速度、精度、冲击和振动有重要影响,一种好的轨迹规划方法可以提高机器人的稳定性、工作效率[6]。

2.1 SCARA机器人模型

(1)在进行运动学仿真前,根据表1的参数,调用MATLAB工具箱中Robotics Toolbox的Link和Robot函数创建机器人对象[7],将机器人命名为‘SCARA’,L=Link([al⁃phaA theta D sigma],CONVENTION),

>>L1=LINK([0 0 0 370 0],'mod');

>>L2=LINK([0 300 0 0 0],'mod');

>>L3=LINK([0 250 0 0 1],'mod');

>>L4=LINK([0 0 0-500 0],'mod');

>>S=robot({L1,L2,L3,L4},'SCARA');

参数CONVENTION可以取‘standard’和‘modified’,其中‘standard’代表采用标准的D-H参数,‘modified’代表采用改进的D-H参数。参数‘alpha’代表扭转角,参数‘A’代表杆件长度,参数‘theta’代表关节角,参数‘D’代表横距,参数‘sigma’代表关节类型:0代表旋转关节,非0代表移动关节。

(2)假使初始状态机器人各关节角度为零。通过如下程序,即可显示θi=0时,SCARA机器人的三维图,如图3所示。

图3 SCARA机器人三维模型图

>>plot(S,[0 0 0 0])

(3)通过drivebot函数可以驱动机器人运动,如图4所示,通过调节滑块按钮可以观察机器人末端相对于基坐标系的空间位置变化情况。

>>drivebot(SCARA)

图4 SCARA机器人关节驱动图

2.2 轨迹规划及仿真

假设该机器人的各关节的初始角度为Q0=[0 0 0 0],末关节角度为Q1=[pi/2 pi/4 0-pi/4]。利用工具箱中[Q QD QDD]=JTRAJ(Q0,Q1,T)命令来对多关节机器人进行仿真。仿真程序如下:

图5 机器人末端在X、Y、Z方向上的位移

>>t=0∶0.056∶2;%时间向量

>>Q0=[0 0 0 0];%初始位姿

>>Q1=[pi/2 0 pi/4-pi/4];%末位姿

>>[Q QD QDD]=JTRAJ(Q0,Q1,t);%关节空间规划

>>T=FKINE(SCARA,Q);%机器人运动学正问题求解

>> subplot(3,1,1);

>>plot(t,squeeze(T(1,4,∶)));

>>xlabel('Time(s)');

>>ylabel('X(m)');

…%机器人末端的运动轨迹曲线如图5所示。

其中,参数Q为从初始状态Q0到末状态Q1的关节空间规划轨迹,TR是Q定义的每个向前运动学的正解,QD和QDD为返回的规划轨迹的速度和加速度。

用MATLAB Robotics中的plot函数对各关节运动轨迹进行仿真,编程得出SCARA机器人关节角位移、速度和加速度规划轨迹曲线如图6所示。部分程序如下:

>>subplot(2,2,1);

>>plot(t,Q(∶,1));

>>xlabel('Time(s)');

>>ylabel('joint1(rad)');

>>subplot(2,2,2);

>> plot(t,Q(∶,2));

>>xlabel('Time(s)');

图6 关节空间轨迹规划仿真结果

>>ylabel('joint2(rad)');

结合各关节的运动仿真及图6可得出,关节机器人从初始状态到末状态过程中,运动平稳,速度和加速度变化平滑,无突变。表明机器人手臂在工作过程中冲击较小,SCARA机器人连杆参数设计合理,可以达到期望的效果。

3 运动学正逆问题的验证

3.1 运动学的正问题

机器人运动学正问题给定关节角度变量Q,求末端执行器相对基座的位姿矩阵0T4。运用MATLAB对0T4进行求解,取各连杆变量:Q=[pi/4 pi/2 0-pi/4],根据前面推导的方程可求得末端执行器的位姿矩阵0T4,用fkine函数TR=FKINE(SCARA,Q),输入上述关节变量值,直接得到机器人末端执行器的位姿矩阵。两者结果相等,表明运动学正问题求解无误。

3.2 运动学的逆问题

机器人的运动学的逆问题与正问题不同具有复杂性。通过ikine函数设定初始值,运用数值迭代法经过多次迭代来求解关节角,可得到逆运动学的唯一解[8-9]。调用Q=IKINE(SCARA,T,Q)函数,实现机器人运动学逆问题的求解。MATLAB软件为机器人的研究提供了强大的分析和仿真能力,为之后的机器人动力学分析和轨迹规划奠定了基础。

4 结论

本文以SCARA四自由度机器人为研究对象,借助MATLAB Robotics Toolbox工具箱,求解机器人的运动学方程和轨迹仿真。结果表明:(1)通过移动手柄位置,可以观察机器人末端执行器运动状态;(2)通过规划机器人运动轨迹,得出末端执行器轨迹曲线;(3)验证了运动学正逆解的正确性,表明机器人结构参数设计合理。

参考文献:

[1]刘鹏,宋涛,贠超,等.焊接机器人运动学分析及轨迹规划研究[J].机电工程,2013(4):390-394.

[2]NIKU S B.孙富春,朱纪洪,刘国栋,等译.机器人学导论:分析、控制及应用(第2版)[M].北京:电子工业出版社,2013.

[3]孙浩,赵玉刚,姜文革,等.码垛机器人结构设计与运动分析[J].制造业自动化,2013(14):66-68.

[4]刘萍,陈莹.五自由度关节式机械手运动学分析及仿真[J].制造业自动化,2011(19):9-11.

[5]张普行,严军辉,贾秋玲.六自由度机械手的运动学分析[J].制造业自动化,2011(20):68-71.

[6]杨成文,张铁.基于ADAMS的SCARA机器人运动学仿真研究 [J].机床与液压,2011,39(21):118-121.

[7]谢斌,蔡自兴.基于MATLAB Robotics Toolbox的机器人学仿真实验教学[J].计算机教育,2010(19):140-143.

[8]刘辉,毛璐瑶,陈启愉,等.基于数值模拟技术的SCARA机器人本体设计与优化[J].机电工程技术,2017,46(6):1-6.

[9]陈桂,王建红,汤玉东.KUKA机器人运动学仿真与实验研究[J].组合机床与自动化加工技术,2014(8):94-97.

猜你喜欢

位姿执行器运动学
融合二维图像和三维点云的相机位姿估计
船舶清理机器人定位基准位姿测量技术研究
基于MATLAB的6R机器人逆运动学求解分析
高锁螺母自动化安装机器人末端执行器设计
工业机器人在MATLAB-Robotics中的运动学分析
优化ORB 特征的视觉SLAM
基于D-H法的5-DOF串并联机床运动学分析
飞机装配预连接紧固件自动化安装末端执行器设计
考虑执行器饱和的改进无模型自适应控制
一类具有执行器饱和的非线性系统抗饱和方法研究