Manual Definitivo de Denavit-Hartenberg, Modelado Dinámico, Control y Solucionario Teórico (ESI Sevilla - GITI)
Grado en Ing. Tecnologías Industriales
E.S.I. Universidad de Sevilla
Convocatorias Oficiales 2018–2025
Propósito de esta guía: Este documento está concebido para asegurar la máxima calificación en los exámenes de Robótica (P1 Teoría, P2 Cinemática y P3 Dinámica/Control). Se estructura en tres bloques rigurosos:
(1) Cinemática Directa e Inversa D-H, Jacobiano y Singularidades paso a paso sin fallos;
(2) Modelado Dinámico (Euler-Lagrange / Newton-Euler) y Control (Monoarticular con droop, Par Calculado y estabilidad de Lyapunov) cubriendo todas las casuísticas de examen y referenciando la suite completa de scripts de MATLAB; y
(3) Solucionario exhaustivo de teoría oficial (P1) (Sensores, Algoritmos dinámicos, Desacoplo de Pieper, Control y Trayectorias).
PARTE 1: GUÍA MAESTRA PARA PROBLEMAS PRÁCTICOS (P2 Y P3)
1. El Algoritmo Infalible de Asignación de Ejes Denavit-Hartenberg (D-H)
El 90% de los errores en cinemática directa, jacobiano y dinámica en examen se originan en una asignación incorrecta de los ejes de referencia o en confusiones con los signos de los parámetros D-H. Siguiendo este algoritmo determinista, es matemáticamente imposible equivocarse.
REGLA DE ORO DE LOS EJES $Z$: El eje de articulación $i$ (giro o desplazamiento) es SIEMPRE el eje $\mathbf{Z_{i-1}}$. El eje $Z_0$ coincide con la articulación 1; el eje $Z_1$ con la articulación 2; y en general, la articulación $i$ actúa alrededor o a lo largo de $Z_{i-1}$.
Paso 0: Identificación de Eslabones y Articulaciones
Numera los eslabones desde la base fija como eslabón 0 hasta el efector final como eslabón $n$. Hay $n$ articulaciones numeradas de 1 a $n$. La articulación $i$ conecta el eslabón $i-1$ con el eslabón $i$.
Paso 1: Dibujar los Ejes $Z$ ($Z_0, Z_1, \dots, Z_{n-1}$)
Si la articulación $i$ es de rotación, alinea $Z_{i-1}$ con el eje físico de giro. Asigna el sentido positivo arbitrariamente (por convenio hacia arriba o hacia la derecha para ángulos positivos en sentido antihorario).
Si la articulación $i$ es prismática, alinea $Z_{i-1}$ con la dirección física de traslación. El sentido positivo se toma en la dirección de extensión.
Paso 2: Fijar la Base $\{S_0\}$ y el Origen $O_0$
Sitúa el origen $O_0$ en un punto conveniente sobre $Z_0$ (típicamente en la intersección con la mesa de apoyo). Elige el eje $X_0$ perpendicular a $Z_0$. Truco de examen: Orienta $X_0$ de tal forma que cuando la primera coordenada articular $q_1 = 0$, el eje $X_0$ sea paralelo a la dirección natural de reposo del robot (lo que forzará que $\theta_1 = q_1$ sin desfase de ángulo inicial). Finalmente, $Y_0 = Z_0 \times X_0$ por regla de la mano derecha.
Figura 1: Geometría fundamental de la convención Denavit-Hartenberg (D-H Estándar) entre los sistemas $\{S_{i-1}\}$ y $\{S_i\}$.
2. Los Tres Casos Topológicos para Asignar $X_i$ y el Origen $O_i$
El eje $\mathbf{X_i}$ debe ser por definición perpendicular simultáneamente a $Z_{i-1}$ y a $Z_i$ (la normal común dirigida de $Z_{i-1}$ a $Z_i$). Dependiendo de la disposición espacial relativa de $Z_{i-1}$ y $Z_i$, se presenta uno de estos 3 casos:
CASO 1: EJES SECANTES ($Z_{i-1}$ y $Z_i$ se cortan en un punto)
Longitud del eslabón: Al cortarse, la distancia entre ellos es cero: $\mathbf{a_i = 0}$.
Ubicación del Origen $O_i$: Se sitúa obligatoriamente en el punto de intersección de $Z_{i-1}$ y $Z_i$.
Dirección de $X_i$: Como ambos ejes definen un plano, la normal común es la perpendicular a dicho plano. Por tanto, se elige $X_i = \pm (Z_{i-1} \times Z_i)$.
Sentido de $X_i$: Escoge el sentido que haga $\alpha_i = +90^\circ$ o que concuerde con la posición de reposo del robot para simplificar cálculos.
Ejemplo típico de examen: Articulación del hombro o muñecas esféricas de 3 GDL.
CASO 2: EJES PARALELOS ($Z_{i-1} \parallel Z_i$)
Longitud del eslabón: La distancia constante entre ambos ejes es $\mathbf{a_i > 0}$. Torsión $\mathbf{\alpha_i = 0^\circ}$ (o $180^\circ$ si son antiparalelos).
Infinitas normales comunes: Cualquier recta perpendicular a ambos es una normal válida.
ESTRATEGIA PRO-EXAMEN: Elige la normal común que pase por el origen anterior $O_{i-1}$. Con esto consigues que la distancia axial sea $d_i = 0$, ahorrando términos en la matriz.
Ubicación del Origen $O_i$: Intersección de esa normal común elegida con el eje $Z_i$.
Ejemplo típico de examen: Robots planares 3GDL y articulaciones 1-2-3 de robots SCARA.
CASO 3: EJES QUE SE CRUZAN EN EL ESPACIO (Alabeados, no coplanarios)
Normal común única: Existe un único segmento de mínima distancia perpendicular a ambos ejes. Su longitud es $\mathbf{a_i \neq 0}$.
Dirección y sentido de $X_i$: A lo largo de esa única normal común, orientada desde $Z_{i-1}$ hacia $Z_i$.
Ubicación del Origen $O_i$: Punto donde la normal común corta al eje $Z_i$.
Parámetro $d_i$: Distancia a lo largo de $Z_{i-1}$ desde $O_{i-1}$ hasta la intersección con la normal común $X_i$.
Figura 2: Comparativa visual directa de la asignación de $X_i$, $O_i$, $a_i$ y $d_i$ para los tres casos topológicos.
3. Protocolo de Extracción de Parámetros y Signos sin Error
Parámetro
Eje de Medida
Definición Geométrica Rigurosa
Variable / Cte.
Regla de Signo
$\theta_i$ (Giro)
Alrededor de $\mathbf{Z_{i-1}}$
Ángulo desde $X_{i-1}$ hasta $X_i$.
Variable si $i$ es Rotacional ($q_i$ o $q_i + \theta_0$)
Mano derecha mirando por el sentido positivo de $Z_{i-1}$.
$d_i$ (Desplazamiento)
A lo largo de $\mathbf{Z_{i-1}}$
Distancia desde el origen $O_{i-1}$ hasta la intersección de $Z_{i-1}$ con el eje $X_i$.
Variable si $i$ es Prismática ($q_i$)
Positivo en el sentido de $Z_{i-1}$, negativo en el opuesto.
$a_i$ (Longitud)
A lo largo de $\mathbf{X_i}$
Distancia desde la intersección de $Z_{i-1}$ con $X_i$ hasta el origen $O_i$ (longitud de la normal común).
Siempre Constante geométrica del robot
Siempre $a_i \ge 0$ (es una distancia física entre rectas).
$\alpha_i$ (Torsión)
Alrededor de $\mathbf{X_i}$
Ángulo desde $Z_{i-1}$ hasta $Z_i$.
Siempre Constante geométrica
Mano derecha mirando por el sentido positivo de $X_i$.
Matriz de Transformación Homogénea Elemental
La transformación entre los sistemas $\{S_{i-1}\}$ y $\{S_i\}$ viene dada por la composición estándar:
4. Cálculo Rápido del Jacobiano Geométrico y Singularidades
MÉTODO DIRECTO POR COLUMNAS: No calcules derivadas parciales algebraicas pesadas a mano en el examen a menos que el enunciado pida explícitamente el Jacobiano analítico. El Jacobiano geométrico $J(q) = \begin{bmatrix} J_v \\ J_\omega \end{bmatrix}$ se escribe directamente inspeccionando las matrices $T_0^i$:
$$J_{v,i} = \begin{cases} z_{i-1} \times (p_e - p_{i-1}) & \text{si articulación } i \text{ es de rotación} \\ z_{i-1} & \text{si articulación } i \text{ es prismática} \end{cases} \qquad J_{\omega,i} = \begin{cases} z_{i-1} & \text{si rotación} \\ 0 & \text{si prismática} \end{cases}$$
donde $z_{i-1} = R_0^{i-1} \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix}$ es la tercera columna de $T_0^{i-1}$, $p_{i-1}$ es el vector de posición del origen $O_{i-1}$, y $p_e$ es la posición del efector final.
Desacoplo de Singularidades para Manipuladores con Muñeca Esférica
Para un robot de 6 GDL con muñeca esférica (ejes 4, 5 y 6 cortándose en el punto de muñeca $W$), evaluando el Jacobiano en el punto $W$:
Singularidades del brazo ($\det(J_{11}) = 0$): Dependen exclusivamente de las 3 primeras articulaciones $(q_1, q_2, q_3)$. Ocurren cuando el brazo alcanza el límite exterior del espacio de trabajo (brazo completamente estirado o replegado sobre sí mismo) o cuando la muñeca cruza el eje de la base $Z_0$.
Singularidades de la muñeca ($\det(J_{22}) = 0$): Dependen exclusivamente de la orientación interna de la muñeca. Para una muñeca esférica estándar tipo Euler Z-Y-Z o RPY:
$$\det(J_{22}) = -\sin\theta_5 = 0 \implies \theta_5 = 0^\circ \text{ o } 180^\circ$$
Físicamente, los ejes $Z_3$ y $Z_5$ se vuelven colineales, perdiendo la capacidad de girar alrededor del eje ortogonal a ellos instantáneamente.
5. Guía Integral de Modelado Dinámico (Euler-Lagrange y Newton-Euler)
En los problemas de examen P3 de la ESI de Sevilla, el modelado dinámico se formula habitualmente en coordenadas articulares mediante la ecuación matricial no lineal:
donde $M(q) \in \mathbb{R}^{n \times n}$ es la matriz de inercia generalizada (simétrica y estrictamente definida positiva), $C(q,\dot{q})\dot{q} \in \mathbb{R}^n$ es el vector de fuerzas centrífugas y de Coriolis, $g(q) \in \mathbb{R}^n$ es el vector de pares gravitatorios, y $\tau \in \mathbb{R}^n$ son los pares o fuerzas generalizadas aplicadas por los actuadores.
HERRAMIENTA CLAVE DE MATLAB: Para cualquier deducción analítica de la dinámica o verificación rápida de matrices simbólicas, utiliza el script Matlab/Core_Simbolico/euler_lagrange_matrices.m. Este script automatiza el cálculo de $M(q)$, calcula la matriz $C(q,\dot{q})$ mediante símbolos de Christoffel exactos, y extrae el vector de gravedad $g(q)$ a partir de la energía potencial.
5.1 Casuística D1: Manipuladores Planares por Euler-Lagrange (2 GDL y 3 GDL)
Es la casuística más frecuente en problemas analíticos. Para resolverlo en examen sin omitir ningún paso ni signo:
Posición de los Centros de Gravedad ($p_{c_i}$):
Escribe los vectores de posición de los centros de masa de cada eslabón respecto a la base $\{S_0\}$. Para un robot antropomórfico planar de 2 eslabones de longitudes $L_1, L_2$ con centros de masa a distancias $l_{c1}, l_{c2}$:
$$p_{c_1} = \begin{bmatrix} l_{c1}\cos q_1 \\ l_{c1}\sin q_1 \\ 0 \end{bmatrix}, \qquad p_{c_2} = \begin{bmatrix} L_1\cos q_1 + l_{c2}\cos(q_1+q_2) \\ L_1\sin q_1 + l_{c2}\sin(q_1+q_2) \\ 0 \end{bmatrix}$$
Velocidades Lineales y Angulares:
Deriva respecto al tiempo o utiliza las columnas del jacobiano traslacional:
$$v_{c_i} = \dot{p}_{c_i} = J_{v,c_i}(q)\dot{q}, \qquad \omega_i = (\dot{q}_1 + \dots + \dot{q}_i) z_0$$
Energía Cinética Total ($T$) y Deducción de $M(q)$ de Forma Compacta:
$$T = \sum_{i=1}^n \left( \frac{1}{2}m_i v_{c_i}^T v_{c_i} + \frac{1}{2} I_{zi} \omega_i^2 \right) = \frac{1}{2} \dot{q}^T M(q) \dot{q}$$
Desarrollando los productos escalares con la identidad $\cos(a)\cos(b) + \sin(a)\sin(b) = \cos(a-b)$, los términos cruzados se reducen limpiamente a $\cos q_2$:
$$m_{11}(q) = m_1 l_{c1}^2 + I_{z1} + m_2(L_1^2 + l_{c2}^2 + 2L_1 l_{c2}\cos q_2) + I_{z2}$$
$$m_{12}(q) = m_{21}(q) = m_2(l_{c2}^2 + L_1 l_{c2}\cos q_2) + I_{z2}, \qquad m_{22}(q) = m_2 l_{c2}^2 + I_{z2}$$
Matriz de Coriolis y Fuerzas Centrífugas ($C(q,\dot{q})$) por Símbolos de Christoffel:
$$c_{kj}(q,\dot{q}) = \sum_{i=1}^n \Gamma_{ijk} \dot{q}_i = \frac{1}{2} \sum_{i=1}^n \left( \frac{\partial m_{kj}}{\partial q_i} + \frac{\partial m_{ki}}{\partial q_j} - \frac{\partial m_{ij}}{\partial q_k} \right) \dot{q}_i$$
¿POR QUÉ EXIGEN CHRISTOFFEL EN EL EXAMEN? Porque sólo con la definición de Christoffel se garantiza matemáticamente que la matriz $\mathbf{\dot{M}(q) - 2C(q,\dot{q})}$ sea estrictamente antisimétrica ($\mathbf{x^T(\dot{M}-2C)x = 0}$ para cualquier vector $x$). Si agrupas los términos de Coriolis de forma arbitraria, esta propiedad se pierde y suspenderás la demostración de estabilidad de Lyapunov.
Energía Potencial ($V$) y Vector de Gravedad ($g(q)$) — LAS 3 TRAMPAS DE EXAMEN:
Trampa A (Gravedad vertical en $-Y_0$): Si el robot se mueve en el plano vertical $XY$ y la gravedad apunta hacia $-Y_0$, $g_0 = [0, -g, 0]^T$:
$$V = m_1 g y_{c_1} + m_2 g y_{c_2} \implies g_k(q) = \frac{\partial V}{\partial q_k}$$
$$g_1(q) = (m_1 l_{c1} + m_2 L_1)g\cos q_1 + m_2 l_{c2}g\cos(q_1+q_2), \quad g_2(q) = m_2 l_{c2}g\cos(q_1+q_2)$$
Trampa B (Gravedad vertical en $-Z_0$): Si el dibujo sitúa la vertical en el eje $Z_0$, $g_0 = [0, 0, -g]^T$, entonces $V = \sum m_i g z_{c_i}$.
Trampa C (Robot trabajando en plano horizontal): Si las articulaciones giran alrededor de ejes verticales paralelos a la gravedad (como en un SCARA en $q_1, q_2$), las alturas de los centros de masa no varían con el giro: $V = \text{cte} \implies \mathbf{g(q) = \mathbf{0}}$ (no hay par gravitatorio).
5.2 Casuística D2: Extracción de Parámetros Dinámicos para Newton-Euler (Estilo Dic 2019 P3)
En exámenes recientes (como Diciembre 2019 P3), la pregunta práctica no pide desarrollar todas las ecuaciones algebraicas a mano, sino extraer los parámetros dinámicos exactos para alimentar el algoritmo de Newton-Euler implementado en MATLAB (plantilla Matlab/03_Dinamica_y_Modelado/NE_R3GDL.m o el script resuelto Matlab/Robots_Examen/examen_diciembre_2019_p3.m).
Parámetro
Símbolo
Definición y Sistema de Referencia
Trampa Típica de Examen
Masa total
$m_i$
Masa escalar del eslabón $i$ ($m_i = \sum_k m_{i,k}$).
Olvidar sumar masas puntuales o herramientas en el extremo.
Centro de masas local
$\mathbf{s_{ii}}$
Vector de posición del centro de gravedad del eslabón $i$ expresado en el sistema de referencia propio $\{S_i\}$: $\mathbf{s_{ii}} = [s_x, s_y, s_z]^T$.
¡GRAVE ERROR!: Expresarlo respecto a la base $\{S_0\}$ o respecto a $\{S_{i-1}\}$. Debe medirse desde el origen $O_i$ en los ejes $\{X_i, Y_i, Z_i\}$.
Tensor de inercia baricéntrico
$\mathbf{I_{ii}}$
Matriz de inercia del eslabón $i$ calculada respecto a unos ejes paralelos a $\{S_i\}$ pero con origen en el propio centro de masas $C_i$.
Calcular la inercia en el origen de la articulación $O_i$ en lugar del centro de masas. Si se conoce en $O_i$, hay que restar $m d^2$ (Steiner inverso).
Inercia y fricción del motor
$J_{mi}, B_{mi}, R_i$
Inercia del rotor, rozamiento viscoso y relación de reducción articular ($R_i = \dot{q}_i / \dot{\theta}_{mi}$).
Confundir si $R_i < 1$ (reductora) o si dan el factor $r_i = 1/R_i > 1$. En la ecuación se divide por $R_i^2$ (o multiplica por $r_i^2$).
MÉTODO DE RESOLUCIÓN PARA ESLABONES COMPUESTOS (BARRAS + DISCOS + MANIVELAS):
Masa total: $m_i = m_{\text{barra}} + m_{\text{cilindro}} + m_{\text{contrapeso}}$.
Centro de masas ponderado en $\{S_i\}$:
$$s_x = \frac{\sum m_k x_{c,k}}{m_i}, \qquad s_y = \frac{\sum m_k y_{c,k}}{m_i}, \qquad s_z = \frac{\sum m_k z_{c,k}}{m_i}$$
Teorema de Steiner (Ejes Paralelos):
Para cada parte elemental $k$, si su inercia propia respecto a su centro es $I_{C_k, zz}$, su contribución respecto al centro de masas global $C_i$ del eslabón es:
$$I_{C_i, zz}^{(k)} = I_{C_k, zz} + m_k \cdot d_k^2 = I_{C_k, zz} + m_k \left[ (x_{C_k} - s_x)^2 + (y_{C_k} - s_y)^2 \right]$$
Sumando todas las partes elementales se obtiene el término exacto $I_{ii, zz} = \sum_k I_{C_i, zz}^{(k)}$.
Inercias canónicas de memoria:
Barra delgada de longitud $L$ ($I_C = \frac{1}{12}mL^2$, $I_{\text{extremo}} = \frac{1}{3}mL^2$). Cilindro macizo de radio $R$ ($I_{\text{axial}} = \frac{1}{2}mR^2$, $I_{\text{trans}} = \frac{1}{4}mR^2 + \frac{1}{12}mH^2$).
5.3 Casuística D3: Actuadores Reales, Reductoras de Velocidad y Fricción
Cuando el examen incluye motores eléctricos y reductores mecánicos, la ecuación dinámica debe incorporar los efectos inerciales y disipativos reflejados en el eje de la articulación:
Inercia equivalente del motor reflejada: Dado que el rotor gira a velocidad $\dot{\theta}_{mi} = \dot{q}_i / R_i$, su energía cinética es $T_{mi} = \frac{1}{2}J_{mi}\dot{\theta}_{mi}^2 = \frac{1}{2}\left(\frac{J_{mi}}{R_i^2}\right)\dot{q}_i^2$. La inercia reflejada es:
$$J_{m,eq,i} = \frac{J_{mi}}{R_i^2}$$
Par motor efectivo disponible: El par generado por el motor $\tau_{mi}$ se multiplica mecánicamente por la reductora: $\tau_i = \frac{\tau_{mi}}{R_i}$.
6. Guía Maestra de Control de Manipuladores: Todas las Casuísticas de Examen
En los exámenes de Robótica, el bloque de control dinámico abarca tres grandes variantes: (1) Control descentralizado monoarticular y análisis del error de régimen permanente (droop gravitatorio); (2) Control multivariable por Par Calculado (Computed Torque); y (3) Demostración formal de estabilidad asintótica de Lyapunov con compensación de gravedad.
6.1 Casuística C1: Control Monoarticular Descentralizado (PD y PID)
Planteamiento de examen: Cada articulación $i$ se controla de forma independiente mediante un lazo SISO, tratando el acoplamiento con los demás eslabones y el par gravitatorio como una perturbación externa de baja frecuencia $\tau_{\text{ext},i} \approx g_i(q)$:
$$J_{i} \ddot{q}_i + B_{i} \dot{q}_i = \tau_i - g_i(q)$$
donde $J_i = m_{ii}(q) + J_{m,eq,i}$ es la inercia efectiva de la articulación.
DEDUCCIÓN DEL ERROR EN RÉGIMEN PERMANENTE (GRAVITATIONAL DROOP):
Si se aplica un controlador proporcional-derivativo (PD) lineal en cadena de posición:
$$\tau_i = K_{p,i}(q_{d,i} - q_i) - K_{d,i}\dot{q}_i$$
Al alcanzar el estado estacionario final ($\dot{q}_i = 0, \ddot{q}_i = 0$, con posición final $q_{ss,i}$):
$$0 + 0 = K_{p,i}(q_{d,i} - q_{ss,i}) - g_i(q_{ss}) \implies K_{p,i} e_{ss,i} = g_i(q_d)$$
$$\mathbf{e_{ss,i} = q_{d,i} - q_{ss,i} = \frac{g_i(q_d)}{K_{p,i}} \ne 0}$$
Conclusión obligatoria en examen: Un regulador PD convencional es incapaz de anular el error estático ante la gravedad. El brazo sufre una caída permanente proporcional al peso e inversamente proporcional a la ganancia $K_p$.
¿Cómo se anula el droop gravitatorio en examen? Las dos soluciones canónicas:
Solución A (Recomendada): Precompensación de Gravedad en Cadena Directa (Feedforward):
$$\tau_i = K_{p,i}(q_{d,i} - q_i) - K_{d,i}\dot{q}_i + \mathbf{g_i(q_d)}$$
Al evaluar en régimen permanente: $K_{p,i}e_{ss,i} + g_i(q_d) = g_i(q_d) \implies \mathbf{e_{ss,i} = 0}$.
Ventajas: Anula el error exactamente sin degradar la estabilidad de lazo cerrado ni ralentizar la respuesta.
Solución B: Acción Integral (PID):
$$\tau_i = K_{p,i} e_i + K_{i,i}\int_0^t e_i(\tau)d\tau - K_{d,i}\dot{q}_i$$
El integrador va acumulando error hasta generar un par igual a la gravedad: $K_{i,i}\int e_i dt = g_i(q_d)$, haciendo $e_{ss,i} \to 0$.
Inconveniente de examen: La acción integral reduce el margen de fase, introduce sobreimpulso y puede causar saturación del actuador (efecto integrator windup).
SINTONIZACIÓN ANALÍTICA DE GANANCIAS (AMORTIGUAMIENTO CRÍTICO $\xi = 1$):
La ecuación característica de lazo cerrado para la articulación aislada es:
$$s^2 + \left(\frac{B_i + K_{d,i}}{J_i}\right) s + \frac{K_{p,i}}{J_i} = s^2 + 2\xi\omega_n s + \omega_n^2$$
Para obtener una respuesta temporal rápida sin sobreimpulso ni oscilaciones ($\xi = 1$):
$$\mathbf{K_{p,i} = J_{i,\max} \omega_n^2}, \qquad \mathbf{K_{d,i} = 2 J_{i,\max}\omega_n - B_i}$$
Regla de diseño de examen: Para dimensionar $J_i$, se escoge siempre la máxima inercia efectiva posible en todo el espacio de trabajo: $J_{i,\max} = \max_q m_{ii}(q) + J_{m,eq,i}$. De este modo, en cualquier otra postura el sistema estará ligeramente sobreamortiguado ($\xi \ge 1$), garantizando que jamás habrá oscilaciones imprevistas.
6.2 Casuística C2: Control Multivariable por Par Calculado (Computed Torque)
Filosofía: Técnica de Linealización por Realimentación Exacta (Feedback Linearization). En lugar de ignorar la dinámica multivariable, utiliza el modelo inverso no lineal completo para cancelar las fuerzas inerciales cruzadas, Coriolis y gravedad.
Ley de Control no lineal:
$$\mathbf{\tau = M(q) u + C(q,\dot{q})\dot{q} + g(q)}$$
donde $u \in \mathbb{R}^n$ es una entrada de control lineal auxiliar.
Cancelación dinámica exacta:
Sustituyendo $\tau$ en la ecuación real del manipulador:
$$M(q)\ddot{q} + C(q,\dot{q})\dot{q} + g(q) = M(q) u + C(q,\dot{q})\dot{q} + g(q) \implies M(q)\ddot{q} = M(q)u$$
Dado que la matriz de inercia $M(q)$ es siempre invertible:
$$\mathbf{\ddot{q} = u}$$
¡El robot multivariable acoplado queda transformado exactamente en $n$ integradores dobles lineales desacoplados!
Dinámica lineal del error en lazo cerrado:
Sustituyendo $u$ en $\ddot{q} = u$ y definiendo el error $e(t) = q_d(t) - q(t)$:
$$\mathbf{\ddot{e}(t) + K_v \dot{e}(t) + K_p e(t) = \mathbf{0}}$$
Eligiendo $K_p$ y $K_v$ como matrices diagonales $K_p = \text{diag}(\omega_{ni}^2)$ y $K_v = \text{diag}(2\xi_i\omega_{ni})$, cada coordenada articular converge asintóticamente a cero con la dinámica de segundo orden especificada.
SCRIPT MATLAB ASOCIADO:Matlab/Core_Simbolico/computed_torque_control.m y modelo Simulink Matlab/04_Control_y_Simulacion/sk_R3GDL_CONTROL.mdl.
6.3 Casuística C3: Demostración Formal de Estabilidad de Lyapunov (PD + Gravedad)
DESARROLLO COMPLETO PARA EL EXAMEN PASO A PASO:
Consigna y Error: Posición constante $q_d = \text{cte} \implies \dot{q}_d = 0$. Error de seguimiento $\tilde{q} = q_d - q \implies \dot{\tilde{q}} = -\dot{q}$.
Función Candidata de Lyapunov $V(q,\dot{q})$:
Se escoge la energía total del sistema en lazo cerrado (Energía Cinética del robot + Energía Elástica ficticia del error):
$$\mathbf{V(q,\dot{q}) = \frac{1}{2}\dot{q}^T M(q)\dot{q} + \frac{1}{2}\tilde{q}^T K_p \tilde{q}}$$
Propiedades: $V(0,0)=0$, y al ser $M(q)>0$ y $K_p>0$, $V(q,\dot{q}) > 0 \; \forall (q,\dot{q}) \ne (q_d, 0)$ (definida positiva y radialmente no acotada).
Propiedad de Antisimetría de Christoffel:
Por formularse $C(q,\dot{q})$ mediante símbolos de Christoffel, $\dot{M}-2C$ es antisimétrica $\implies \mathbf{z^T (\dot{M}-2C)z = 0 \; \forall z}$.
Por consiguiente:
$$\mathbf{\dot{V} = -\dot{q}^T K_d \dot{q} \le 0}$$
Al ser $K_d > 0$, $\dot{V}$ es semidefinida negativa ($\dot{V} \le 0$). Esto demuestra formalmente la estabilidad simple en el sentido de Lyapunov.
Estabilidad Asintótica (Principio de Invarianza de LaSalle):
Para que $\dot{V} \equiv 0$, se requiere $\dot{q} \equiv 0 \implies \ddot{q} \equiv 0$. Sustituyendo $\dot{q}=0, \ddot{q}=0$ en el lazo cerrado:
$$M(q)\cdot 0 + C(q,0)\cdot 0 + K_d \cdot 0 - K_p \tilde{q} = 0 \implies \mathbf{K_p \tilde{q} = 0} \implies \mathbf{\tilde{q} = 0 \implies q = q_d}$$
El único conjunto invariante donde $\dot{V}=0$ es el punto de equilibrio $(\tilde{q}=0, \dot{q}=0)$. Se concluye que el sistema es asintóticamente estable a gran escala.
7. Mapa de Scripts de MATLAB para Cada Problema y Fase de Examen
En la siguiente tabla se especifica exactamente a qué script de la suite oficial debes acudir en el ordenador de examen según la fase y la tipología de problema:
Trayectoria de referencia $q_d(t), \dot{q}_d(t), \ddot{q}_d(t)$, matrices de ganancias $K_p, K_v$.
Ley de par no lineal $\tau(t)$, verificación de desacoplo modal y gráficos de error de seguimiento $e(t) \to 0$.
3 PRECAUCIONES VITALES DE MATLAB SIMBÓLICO EN EL EXAMEN:
Evitar números gigantescos por punto flotante: Declara siempre PI = sym(pi);. Si usas pi directamente, MATLAB evaluará aproximaciones decimales y creará polinomios con términos enormes como $3.141592653589793 \times 10^{16}$.
Simplificación rigurosa: Emplea sistemáticamente simplify(..., 'IgnoreAnalyticConstraints', true) o combina trigsimp con expand para colapsar combinaciones de cosenos y senos en términos $\cos(q_1+q_2)$.
Simulación numérica desde expresiones simbólicas: Si te piden simular o evaluar en un punto, convierte las expresiones simbólicas en funciones anónimas vectorizadas ultrarrápidas mediante matlabFunction(M, 'Vars', {q}).
PARTE 2: RECOPILACIÓN Y SOLUCIONARIO DE TEORÍA OFICIAL (P1)
Pregunta Teórica 1: Sensores de Posición Articular: Sincro-Resolver vs Encoders Ópticos
Pregunta típica de examen (Convocatorias 2019, 2021, 2024):"Explique detalladamente el principio físico de funcionamiento de un sincro-resolver y de un encoder óptico (incremental y absoluto). Compare ambos sensores en términos de resolución, robustez ambiental, inmunidad al ruido y aplicaciones típicas en robótica industrial. ¿Por qué se utiliza el código Gray en los encoders absolutos?"
1. Sincro-Resolver (Transformador Rotativo)
El sincro-resolver es un transductor electromagnético analógico constituido por un estator cilíndrico y un rotor solidario al eje de la articulación del robot.
Principio Físico: El bobinado del rotor se alimenta con una señal sinusoidal de alta frecuencia: $V_R(t) = V_0 \sin(\omega t)$ (típicamente $2\text{ kHz}$ a $10\text{ kHz}$). El estator posee dos bobinados devanados espacialmente en cuadratura (desfasados $90^\circ$ geométricos entre sí).
Señales de salida inducidas en el estator: Por inducción electromagnética mutua dependiente del ángulo $\theta$ del rotor:
$$V_{S1}(t) = K \cdot V_0 \sin(\omega t) \cdot \sin\theta, \qquad V_{S2}(t) = K \cdot V_0 \sin(\omega t) \cdot \cos\theta$$
Demodulación y lectura del ángulo: Un circuito conversor Resolver-a-Digital (R/D) elimina la portadora $\sin(\omega t)$ y calcula el cociente de amplitudes: $\frac{V_{S1}}{V_{S2}} = \tan\theta \implies \mathbf{\theta = \text{atan2}(V_{S1}, V_{S2})}$.
Figura 3: Comparación constructiva y de señales entre un sincro-resolver inductivo y un encoder óptico digital.
2. Encoders Ópticos (Incremental vs Absoluto)
Encoder Incremental: Disco con ranuras transparentes y opacas. Utiliza dos fotodetectores desfasados un cuarto de período ($90^\circ$ eléctricos), generando dos trenes de pulsos $A$ y $B$ en cuadratura. La secuencia de avance (si $A$ adelanta a $B$ o viceversa) determina el sentido de rotación. Multiplicando los flancos de subida y bajada de ambos canales se multiplica la resolución por 4. Posee además un canal $Z$ (Index) con una sola marca por vuelta para calibración de cero. Desventaja: Al desconectar la alimentación pierde la posición actual y requiere homing.
Encoder Absoluto: Posee $N$ pistas concéntricas leídas simultáneamente por $N$ sensores ópticos, generando una palabra digital única para cada posición angular. Conoce la posición absoluta instantánea al arrancar sin necesidad de calibración.
¿Por qué se usa Código Gray y no Binario Natural?: En binario natural, al pasar de un sector a otro pueden cambiar múltiples bits simultáneamente (ejemplo: de $0111_2 = 7$ a $1000_2 = 8$ cambian 4 bits). Debido a mínimas tolerancias mecánicas o de lectura, los sensores no cambian a la vez, produciéndose lecturas erráticas intermedias transitorias desastrosas para el lazo de control. En el Código Gray, entre dos sectores contiguos cambia exactamente un único bit ($\Delta \text{bit} = 1$), eliminando cualquier ambigüedad en las transiciones.
3. Tabla Comparativa de Selección Industrial
Criterio Técnico
Sincro-Resolver
Encoder Óptico Incremental
Encoder Óptico Absoluto
Principio físico
Inducción electromagnética (analógico)
Interrupción fotométrica (pulsos digitales)
Lectura de patrón óptico digital en código Gray
Resistencia a temperatura
Extrema: $-55^\circ\text{C}$ a $+155^\circ\text{C}$ (sin electrónica interna)
Media: $-20^\circ\text{C}$ a $+85^\circ\text{C}$
Media: $-20^\circ\text{C}$ a $+85^\circ\text{C}$
Robustez ambiental
Total a polvo, aceite, vibraciones y choques mecánicos
Sensible a polvo, grasa y rayaduras en disco óptico
Sensible a suciedad; requiere estanqueidad IP65+
Inmunidad EMI
Excelente (señales sinusoidales de baja impedancia)
Moderada (requiere apantallamiento en líneas de pulsos)
Alta con buses digitales industriales (SSI, BiSS, EnDat)
Pérdida de posición
Absoluto dentro de 1 vuelta ($0^\circ$ a $360^\circ$)
Pierde posición al apagar (requiere homing)
Posición absoluta retenida (multivuelta con batería/engranaje)
Robots cartesianos, bajo coste, lazos de velocidad
Brazos articulados modernos de 6 GDL de alta precisión
Pregunta Teórica 2: Algoritmo Recursivo de Newton-Euler frente a Euler-Lagrange
Pregunta típica de examen (Convocatorias 2020, 2022, 2025):"Explique la estructura y las dos fases del algoritmo recursivo de Newton-Euler para el cálculo de la dinámica de manipuladores. Compare su complejidad computacional con el método de Euler-Lagrange y justifique su uso en control dinámico en tiempo real."
1. Fundamento y Estructura en Dos Fases
El algoritmo de Newton-Euler calcula los pares/fuerzas articulares $\tau$ necesarios para generar una trayectoria $(q, \dot{q}, \ddot{q})$ mediante dos pasadas recursivas basadas en las leyes de Newton ($\sum F = m a_c$) y de Euler ($\sum M = I \dot{\omega} + \omega \times (I \omega)$):
Fase 1: Propagación Cinemática hacia Adelante (Forward Pass, desde la base $i=0$ al efector $i=n$):
Conociendo las condiciones en la base fija ($\omega_0 = 0, \dot{\omega}_0 = 0, \ddot{p}_0 = -g$ para incorporar la gravedad de forma natural sin añadir términos potenciales), se propagan las velocidades y aceleraciones eslabón a eslabón:
$$\omega_i = R_i^{i-1} \left( \omega_{i-1} + z_{i-1} \dot{q}_i \right)$$
$$\dot{\omega}_i = R_i^{i-1} \left( \dot{\omega}_{i-1} + z_{i-1} \ddot{q}_i + \omega_{i-1} \times (z_{i-1} \dot{q}_i) \right)$$
$$\ddot{p}_i = R_i^{i-1} \ddot{p}_{i-1} + \dot{\omega}_i \times p_{i-1,i} + \omega_i \times (\omega_i \times p_{i-1,i})$$
$$\ddot{p}_{c_i} = \ddot{p}_i + \dot{\omega}_i \times r_{i,c_i} + \omega_i \times (\omega_i \times r_{i,c_i})$$
Fase 2: Propagación Dinámica hacia Atrás (Backward Pass, desde el efector $i=n$ a la base $i=1$):
Se calculan las fuerzas de inercia $F_i = m_i \ddot{p}_{c_i}$ y momentos dinámicos $N_i = I_i \dot{\omega}_i + \omega_i \times (I_i \omega_i)$ sobre cada eslabón. Conociendo las cargas externas en el efector ($f_{n+1}, n_{n+1}$), se realiza el balance de fuerzas y momentos hacia la base:
$$f_i = R_{i+1}^i f_{i+1} + F_i$$
$$n_i = R_{i+1}^i n_{i+1} + p_{i-1,i} \times f_i + r_{i,c_i} \times F_i + N_i$$
El par articular motor se obtiene proyectando sobre el eje de movimiento:
$$\mathbf{\tau_i = n_i^T z_{i-1}} \quad (\text{si articulación } i \text{ de rotación}) \qquad \mathbf{\tau_i = f_i^T z_{i-1}} \quad (\text{si prismática})$$
Figura 4: Flujo computacional en dos pasadas del algoritmo recursivo de Newton-Euler.
2. Comparativa de Complejidad Computacional y Justificación
Característica
Formulación Euler-Lagrange
Formulación Newton-Euler Recursivo
Naturaleza matemática
Energética (escalares: $T$ y $V$, derivadas simbólicas)
Vectorial recursiva (ecuaciones de equilibrio por eslabón)
Complejidad computacional
$\mathbf{O(n^4)}$ en formulación simbólica directa naive; $\mathbf{O(n^3)}$ optimizado
$\mathbf{O(n)}$ (Estrictamente lineal con el número de articulaciones)
Operaciones para $n=6$ GDL
$\sim 66.000$ multiplicaciones y sumas
$\sim 850$ multiplicaciones y $\sim 740$ sumas
Aplicación idónea
Análisis analítico, diseño estructural y leyes de control por Lyapunov
Control dinámico en tiempo real (par calculado a 1 kHz) y simulación rápida
Pregunta Teórica 3: Desacoplo Cinemático de Pieper para Cinemática Inversa
Pregunta típica de examen (Convocatorias 2018, 2021, 2023):"Enuncie el criterio de desacoplo de Pieper para manipuladores de 6 GDL. Demuestre matemáticamente cómo se descompone el problema de cinemática inversa en un subproblema de posición y otro de orientación. ¿Qué condición geométrica debe cumplir la muñeca del robot?"
1. Enunciado del Teorema de Pieper
Un manipulador serie de 6 grados de libertad admite una solución cerrada analítica (determinista y explícita) para el problema cinemático inverso si cumple al menos una de las dos condiciones geométricas de diseño de Pieper:
Tres ejes de articulación consecutivos se cortan en un único punto común (el caso más habitual: muñeca esférica, donde los ejes $Z_3, Z_4, Z_5$ o $Z_4, Z_5, Z_6$ concurren en el centro de muñeca $W$).
Tres ejes de articulación consecutivos son paralelos entre sí (ejemplo: robots planares o configuraciones particulares de robots antropomórficos).
2. Demostración Matemática del Desacoplo (Posición + Orientación)
Sea la pose del efector final deseada especificada por la matriz homogénea conocida:
Supongamos una muñeca esférica donde los ejes 4, 5 y 6 se cortan en el centro de muñeca $W$. En el marco D-H estándar, esto implica que las longitudes $a_4 = 0$ y los desplazamientos $d_5 = 0$, estando $W$ situado en el origen del sistema $\{S_4\}$. La distancia fija a lo largo de $Z_5$ (o de la herramienta $Z_6$) hasta el extremo de trabajo ($TCP$) es $d_6$.
Paso 1: Cálculo del Centro de Muñeca $W$ (Subproblema de Posición):
La posición del centro de la muñeca $p_w$ respecto a la base es totalmente independiente de los ángulos de la muñeca $(q_4, q_5, q_6)$:
donde $a$ es el vector director de aproximación (tercera columna de $R_0^6$). Puesto que $p_{TCP}$ y $R_0^6$ son datos del problema, $p_w$ es un vector puramente numérico conocido.
Paso 2: Resolución de las Primeras 3 Articulaciones $(q_1, q_2, q_3)$:
Como $p_w$ depende exclusivamente de $(q_1, q_2, q_3)$ a través de la cinemática directa de los tres primeros eslabones ($p_w = f_1(q_1, q_2, q_3)$), resolvemos geométricamente o algebraicamente:
$$q_1 = \text{atan2}(p_{wy}, p_{wx}) \quad (\pm \text{ offset de hombro si } d_2 \neq 0)$$
$$q_2, q_3 \text{ mediante el teorema del coseno en el plano del brazo definido por } (q_1).$$
Paso 3: Subproblema de Orientación de la Muñeca $(q_4, q_5, q_6)$:
Una vez calculados $(q_1, q_2, q_3)$, la matriz de rotación de los tres primeros eslabones $R_0^3(q_1, q_2, q_3)$ es perfectamente conocida. Como $R_0^6 = R_0^3 \cdot R_3^6$, despejamos la rotación propia de la muñeca premultiplicando por su traspuesta:
La matriz $R_3^6$ corresponde a una secuencia de ángulos de Euler estándar (Z-Y-Z o X-Y-Z). Igualando término a término los elementos de la matriz conocida con la forma paramétrica, se despejan $(q_4, q_5, q_6)$ sin ambigüedad mediante funciones $\text{atan2}$.
Pregunta Teórica 4: Control Dinámico: Error Gravitatorio en PD, Estabilidad de Lyapunov y Par Calculado
Pregunta típica de examen (Convocatorias 2018, 2020, 2022, 2024):"Para un manipulador rígido con dinámica $M(q)\ddot{q} + C(q,\dot{q})\dot{q} + g(q) = \tau$:
a) Demuestre analíticamente por qué un control PD puro presenta error en régimen permanente ante la gravedad.
b) Demuestre la estabilidad asintótica global del regulador PD con compensación de gravedad mediante el método directo de Lyapunov.
c) Formule el control por Par Calculado (Computed Torque Control) y explique cómo linealiza el sistema."
1. Demostración del Error en Régimen Permanente (Droop Gravitatorio en PD Puro)
Consideremos el lazo de control PD clásico que busca posicionar el robot en una consigna constante $q_d$ ($\dot{q}_d = 0, \ddot{q}_d = 0$):
Conclusión física: Para que los actuadores sostengan el peso de los eslabones ($g(q_{ss})$), el regulador PD necesita un error elástico residual permanente no nulo $\tilde{q}_{ss}$. Para anularlo se requiere o bien acción integral (PID) o bien compensación directa del par gravitatorio.
2. Demostración de Estabilidad Asintótica Global de PD + Compensación de Gravedad (Lyapunov)
Propongamos la ley de control con compensación gravitatoria en lazo cerrado:
Como $M(q)$ es simétrica y estrictamente definida positiva ($M(q) > 0$) y $K_p$ es una matriz de ganancias diagonal definida positiva ($K_p > 0$), se verifica que:
Propiedad Clave de Antisimetría: Si la matriz $C(q,\dot{q})$ se formula con los símbolos de Christoffel, la matriz $N = \dot{M}(q) - 2C(q,\dot{q})$ es estrictamente antisimétrica ($x^T N x = 0 \;\; \forall x$). Por tanto:
Por el Principio de Invarianza de LaSalle, el conjunto donde $\dot{V} = 0$ exige $\dot{q} = 0$. En ese conjunto, $\ddot{q} = 0 \implies K_p \tilde{q} = 0 \implies \tilde{q} = 0$. El único punto de equilibrio invariante es el origen $(\tilde{q} = 0, \dot{q} = 0)$. En consecuencia, el sistema es Global y Asintóticamente Estable.
3. Control por Par Calculado (Computed Torque Control)
El control por Par Calculado es una técnica de linealización por realimentación de estados que desacopla la dinámica no lineal multivariable del robot:
$$\mathbf{\tau = M(q) \cdot u + C(q,\dot{q})\dot{q} + g(q)}$$
donde $u$ es una ley de aceleración de control lineal auxiliar. Al sustituir este par $\tau$ en la dinámica real del manipulador, los términos no lineales de Coriolis, centrífugos y gravitatorios se cancelan exactamente:
Esto transforma el sistema altamente acoplado y no lineal en $n$ osciladores desacoplados de segundo orden. Seleccionando matrices diagonales $K_p = \text{diag}(\omega_{n,i}^2)$ y $K_v = \text{diag}(2\xi_i \omega_{n,i})$, se garantiza amortiguamiento crítico ($\xi = 1$) y seguimiento exponencial exacto de trayectoria.
Pregunta Teórica 5: Planificación y Generación de Trayectorias
Pregunta típica de examen (Convocatorias 2019, 2023):"Compare las ventajas e inconvenientes de planificar trayectorias en el espacio articular frente al espacio cartesiano. Desarrolle las ecuaciones cinemáticas de una trayectoria polinómica cúbica frente a una quíntica. ¿Qué ventajas ofrece el perfil trapezoidal de velocidad (LSPB)?"
1. Espacio Articular vs Espacio Cartesiano
Característica
Planificación en Espacio Articular
Planificación en Espacio Cartesiano
Cálculo en tiempo real
Muy simple y rápido (polinomios independientes $q_i(t)$)
Costoso: requiere resolver cinemática inversa $q(t) = f^{-1}(p(t))$ a cada ciclo de reloj (1 ms)
Singularidades
No se bloquea: los actuadores siguen sus perfiles suaves
Peligro crítico: si la trayectoria pasa cerca de una singularidad, las velocidades articulares tienden a infinito
Control de la trayectoria del TCP
Impredecible entre puntos inicial y final (curvada en el espacio)
Geometría exacta conocida (líneas rectas, arcos circulares para soldadura o corte)
2. Polinomios Cúbicos vs Quínticos
Polinomio Cúbico (Tercer Orden): $q(t) = a_0 + a_1 t + a_2 t^2 + a_3 t^3$. Dispone de 4 coeficientes para satisfacer 4 condiciones de contorno: posición y velocidad inicial y final ($q(0)=q_0, q(t_f)=q_f, \dot{q}(0)=0, \dot{q}(t_f)=0$). Inconveniente mecánico: La aceleración $\ddot{q}(t)$ es lineal y discontinua en $t=0$ y $t=t_f$ (salto brusco de aceleración $\implies$ tirón / *jerk* infinito), lo que provoca vibraciones estructurales y desgaste de reductores.
Polinomio Quíntico (Quinto Orden): $q(t) = a_0 + a_1 t + a_2 t^2 + a_3 t^3 + a_4 t^4 + a_5 t^5$. Dispone de 6 coeficientes, permitiendo imponer además aceleración nula en los extremos ($\ddot{q}(0)=0, \ddot{q}(t_f)=0$). La aceleración es continua en todo el tramo, eliminando impactos dinámicos en los motores.
3. Perfil Trapezoidal de Velocidad (LSPB - Linear Segment with Parabolic Blends)
Consiste en una fase de aceleración constante $a$, una fase intermedia a velocidad de crucero constante $V_{max}$, y una fase de deceleración constante $-a$.
Tiempo de aceleración (tramo parabólico): $t_b = \frac{q_0 - q_f + V_{max} t_f}{V_{max}}$.
Condición física de viabilidad: La velocidad de crucero debe verificar $\frac{q_f - q_0}{t_f} < V_{max} \le 2\frac{q_f - q_0}{t_f}$. Si $V_{max} = 2\frac{q_f - q_0}{t_f}$, el perfil se vuelve triangular sin tramo de velocidad constante.
Pregunta Teórica 6: Morfologías de Robots Manipuladores Industriales
Pregunta típica de examen (Convocatorias 2018, 2022):"Clasifique las morfologías mecánicas fundamentales de manipuladores industriales. Indique su secuencia cinemática (pares R y P), forma geométrica del volumen de trabajo, nivel de rigidez y principales aplicaciones."
Fresadoras CNC, corte láser, almacenamiento automático e impresión 3D gran formato.
Cilíndrico
RPP
Cilindro hueco (o sector cilíndrico)
Rigidez alta en brazo telescópico
Manipulación de piezas en tornos, carga/descarga de prensas.
Esférico / Polar
RRP
Esfera hueca (sector esférico)
Rigidez moderada
Manipuladores pioneros (Unimate), soldadura por puntos en automoción histórica.
SCARA (Selective Compliance)
RRP (ejes Z paralelos verticales)
Cilindro circular
Extremadamente rígido en eje vertical $Z$; dócil y compliante en plano horizontal $XY$.
Inserción vertical de componentes electrónicos, ensamblaje rápido, pick & place.
Antropomórfico / Articulado
RRR
Casi esférico envolvente, máxima accesibilidad
Rigidez variable según postura; alta destreza y ratio volumen útil / espacio ocupado
Soldadura al arco, pintura, paletizado, mecanizado, robótica médica y líneas generales de automoción.
Paralelo / Delta
Cadenas cerradas (3x RRR o RUU)
Cúpula circular convexa reducida
Motores en base fija (brazos ligerísimos de fibra de carbono); aceleraciones extremas (>15G).
Empaquetado ultrarrápido (alimentario y farmacéutico), selección y clasificación óptica.
CHECKLIST FINAL DE REPASO ANTES DE ENTRAR AL EXAMEN:
Ejes D-H: Comprueba siempre que ningún $X_i$ viole la regla de perpendicularidad con $Z_{i-1}$ ni con $Z_i$.
Parámetro $a_i$: Revisa que todas las longitudes $a_i$ sean positivas o cero ($\ge 0$).
Posición de reposo $q=0$: Verifica que al sustituir $q=0$ en la matriz $T_0^n$, las coordenadas cartesianas del efector coincidan exactamente con la geometría dibujada en el enunciado.
Control: Si piden estabilidad de Lyapunov para PD + gravedad, menciona siempre la propiedad de antisimetría de $\dot{M} - 2C$ y el Principio de Invarianza de LaSalle.