MATLAB-Robot(0):MATLAB Robotics Toolbox机器人仿真基础基础

一:基本变换

1. 平移:  T=transl(0.5,0,0)%分别沿着xyz轴的平移

>> T=transl(0.5,0,0)  %x方向平移0.5个单位长度

T =

    1.0000         0         0    0.5000
         0    1.0000         0         0
         0         0    1.0000         0
         0         0         0    1.0000

2.旋转:

(1)得到3x3阶矩阵: rotx(a)   roty(b)  rotz(c)%分别绕xyz轴的旋转

>> T = roty(pi/2)

T =

    0.9996         0    0.0274
         0    1.0000         0
   -0.0274         0    0.9996


(2)得到4x4阶矩阵:trotx(a)   troty(b)  trotz(c)%分别绕xyz轴的旋转

>> trotx(pi/2)

ans =

    1.0000         0         0         0
         0    0.9996   -0.0274         0
         0    0.0274    0.9996         0
         0         0         0    1.0000


3.复合变换: 平移加旋转

>> trotx(pi/2)

ans =

    1.0000         0         0         0
         0    0.9996   -0.0274         0
         0    0.0274    0.9996         0
         0         0         0    1.0000


二:创建机器人对象

1.Link类

A Link object holds all information related to a robot joint and link such as kinematics parameters, rigid-body inertial parameters, motor and transmission parameters.

1.1 Link类相应函数:

A               连杆变换矩阵

RP            关节类型: 'R' 或 'P'
friction      摩擦力
nofriction    摩擦力忽略
dyn           显示动力学参数
islimit       测试关节是否超出软限制

isrevolute    测试是否为旋转关节

isprismatic   测试是否为移动关节
display       连杆参数以表格形式显示
char          转为字符串


1.2link类的运动学,动力学属性参数

  theta    关节角度

  d        连杆偏移量
  a        连杆长度
  alpha    连杆扭角
  sigma    旋转关节为0,移动关节为1
  mdh      标准的D&H为0,否则为1
  offset   关节变量偏移量(例如绕Z轴的旋转量)
  qlim     关节变量范围[min max]

  m: 质量 
  r: 质心 
  I: 惯性张量 
  B: 粘性摩擦 
  Tc: 静摩擦 
  G: 减速比 
  Jm: 转子惯量


2.SerialLink类

定义:A concrete class that represents a serial-link arm-type robot. Each link and joint in the chain is described by a Link-class object using Denavit-Hartenberg parameters (standard or modified).

2.1 SerialLink相应函数:

  SerialLink(L1 ... Ln) 建立机器人关节连接

  plot(theta)显示机器人图形(theta=[x0 ... xn])x为关节变量,如角度

2.2 SerialLink的相应属性:
links :连杆向量 
gravity :重力加速度 
base :基座标系 
tool:与基座标系的变换矩阵 
qlim :关节极限位置 
offset :关节偏移量 
name :机器人的名字 
manuf :制造者的名字 
comment: 注释

n :关节数 
config: 关节配置,如‘RRRRRR’ 
mdh :D-H矩阵类型 
theta :D-H参数 
d :D-H参数 
a :D-H参数 
alpha: D-H参数

3. 建立机器人
3.1 第一种建立方式(标准DH)
%定义机器人关节连杆参数,默认为标准DH
L1 = Link('d', 0, 'a', 0, 'alpha', pi/2);
L2 = Link('d', 0, 'a', 0.5, 'alpha', 0,'offset',pi/2);
L3 = Link('d', 0, 'a', 0, 'alpha', pi/2,'offset',pi/4);
L4 = Link('d', 1, 'a', 0, 'alpha', -pi/2);
L5 = Link('d', 0, 'a', 0, 'alpha', pi/2);
L6 = Link('d', 1, 'a', 0, 'alpha', 0);
robot=SerialLink([L1,L2,L3,L4,L5,L6]); %用定义好的关节建立机器人
robot.display();  %显示建立的机器人的DH参数
theta=[0 0 0 0 0 0]; 	%6个关节的角度变量值都设为0,可以更改
robot.plot(theta); 	%显示机器人的图像
此处一直没有成功用此方式调出改进型dh,希望知道的大神能告知一下

3.2 第二种建立方式(标准DH和改进DH)
L1 =  Link([ pi/4, 0, 0, 0, 0], 'modified');
L2 =  Link([ pi/2, 0.2, 0.1, 0 ,0], 'modified');
L3 =  Link([ 0, 0.1, 0.2, 0 ,0], 'modified');
robot=SerialLink([L1,L2,L3]); %用定义好的关节建立机器人
robot.display();  %显示建立的机器人的DH参数
theta=[0 0 0]; 	%6个关节的角度变量值都设为0,可以更改
robot.plot(theta); 	%显示机器人的图像
此处Link语法为:
  L = Link(DH, OPTIONS)
            %  - DH = [THETA D A ALPHA SIGMA OFFSET] where SIGMA=0 for a revolute and 1
            %    for a prismatic joint; and OFFSET is a constant displacement between the
            %    user joint variable and the value used by the kinematic model.
            %  - DH = [THETA D A ALPHA SIGMA] where OFFSET is zero.
            %  - DH = [THETA D A ALPHA], joint is assumed revolute and OFFSET is zero.
但theta的值在定义时我改变后没有效果,而在下方的theta=[0 0 0]中可以通过改变0的值改变相应的theta值

3.3 标准型DH和改进型DH的区别
MATLAB-Robot(0):MATLAB Robotics Toolbox机器人仿真基础基础_第1张图片

你可能感兴趣的:(MATLAB-Robot)