Ir al contenido

Cinématica robot 2GDL

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.

iiαi\alpha_i (rad)aia_i (mm)did_i (mm)θi\theta_i (rad)
100a1=40a_1 = 4000q1q_1
200a2=40a_2 = 4000q2q_2

Con los valores de la tabla anterior podemos contruir las matrices de transformación siguiendo la estructura:

i1Ai=Tz(θi)T(0,0,di)T(ai,0,0)Tx(α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)

De esto tenemos

0A1=[cos(q1)sin(q1)0a1cos(q1)sin(q1)cos(q1)0a1sin(q1)00100001]^{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] 1A2=[cos(q2)sin(q2)0a2cos(q2)sin(q2)cos(q2)0a2sin(q2)00100001]^{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]

Luego,

0A2=0A11A2=[sin(q1)sin(q2)+cos(q1)cos(q2)sin(q1)cos(q2)sin(q2)cos(q1)0a1cos(q1)a2sin(q1)sin(q2)+a2cos(q1)cos(q2)sin(q1)cos(q2)+sin(q2)cos(q1)sin(q1)sin(q2)+cos(q1)cos(q2)0a1sin(q1)+a2sin(q1)cos(q2)+a2sin(q2)cos(q1)00100001]^{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]

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) y (2,4)(2,4) de la matriz dan lugar a las posiciones (x,y)(x,y) del efector final del robot:

x=a1cos(q1)a2sin(q1)sin(q2)+a2cos(q1)cos(q2)(1)y=a1sin(q1)+a2sin(q1)cos(q2)+a2sin(q2)cos(q1)(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}

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) y (2)(2) al cuadrado y las sumamos.

x2+y2=a12+2a1a2cos(q2)+a22(3)x^{2} + y^{2} = a_{1}^{2} + 2 a_{1} a_{2} \cos{\left(q_{2} \right)} + a_{2}^{2} \qquad\qquad (3)

Si despejamos q2q_2 obtendremos:

q2={2πacos(a12+a22x2y22a1a2), acos(a12a22+x2+y22a1a2)}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\}

como vemos hay dos posibles soluciones. Ahora encontremos q1q_1, para esto vamos a remplazar en (1)(1) y (2)(2) los siguientes terminos:

A=a1+a2cos(q2)B=a2sin(q2)\begin{array}{cl} A &= a_{1} + a_{2} \cos{\left(q_{2} \right)} \\ B &= a_{2} \sin{\left(q_{2} \right)} \end{array}

quedando de la siguiente forma:

x=Acos(q1)Bsin(q1)(4)y=Asin(q1)+Bcos(q1)(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}

se multiplicara la ecuación (4)(4) por AA y (5)(5) por BB:

Ax=A(Acos(q1)Bsin(q1))(6)By=B(Asin(q1)+Bcos(q1))(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}

Sumando las ecuaciones (6)(6) y (7)(7):

Ax+By=A2cos(q1)+B2cos(q1)(8)A x + B y = A^{2} \cos{\left(q_{1} \right)} + B^{2} \cos{\left(q_{1} \right)}\qquad\qquad (8)

Despejando q1q_1:

q1={2πacos(Ax+ByA2+B2),acos(Ax+ByA2+B2)}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\}

Con esto tenemos entonces la cinemática inversa para el robot de 2GDL. Con la solución para q1q_1 y q2q_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) 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)