Matlab Robotics Toolbox系列—使用篇(1)

首先给大家推荐一下我老师大神的人工智能教学网站。教学不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵黄段子!点这里可以跳转到网站

Chapter 1 Create a motion

% 一个机械臂由一组连杆组成,每个连杆均可以被DH参数描述,下面以两连杆为例。

% 第一组连杆

>> L1 = Link(‘d’, 0, ‘a’, 1, ‘alpha’, pi/2)

L1 = 

 theta=q, d=          0, a=          1, alpha=      1.571, offset=          0 (R,stdDH)

% 该连杆DH参数可以查询方法为,L1.a/d等

>> L1.a

 ans =

     1

%除此以外,还可以判断其是否是旋转关节

>> L1.isrevolute

 ans =

     1

% 对于给定的关节角而言,以q=0.2rad为例,我们可以计算出连杆的变换矩阵,方法是L1.A(q)

>> L1.A(0.2)

 ans =

    0.9801   -0.0000    0.1987    0.9801

    0.1987    0.0000   -0.9801    0.1987

         0    1.0000    0.0000         0

         0         0         0    1.0000

% 再建立第二根连杆

>> L2 = Link(‘d’, 0, ‘a’, 1, ‘alpha’, 0)

% 然后,将两组连杆连接到一起

>> bot = SerialLink([L1 L2], ‘name’, ‘my robot’)

bot = 

my robot (2 axis, RR, stdDH, fastRNE)                            

+—+———–+———–+———–+———–+———–+

| j |     theta |         d |         a |     alpha |    offset |

+—+———–+———–+———–+———–+———–+

|  1|         q1|          0|          1|      1.571|          0|

|  2|         q2|          0|          1|          0|          0|

+—+———–+———–+———–+———–+———–+

grav =    0  base = 1  0  0  0   tool =  1  0  0  0              

          0         0  1  0  0           0  1  0  0              

       9.81         0  0  1  0           0  0  1  0              

                    0  0  0  1           0  0  0  1              

% 当然,以组合后的连杆,也有一组参数可以查询,如关节个数等

>> bot.n

 ans =

     2

% 当有给定的关节角时,可以以此为基础,计算机械臂末端的位姿,这里以q1=0.1,q2=0.2为例进行说明,采用了fkine函数计算

>> bot.fkine([0.1 0.2])

 ans =

    0.9752   -0.1977    0.0998    1.9702

    0.0978   -0.0198   -0.9950    0.1977

    0.1987    0.9801    0.0000    0.1987

         0         0         0    1.0000

% 作为机械臂连杆,可以用plot、animate、teach等方法,以图形方式展现

>> bot.plot([0.1 0.2])

点这里可以跳转到人工智能网站