Manipulación robótica avanzada con control de impedancia
Por Tadele Shiferaw, MathWorks
Los manipuladores robóticos continúan empleándose en diversas aplicaciones, mejorando la eficiencia y la precisión en los campos de fabricación, atención médica, agricultura y logística. Para las aplicaciones que requieren una interacción segura y efectiva con un entorno dinámico, incorporar grados de conformidad en los manipuladores resulta esencial, ya que permite una mejor adaptabilidad, precisión y seguridad durante la operación. El control de impedancia es una metodología avanzada que permite a los robots reproducir el comportamiento conforme característico de la manipulación humana. Este artículo explica el diseño e implementación de la estrategia de control de impedancia utilizando modelado y simulación.
Descripción del control de impedancia
En esencia, el control de impedancia es una estrategia utilizada en robótica para regular la fuerza de interacción entre un robot y su entorno ajustando dinámicamente la impedancia del robot, entendida como la medida de su respuesta ante fuerzas y desplazamientos[1].
Consideremos un robot simplificado con un solo grado de libertad (DOF). El robot se define como una masa en la posición \( X_m \) y debe desplazarse a una posición deseada \( X_d \), lo que se puede lograr fácilmente utilizando un controlador proporcional-derivativo (PD) clásico con la siguiente ecuación matemática:
\( F_{controller} = k(X_d - X_m) - d {\dot{X_m}} \)
Al observar de cerca la ecuación, la acción de control del controlador PD se puede interpretar físicamente como una combinación de resorte y amortiguador, donde el término proporcional representa el resorte y el término derivativo representa el amortiguador. Se trata de un controlador de impedancia simple que no solo desplaza la masa a la posición deseada, sino que también inyecta una impedancia deseada en el sistema que se puede percibir durante cualquier interacción externa con el sistema (Figura 1).
Figura 1. Sistema sencillo de un solo grado de libertad controlado por impedancia.
Modelado de un sistema simple controlado por impedancia
Este sistema simplificado de un solo grado de libertad puede modelarse fácilmente utilizando Simscape™, un lenguaje de modelado físico que permite conectar bloques de librerías mediante un flujo bidireccional de energía (Figura 2).
Ahora, los parámetros del controlador definidos por la constante de rigidez y el coeficiente de amortiguación pueden ajustarse para establecer el comportamiento conforme deseado del sistema completo a medida que sigue la posición deseada. La diferencia en el comportamiento del movimiento entre un sistema controlado por impedancia moderadamente conforme y uno altamente conforme se muestra en la Figura 3.
Control de impedancia para manipuladores con múltiples grados de libertad
El concepto de controlador de impedancia analizado anteriormente también se puede extender a un manipulador robótico con N-DOF, donde se utiliza un resorte geométrico multidimensional para alinear la pose del efector final del robot \( {H^0}_t \) con una pose deseada \( {H^0}_d \) y se inyecta amortiguación en el sistema a través de un amortiguador de espacio articular en cada DOF (Figura 4).
Dadas las matrices simétricas de rigidez traslacional, rotacional y de acoplamiento \( K_t \), \( K_c \) y \( K_o \), un resorte geométrico espacial definido por una matriz \( K∈R^{6×6} \) ejerce una fuerza sobre un manipulador que es una función de la pose relativa \( {H^d}_t \):
\( K = \begin{pmatrix} K_o & K_c \\ {K^T}_c & K_t \end{pmatrix} \)
La fuerza se calcula en las coordenadas del marco del efector final como un wrench de seis vectores \( W^t=[m^t f^t] \) de la siguiente manera[2]:
\( \widetilde{m^t} = -2as({G_o}{{R^d}_t}) - as ({G_o}{{R^t}_d}{\widetilde{{p^d}_t}}{\widetilde{{p^d}_t}}{{R^d}_t}) - 2as({G_c}{\widetilde{{p^d}_t}}{{R^d}_t}) \)
\( \widetilde{f^t} = -{{R^t}_d}as({G_o}{\widetilde{{p^d}_t}}){{R^d}_t} - as ({G_o}{{R^t}_d}{\widetilde{{p^d}_t}}{{R^d}_t}) - 2as({G_c}{{R^d}_t}) \)
donde:
- \( as(⋅) \) es un operador que obtiene la parte antisimétrica de una matriz cuadrada
- \( G_t \), \( G_c \), y \( G_o \) son matrices de co-rigidez del resorte espacial calculadas como \( G_x = \frac{1}{2}tr(K_x)I−K_x \)
- \( tr (.) \)es el operador traza tensorial
- ~ es un operador tilde que captura la forma matricial de producto cruzado de un vector
Después de la transformación de coordenadas de la wrench \( W^t \) a un sistema de referencia inercial \( Ψ_0 \), los pares de las articulaciones \( τ \) que pueden reproducir la fuerza deseada en el efector final del manipulador se calculan mediante estas ecuaciones:
\( (W^o)^T = A{d^T}_{{H^t}_o} (W^t)^T \)
\( τ = {J^T}(q){W^o} \)
donde:
- \( Ad (⋅) \) es el adjunto de la matriz homogénea
- \( J(q) \) es el jacobiano del manipulador robótico
Modelado de un manipulador robótico con control de impedancia
Para evaluar el algoritmo de control en un manipulador robótico, se desarrolló un modelo dinámico del manipulador Kinova® Gen3 con siete grados de libertad utilizando Simscape Multibody™. Con el modelo CAD del manipulador disponible en formato URDF, se puede generar automáticamente un modelo multicuerpo detallado que se puede utilizar para simulación dinámica usando el comando:
smimport(kinovaGen3.urdf')
El modelo de sistema completo en la figura a continuación muestra el generador de pose deseada, los obstáculos del entorno y las interacciones externas para una evaluación integral del controlador con simulación (Figura 5).
Robotics System Toolbox™ mejora aún más el controlador de impedancia para el manipulador mediante un algoritmo de compensación de gravedad, que mejora el rendimiento operativo. Así, la salida final del controlador, mostrada en la Figura 6, es un par en el espacio articular que es la suma de los pares de resorte espacial, compensación de la gravedad y la inyección de amortiguación.
Resultados de la simulación
Una simulación probó el efecto de una fuerza externa aplicada en la dirección X en la unidad de tiempo \( t = 16 \) \(seg \) y un obstáculo que se desplaza a lo largo del eje x para interactuar con el manipulador en aproximadamente \( t = 30 \) \(seg \) (Figura 7). Como era de esperarse, una fuerza externa de \( F_{ext} = 40N \) aplicada al manipulador controlado por impedancia con una rigidez traslacional cartesiana de \(K_t =400 \) \(N/m \) generó una desviación de \( x_{def} = 0,1m \). El sistema también demostró un comportamiento estable y realista durante la interacción con el obstáculo en movimiento, como se observa en la animación de vídeo generada por el explorador de mecánica (Figura 8).
Figura 8. Animación del movimiento 3D del robot y la interacción con un obstáculo.
Como se valida con los resultados de simulación, el controlador de impedancia cartesiano no solo inyecta el grado de conformidad deseado para permitir una capacidad de interacción flexible, sino que también evita la necesidad de realizar cálculos de cinemática inversa computacionalmente intensivos para el control del manipulador. También es un enfoque de diseño de control físicamente explicable e intuitivo y requiere un controlador de par en nivel de articulación para su implementación.
Referencias
[1] Hogan, Neville. “Impedance Control: An Approach to Manipulation: Part I—Theory; Part II—Implementation; Part III—Applications.” Journal of Dynamic Systems, Measurement, and Control, vol. 107, no. 1, March 1985, pp. 1–24.
[2] Stramigioli, Stefano. Modeling and IPC control of Interactive Mechanical Systems — A Coordinate-Free Approach, Lecture Notes in Control and Information Sciences (Springer London, 2001).
Publicado en 2025