Enunciado Oficial del Problema A
Dado el manipulador plano de la figura, se pide:
- (1.0 pts) Establecer el sistema de coordenadas, calcular los parámetros D-H de cada articulación y la matriz de transformación resultante. La posición HOME se corresponde cuando \(q_1=0, q_2=0, q_3=0\).
- (0.5 pts) Escribir las ecuaciones (PCD) correspondientes a un punto genérico \((x, y, \phi)\).
- (1.0 pts) Calcular el Jacobiano del manipulador y determinar las singularidades del manipulador.
- (1.0 pts) Calcular el problema cinemático inverso (PCI).
1. Asignación Rigurosa de Ejes y Parámetros Denavit-Hartenberg
El manipulador es un robot planar con 3 grados de libertad en configuración R-P-R (Rotacional - Prismática Coaxial - Rotacional). A diferencia de otros manipuladores donde la articulación prismática es perpendicular al eslabón anterior, en este robot la articulación prismática se desplaza a lo largo del propio brazo (corredera telescópica colineal con la primera barra).
Justificación Paso a Paso de la Ubicación de los Sistemas de Coordenadas:
- Sistema Base \(\{S_0\}\):
• Origen \(O_0\): Se sitúa en el centro geométrico del primer eje de rotación (base fija).
• Eje \(Z_0\): Eje de movimiento de la articulación 1. Al ser un giro planar, \(Z_0\) es perpendicular al plano del papel y apunta hacia el observador (\(\odot\)).
• Eje \(X_0\): Eje horizontal que define el origen angular para \(q_1\).
• Eje \(Y_0\): Completa la terna a derechas (\(Y_0 = Z_0 \times X_0\)), apuntando verticalmente hacia arriba.
- Sistema Intermedio \(\{S_1\}\) (Articulación Prismática):
• Según el convenio estándar de Denavit-Hartenberg, el eje de movimiento de la articulación \(i+1\) debe ser \(Z_i\). Por consiguiente, la articulación 2 (prismática telescópica) debe desplazarse a lo largo del eje \(Z_1\).
• Por tanto, orientamos el eje \(Z_1\) apuntando a lo largo del brazo extensible en dirección hacia la muñeca.
• Para que \(Z_1\) apunte a lo largo del brazo, debemos rotar desde \(Z_0\) (perpendicular al plano) hacia el brazo. La normal común a \(Z_0\) y \(Z_1\) es perpendicular a ambos, situándose en el plano y normal a la barra: escogemos \(X_1\) a \(+90^\circ\) del brazo.
• La rotación requerida sobre \(X_1\) para alinear \(Z_0\) con \(Z_1\) es \(\alpha_1 = +90^\circ\) (\(+\pi/2\)). El ángulo sobre \(Z_0\) entre \(X_0\) y \(X_1\) es \(\theta_1 = q_1 + 90^\circ\) (\(q_1 + \pi/2\)).
• Como \(Z_0\) y \(Z_1\) se cortan en el origen, \(d_1 = 0\) y \(a_1 = 0\), de modo que el origen \(O_1\) coincide con \(O_0\).
- Sistema de la Muñeca \(\{S_2\}\):
• Origen \(O_2\): Situado en el centro del eje de giro de la articulación 3 (muñeca).
• La traslación a lo largo de \(Z_1\) es la longitud total del brazo telescópico: \(d_2 = L_2 + q_2\).
• La articulación 3 rota en el plano, por lo que su eje de giro \(Z_2\) debe ser nuevamente perpendicular al plano (\(Z_2 \parallel Z_0\)).
• Para pasar de \(Z_1\) (a lo largo del brazo) a \(Z_2\) (perpendicular al plano), realizamos un giro de \(\alpha_2 = -90^\circ\) (\(-\pi/2\)) alrededor de \(X_2\).
• Escogemos \(X_2\) paralelo a \(X_1\), lo que resulta en un ángulo articular fijo \(\theta_2 = 0\) y distancia \(a_2 = 0\).
- Sistema del Extremo/Herramienta \(\{S_3\}\):
• Origen \(O_3\): Ubicado en el extremo del efector final \((x, y)\).
• El eslabón 3 tiene longitud \(L_3\). Como el eje \(X_2\) estaba desfasado \(+90^\circ\) respecto al brazo, el ángulo articular para orientar \(X_3\) colineal con la barra 3 es \(\theta_3 = q_3 - 90^\circ\) (\(q_3 - \pi/2\)).
• El avance a lo largo de \(X_3\) hasta el extremo es \(a_3 = L_3\). No hay avance en \(Z\) (\(d_3 = 0\)) ni torsión angular (\(\alpha_3 = 0\)).
Tabla de Parámetros D-H Estándar
| Eslabón \(i\) |
Tipo |
\(\theta_i\) (rad) |
\(d_i\) (m) |
\(a_i\) (m) |
\(\alpha_i\) (rad) |
Variable Articular |
| 1 |
Rotacional (R) |
\(q_1 + \frac{\pi}{2}\) |
\(0\) |
\(0\) |
\(+\frac{\pi}{2}\) |
\(q_1\) (rad) |
| 2 |
Prismática (P) |
\(0\) |
\(L_2 + q_2\) |
\(0\) |
\(-\frac{\pi}{2}\) |
\(q_2\) (m) |
| 3 |
Rotacional (R) |
\(q_3 - \frac{\pi}{2}\) |
\(0\) |
\(L_3\) |
\(0\) |
\(q_3\) (rad) |
Matrices de Transformación Homogénea Elementales
Aplicando la fórmula clásica Denavit-Hartenberg:
\[
^{i-1}A_i = \begin{bmatrix}
\cos\theta_i & -\sin\theta_i\cos\alpha_i & \sin\theta_i\sin\alpha_i & a_i\cos\theta_i \\
\sin\theta_i & \cos\theta_i\cos\alpha_i & -\cos\theta_i\sin\alpha_i & a_i\sin\theta_i \\
0 & \sin\alpha_i & \cos\alpha_i & d_i \\
0 & 0 & 0 & 1
\end{bmatrix}
\]
1. Matriz de la articulación 1 (\(^{0}A_1\)):
\[
^{0}A_1 = \begin{bmatrix}
\cos(q_1 + \pi/2) & 0 & \sin(q_1 + \pi/2) & 0 \\
\sin(q_1 + \pi/2) & 0 & -\cos(q_1 + \pi/2) & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & 0 & 1
\end{bmatrix} = \begin{bmatrix}
-\sin q_1 & 0 & \cos q_1 & 0 \\
\cos q_1 & 0 & \sin q_1 & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & 0 & 1
\end{bmatrix}
\]
2. Matriz de la articulación 2 (\(^{1}A_2\)):
\[
^{1}A_2 = \begin{bmatrix}
1 & 0 & 0 & 0 \\
0 & 0 & 1 & 0 \\
0 & -1 & 0 & L_2 + q_2 \\
0 & 0 & 0 & 1
\end{bmatrix}
\]
La posición de la muñeca respecto a la base es:
\[
^{0}A_2 = {^{0}A_1} \cdot {^{1}A_2} = \begin{bmatrix}
-\sin q_1 & -\cos q_1 & 0 & (L_2 + q_2)\cos q_1 \\
\cos q_1 & -\sin q_1 & 0 & (L_2 + q_2)\sin q_1 \\
0 & 0 & 1 & 0 \\
0 & 0 & 0 & 1
\end{bmatrix}
\]
3. Matriz de la articulación 3 (\(^{2}A_3\)):
\[
^{2}A_3 = \begin{bmatrix}
\cos(q_3 - \pi/2) & -\sin(q_3 - \pi/2) & 0 & L_3\cos(q_3 - \pi/2) \\
\sin(q_3 - \pi/2) & \cos(q_3 - \pi/2) & 0 & L_3\sin(q_3 - \pi/2) \\
0 & 0 & 1 & 0 \\
0 & 0 & 0 & 1
\end{bmatrix} = \begin{bmatrix}
\sin q_3 & \cos q_3 & 0 & L_3\sin q_3 \\
-\cos q_3 & \sin q_3 & 0 & -L_3\cos q_3 \\
0 & 0 & 1 & 0 \\
0 & 0 & 0 & 1
\end{bmatrix}
\]
Matriz Homogénea Resultante \(T_0^3\)
\[
T_0^3 = {^{0}A_1} \cdot {^{1}A_2} \cdot {^{2}A_3} = \begin{bmatrix}
\cos(q_1 + q_3) & -\sin(q_1 + q_3) & 0 & (L_2 + q_2)\cos q_1 + L_3\cos(q_1 + q_3) \\
\sin(q_1 + q_3) & \cos(q_1 + q_3) & 0 & (L_2 + q_2)\sin q_1 + L_3\sin(q_1 + q_3) \\
0 & 0 & 1 & 0 \\
0 & 0 & 0 & 1
\end{bmatrix}
\]
Verificación Obligatoria de la Posición HOME (\(q_1=0, q_2=0, q_3=0\)):
Sustituyendo los valores nulos en la matriz resultante:
\[
T_0^3\Big|_{\text{HOME}} = \begin{bmatrix}
\cos(0) & -\sin(0) & 0 & (L_2 + 0)\cos(0) + L_3\cos(0) \\
\sin(0) & \cos(0) & 0 & (L_2 + 0)\sin(0) + L_3\sin(0) \\
0 & 0 & 1 & 0 \\
0 & 0 & 0 & 1
\end{bmatrix} = \begin{bmatrix}
1 & 0 & 0 & L_2 + L_3 \\
0 & 1 & 0 & 0 \\
0 & 0 & 1 & 0 \\
0 & 0 & 0 & 1
\end{bmatrix}
\]
•
Posición cartesiana: \(x_{\text{HOME}} = L_2 + L_3\), \(y_{\text{HOME}} = 0\), \(z_{\text{HOME}} = 0\).
•
Orientación: Matriz identidad \(R = I_3\) (\(\phi_{\text{HOME}} = 0\)).
Conclusión: El resultado coincide con exactitud geométrica absoluta con la figura y el enunciado oficial.
2. Problema Cinemático Directo (PCD)
Extrayendo la cuarta columna (posición cartesiana) y el ángulo de giro de la orientación en el plano de la matriz \(T_0^3\), las ecuaciones cinemáticas directas para un punto genérico \((x, y, \phi)\) son:
\[
\begin{aligned}
x(q_1, q_2, q_3) &= (L_2 + q_2)\cos(q_1) + L_3\cos(q_1 + q_3) \\
y(q_1, q_2, q_3) &= (L_2 + q_2)\sin(q_1) + L_3\sin(q_1 + q_3) \\
\phi(q_1, q_3) &= q_1 + q_3
\end{aligned}
\]
Donde:
- \(x, y\): Coordenadas cartesianas del efector final en el plano horizontal respecto al sistema base \(\{S_0\}\).
- \(\phi\): Ángulo absoluto del último eslabón respecto al eje horizontal \(X_0\).
3. Jacobiano del Manipulador y Estudio de Singularidades
El vector de coordenadas operacionales es \(\mathbf{X} = [x, y, \phi]^T\) y el vector de coordenadas articulares es \(\mathbf{q} = [q_1, q_2, q_3]^T\). La matriz Jacobiana \(J(\mathbf{q}) \in \mathbb{R}^{3\times 3}\) se define mediante la derivada parcial de las ecuaciones del PCD:
\[
J(\mathbf{q}) = \frac{\partial \mathbf{X}}{\partial \mathbf{q}} = \begin{bmatrix}
\frac{\partial x}{\partial q_1} & \frac{\partial x}{\partial q_2} & \frac{\partial x}{\partial q_3} \\[6pt]
\frac{\partial y}{\partial q_1} & \frac{\partial y}{\partial q_2} & \frac{\partial y}{\partial q_3} \\[6pt]
\frac{\partial \phi}{\partial q_1} & \frac{\partial \phi}{\partial q_2} & \frac{\partial \phi}{\partial q_3}
\end{bmatrix}
\]
Derivando cada término:
\[
J(\mathbf{q}) = \begin{bmatrix}
-(L_2 + q_2)\sin q_1 - L_3\sin(q_1 + q_3) & \cos q_1 & -L_3\sin(q_1 + q_3) \\[4pt]
(L_2 + q_2)\cos q_1 + L_3\cos(q_1 + q_3) & \sin q_1 & L_3\cos(q_1 + q_3) \\[4pt]
1 & 0 & 1
\end{bmatrix}
\]
Cálculo Analítico del Determinante \(\det(J)\)
Para simplificar el cálculo del determinante por propiedades de determinantes, restamos la columna 3 a la columna 1 (\(C_1 \leftarrow C_1 - C_3\)):
\[
\det(J) = \det \begin{bmatrix}
-(L_2 + q_2)\sin q_1 & \cos q_1 & -L_3\sin(q_1 + q_3) \\
(L_2 + q_2)\cos q_1 & \sin q_1 & L_3\cos(q_1 + q_3) \\
0 & 0 & 1
\end{bmatrix}
\]
Desarrollando directamente por la tercera fila (donde solo hay un 1 en la posición (3,3)):
\[
\det(J) = 1 \cdot \left[ (-(L_2 + q_2)\sin q_1)(\sin q_1) - (\cos q_1)((L_2 + q_2)\cos q_1) \right]
\]
\[
\det(J) = -(L_2 + q_2)(\sin^2 q_1 + \cos^2 q_1) = -(L_2 + q_2)
\]
Análisis de Singularidades Cinemáticas:
Una configuración es singular si y solo si el Jacobiano pierde rango, es decir:
\[
\det(J) = 0 \iff -(L_2 + q_2) = 0 \iff q_2 = -L_2 \quad (\text{es decir, } L_2 + q_2 = 0)
\]
Interpretación Física de la Singularidad:
- La cantidad \(L_2 + q_2\) representa la distancia radial desde el origen de la base \(O_0\) hasta el centro de giro de la muñeca \(O_2\).
- Cuando \(q_2 = -L_2\), la corredera se retrae completamente de tal modo que la articulación de la muñeca coincide exactamente con el eje de giro de la base fija.
- En ese instante, rotar la articulación 1 (\(q_1\)) o rotar la articulación 3 (\(q_3\)) produce exactamente el mismo efecto cinemático sobre el manipulador: una rotación pura del efector final alrededor del origen.
- Por lo tanto, las columnas 1 y 3 del Jacobiano se vuelven linealmente dependientes (\(J_{:,1} = J_{:,3}\)) y el robot pierde 1 grado de libertad instantáneo, impidiendo controlar la velocidad radial del extremo y su orientación angular de forma independiente.
4. Problema Cinemático Inverso (PCI)
Dado el vector de consigna operacional \(\mathbf{X}^* = [x, y, \phi]^T\) en el espacio de trabajo accesible, deseamos encontrar los valores analíticos de las variables articulares \(\mathbf{q} = [q_1, q_2, q_3]^T\).
Paso 1Desacoplo Cinemático de la Posición de la Muñeca \((x_w, y_w)\):
Dado que la orientación final \(\phi = q_1 + q_3\) está especificada, podemos determinar la posición exacta de la articulación de la muñeca retrocediendo a lo largo de la herramienta \(L_3\):
\[
\begin{aligned}
x_w &= x - L_3\cos\phi = (L_2 + q_2)\cos q_1 \\
y_w &= y - L_3\sin\phi = (L_2 + q_2)\sin q_1
\end{aligned}
\]
Paso 2Cálculo del Ángulo de la Base \(q_1\):
Dividiendo las dos expresiones anteriores, siempre que la articulación prismática se encuentre extendida en el semieje positivo (\(L_2 + q_2 > 0\)):
\[
\tan q_1 = \frac{y_w}{x_w} \implies q_1 = \text{atan2}(y_w, \, x_w) = \text{atan2}(y - L_3\sin\phi, \, x - L_3\cos\phi)
\]
Paso 3Cálculo de la Extensión Prismática \(q_2\):
Sumando los cuadrados de las coordenadas de la muñeca:
\[
x_w^2 + y_w^2 = (L_2 + q_2)^2 \cos^2 q_1 + (L_2 + q_2)^2 \sin^2 q_1 = (L_2 + q_2)^2
\]
Tomando la raíz cuadrada positiva (rama habitual de trabajo donde el brazo apunta en el sentido de \(q_1\)):
\[
L_2 + q_2 = +\sqrt{x_w^2 + y_w^2} \implies q_2 = \sqrt{(x - L_3\cos\phi)^2 + (y - L_3\sin\phi)^2} - L_2
\]
Paso 4Cálculo del Ángulo de la Muñeca \(q_3\):
A partir de la ecuación de orientación global \(\phi = q_1 + q_3\):
\[
q_3 = \phi - q_1
\]
Ramas de Solución del PCI:
- Rama 1 (Normal / Brazo Frontal, \(L_2 + q_2 > 0\)):
\[
q_1 = \text{atan2}(y_w, x_w), \quad q_2 = \sqrt{x_w^2 + y_w^2} - L_2, \quad q_3 = \phi - q_1
\]
- Rama 2 (Brazo Dorsal / Extensión Negativa, si la corredera es bidireccional):
\[
q_1' = \text{atan2}(-y_w, -x_w) = q_1 \pm \pi, \quad q_2' = -\sqrt{x_w^2 + y_w^2} - L_2, \quad q_3' = \phi - q_1'
\]
5. Script Oficial de Verificación en MATLAB
El código MATLAB completo y verificado para la resolución simbólica y numérica de este examen se encuentra disponible en Matlab/Robots_Examen/examen_junio_2025_p2.m.
% Fragmento esencial de ejecucion en MATLAB:
dh = @(th, d, a, alp) [ ...
cos(th), -sin(th)*cos(alp), sin(th)*sin(alp), a*cos(th); ...
sin(th), cos(th)*cos(alp), -cos(th)*sin(alp), a*sin(th); ...
0, sin(alp), cos(alp), d; ...
0, 0, 0, 1 ];
A1 = dh(q1 + PI/2, 0, 0, PI/2);
A2 = dh(0, L2 + q2, 0, -PI/2);
A3 = dh(q3 - PI/2, 0, L3, 0);
T03 = simplify(A1 * A2 * A3);
% Calculo de Jacobiano y Determinante
X_op = [T03(1,4); T03(2,4); q1 + q3];
J = jacobian(X_op, [q1; q2; q3]);
det_J = simplify(det(J)); % Devuelve exactamente: -(L2 + q2)
Tabla de Validación Numérica Cruzada
| Caso |
Valores Articulares \([q_1, q_2, q_3]\) |
Pose Directa \([x, y, \phi]\) |
Solución PCI Inversa |
Error Cuadrático Máx |
| HOME |
\([0.000\text{ rad}, 0.000\text{ m}, 0.000\text{ rad}]\) |
\([1.500\text{ m}, 0.000\text{ m}, 0.000\text{ rad}]\) |
\([0.000\text{ rad}, 0.000\text{ m}, 0.000\text{ rad}]\) |
\(0.00 \times 10^{-16}\) |
| Caso 1 |
\([+30.0^\circ, +0.300\text{ m}, -45.0^\circ]\) |
\([+1.610\text{ m}, +0.520\text{ m}, -15.0^\circ]\) |
\([+30.0^\circ, +0.300\text{ m}, -45.0^\circ]\) |
\(< 1.0 \times 10^{-15}\) |
| Caso 2 |
\([+60.0^\circ, +0.700\text{ m}, +30.0^\circ]\) |
\([+0.850\text{ m}, +1.972\text{ m}, +90.0^\circ]\) |
\([+60.0^\circ, +0.700\text{ m}, +30.0^\circ]\) |
\(< 1.0 \times 10^{-15}\) |
Robótica (GITI) — Universidad de Sevilla | Escuela Técnica Superior de Ingeniería