Open Source Robotics

Una colección curada de proyectos, herramientas y software de robótica de código abierto de alta calidad.

Centroidal Dynamics

  • También llamado: centroidal model, centroidal momentum dynamics, centroidal momentum
  • Categoría: Control › Locomotion control
  • Etiquetas: legged-locomotion, humanoids, dynamics, balance, model-predictive-control

Un modelo reducido de un robot con patas o de un robot humanoide que describe cómo las fuerzas de contacto cambian el movimiento de su centro de masa y su cantidad de movimiento angular total, sin seguir cada extremidad.

Definición

Dinámica centroidal (centroidal dynamics) describe el movimiento de un robot multicuerpo, como un humanoide o un cuadrúpedo, en términos de su cantidad de movimiento lineal y angular total respecto al centro de masa. Tenga el robot las articulaciones que tenga, las leyes de Newton y de Euler establecen que solo las fuerzas externas, principalmente la gravedad y las fuerzas de contacto en los pies o las manos, pueden cambiar estas magnitudes. La tasa de cambio de la cantidad de movimiento lineal es igual a la suma de las fuerzas externas, y la tasa de cambio de la cantidad de movimiento angular respecto al centro de masa es igual a la suma de los pares externos respecto a él.

Esto da un modelo de solo seis ecuaciones, independiente del número de articulaciones, que recoge lo que más importa para el equilibrio y la locomoción: hacia dónde va el centro de masa y cómo gira el cuerpo como resultado de las fuerzas que el robot aplica a su entorno. Los movimientos internos de las articulaciones afectan al sistema solo a través de la cantidad de movimiento centroidal, que se relaciona con las velocidades articulares mediante la matriz de cantidad de movimiento centroidal, un concepto desarrollado por Orin y Goswami.

Los planificadores usan la dinámica centroidal con distintos niveles de detalle. El modelo de cuerpo rígido único trata todo el robot como un solo cuerpo con inercia fija, lo que funciona bien para cuadrúpedos con patas ligeras. El modelo centroidal completo conserva la configuración articular para calcular una inercia variable, lo que importa en humanoides con extremidades pesadas. Más simple aún, el péndulo invertido lineal ignora la cantidad de movimiento angular y fija la altura del centro de masa.

En la práctica, un planificador centroidal elige trayectorias del centro de masa y fuerzas de contacto que respetan los conos de fricción y la temporización de los contactos, y después un controlador de cuerpo completo calcula los pares articulares que las realizan.

Por qué importa

La dinámica centroidal permite a los controladores razonar sobre el equilibrio, la marcha y el salto sin resolver la dinámica completa de cada articulación, lo que hace posible la planificación en tiempo real para humanoides y cuadrúpedos. Es la capa intermedia estándar en la locomoción con patas basada en modelos, entre los modelos simples de péndulo y la dinámica completa de cuerpos rígidos.

Aplicaciones clave

  • Control predictivo basado en modelo (MPC) para la locomoción de cuadrúpedos
  • Marcha, carrera y salto de humanoides
  • Planificación de movimientos con múltiples contactos, como la escalada y la loco-manipulación
  • Recuperación del equilibrio tras empujones

En la práctica

En una pila típica de locomoción basada en modelos, un controlador predictivo basado en modelo funciona sobre un modelo de cuerpo rígido único o un modelo centroidal, optimizando el movimiento del centro de masa y las fuerzas de reacción del suelo en un horizonte corto, sujeto a restricciones de cono de fricción y de secuencia de contactos. Su salida va a un controlador de cuerpo completo que funciona a una frecuencia mayor y resuelve un programa cuadrático para obtener pares articulares que siguen la cantidad de movimiento planificada respetando los límites articulares. Bibliotecas como Pinocchio calculan la matriz de cantidad de movimiento centroidal, y marcos de control óptimo como OCS2 incluyen modelos centroidales para robots con patas. Los equipos validan el modelo reducido comprobando hasta qué punto el movimiento medido de la base del robot sigue la trayectoria planificada del centro de masa.

Ideas erróneas comunes

  • La dinámica centroidal ignora por completo las extremidades — el modelo centroidal completo tiene en cuenta el movimiento de las extremidades mediante una inercia que depende de la configuración; solo la aproximación de cuerpo rígido único lo ignora
  • Los pares articulares pueden cambiar directamente la cantidad de movimiento total del robot — solo pueden hacerlo las fuerzas externas, como las fuerzas de contacto y la gravedad; las articulaciones actúan cambiando esas fuerzas de contacto
  • Es lo mismo que el modelo de péndulo invertido — los modelos de péndulo son simplificaciones adicionales que descartan la cantidad de movimiento angular y normalmente fijan la altura del centro de masa

Quién debería saberlo

  • Ingenieros de locomoción con patas y de control de humanoides
  • Investigadores que trabajan en control predictivo basado en modelo para robots caminantes
  • Investigadores en planificación de movimiento que trabajan en tareas con múltiples contactos
  • Estudiantes de posgrado en dinámica de robots

Tecnologías relacionadas

  • Pinocchio
  • OCS2
  • Control predictivo basado en modelo (Model Predictive Control)
  • Control de cuerpo completo (Whole-Body Control)
  • Péndulo invertido lineal (Linear Inverted Pendulum)
  • Modelo de cuerpo rígido único (Single Rigid Body Model)

Términos relacionados

  • Whole-Body Control
  • Locomotion
  • Humanoid Robot
  • Friction Cone

Proyectos relacionados

  • Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
  • MuJoCo MPC: DeepMind's interactive real-time model predictive control framework for MuJoCo
  • DART: C++ physics engine for articulated rigid body dynamics and robotics simulation
  • python_simple_mppi: MPPI control derived and implemented in numpy, with four worked examples
  • frax: JAX library for fast, differentiable robot kinematics, dynamics and inverse kinematics
  • mjbatch: Runs thousands of MuJoCo simulations in parallel on the CPU

Este sitio web requiere JavaScript. Por favor, habilite JavaScript para explorar nuestros proyectos de robótica.