En el temario y en las convocatorias oficiales de Robótica de la Universidad de Sevilla existen 4 grandes familias de control. Este árbol de decisión te indica exactamente cuál aplicar según las palabras clave del enunciado:
| Familia | Esquema de Control | ¿Cuándo se pide en examen? (Palabras clave) | Ley de Control $\boldsymbol{\tau}$ |
|---|---|---|---|
| Articular | 1. PD Puro | Robots en el plano horizontal (sin gravedad $G=0$) o control cinemático simple. | $\tau = K_p e - K_d \dot{q}$ |
| Articular | 2. PD + Compensación Gravedad | "Demostrar estabilidad por Lyapunov", "eliminar error permanente con $G(q)$". | $\tau = K_p e - K_d \dot{q} + \mathbf{G}(q)$ |
| Articular | 3. PID Independiente (SISO) | "Control monovariable", "diseñar PID", "especificaciones $\omega_n, \xi, t_s, M_p$". | $\tau = K_p e + K_d \dot{e} + K_i \int e dt$ |
| Articular | 4. PID con Prealimentación | "Seguimiento dinámico de trayectorias con perturbaciones conocidas". | $\tau = J \ddot{q}_d + B \dot{q}_d + \tau_{\text{PID}}$ |
| Multivariable | 5. Par Calculado (Computed Torque) | "Linealización por realimentación exacta", "control multivariable no lineal". | $\boldsymbol{\tau} = \mathbf{M}(q)[\ddot{q}_d + K_v \dot{e} + K_p e] + \mathbf{V} + \mathbf{G}$ |
| Cartesiano | 6. Jacobiano Traspuesto ($J^T$) | "Control en el extremo sin invertir cinemática", "control cinemático cartesiano". | $\boldsymbol{\tau} = \mathbf{J}^T(q)[K_p (x_d - x) - K_v \dot{x}] + \mathbf{G}(q)$ |
| Cartesiano | 7. Par Calculado Cartesiano | "Espacio operacional dinámico de Khatib", "trayectoria cartesiana desacoplada". | $\boldsymbol{\tau} = \mathbf{J}^T \boldsymbol{\Lambda}(q)[\ddot{x}_d + K_v \dot{e}_x + K_p e_x] + \boldsymbol{\mu} + \mathbf{p}$ |
| Fuerza | 8. Control de Impedancia / Rigidez | "Interacción suave con el entorno", "comportamiento masa-muelle virtual". | $F_{\text{ext}} = M_d \ddot{e}_x + B_d \dot{e}_x + K_d e_x$ |
| Fuerza | 9. Control Híbrido Fuerza/Posición | "Superficie con restricción", "matriz de selección $S$ de Raibert-Craig". | $\boldsymbol{\tau} = \mathbf{J}^T [S F_{\text{pos}} + (I - S) F_{\text{fuerza}}]$ |
Si aplicamos $\tau = K_p (q_d - q) - K_d \dot{q}$ a un eje vertical bajo gravedad ($M \ddot{q} + G(q) = \tau$):
En régimen permanente ($\ddot{q} = 0, \dot{q} = 0, q = q_{\infty}$):
$$G(q_{\infty}) = K_p (q_d - q_{\infty}) \implies e_{\infty} = q_d - q_{\infty} = \frac{G(q_{\infty})}{K_p} \neq 0$$Conclusión de examen: El control PD puro deja un error de posición permanente no nulo proporcional al peso e inversamente proporcional a la ganancia proporcional $K_p$. Como $K_p$ no puede hacerse infinito (por saturación física de actuadores), se requieren soluciones alternativas: o bien el término integral $K_i$ (PID), o la compensación de gravedad en lazo abierto.
Se define la ley de control:
Para sintonizar el PID sobre la planta desacoplada $G_i(s) = \frac{1}{J s^2 + B s}$:
$$C(s) = K_p + K_d s + \frac{K_i}{s} = \frac{K_d s^2 + K_p s + K_i}{s}$$Ecuación de lazo cerrado igualada al polinomio deseado $(s^2 + 2\xi\omega_n s + \omega_n^2)(s + p_o)$ con $p_o = 4\omega_n$:
Es el estándar industrial cuando se requiere que las articulaciones sigan trayectorias dinámicas rápidas sin sufrir desvíos por inercias cruzadas o fuerzas centrífugas/Coriolis.
La dinámica del error resulta estrictamente lineal y desacoplada:
$$\ddot{\mathbf{e}} + \mathbf{K}_v \dot{\mathbf{e}} + \mathbf{K}_p \mathbf{e} = \mathbf{0}$$Con matrices diagonales para elegir polos independientes en cada eje:
$$\mathbf{K}_p = \text{diag}(\omega_{n1}^2, \omega_{n2}^2, \dots, \omega_{nn}^2), \qquad \mathbf{K}_v = \text{diag}(2\xi_1\omega_{n1}, 2\xi_2\omega_{n2}, \dots, 2\xi_n\omega_{nn})$$En muchas aplicaciones (soldadura, pintura, seguimiento visual), la consigna se especifica en coordenadas del extremo $\mathbf{x}_d = [x_d, y_d, z_d]^T$ y no en coordenadas de los motores $\mathbf{q}_d$.
Evita tener que resolver la cinemática inversa $q = f^{-1}(x)$ o invertir matrices jacobianas singulares:
Principio físico: El término $\mathbf{F}_{\text{virtual}} = \mathbf{K}_p (\mathbf{x}_d - \mathbf{x}) - \mathbf{K}_v \mathbf{\dot{x}}$ representa una fuerza elástica virtual que tira del extremo hacia la consigna en el espacio cartesiano. La transpuesta del Jacobiano $\mathbf{J}^T$ traduce esa fuerza cartesiana directamente a pares articulares mediante el principio de los trabajos virtuales ($\tau = J^T F$).
Proyecta toda la inercia del manipulador en las coordenadas de la punta del robot:
$$\boldsymbol{\Lambda}(\mathbf{q}) = \left( \mathbf{J}(\mathbf{q}) \mathbf{M}^{-1}(\mathbf{q}) \mathbf{J}^T(\mathbf{q}) \right)^{-1}$$ $$\boldsymbol{\tau} = \mathbf{J}^T(\mathbf{q}) \left[ \boldsymbol{\Lambda}(\mathbf{q})\left( \mathbf{\ddot{x}}_d + \mathbf{K}_v \mathbf{\dot{e}}_x + \mathbf{K}_p \mathbf{e}_x \right) + \boldsymbol{\mu}(\mathbf{q}, \dot{\mathbf{q}}) + \mathbf{p}(\mathbf{q}) \right]$$Cuando el robot toca una superficie rígida (mecanizado, pulido, ensamblaje), el control de posición pura es peligroso porque cualquier pequeño error genera fuerzas de contacto gigantescas que pueden romper el robot o la pieza.
Se programa para que el extremo se comporte dinámicamente como un sistema masa-muelle-amortiguador virtual:
donde $\mathbf{K}_d$ es la rigidez deseada, $\mathbf{B}_d$ el amortiguamiento y $\mathbf{M}_d$ la masa aparente.
Se descompone el espacio de la tarea en dos subespacios ortogonales mediante una Matriz de Selección Diagonal $\mathbf{S}$ (con unos y ceros en la diagonal):
Ejemplo: Escribir en una pizarra vertical (plano YZ). En X (perpendicular a la pizarra) hay contacto $\implies S_{xx} = 0$ (control de fuerza $F_x$). En Y y Z el movimiento es libre $\implies S_{yy} = S_{zz} = 1$ (control de posición).
| Pregunta de Examen | Estrategia de Resolución | Fórmula a plasmar |
|---|---|---|
| "Calcule las ganancias de un regulador PID para el eje..." | 1. Extraer $J_{\text{max}} = \max M_{ii}(q)$. 2. Formar $P_{\text{des}}(s) = (s^2 + 2\xi\omega_n s + \omega_n^2)(s + 4\omega_n)$. 3. Igualar coeficientes. |
$K_d = J(2\xi\omega_n + p_o) - B$ $K_p = J(\omega_n^2 + 2\xi\omega_n p_o)$ $K_i = J(p_o \omega_n^2)$ |
| "Tomando como señales de control las corrientes de los motores..." | Sintonizar en par y dividir entre la constante de par $K_t$ (o $N K_t$). | $K_{p,I} = K_p / K_t$, etc. |
| "¿Por qué se produce error permanente ante gravedad y cómo se anula?" | Explicar que $e_{\infty} = G/K_p \neq 0$. Se anula o bien con término integral $K_i$ o sumando $\tau_{\text{grav}} = G(q)$ en lazo abierto. | $\tau = \tau_{\text{PID}} + G(q)$ |
| "Proponga un esquema de control que desacople totalmente la dinámica" | Escribir la ley de control por Par Calculado (Computed Torque). | $\tau = M(q)[\ddot{q}_d + K_v \dot{e} + K_p e] + V + G$ |
| "Demuestre la estabilidad de un control articular" | Demostración de Lyapunov con $V = \frac{1}{2}\dot{q}^T M \dot{q} + \frac{1}{2}e^T K_p e$, propiedad antisimétrica $\dot{M}-2C$ y LaSalle. | $\dot{V} = -\dot{q}^T K_d \dot{q} \le 0$ |