第二次作业

范子琦 2019330301153 机器人工程(1)班

下文坐标系定义原则: $\left\{\begin{matrix}
x_i\parallel z_{i-1}\\
x_i\perp z_{i-1}
\end{matrix}\right.$​

图注:

  1. 相同颜色为同一坐标系, 绿色虚线为延长线

  2. 有尺寸的以数字表示, 无尺寸的参照图中定义

第一题

平面三连杆机械臂的坐标系定义如下图所示:

test1

由上图坐标系配置可求得平面三连杆机械臂的DH参数:

$i$ $\theta_i$ $d_i$ $a_i$ $\alpha_i$
$1$ ${\theta_1}^*+90$ $0$ $0$ $90$
$2$ $0$ $L_1+{d_2}^*$ $0$ $-90$
$3$ ${\theta_3}^*$ $0$ $L_3$ $0$​

MATLAB代码:

1
2
3
4
5
6
7
8
clear;clc;
syms t1 d2 t3 L1 L3
% theta d a alpha sigma
L(1)=Link([t1+pi/2 0 0 pi/2 0 ]);
L(2)=Link([0 L1+d2 0 -pi/2 1 ]);
L(3)=Link([t3 0 L3 0 0 ]);
robot=SerialLink(L,'name','Three')
T=robot.fkine([t1 d2 t3])

运动学正解矩阵:

第二题

PUMA260的坐标系定义如下图所示:

test2

由上图坐标系配置可求得PUMA260的DH参数:

$i$ $\theta_i$ $d_i$ $a_i$ $\alpha_i$
$1$ ${\theta_1}^*$ $13$ $0$ $-90$
$2$ ${\theta_2}^*$ $-d_2$ $8$ $0$
$3$ ${\theta_3}^*+90$ $0$ $0$ $90$
$4$ ${\theta_4}^*$ $8$ $0$ $-90$
$5$ ${\theta_5}^*-90$ $0$ $0$ $90$
$6$ ${\theta_6}^*$ $d_6$ $0$ $0$

MATLAB代码:

1
2
3
4
5
6
7
8
9
10
11
clear;clc;
syms t1 t2 t3 t4 t5 t6 d2 d6
% theta d a alpha sigma
L(1)=Link([t1 13 0 -pi/2 0 ]);
L(2)=Link([t2 -d2 8 0 0 ]);
L(3)=Link([t3+pi/2 0 0 pi/2 0 ]);
L(4)=Link([t4 8 0 -pi/2 0 ]);
L(5)=Link([t5-pi/2 0 0 pi/2 0 ]);
L(6)=Link([t6 d6 0 0 0 ]);
robot=SerialLink(L,'name','PUMA260')
T=robot.fkine([t1 t2 t3 t4 t5 t6])

运动学正解矩阵:

第三题

JAKA ZU3的坐标系定义如下图所示:

test3

由上图坐标系配置可求得JAKA ZU3的DH参数:

$i$ $\theta_i$ $d_i$ $a_i$ $\alpha_i$
$1$ ${\theta_1}^*$ $150.55$ $0$ $-90$
$2$ ${\theta_2}^*-90$ $115$ $246$ $0$
$3$ ${\theta_3}^*$ $-116.3$ $190$ $0$
$4$ ${\theta_4}^*+90$ $117.5$ $0$ $90$
$5$ ${\theta_5}^*$ $117.5$ $0$ $-90$
$6$ ${\theta_6}^*+180$ $-105$ $0$ $180$

MATLAB代码:

1
2
3
4
5
6
7
8
9
10
11
clear;clc;
syms t1 t2 t3 t4 t5 t6
% theta d a alpha sigma
L(1)=Link([t1 150.55 0 -pi/2 0 ]);
L(2)=Link([t2-pi/2 115 246 0 0 ]);
L(3)=Link([t3 -116.3 190 0 0 ]);
L(4)=Link([t4+pi/2 117.5 0 pi/2 0 ]);
L(5)=Link([t5 117.5 0 -pi/2 0 ]);
L(6)=Link([t6+pi -105 0 180 0 ]);
robot=SerialLink(L,'name','JAKA-ZU3')
T=robot.fkine([t1 t2 t3 t4 t5 t6])

运动学正解矩阵:

运动学逆解

建立仿真环境

1
2
3
4
5
6
7
8
clear;clc;
L(1)=Link('d',150.55, 'a',0, 'alpha',-pi/2, 'qlim',[-pi,pi]);
L(2)=Link('d',115, 'a',246, 'alpha',0, 'qlim',[-pi,pi]);
L(3)=Link('d',-116.3, 'a',190, 'alpha',0, 'qlim',[-pi,pi]);
L(4)=Link('d',117.5, 'a',0, 'alpha',pi/2, 'qlim',[-pi,pi]);
L(5)=Link('d',117.5, 'a',0, 'alpha',-pi/2, 'qlim',[-pi,pi]);
L(6)=Link('d',-105, 'a',0, 'alpha',pi, 'qlim',[-pi,pi]);
robot=SerialLink(L,'name','JAKA-ZU3')

第一组数据

1
2
view(3)
robot.teach([0+0 pi/2-pi 0+0 pi/2+0 pi+0 0+pi])

截屏2021-11-14 下午10.11.06

第二组数据

1
2
view(3)
robot.teach([30.906*(pi/180)+0 72.993*(pi/180)-pi -68.722*(pi/180)+0 84.098*(pi/180)+0 91.007*(pi/180)+0 0.051*(pi/180)+pi])

截屏2021-11-14 下午10.09.30