Tu navegador no soporta el video.
Para definir la cinématica directa e inversa de un robot de 2 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 = 40 a_1 = 40 a 1 = 40 0 0 0 q 1 q_1 q 1 2 0 0 0 a 2 = 40 a_2 = 40 a 2 = 40 0 0 0 q 2 q_2 q 2
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 0 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 & 0\\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 ) 0 1
1 A 2 = [ cos ( q 2 ) − sin ( q 2 ) 0 a 2 cos ( q 2 ) sin ( q 2 ) cos ( q 2 ) 0 a 2 sin ( q 2 ) 0 0 1 0 0 0 0 1 ] ^{1}A_2 =
\left[\begin{matrix}\cos{\left(q_{2} \right)} & - \sin{\left(q_{2} \right)} & 0 & a_{2} \cos{\left(q_{2} \right)}\\\sin{\left(q_{2} \right)} & \cos{\left(q_{2} \right)} & 0 & a_{2} \sin{\left(q_{2} \right)}\\0 & 0 & 1 & 0\\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 2 cos ( q 2 ) a 2 sin ( q 2 ) 0 1
Luego,
0 A 2 = 0 A 1 ⋅ 1 A 2 = [ − sin ( q 1 ) sin ( q 2 ) + cos ( q 1 ) cos ( q 2 ) − sin ( q 1 ) cos ( q 2 ) − sin ( q 2 ) cos ( q 1 ) 0 a 1 cos ( q 1 ) − a 2 sin ( q 1 ) sin ( q 2 ) + a 2 cos ( q 1 ) cos ( q 2 ) sin ( q 1 ) cos ( q 2 ) + sin ( q 2 ) cos ( q 1 ) − sin ( q 1 ) sin ( q 2 ) + cos ( q 1 ) cos ( q 2 ) 0 a 1 sin ( q 1 ) + a 2 sin ( q 1 ) cos ( q 2 ) + a 2 sin ( q 2 ) cos ( q 1 ) 0 0 1 0 0 0 0 1 ] ^{0}A_2 = ^{0}A_1\cdot^{1}A_2 =
\left[\begin{matrix}- \sin{\left(q_{1} \right)} \sin{\left(q_{2} \right)} + \cos{\left(q_{1} \right)} \cos{\left(q_{2} \right)} & - \sin{\left(q_{1} \right)} \cos{\left(q_{2} \right)} - \sin{\left(q_{2} \right)} \cos{\left(q_{1} \right)} & 0 & a_{1} \cos{\left(q_{1} \right)} - a_{2} \sin{\left(q_{1} \right)} \sin{\left(q_{2} \right)} + a_{2} \cos{\left(q_{1} \right)} \cos{\left(q_{2} \right)}\\\sin{\left(q_{1} \right)} \cos{\left(q_{2} \right)} + \sin{\left(q_{2} \right)} \cos{\left(q_{1} \right)} & - \sin{\left(q_{1} \right)} \sin{\left(q_{2} \right)} + \cos{\left(q_{1} \right)} \cos{\left(q_{2} \right)} & 0 & a_{1} \sin{\left(q_{1} \right)} + a_{2} \sin{\left(q_{1} \right)} \cos{\left(q_{2} \right)} + a_{2} \sin{\left(q_{2} \right)} \cos{\left(q_{1} \right)}\\0 & 0 & 1 & 0\\0 & 0 & 0 & 1\end{matrix}\right] 0 A 2 = 0 A 1 ⋅ 1 A 2 = − sin ( q 1 ) sin ( q 2 ) + cos ( q 1 ) cos ( q 2 ) sin ( q 1 ) cos ( q 2 ) + sin ( q 2 ) cos ( q 1 ) 0 0 − sin ( q 1 ) cos ( q 2 ) − sin ( q 2 ) cos ( q 1 ) − sin ( q 1 ) sin ( q 2 ) + cos ( q 1 ) cos ( q 2 ) 0 0 0 0 1 0 a 1 cos ( q 1 ) − a 2 sin ( q 1 ) sin ( q 2 ) + a 2 cos ( q 1 ) cos ( q 2 ) a 1 sin ( q 1 ) + a 2 sin ( q 1 ) cos ( q 2 ) + a 2 sin ( q 2 ) cos ( q 1 ) 0 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 ) y ( 2 , 4 ) (2,4) ( 2 , 4 ) de la matriz dan lugar a las posiciones ( x , y ) (x,y) ( x , y ) del efector final del robot:
x = a 1 cos ( q 1 ) − a 2 sin ( q 1 ) sin ( q 2 ) + a 2 cos ( q 1 ) cos ( q 2 ) ( 1 ) y = a 1 sin ( q 1 ) + a 2 sin ( q 1 ) cos ( q 2 ) + a 2 sin ( q 2 ) cos ( q 1 ) ( 2 ) \begin{array}{cll}
x &= a_{1} \cos{\left(q_{1} \right)} - a_{2} \sin{\left(q_{1} \right)} \sin{\left(q_{2} \right)} + a_{2} \cos{\left(q_{1} \right)} \cos{\left(q_{2} \right)}
&\qquad\qquad (1) \\
y &= a_{1} \sin{\left(q_{1} \right)} + a_{2} \sin{\left(q_{1} \right)} \cos{\left(q_{2} \right)} + a_{2} \sin{\left(q_{2} \right)} \cos{\left(q_{1} \right)}
&\qquad\qquad (2)
\end{array} x y = a 1 cos ( q 1 ) − a 2 sin ( q 1 ) sin ( q 2 ) + a 2 cos ( q 1 ) cos ( q 2 ) = a 1 sin ( q 1 ) + a 2 sin ( q 1 ) cos ( q 2 ) + a 2 sin ( q 2 ) cos ( q 1 ) ( 1 ) ( 2 )
Asi hemos completado la cinemática directa de este robot.
La cinemática inversa la encontraremos usando las ecuaciones anteriores. Empezamos elevando las ecuaciones ( 1 ) (1) ( 1 ) y ( 2 ) (2) ( 2 ) al cuadrado y las sumamos.
x 2 + y 2 = a 1 2 + 2 a 1 a 2 cos ( q 2 ) + a 2 2 ( 3 ) x^{2} + y^{2} = a_{1}^{2} + 2 a_{1} a_{2} \cos{\left(q_{2} \right)} + a_{2}^{2}
\qquad\qquad (3) x 2 + y 2 = a 1 2 + 2 a 1 a 2 cos ( q 2 ) + a 2 2 ( 3 )
Si despejamos q 2 q_2 q 2 obtendremos:
q 2 = { 2 π − acos ( − a 1 2 + a 2 2 − x 2 − y 2 2 a 1 a 2 ) , acos ( − a 1 2 − a 2 2 + x 2 + y 2 2 a 1 a 2 ) } q_{2} = \left\{2 \pi - \operatorname{acos}{\left(- \frac{a_{1}^{2} + a_{2}^{2} - x^{2} - y^{2}}{2 a_{1} a_{2}} \right)}, \ \operatorname{acos}{\left(\frac{- a_{1}^{2} - a_{2}^{2} + x^{2} + y^{2}}{2 a_{1} a_{2}} \right)}\right\} q 2 = { 2 π − acos ( − 2 a 1 a 2 a 1 2 + a 2 2 − x 2 − y 2 ) , acos ( 2 a 1 a 2 − a 1 2 − a 2 2 + x 2 + y 2 ) }
como vemos hay dos posibles soluciones. Ahora encontremos q 1 q_1 q 1 , para esto vamos a remplazar en ( 1 ) (1) ( 1 ) y ( 2 ) (2) ( 2 ) los siguientes terminos:
A = a 1 + a 2 cos ( q 2 ) B = a 2 sin ( q 2 ) \begin{array}{cl}
A &= a_{1} + a_{2} \cos{\left(q_{2} \right)} \\
B &= a_{2} \sin{\left(q_{2} \right)}
\end{array} A B = a 1 + a 2 cos ( q 2 ) = a 2 sin ( q 2 )
quedando de la siguiente forma:
x = A cos ( q 1 ) − B sin ( q 1 ) ( 4 ) y = A sin ( q 1 ) + B cos ( q 1 ) ( 5 ) \begin{array}{cll}
x &= A \cos{\left(q_{1} \right)} - B \sin{\left(q_{1} \right)}
&\qquad\qquad (4) \\
y &= A \sin{\left(q_{1} \right)} + B \cos{\left(q_{1} \right)}
&\qquad\qquad (5)
\end{array} x y = A cos ( q 1 ) − B sin ( q 1 ) = A sin ( q 1 ) + B cos ( q 1 ) ( 4 ) ( 5 )
se multiplicara la ecuación ( 4 ) (4) ( 4 ) por A A A y ( 5 ) (5) ( 5 ) por B B B :
A x = A ( A cos ( q 1 ) − B sin ( q 1 ) ) ( 6 ) B y = B ( A sin ( q 1 ) + B cos ( q 1 ) ) ( 7 ) \begin{array}{cll}
A x &= A \left(A \cos{\left(q_{1} \right)} - B \sin{\left(q_{1} \right)}\right)
&\qquad\qquad (6) \\
B y &= B \left(A \sin{\left(q_{1} \right)} + B \cos{\left(q_{1} \right)}\right)
&\qquad\qquad (7)
\end{array} A x B y = A ( A cos ( q 1 ) − B sin ( q 1 ) ) = B ( A sin ( q 1 ) + B cos ( q 1 ) ) ( 6 ) ( 7 )
Sumando las ecuaciones ( 6 ) (6) ( 6 ) y ( 7 ) (7) ( 7 ) :
A x + B y = A 2 cos ( q 1 ) + B 2 cos ( q 1 ) ( 8 ) A x + B y = A^{2} \cos{\left(q_{1} \right)} + B^{2} \cos{\left(q_{1} \right)}\qquad\qquad (8) A x + B y = A 2 cos ( q 1 ) + B 2 cos ( q 1 ) ( 8 )
Despejando q 1 q_1 q 1 :
q 1 = { 2 π − acos ( A x + B y A 2 + B 2 ) , acos ( A x + B y A 2 + B 2 ) } q_1 = \left\{2 \pi - \operatorname{acos}{\left(\frac{A x + B y}{A^{2} + B^{2}} \right)}, \operatorname{acos}{\left(\frac{A x + B y}{A^{2} + B^{2}} \right)}\right\} q 1 = { 2 π − acos ( A 2 + B 2 A x + B y ) , acos ( A 2 + B 2 A x + B y ) }
Con esto tenemos entonces la cinemática inversa para el robot de 2GDL. Con la solución para q 1 q_1 q 1 y q 2 q_2 q 2 , podemos calcular los angulos de las articulaciones a partir de la posición deseada del efector final.
La solucion para la cinemática inversa arroja 4 soluciones, de estas se deberá verificar con la cinemática directa cuales de la soluciones son adecuadas para el sistema.
Por ejemplo , el efector final puede alcanzar la posición ( 40 , 40 ) (40,40) ( 40 , 40 ) con las posiciones articulares:
( 0 , π 2 ) o ( π 2 , − π 2 ) \left(0,\frac{\pi}{2}\right) \qquad \text{o} \qquad \left(\frac{\pi}{2},-\frac{\pi}{2}\right) ( 0 , 2 π ) o ( 2 π , − 2 π )