Calcular el Jacobià invers per a un braç robòtic planar de 2 graus de llibertat (2 DOF), basant-me en els paràmetres següents.
Paràmetres del sistema:
- Longitud del primer braç \( a_1 = 1.0 \) m
- Longitud del segon braç \( a_2 = 0.5 \) m
- Angle de l'articulació 1 \( q_1 = 30^\circ \)
- Angle de l'articulació 2 \( q_2 = 45^\circ \)
- Velocitats cartesianes desitjades: \( v_x = 0.2 \) m/s, \( v_y = 0.1 \) m/s
Aquesta explicació es centra en la cinemàtica diferencial, on el Jacobià relaciona les velocitats de les articulacions amb les de l'efector final.
Pas 1: Entendre el Jacobià en cinemàtica diferencial
El Jacobià és una matriu que descriu com les petites variacions en les variables d'articulació (angles \( q_1 \) i \( q_2 \)) afecten la posició i velocitat de l'efector final en l'espai cartesià (coordenades \( x, y \)).
Per un braç robòtic planar de 2 DOF:
- La posició de l'efector final és:
\[
x = a_1 \cos q_1 + a_2 \cos (q_1 + q_2)
\]
\[
y = a_1 \sin q_1 + a_2 \sin (q_1 + q_2)
\]
- Les velocitats cartesianes (\( v_x = \dot{x} \), \( v_y = \dot{y} \)) es relacionen amb les velocitats angulars de les articulacions (\( \dot{q_1} \), \( \dot{q_2} \)) mitjançant el Jacobià \( J \):
\[
\begin{bmatrix} v_x \\ v_y \end{bmatrix} = J \begin{bmatrix} \dot{q_1} \\ \dot{q_2} \end{bmatrix}
\]
On \( J \) és la matriu de derivades parcials:
\[
J = \begin{bmatrix}
\frac{\partial x}{\partial q_1} & \frac{\partial x}{\partial q_2} \\
\frac{\partial y}{\partial q_1} & \frac{\partial y}{\partial q_2}
\end{bmatrix}
= \begin{bmatrix}
-a_1 \sin q_1 - a_2 \sin (q_1 + q_2) & -a_2 \sin (q_1 + q_2) \\
a_1 \cos q_1 + a_2 \cos (q_1 + q_2) & a_2 \cos (q_1 + q_2)
\end{bmatrix}
\]
Això és la cinemàtica diferencial directa. Per la inversa, necessitem resoldre per \( \dot{q_1} \) i \( \dot{q_2} \) a partir de \( v_x \) i \( v_y \).
Pas 2: Calcular el Jacobià \( J \) amb els valors donats
Primer, convertim els angles a radians (ja que les funcions trigonomètriques matemàtiques solen usar radians):
- \( q_1 = 30^\circ = \frac{\pi}{6} \) rad ≈ 0.5236 rad
- \( q_2 = 45^\circ = \frac{\pi}{4} \) rad ≈ 0.7854 rad
- \( q_1 + q_2 = 75^\circ = \frac{5\pi}{12} \) rad ≈ 1.3090 rad
Ara, calculem els valors trigonomètrics:
- \( \sin q_1 = \sin 30^\circ = 0.5 \)
- \( \cos q_1 = \cos 30^\circ = \frac{\sqrt{3}}{2} \approx 0.8660 \)
- \( \sin (q_1 + q_2) = \sin 75^\circ = \frac{\sqrt{6} + \sqrt{2}}{4} \approx 0.9659 \)
- \( \cos (q_1 + q_2) = \cos 75^\circ = \frac{\sqrt{6} - \sqrt{2}}{4} \approx 0.2588 \)
Substituint a \( J \):
- Element (1,1): \( -a_1 \sin q_1 - a_2 \sin (q_1 + q_2) = -1 \cdot 0.5 - 0.5 \cdot 0.9659 \approx -0.5 - 0.4830 = -0.9830 \)
- Element (1,2): \( -a_2 \sin (q_1 + q_2) = -0.5 \cdot 0.9659 \approx -0.4830 \)
- Element (2,1): \( a_1 \cos q_1 + a_2 \cos (q_1 + q_2) = 1 \cdot 0.8660 + 0.5 \cdot 0.2588 \approx 0.8660 + 0.1294 = 0.9954 \)
- Element (2,2): \( a_2 \cos (q_1 + q_2) = 0.5 \cdot 0.2588 \approx 0.1294 \)
Així, la matriu Jacobià és aproximadament:
\[
J \approx \begin{bmatrix}
-0.9830 & -0.4830 \\
0.9954 & 0.1294
\end{bmatrix}
\]
Pas 3: Comprovar si el Jacobià és invertible (calcular el determinant)
Per calcular l'invers, necessitem que el determinant \( \det(J) \neq 0 \) (sinó, la configuració és singular i no es pot invertir).
Fórmula per una matriu 2x2 \( \begin{bmatrix} a & b \\ c & d \end{bmatrix} \): \( \det = ad - bc \)
- Aquí: \( a \approx -0.9830 \), \( b \approx -0.4830 \), \( c \approx 0.9954 \), \( d \approx 0.1294 \)
- \( \det(J) \approx (-0.9830)(0.1294) - (-0.4830)(0.9954) \approx -0.1272 + 0.4808 = 0.3536 \)
Com que \( \det(J) \approx 0.3536 > 0 \), és invertible (no singular).
Pas 4: Calcular el Jacobià invers \( J^{-1} \)
Per una matriu 2x2, l'invers és:
\[
J^{-1} = \frac{1}{\det(J)} \begin{bmatrix} d & -b \\ -c & a \end{bmatrix}
\]
Substituint:
- Primera fila: \( \frac{0.1294}{0.3536} \approx 0.3660 \), \( \frac{-(-0.4830)}{0.3536} = \frac{0.4830}{0.3536} \approx 1.3660 \)
- Segona fila: \( \frac{-0.9954}{0.3536} \approx -2.8155 \), \( \frac{-0.9830}{0.3536} \approx -2.7802 \)
Així,
\[
J^{-1} \approx \begin{bmatrix}
0.3660 & 1.3660 \\
-2.8155 & -2.7802
\end{bmatrix}
\]
Pas 5: Aplicar el Jacobià invers per calcular les velocitats de les articulacions
Ara, usem la fórmula de la cinemàtica diferencial inversa:
\[
\begin{bmatrix} \dot{q_1} \\ \dot{q_2} \end{bmatrix} = J^{-1} \begin{bmatrix} v_x \\ v_y \end{bmatrix}
\]
Amb \( v_x = 0.2 \) m/s i \( v_y = 0.1 \) m/s:
- \( \dot{q_1} \approx (0.3660 \cdot 0.2) + (1.3660 \cdot 0.1) = 0.0732 + 0.1366 = 0.2098 \) rad/s
- \( \dot{q_2} \approx (-2.8155 \cdot 0.2) + (-2.7802 \cdot 0.1) = -0.5631 - 0.2780 = -0.8411 \) rad/s
Resultats:
- \( \dot{q_1} \approx 0.2098 \) rad/s \( \approx 12.02^\circ /s \)
- \( \dot{q_2} \approx -0.8411 \) rad/s \( \approx -48.18^\circ /s \)
Nota: Les velocitats angulars són en radians per segon. Si vols en graus per segon, multiplica per \( \frac{180}{\pi} \).
Importància del Jacobià invers per calcular velocitats de les articulacions i altres utilitats
Per calcular velocitats de les articulacions: El Jacobià invers és essencial en el control de robots perquè permet traduir una velocitat desitjada a l'efector final (com moviments en línia recta o trajectòries) en velocitats angulars que els motors de les articulacions poden executar. Sense això, seria difícil controlar el robot en temps real per tasques com pintar, soldar o manipular objectes, ja que els humans pensem en coordenades cartesianes, no en angles d'articulacions.
Altres utilitats:
- Anàlisi de singularitats: Quan \( \det(J) = 0 \), el robot perd graus de llibertat (ex.: braços alineats), i no pot moure's en certes direccions. El Jacobià invers ajuda a detectar i evitar aquestes configuracions per seguretat i eficiència.
- Estàtica i dinàmica: El Jacobià transposat \( J^T \) relaciona forces i parells: \( \tau = J^T f \), on \( \tau \) són els parells a les articulacions i \( f \) les forces a l'efector. Útil per calcular quant esforç necessiten els motors per suportar càrregues o resistir forces externes.
- Optimització i planificació: En robots redundants (més DOF que necessaris), l'invers pseudo (basat en Jacobià) resol redundàncies per minimitzar energia o evitar obstacles.
- Aplicacions pràctiques: En robòtica industrial, mèdica (ex.: cirurgia assistida) o exploració (ex.: braços en rovers espacials), facilita el control precís i la simulació.