ENUNCIADO ORIGINAL DE EXAMEN (Literal):
"1.- (2.0 puntos). Dado el sistema descrito por las ecuaciones dinámicas siguientes:
• $(m_1 L_1^2 + I_1 + I_2 + m_2 q_2^2) \ddot{q}_1 + 2 m_2 q_2 \dot{q}_1 \dot{q}_2 + (m_1 L_1 + m_2 q_2) g \cos q_1 = T_1$
• $m_2 \ddot{q}_2 - m_2 q_2 \dot{q}_1^2 + m_2 g \sin q_1 = T_2$
Donde $m_i, L_i, I_i$ son constantes, $g$ es la gravedad, y $q_i, T_i$ son las coordenadas generalizadas y las fuerzas/pares de la articulación.
a) Escribir el modelo matricialmente: Determinar la matriz de inercia, el vector de fuerzas de Coriolis y centrífugas, y el vector de fuerzas gravitatorias.
b) Determinar los modelos aproximados lineales de cada articulación.
c) Diseñar un control PID para dichos modelos, para el caso de $m_1 = 1\text{ Kg}, m_2 = 1.5\text{ Kg}, L_1 = 1.5\text{ m}, L_2 = 2\text{ m}, I_1 = 0.25\text{ Kg m}^2, I_2 = 0.15\text{ Kg m}^2$.
2.- (1.5 puntos). Sea el robot de la figura adjunta. Calcular los parámetros dinámicos del eslabón 2 que se tendrían que introducir en el algoritmo de Newton-Euler utilizado en clase para poder obtener un modelo dinámico del robot. Para ello, considérese que los eslabones están construidos con varillas macizas de sección circular radio $R = 0.05\text{ m}$ y de densidad lineal $\rho = 1.5\text{ kg/m}$. Formulario: $I = \frac{1}{12} M L^2, \; I = \frac{1}{2} M R^2$."
Problema 1: Modelo Dinámico Matricial y Control Articular (2.0 Puntos)
Apartado 1.a) Modelo Matricial Generalizado
La ecuación dinámica multivariable de manipuladores responde a la estructura estándar:
$$\mathbf{M(q)\ddot{q} + C(q,\dot{q})\dot{q} + g(q) = \tau}$$
siendo $q = [q_1, q_2]^T$, $\dot{q} = [\dot{q}_1, \dot{q}_2]^T$, $\ddot{q} = [\ddot{q}_1, \ddot{q}_2]^T$, y $\tau = [T_1, T_2]^T$.
MATRICES DINÁMICAS DEDUCIDAS:
- Matriz de Inercia Generalizada $M(q)$:
$$\mathbf{M(q) = \begin{bmatrix} m_1 L_1^2 + I_1 + I_2 + m_2 q_2^2 & 0 \\ 0 & m_2 \end{bmatrix}}$$
Propiedades: Es diagonal, simétrica y estrictamente definida positiva ($M(q) > 0$).
- Vector de Fuerzas de Coriolis y Centrífugas $c(q,\dot{q})$:
$$\mathbf{c(q,\dot{q}) = \begin{bmatrix} 2 m_2 q_2 \dot{q}_1 \dot{q}_2 \\ -m_2 q_2 \dot{q}_1^2 \end{bmatrix}}$$
Factorizando matricialmente mediante símbolos de Christoffel:
$$\mathbf{C(q,\dot{q}) = \begin{bmatrix} m_2 q_2 \dot{q}_2 & m_2 q_2 \dot{q}_1 \\ -m_2 q_2 \dot{q}_1 & 0 \end{bmatrix}}$$
- Vector de Fuerzas Gravitatorias $g(q)$:
$$\mathbf{g(q) = \begin{bmatrix} (m_1 L_1 + m_2 q_2) g \cos q_1 \\ m_2 g \sin q_1 \end{bmatrix}}$$
VERIFICACIÓN OBLIGATORIA: ANTISIMETRÍA DE $\mathbf{\dot{M}(q) - 2C(q,\dot{q})}$:
$$\dot{M}(q) = \begin{bmatrix} 2 m_2 q_2 \dot{q}_2 & 0 \\ 0 & 0 \end{bmatrix}, \qquad 2C(q,\dot{q}) = \begin{bmatrix} 2 m_2 q_2 \dot{q}_2 & 2 m_2 q_2 \dot{q}_1 \\ -2 m_2 q_2 \dot{q}_1 & 0 \end{bmatrix}$$
$$\mathbf{N = \dot{M}(q) - 2C(q,\dot{q}) = \begin{bmatrix} 0 & -2 m_2 q_2 \dot{q}_1 \\ 2 m_2 q_2 \dot{q}_1 & 0 \end{bmatrix}} \implies \mathbf{N^T = -N}$$
Cumple con absoluta exactitud la propiedad de antisimetría requerida para la estabilidad de Lyapunov.
Apartado 1.b) Modelos Aproximados Lineales de Cada Articulación
En control descentralizado monoarticular, se desprecia el acoplamiento cruzado y las aceleraciones no lineales de Coriolis/centrífugas, tratándolas junto con la gravedad como perturbaciones externas lentas. Cada eje se aproxima por un sistema lineal desacoplado de segundo orden:
- Articulación 1 (Rotacional):
Inercia efectiva dependiente de la posición de la articulación prismática:
$$J_1(q_2) = m_1 L_1^2 + I_1 + I_2 + m_2 q_2^2$$
Para dimensionar un control robusto en todo el espacio de trabajo, se selecciona la inercia máxima en la máxima extensión $q_{2,\max} = L_2$:
$$\mathbf{J_{1,\max} = m_1 L_1^2 + I_1 + I_2 + m_2 L_2^2}$$
Modelo aproximado lineal: $\mathbf{J_{1,\max} \ddot{q}_1(t) = T_1(t) - g_1(q_0)} \implies G_1(s) = \frac{1}{J_{1,\max} s^2}$.
- Articulación 2 (Prismática):
La inercia es puramente constante (masa del cuerpo móvil):
$$\mathbf{J_2 = m_2}$$
Modelo aproximado lineal: $\mathbf{m_2 \ddot{q}_2(t) = T_2(t) - g_2(q_0)} \implies G_2(s) = \frac{1}{m_2 s^2}$.
Apartado 1.c) Diseño del Control PID con Datos Numéricos
Datos dados: $m_1 = 1\text{ kg}, m_2 = 1.5\text{ kg}, L_1 = 1.5\text{ m}, L_2 = 2.0\text{ m}, I_1 = 0.25\text{ kg m}^2, I_2 = 0.15\text{ kg m}^2, g = 9.81\text{ m/s}^2$.
1. Cálculo de las Inercias de Diseño:
$$J_{1,\max} = 1.0 \cdot (1.5)^2 + 0.25 + 0.15 + 1.5 \cdot (2.0)^2 = 2.25 + 0.40 + 6.00 = \mathbf{8.65\text{ kg m}^2}$$
$$J_2 = m_2 = \mathbf{1.50\text{ kg}}$$
Estructura del controlador PID en paralelo para cada articulación $i$:
$$T_i(s) = \left( K_{p,i} + K_{d,i} s + \frac{K_{i,i}}{s} \right) E_i(s) + g_i(q_d)$$
La ecuación característica en lazo cerrado deseada para amortiguamiento crítico ($\xi = 1$, respuesta óptima sin sobreimpulso):
$$s^2 + \frac{K_{d,i}}{J_i} s + \frac{K_{p,i}}{J_i} = s^2 + 2\xi\omega_{ni} s + \omega_{ni}^2$$
Fijando frecuencias naturales de ancho de banda adecuadas ($\omega_{n1} = 3\text{ rad/s}$ y $\omega_{n2} = 4\text{ rad/s}$):
| Articulación |
Inercia $J_i$ |
Frecuencia $\omega_{ni}$ |
$K_p = J_i \omega_n^2$ |
$K_d = 2 J_i \omega_n$ |
$K_i = K_p (\omega_n / 5)$ |
| Articulación 1 ($q_1$) |
$8.65\text{ kg m}^2$ |
$3.0\text{ rad/s}$ |
$\mathbf{77.85\text{ N m/rad}}$ |
$\mathbf{51.90\text{ N m s/rad}}$ |
$\mathbf{46.71\text{ N m/(rad s)}}$ |
| Articulación 2 ($q_2$) |
$1.50\text{ kg}$ |
$4.0\text{ rad/s}$ |
$\mathbf{24.00\text{ N/m}}$ |
$\mathbf{12.00\text{ N s/m}}$ |
$\mathbf{19.20\text{ N/(m s)}}$ |
Justificación del término $K_i$: La acción integral anula rigurosamente el error permanente ante el peso y par gravitatorio ($e_{ss} \to 0$).
Problema 2: Parámetros Dinámicos Newton-Euler del Eslabón 2 (1.5 Puntos)
Figura 1: Geometría en manivela escalonada del Eslabón 2, sistema de referencia $\{S_2\}$ en la articulación 3, y vector de centro de gravedad local $\mathbf{s_{22}}$.
1. Descomposición Geométrica y Masa Total ($m_2$)
El eslabón 2 está formado por 3 varillas macizas cilíndricas de radio $R = 0.05\text{ m}$ y densidad lineal $\rho = 1.5\text{ kg/m}$:
- Varilla 1 (horizontal inferior): Longitud $L_1 = \frac{L_{2B}}{2} \implies m_1 = \rho \frac{L_{2B}}{2}$.
- Varilla 2 (vertical intermedia): Longitud $L_2 = L_{2A} \implies m_2 = \rho L_{2A}$.
- Varilla 3 (horizontal superior): Longitud $L_3 = \frac{L_{2B}}{2} \implies m_3 = \rho \frac{L_{2B}}{2}$.
MASA TOTAL DEL ESLABÓN 2 ($m_2$):
$$m_2 = m_1 + m_2 + m_3 = \rho\left(\frac{L_{2B}}{2} + L_{2A} + \frac{L_{2B}}{2}\right) = \mathbf{\rho (L_{2A} + L_{2B})}$$
2. Centro de Masas Local: Vector $\mathbf{s_{22}}$ en el Marco $\{S_2\}$
En el algoritmo de Newton-Euler utilizado en clase (plantilla NE_R3GDL.m), el vector $\mathbf{s_{22}}$ son las coordenadas del centro de gravedad del eslabón 2 expresadas en el sistema de referencia propio $\{S_2\}$, cuyo origen $O_2$ se sitúa en la articulación 3 (al final de la varilla 3, en coordenadas $(L_{2B}, L_{2A})$ respecto a la articulación 2):
- Centros de gravedad individuales respecto al inicio (Articulación 2):
$$C_1 = \begin{bmatrix} \frac{L_{2B}}{4} \\ 0 \\ 0 \end{bmatrix}, \qquad C_2 = \begin{bmatrix} \frac{L_{2B}}{2} \\ \frac{L_{2A}}{2} \\ 0 \end{bmatrix}, \qquad C_3 = \begin{bmatrix} \frac{3L_{2B}}{4} \\ L_{2A} \\ 0 \end{bmatrix}$$
- Centro de masas compuesto respecto a Articulación 2:
$$x_C = \frac{m_1 \frac{L_{2B}}{4} + m_2 \frac{L_{2B}}{2} + m_3 \frac{3L_{2B}}{4}}{m_2} = \frac{\rho \frac{L_{2B}}{2}\left(\frac{L_{2B}}{4} + \frac{3L_{2B}}{4}\right) + \rho L_{2A}\frac{L_{2B}}{2}}{\rho(L_{2A} + L_{2B})} = \mathbf{\frac{L_{2B}}{2}}$$
$$y_C = \frac{m_1 \cdot 0 + m_2 \frac{L_{2A}}{2} + m_3 L_{2A}}{m_2} = \frac{\rho L_{2A} \frac{L_{2A}}{2} + \rho \frac{L_{2B}}{2} L_{2A}}{\rho(L_{2A} + L_{2B})} = \mathbf{\frac{L_{2A}(L_{2A} + L_{2B}/2)}{L_{2A} + L_{2B}}}$$
- Vector $\mathbf{s_{22}}$ respecto a $O_2$ (Articulación 3 en $(L_{2B}, L_{2A})$):
$$\mathbf{s_{22} = \begin{bmatrix} x_C - L_{2B} \\ y_C - L_{2A} \\ 0 \end{bmatrix} = \begin{bmatrix} -\frac{L_{2B}}{2} \\[6pt] -\frac{L_{2A} L_{2B}}{2(L_{2A} + L_{2B})} \\[6pt] 0 \end{bmatrix}}$$
3. Tensor de Inercia Baricéntrico $\mathbf{I_{22}}$ (Teorema de Steiner)
El tensor $\mathbf{I_{22}}$ se calcula respecto a unos ejes paralelos a $\{S_2\}$ centrados en el centro de masas $C_2$. Para cada varilla cilíndrica $k$, aplicando las fórmulas del formulario ($I_{\text{long}} = \frac{1}{2}m R^2, I_{\text{trans}} = \frac{1}{12}m L^2$) y el teorema de Steiner con distancias relativas $\Delta x_k = x_{Ck} - x_C, \Delta y_k = y_{Ck} - y_C$:
- Varillas horizontales 1 y 3 (eje longitudinal en $X$, longitud $L_{2B}/2$):
$$I_{xx}^{(1,3)} = \frac{1}{2}m_{1,3} R^2 + m_{1,3} \Delta y_{1,3}^2, \qquad I_{yy}^{(1,3)} = \frac{1}{12}m_{1,3}\left(\frac{L_{2B}}{2}\right)^2 + m_{1,3} \Delta x_{1,3}^2$$
$$I_{zz}^{(1,3)} = \frac{1}{12}m_{1,3}\left(\frac{L_{2B}}{2}\right)^2 + m_{1,3}(\Delta x_{1,3}^2 + \Delta y_{1,3}^2)$$
- Varilla vertical 2 (eje longitudinal en $Y$, longitud $L_{2A}$):
$$I_{xx}^{(2)} = \frac{1}{12}m_2 L_{2A}^2 + m_2 \Delta y_2^2, \qquad I_{yy}^{(2)} = \frac{1}{2}m_2 R^2 + m_2 \Delta x_2^2$$
$$I_{zz}^{(2)} = \frac{1}{12}m_2 L_{2A}^2 + m_2(\Delta x_2^2 + \Delta y_2^2)$$
- Producto de inercia cruzado $I_{xy}$:
$$I_{xy} = -\sum_{k=1}^3 m_k \Delta x_k \Delta y_k$$
TENSOR MATRICIAL FINAL $\mathbf{I_{22}}$:
$$\mathbf{I_{22} = \begin{bmatrix} I_{xx,\text{bar}} & I_{xy,\text{bar}} & 0 \\ I_{xy,\text{bar}} & I_{yy,\text{bar}} & 0 \\ 0 & 0 & I_{zz,\text{bar}} \end{bmatrix}}$$
Evaluación Numérica Ejemplo ($R=0.05\text{ m}, \rho=1.5\text{ kg/m}, L_{2A}=0.4\text{ m}, L_{2B}=0.8\text{ m}$):
$$m_2 = 1.5 \cdot (0.4 + 0.8) = \mathbf{1.8000\text{ kg}}$$
$$\mathbf{s_{22} = \begin{bmatrix} -0.4000 \\ -0.1333 \\ 0 \end{bmatrix}\text{ m}}, \qquad
\mathbf{I_{22} = \begin{bmatrix} 0.0573 & -0.0400 & 0 \\ -0.0400 & 0.0491 & 0 \\ 0 & 0 & 0.1042 \end{bmatrix}\text{ kg m}^2}$$
Ejecución y Verificación Oficial en MATLAB
El script oficial Matlab/Robots_Examen/examen_julio_2025_p3.m valida de forma automática tanto el Problema 1 como el Problema 2:
>> examen_julio_2025_p3
=========================================================================
RESOLUCION OFICIAL: EXAMEN GITI JULIO 2025 - PROBLEMA 3 (DINAMICA/CONTROL)
=========================================================================
a) Modelo Matricial:
Matriz de Inercia M(q):
[I1 + I2 + L1^2*m1 + m2*q2^2, 0]
[ 0, m2]
Matriz de Coriolis C(q,qd):
[ m2*q2*qd2, m2*q2*qd1]
[-m2*q2*qd1, 0]
Verificacion antisimetria dot(M) - 2C: True
c) Parametros sintonizados para Controlador PID Articulacion 1:
Kp1 = 77.8500 N*m/rad | Kd1 = 51.9000 N*m*s/rad | Ki1 = 46.7100 N*m/(rad*s)
Parametros sintonizados para Controlador PID Articulacion 2:
Kp2 = 24.0000 N/m | Kd2 = 12.0000 N*s/m | Ki2 = 19.2000 N/(m*s)
--- PROBLEMA 2: PARAMETROS DINAMICOS NEWTON-EULER ESLABON 2 ---
1. Masa total: m2 = rho * (L2A + L2B) = 1.8000 kg
2. Vector s22 en {S2}: [-0.4000; -0.1333; 0.0000] m
3. Tensor I22 baricentrico evaluado:
[ 0.0573, -0.0400, 0.0000 ]
[-0.0400, 0.0491, 0.0000 ]
[ 0.0000, 0.0000, 0.1042 ] kg*m^2
CHECKLIST CLAVE DE EXAMEN PARA MAXIMIZAR NOTA:
- Antisimetría de Christoffel: Presenta siempre la comprobación $N + N^T = 0$ de la matriz $\dot{M} - 2C$.
- Inercia de diseño $J_{1,\max}$ en PID: Justifica que se toma $q_{2,\max} = L_2$ para garantizar que el sistema nunca sea inestable ni subamortiguado.
- Vector $s_{22}$ medido desde $O_2$: Destaca que $s_{22}$ se mide hacia atrás desde la articulación 3, de ahí sus signos negativos en $X$ e $Y$.