基于matlab的六轴机械臂运动学分析

2020-07-04 04:06周明月
科学与财富 2020年15期
关键词:机械臂

周明月

摘 要:以六轴工业机械臂的应用为基础,,完成六轴工业机械臂的建模过程,对机械臂进行设计。然后,对六轴工业机械臂进行坐标系建模,采用的为D-H参数法,以建立的坐标系为基础求解正运动学解的和逆运动学解。

关键词:机械臂;六轴;轨迹规划

以六轴工业机械臂的应用为基础,围绕六轴工业机械臂的可达空间进行建模过程,建模采用三维软件SolidWorks,完成六轴工业机械臂的建模过程,对机械臂进行设计。然后,对六轴工业机械臂进行坐标系建模,采用的为D-H参数法,以建立的坐标系为基础求解正运动学解的和逆运动学解,为后续轨迹规划和仿真做好前提准备;利用MATLAB Robotics工具箱建立机械臂模型与工作空间之间的关系,对得到的每个关节的角度、速度和加速度曲线进行分析。

一、MATLAB正逆运动学仿真分析

机械臂运动学主要是研究其在关节空间变量下,机械臂末端爪手位置以及姿态之间的关系,运动学问题主要包括运动学正解和逆解两类,本章运用MATLAB中的Robotic Toolbox工具箱的多个函数结合机械臂结构体D-H参数表,进行运动学正解和运动学逆解问题进行仿真。

运动学正解:对已知结构的机械臂,其杆件几何形状、参数及其各关节角度矢量是明确的,以此来求解其末端爪手相对于参考坐标系的位姿。

机器人学中关于运动学和动力学最常用的描述方法是矩阵法,这种数学描述是以四阶方阵变换三维空间点的齐次坐标为基础的。如已知直角坐标系{A}中的某点坐标,那么该点在另一直角坐标系{B}中的坐标可通过齐次坐标变换求得。一般而言,齐次变换矩阵         是4×4的方阵,具有如下形式:

矩阵法、齐次变换等概念是机器人学研究中最为重要的数学基础。由于旋转变换通常会带来大量的正余弦计算,复合变换带来的多个矩阵相乘就更加难以手工计算,因此我们建议在仿真教学中通过计算机进行相應的坐标变换计算。。利用MATLAB Robotics Toolbox工具箱中的transl、trotx、troty和trotz函数可以非常容易的实现用齐次变换矩阵表示平移变换和旋转变换。

利用MATLAB中Robotics Toolbox工具箱中的transl、rotx、roty和rotz可以实现用齐次变换矩阵表示平移变换和旋转变换。下面举例来说明:

当然,如果有多次旋转和平移变换,我们只需要多次调用函数在组合就可以了。另外,可以和我们学习的平移矩阵和旋转矩阵做个对比,相信是一致的。

建立一个旋转连杆

L = Link([0 1.2 0.3 pi/2]);或 L = Link([0 1.2 0.3 pi/2 0])

L = Link([0 1.2 0.3 pi/2],revolute)

L = Link( ‘d, 1.2, ‘a, 0.3, ‘alpha, pi/2);

L = Link(‘revolute, ‘d, 1.2, ‘a, 0.3, ‘alpha, pi/2);

L = Revolute(‘d, 1.2, ‘a, 0.3, ‘alpha, pi/2);

对六轴机械臂仿真模型建立完成以后,在MATLAB中进行求运动学正逆求解,在XY平面的点为起始零点,到终点的求解和运动情况图如下:

二、轨迹规划

机器人轨迹规划的任务就是根据机器人手臂要完成的一定任务,例如要求机械手从一点运动到另一点或沿一条连续轨迹运动,来设计机器人各关节的运动函数。目前进行轨迹规划的方案主要有两种:基于关节空间方案和基于直角坐标方案。出于实际运用考虑,在教学中以讲解关节空间求解为主,本文也只演示关节空间的求解方案。

假设机器人要在2秒内从初始状态qz(所有关节转角为0)平稳地运动到朝上的“READY”状态qr,则在关节空间进行轨迹规划的过程如下:

首先创建一个运动时间向量,假定采样时间为56毫秒,则有:

t=[0: 056:2]。

在关节空间中插值可以得到:

[q,qd,qdd]=j raj(qz,qr,t);

三、六轴机械臂MATLAB仿真

要建立机器人对象,首先我们要了解六轴机械臂的D-H参数,之后我们可以利用Robotics Toolbox工具箱中的link和robot函数来建立六轴机械臂对象。

其中link函数的调用格式:

L = LINK([alpha A theta D])

L =LINK([alpha A theta D sigma])

L =LINK([alpha A theta D sigma offset])

L =LINK([alpha A theta D], CONVENTION)

L =LINK([alpha A theta D sigma], CONVENTION)

L =LINK([alpha A theta D sigma offset], CONVENTION)

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

LINK.alpha     %返回扭转角

LINK.A           %返回杆件长度

LINK.theta       %返回关节角

LINK.D           %返回横距

LINK.sigma       %返回关节类型

LINK.RP        %返回‘R(旋转)或‘P(移动)

LINK.mdh         %若为标准D-H参数返回0,否则返回1

LINK.offset     %返回关节变量偏移

LINK.qlim        %返回关节变量的上下限 [min max]

LINK.islimit(q) %如果关节变量超限,返回 -1, 0, +1

LINK.I %返回一個3×3 对称惯性矩阵

LINK.m %返回关节质量

LINK.r %返回3×1的关节齿轮向量

LINK.G  %返回齿轮的传动比

LINK.Jm %返回电机惯性

LINK.B %返回粘性摩擦

LINK.Tc %返回库仑摩擦

LINK.dh return legacy DH row

LINK.dyn     return legacy DYN row

其中robot函数的调用格式:

ROBOT        %创建一个空的机器人对象

ROBOT(robot)     %创建robot的一个副本

ROBOT(robot, LINK) %用LINK来创建新机器人对象来代替robot

ROBOT(LINK, ...)     %用LINK来创建一个机器人对象

ROBOT(DH, ...) %用D-H矩阵来创建一个机器人对象

ROBOT(DYN, ...) %用DYN矩阵来创建一个机器人对象

四、总结

在机器人学的研究中,六自由度机械臂的复杂运动控制具有很大的研究价值和实用意义。而运动学分析对机械臂运动控制又尤为重要。关于机器人正运动学与逆运动学问题上,前人已经做了大量的研究工作,现在也有了广泛的参考资料。

猜你喜欢
机械臂
一种六自由度机械臂的控制系统设计
码头集装箱机械臂的研究与设计
书画手臂的模型设计
六自由度机械臂控制系统设计
基于无人机平台的垃圾搜索及拾取系统设计
机械臂平面运动控制与分析
机械臂工作空间全局相对可操作度图的构建方法
人机交互课程创新实验
基于S7?300 PLC不规则空间曲线自动焊接系统设计
智能下水道清理装置