Ir al contenido

Cinématica inversa 3GDL

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=0A1⋅1A2⋅2A3(1)T = ^{0}A_1 \cdot ^{1}A_2 \cdot ^{2}A_3 \qquad\qquad (1)

donde

T=[nxoxaxpxnyoyaypynzozazpz0001]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]

Para este método iremos pasando cada matriz de transformación i−1Ai^{i-1}A_i al otro lado de la igualdad e iremos encontrando ecuaciones que nos permitan relacionar la variable articulares qiq_i con las posiciones del efector final (px,py,pz)(p_x,p_y,p_z).

0A1−1⋅T=1A2⋅2A3(2)^{0}A_1^{-1} \cdot T = ^{1}A_2 \cdot ^{2}A_3 \qquad\qquad (2)

luego,

[nxcos⁡(q1)+nysin⁡(q1)oxcos⁡(q1)+oysin⁡(q1)axcos⁡(q1)+aysin⁡(q1)pxcos⁡(q1)+pysin⁡(q1)nzozaz−d1+pznxsin⁡(q1)−nycos⁡(q1)oxsin⁡(q1)−oycos⁡(q1)axsin⁡(q1)−aycos⁡(q1)pxsin⁡(q1)−pycos⁡(q1)0001]=[cos⁡(q2)0−sin⁡(q2)−q3sin⁡(q2)sin⁡(q2)0cos⁡(q2)q3cos⁡(q2)0−1000001]\left[\begin{matrix}n_{x} \cos{\left(q_{1} \right)} + n_{y} \sin{\left(q_{1} \right)} & o_{x} \cos{\left(q_{1} \right)} + o_{y} \sin{\left(q_{1} \right)} & a_{x} \cos{\left(q_{1} \right)} + a_{y} \sin{\left(q_{1} \right)} & p_{x} \cos{\left(q_{1} \right)} + p_{y} \sin{\left(q_{1} \right)}\\n_{z} & o_{z} & a_{z} & - d_{1} + p_{z}\\n_{x} \sin{\left(q_{1} \right)} - n_{y} \cos{\left(q_{1} \right)} & o_{x} \sin{\left(q_{1} \right)} - o_{y} \cos{\left(q_{1} \right)} & a_{x} \sin{\left(q_{1} \right)} - a_{y} \cos{\left(q_{1} \right)} & p_{x} \sin{\left(q_{1} \right)} - p_{y} \cos{\left(q_{1} \right)}\\0 & 0 & 0 & 1\end{matrix}\right] = \left[\begin{matrix}\cos{\left(q_{2} \right)} & 0 & - \sin{\left(q_{2} \right)} & - q_{3} \sin{\left(q_{2} \right)}\\\sin{\left(q_{2} \right)} & 0 & \cos{\left(q_{2} \right)} & q_{3} \cos{\left(q_{2} \right)}\\0 & -1 & 0 & 0\\0 & 0 & 0 & 1\end{matrix}\right]

extrayendo el termino (3,4)(3,4):

pxsin⁡(q1)−pycos⁡(q1)=0p_{x} \sin{\left(q_{1} \right)} - p_{y} \cos{\left(q_{1} \right)} = 0

despejando q1q_1, obtenemos:

q1=atan⁡(pypx)(Q1)q_{1} = \operatorname{atan}{\left(\frac{p_{y}}{p_{x}} \right)} \qquad\qquad (Q1)

repetimos el proceso de pasar una matriz en la ecuación (2)(2):

1A2−1⋅0A1−1⋅T=2A3(3)^{1}A_2^{-1} \cdot ^{0}A_1^{-1} \cdot T = ^{2}A_3 \qquad\qquad (3)

quedando:

[nxcos⁡(q1)cos⁡(q2)+nysin⁡(q1)cos⁡(q2)+nzsin⁡(q2)oxcos⁡(q1)cos⁡(q2)+oysin⁡(q1)cos⁡(q2)+ozsin⁡(q2)axcos⁡(q1)cos⁡(q2)+aysin⁡(q1)cos⁡(q2)+azsin⁡(q2)−d1sin⁡(q2)+pxcos⁡(q1)cos⁡(q2)+pysin⁡(q1)cos⁡(q2)+pzsin⁡(q2)−nxsin⁡(q1)+nycos⁡(q1)−oxsin⁡(q1)+oycos⁡(q1)−axsin⁡(q1)+aycos⁡(q1)−pxsin⁡(q1)+pycos⁡(q1)−nxsin⁡(q2)cos⁡(q1)−nysin⁡(q1)sin⁡(q2)+nzcos⁡(q2)−oxsin⁡(q2)cos⁡(q1)−oysin⁡(q1)sin⁡(q2)+ozcos⁡(q2)−axsin⁡(q2)cos⁡(q1)−aysin⁡(q1)sin⁡(q2)+azcos⁡(q2)−d1cos⁡(q2)−pxsin⁡(q2)cos⁡(q1)−pysin⁡(q1)sin⁡(q2)+pzcos⁡(q2)0001]=[10000100001q30001]\left[\begin{matrix}n_{x} \cos{\left(q_{1} \right)} \cos{\left(q_{2} \right)} + n_{y} \sin{\left(q_{1} \right)} \cos{\left(q_{2} \right)} + n_{z} \sin{\left(q_{2} \right)} & o_{x} \cos{\left(q_{1} \right)} \cos{\left(q_{2} \right)} + o_{y} \sin{\left(q_{1} \right)} \cos{\left(q_{2} \right)} + o_{z} \sin{\left(q_{2} \right)} & a_{x} \cos{\left(q_{1} \right)} \cos{\left(q_{2} \right)} + a_{y} \sin{\left(q_{1} \right)} \cos{\left(q_{2} \right)} + a_{z} \sin{\left(q_{2} \right)} & - d_{1} \sin{\left(q_{2} \right)} + p_{x} \cos{\left(q_{1} \right)} \cos{\left(q_{2} \right)} + p_{y} \sin{\left(q_{1} \right)} \cos{\left(q_{2} \right)} + p_{z} \sin{\left(q_{2} \right)}\\- n_{x} \sin{\left(q_{1} \right)} + n_{y} \cos{\left(q_{1} \right)} & - o_{x} \sin{\left(q_{1} \right)} + o_{y} \cos{\left(q_{1} \right)} & - a_{x} \sin{\left(q_{1} \right)} + a_{y} \cos{\left(q_{1} \right)} & - p_{x} \sin{\left(q_{1} \right)} + p_{y} \cos{\left(q_{1} \right)}\\- n_{x} \sin{\left(q_{2} \right)} \cos{\left(q_{1} \right)} - n_{y} \sin{\left(q_{1} \right)} \sin{\left(q_{2} \right)} + n_{z} \cos{\left(q_{2} \right)} & - o_{x} \sin{\left(q_{2} \right)} \cos{\left(q_{1} \right)} - o_{y} \sin{\left(q_{1} \right)} \sin{\left(q_{2} \right)} + o_{z} \cos{\left(q_{2} \right)} & - a_{x} \sin{\left(q_{2} \right)} \cos{\left(q_{1} \right)} - a_{y} \sin{\left(q_{1} \right)} \sin{\left(q_{2} \right)} + a_{z} \cos{\left(q_{2} \right)} & - d_{1} \cos{\left(q_{2} \right)} - p_{x} \sin{\left(q_{2} \right)} \cos{\left(q_{1} \right)} - p_{y} \sin{\left(q_{1} \right)} \sin{\left(q_{2} \right)} + p_{z} \cos{\left(q_{2} \right)}\\0 & 0 & 0 & 1\end{matrix}\right] = \left[\begin{matrix}1 & 0 & 0 & 0\\0 & 1 & 0 & 0\\0 & 0 & 1 & q_{3}\\0 & 0 & 0 & 1\end{matrix}\right]

extrayendo el termino (1,4)(1,4):

−d1sin⁡(q2)+pxcos⁡(q1)cos⁡(q2)+pysin⁡(q1)cos⁡(q2)+pzsin⁡(q2)=0- d_{1} \sin{\left(q_{2} \right)} + p_{x} \cos{\left(q_{1} \right)} \cos{\left(q_{2} \right)} + p_{y} \sin{\left(q_{1} \right)} \cos{\left(q_{2} \right)} + p_{z} \sin{\left(q_{2} \right)} = 0

despejando q2q_2, obtenemos:

q2=atan⁡(px2+py2d1−pz)(Q2)q_{2} = \operatorname{atan}{\left(\frac{\sqrt{p_{x}^2 + p_{y}^{2}}}{d_{1} - p_{z}} \right)} \qquad\qquad (Q2)

teniendo presente que:

pxcos⁡(q1)+pysin⁡(q1)=px2+py2p_{x} \cos{\left(q_{1} \right)} + p_{y} \sin{\left(q_{1} \right)} = \sqrt{p_{x}^2 + p_{y}^{2}}

Para q3q_3 podemos extraer el termino (3,4)(3,4) de la ecuación (2)(2):

−d1cos⁡(q2)−pxsin⁡(q2)cos⁡(q1)−pysin⁡(q1)sin⁡(q2)+pzcos⁡(q2)=q3- d_{1} \cos{\left(q_{2} \right)} - p_{x} \sin{\left(q_{2} \right)} \cos{\left(q_{1} \right)} - p_{y} \sin{\left(q_{1} \right)} \sin{\left(q_{2} \right)} + p_{z} \cos{\left(q_{2} \right)} = q_{3}

reorganizando los terminos:

q3=(pz−d1)cos⁡(q2)−(px2+py2)sin⁡(q2)(Q3)q_{3} = \left( p_{z} - d_{1}\right) \cos{\left(q_{2} \right)} - \left(\sqrt{p_{x}^2 + p_{y}^{2}}\right) \sin{\left(q_{2} \right)} \qquad\qquad (Q3)

con las ecuaciones (Q1)(Q1), (Q2)(Q2) y (Q3)(Q3) completamos la cinemática inversa de este robot.