Para definir la cinématica directa e inversa de un robot de 4 grados de libertad (GDL) necesitamos conocer inicialmente los parámetros del robot, es decir, los valores de Denavit-Hartenberg.
i i i α i \alpha_i α i (rad)a i a_i a i (mm)d i d_i d i (mm)θ i \theta_i θ i (rad)1 0 0 0 a 1 = 400 a_1=400 a 1 = 400 d 1 = 600 d_1=600 d 1 = 600 q 1 q_1 q 1 2 π \pi π a 2 = 400 a_2=400 a 2 = 400 d 2 = 200 d_2=200 d 2 = 200 q 2 q_2 q 2 3 0 0 0 0 0 0 q 3 q_3 q 3 0 0 0 4 0 0 0 0 0 0 d 4 = 400 d_4=400 d 4 = 400 q 4 q_4 q 4
Con los valores de la tabla anterior podemos contruir las matrices de transformación siguiendo la estructura:
i − 1 A i = T z ( θ i ) ⋅ T ( 0 , 0 , d i ) ⋅ T ( a i , 0 , 0 ) ⋅ T x ( α i ) ^{i-1}A_i = T_z(\theta_i)\cdot T(0,0,d_i) \cdot T(a_i,0,0) \cdot T_x(\alpha_i) i − 1 A i = T z ( θ i ) ⋅ T ( 0 , 0 , d i ) ⋅ T ( a i , 0 , 0 ) ⋅ T x ( α i )
De esto tenemos
0 A 1 = [ cos ( q 1 ) − sin ( q 1 ) 0 a 1 cos ( q 1 ) sin ( q 1 ) cos ( q 1 ) 0 a 1 sin ( q 1 ) 0 0 1 d 1 0 0 0 1 ] ^{0}A_1 =
\left[\begin{matrix}\cos{\left(q_{1} \right)} & - \sin{\left(q_{1} \right)} & 0 & a_{1} \cos{\left(q_{1} \right)}\\\sin{\left(q_{1} \right)} & \cos{\left(q_{1} \right)} & 0 & a_{1} \sin{\left(q_{1} \right)}\\0 & 0 & 1 & d_{1}\\0 & 0 & 0 & 1\end{matrix}\right] 0 A 1 = cos ( q 1 ) sin ( q 1 ) 0 0 − sin ( q 1 ) cos ( q 1 ) 0 0 0 0 1 0 a 1 cos ( q 1 ) a 1 sin ( q 1 ) d 1 1
1 A 2 = [ cos ( q 2 ) sin ( q 2 ) 0 a 1 cos ( q 2 ) sin ( q 2 ) − cos ( q 2 ) 0 a 1 sin ( q 2 ) 0 0 − 1 d 2 0 0 0 1 ] ^{1}A_2 =
\left[\begin{matrix}\cos{\left(q_{2} \right)} & \sin{\left(q_{2} \right)} & 0 & a_{1} \cos{\left(q_{2} \right)}\\\sin{\left(q_{2} \right)} & - \cos{\left(q_{2} \right)} & 0 & a_{1} \sin{\left(q_{2} \right)}\\0 & 0 & -1 & d_{2}\\0 & 0 & 0 & 1\end{matrix}\right] 1 A 2 = cos ( q 2 ) sin ( q 2 ) 0 0 sin ( q 2 ) − cos ( q 2 ) 0 0 0 0 − 1 0 a 1 cos ( q 2 ) a 1 sin ( q 2 ) d 2 1
2 A 3 = [ 1 0 0 0 0 1 0 0 0 0 1 q 3 0 0 0 1 ] ^{2}A_3 =
\left[\begin{matrix}1 & 0 & 0 & 0\\0 & 1 & 0 & 0\\0 & 0 & 1 & q_{3}\\0 & 0 & 0 & 1\end{matrix}\right] 2 A 3 = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 q 3 1
3 A 4 = [ cos ( q 4 ) − sin ( q 4 ) 0 0 sin ( q 4 ) cos ( q 4 ) 0 0 0 0 1 d 4 0 0 0 1 ] ^{3}A_4 =
\left[\begin{matrix}\cos{\left(q_{4} \right)} & - \sin{\left(q_{4} \right)} & 0 & 0\\\sin{\left(q_{4} \right)} & \cos{\left(q_{4} \right)} & 0 & 0\\0 & 0 & 1 & d_{4}\\0 & 0 & 0 & 1\end{matrix}\right] 3 A 4 = cos ( q 4 ) sin ( q 4 ) 0 0 − sin ( q 4 ) cos ( q 4 ) 0 0 0 0 1 0 0 0 d 4 1
Luego,
0 A 4 = [ ( − sin ( q 1 ) sin ( q 2 ) + cos ( q 1 ) cos ( q 2 ) ) cos ( q 4 ) + ( sin ( q 1 ) cos ( q 2 ) + sin ( q 2 ) cos ( q 1 ) ) sin ( q 4 ) − ( − sin ( q 1 ) sin ( q 2 ) + cos ( q 1 ) cos ( q 2 ) ) sin ( q 4 ) + ( sin ( q 1 ) cos ( q 2 ) + sin ( q 2 ) cos ( q 1 ) ) cos ( q 4 ) 0 − a 1 sin ( q 1 ) sin ( q 2 ) + a 1 cos ( q 1 ) cos ( q 2 ) + a 1 cos ( q 1 ) ( sin ( q 1 ) sin ( q 2 ) − cos ( q 1 ) cos ( q 2 ) ) sin ( q 4 ) + ( sin ( q 1 ) cos ( q 2 ) + sin ( q 2 ) cos ( q 1 ) ) cos ( q 4 ) ( sin ( q 1 ) sin ( q 2 ) − cos ( q 1 ) cos ( q 2 ) ) cos ( q 4 ) − ( sin ( q 1 ) cos ( q 2 ) + sin ( q 2 ) cos ( q 1 ) ) sin ( q 4 ) 0 a 1 sin ( q 1 ) cos ( q 2 ) + a 1 sin ( q 1 ) + a 1 sin ( q 2 ) cos ( q 1 ) 0 0 − 1 d 1 + d 2 − d 4 − q 3 0 0 0 1 ] ^{0}A_4 =
\left[\begin{matrix}\left(- \sin{\left(q_{1} \right)} \sin{\left(q_{2} \right)} + \cos{\left(q_{1} \right)} \cos{\left(q_{2} \right)}\right) \cos{\left(q_{4} \right)} + \left(\sin{\left(q_{1} \right)} \cos{\left(q_{2} \right)} + \sin{\left(q_{2} \right)} \cos{\left(q_{1} \right)}\right) \sin{\left(q_{4} \right)} & - \left(- \sin{\left(q_{1} \right)} \sin{\left(q_{2} \right)} + \cos{\left(q_{1} \right)} \cos{\left(q_{2} \right)}\right) \sin{\left(q_{4} \right)} + \left(\sin{\left(q_{1} \right)} \cos{\left(q_{2} \right)} + \sin{\left(q_{2} \right)} \cos{\left(q_{1} \right)}\right) \cos{\left(q_{4} \right)} & 0 & - a_{1} \sin{\left(q_{1} \right)} \sin{\left(q_{2} \right)} + a_{1} \cos{\left(q_{1} \right)} \cos{\left(q_{2} \right)} + a_{1} \cos{\left(q_{1} \right)}\\\left(\sin{\left(q_{1} \right)} \sin{\left(q_{2} \right)} - \cos{\left(q_{1} \right)} \cos{\left(q_{2} \right)}\right) \sin{\left(q_{4} \right)} + \left(\sin{\left(q_{1} \right)} \cos{\left(q_{2} \right)} + \sin{\left(q_{2} \right)} \cos{\left(q_{1} \right)}\right) \cos{\left(q_{4} \right)} & \left(\sin{\left(q_{1} \right)} \sin{\left(q_{2} \right)} - \cos{\left(q_{1} \right)} \cos{\left(q_{2} \right)}\right) \cos{\left(q_{4} \right)} - \left(\sin{\left(q_{1} \right)} \cos{\left(q_{2} \right)} + \sin{\left(q_{2} \right)} \cos{\left(q_{1} \right)}\right) \sin{\left(q_{4} \right)} & 0 & a_{1} \sin{\left(q_{1} \right)} \cos{\left(q_{2} \right)} + a_{1} \sin{\left(q_{1} \right)} + a_{1} \sin{\left(q_{2} \right)} \cos{\left(q_{1} \right)}\\0 & 0 & -1 & d_{1} + d_{2} - d_{4} - q_{3}\\0 & 0 & 0 & 1\end{matrix}\right] 0 A 4 = ( − sin ( q 1 ) sin ( q 2 ) + cos ( q 1 ) cos ( q 2 ) ) cos ( q 4 ) + ( sin ( q 1 ) cos ( q 2 ) + sin ( q 2 ) cos ( q 1 ) ) sin ( q 4 ) ( sin ( q 1 ) sin ( q 2 ) − cos ( q 1 ) cos ( q 2 ) ) sin ( q 4 ) + ( sin ( q 1 ) cos ( q 2 ) + sin ( q 2 ) cos ( q 1 ) ) cos ( q 4 ) 0 0 − ( − sin ( q 1 ) sin ( q 2 ) + cos ( q 1 ) cos ( q 2 ) ) sin ( q 4 ) + ( sin ( q 1 ) cos ( q 2 ) + sin ( q 2 ) cos ( q 1 ) ) cos ( q 4 ) ( sin ( q 1 ) sin ( q 2 ) − cos ( q 1 ) cos ( q 2 ) ) cos ( q 4 ) − ( sin ( q 1 ) cos ( q 2 ) + sin ( q 2 ) cos ( q 1 ) ) sin ( q 4 ) 0 0 0 0 − 1 0 − a 1 sin ( q 1 ) sin ( q 2 ) + a 1 cos ( q 1 ) cos ( q 2 ) + a 1 cos ( q 1 ) a 1 sin ( q 1 ) cos ( q 2 ) + a 1 sin ( q 1 ) + a 1 sin ( q 2 ) cos ( q 1 ) d 1 + d 2 − d 4 − q 3 1
En esta matriz tenemos la transformación que sufre un objeto que se encuentra amarrado en el efector final del robot. Los terminos en las posiciones ( 1 , 4 ) (1,4) ( 1 , 4 ) , ( 2 , 4 ) (2,4) ( 2 , 4 ) y ( 3 , 4 ) (3,4) ( 3 , 4 ) de la matriz dan lugar a las posiciones ( x , y , z ) (x,y,z) ( x , y , z ) del efector final del robot:
x = − a 1 sin ( q 1 ) sin ( q 2 ) + a 1 cos ( q 1 ) cos ( q 2 ) + a 1 cos ( q 1 ) y = a 1 sin ( q 1 ) cos ( q 2 ) + a 1 sin ( q 1 ) + a 1 sin ( q 2 ) cos ( q 1 ) z = d 1 + d 2 − d 4 − q 3 \begin{array}{cl}
x &= - a_{1} \sin{\left(q_{1} \right)} \sin{\left(q_{2} \right)} + a_{1} \cos{\left(q_{1} \right)} \cos{\left(q_{2} \right)} + a_{1} \cos{\left(q_{1} \right)}
\\
y &= a_{1} \sin{\left(q_{1} \right)} \cos{\left(q_{2} \right)} + a_{1} \sin{\left(q_{1} \right)} + a_{1} \sin{\left(q_{2} \right)} \cos{\left(q_{1} \right)}
\\
z &= d_{1} + d_{2} - d_{4} - q_{3}
\end{array} x y z = − a 1 sin ( q 1 ) sin ( q 2 ) + a 1 cos ( q 1 ) cos ( q 2 ) + a 1 cos ( q 1 ) = a 1 sin ( q 1 ) cos ( q 2 ) + a 1 sin ( q 1 ) + a 1 sin ( q 2 ) cos ( q 1 ) = d 1 + d 2 − d 4 − q 3
Asi hemos completado la cinemática directa de este robot.
Para encontrar la cinemática inversa de este robot usaremos la resolución mediante las matrices de transformación homogeneas. Para esto usaremos la relación:
T = 0 A 1 ⋅ 1 A 2 ⋅ 2 A 3 ⋅ 3 A 4 ( 1 ) T = ^{0}A_1 \cdot ^{1}A_2 \cdot ^{2}A_3 \cdot ^{3}A_4 \qquad\qquad (1) T = 0 A 1 ⋅ 1 A 2 ⋅ 2 A 3 ⋅ 3 A 4 ( 1 )
donde
T = [ n x o x a x p x n y o y a y p y n z o z a z p z 0 0 0 1 ] T=
\left[\begin{matrix}n_{x} & o_{x} & a_{x} & p_{x}\\n_{y} & o_{y} & a_{y} & p_{y}\\n_{z} & o_{z} & a_{z} & p_{z}\\0 & 0 & 0 & 1\end{matrix}\right] T = n x n y n z 0 o x o y o z 0 a x a y a z 0 p x p y p z 1
Para este método iremos pasando cada matriz de transformación i − 1 A i ^{i-1}A_i i − 1 A i al otro lado de la igualdad e iremos encontrando ecuaciones que nos permitan relacionar la variable articulares q i q_i q i con las posiciones del efector final ( p x , p y , p z ) (p_x,p_y,p_z) ( p x , p y , p z ) .
0 A 1 − 1 ⋅ T = 1 A 2 ⋅ 2 A 3 ⋅ 3 A 4 ( 2 ) ^{0}A_1^{-1} \cdot T = ^{1}A_2 \cdot ^{2}A_3 \cdot ^{3}A_4 \qquad\qquad (2) 0 A 1 − 1 ⋅ T = 1 A 2 ⋅ 2 A 3 ⋅ 3 A 4 ( 2 )