Chapter 2 Animation
% 为了验证运动学,这里,以PUMA560为例,简单介绍,PUMA560是一款六自由度机器人,其中前三个关节确定手腕参考点位置,后三个关节确定手腕的方位。
>> mdl_puma560
% 轨迹演示生成方法
% 生成时间向量
>> t = [0:.05:2]';
% 生成关节坐标轨迹,jtraj(起始,末端,步数),在这里,qz,qr均为设置好的关节角
>> q = jtraj(qz, qr, t);
% 将q作为参数,利用plot方式,即可生成动画
>> p560.plot(q);
% 为了方便对比,还可以在同一个Figure下建立另一个机械臂
>> p560_2 = SerialLink(p560, 'name', 'another Puma', 'base', transl(-0.5, 0.5, 0) )
p560_2 =
another Puma (6 axis, RRRRRR, stdDH, fastRNE)
+---+-----------+-----------+-----------+-----------+-----------+
| j | theta | d | a | alpha | offset |
+---+-----------+-----------+-----------+-----------+-----------+
| 1| q1| 0| 0| 1.571| 0|
| 2| q2| 0| 0.4318| 0| 0|
| 3| q3| 0.15| 0.0203| -1.571| 0|
| 4| q4| 0.4318| 0| 1.571| 0|
| 5| q5| 0| 0| -1.571| 0|
| 6| q6| 0| 0| 0| 0|
+---+-----------+-----------+-----------+-----------+-----------+
grav = 0 base = 1 0 0 -0.5 tool = 1 0 0 0
0 0 1 0 0.5 0 1 0 0
9.81 0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1
%保持第一个机器人的位姿
>> hold on
%变换视角
>> view(40,50)
%利用getpos命令,可以获得末端位置时的各关节角数值
>> p560.getpos()
ans =
0 1.5708 -1.5708 0 0 0