Open Source Robotics

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

System Identification

  • También llamado: SysID, Sys ID, model identification, parameter identification
  • Categoría: Learning & autonomy › RL & simulation
  • Etiquetas: dynamics, modeling, sim-to-real, parameter-estimation, control, simulation

El proceso de construir un modelo matemático de un robot u otro sistema dinámico a partir de datos medidos de entrada y salida, de modo que su comportamiento predicho coincida con el hardware real.

Definición

Identificación de sistemas (system identification) es la práctica de estimar un modelo de un sistema dinámico a partir de datos experimentales. Los ingenieros aplican entradas conocidas (órdenes a los motores, pares, tensiones), registran las salidas resultantes (posiciones y velocidades articulares, fuerzas) y ajustan los parámetros de un modelo para que sus predicciones coincidan con lo medido. El campo tiene su propia tradición de libros de texto, con System Identification: Theory for the User de Lennart Ljung como referencia estándar.

Los enfoques suelen describirse según cuánta física presuponen. La identificación de caja blanca o de caja gris parte de ecuaciones conocidas, como la dinámica de cuerpos rígidos, y estima las constantes desconocidas: masas de los eslabones, centros de masa, inercias, coeficientes de fricción, constantes de los motores y rendimientos de los reductores. La identificación de caja negra ajusta un modelo genérico, como una función de transferencia o una red neuronal, con poca estructura previa. Para los brazos robóticos seriales, la dinámica de cuerpos rígidos es lineal en los parámetros inerciales, por lo que estos pueden estimarse por mínimos cuadrados una vez construido el regresor a partir de trayectorias articulares medidas.

La calidad de los datos decide el resultado. La entrada debe ser persistentemente excitante, es decir, debe mover el sistema lo suficiente para revelar cada parámetro que se estima; un robot que solo se mueve despacio no puede revelar su inercia, y uno que nunca invierte el sentido oculta su fricción. Por eso los equipos diseñan trayectorias de excitación, filtran las estimaciones ruidosas de velocidad y aceleración, y validan el modelo con datos que no se usaron para el ajuste.

En el aprendizaje de robots, la identificación de sistemas se usa para calibrar simuladores, de modo que una política entrenada en simulación encuentre una correspondencia más cercana en el hardware real. Se sitúa junto a la aleatorización de dominio, que cubre lo que la identificación no puede precisar, y junto a los modelos residuales aprendidos, que capturan efectos que la estructura de modelo elegida deja fuera. Algunos controladores aprendidos realizan una forma de identificación en línea, adaptándose a la dinámica que observan durante el funcionamiento.

Por qué importa

Todo controlador, simulador y planificador basado en modelos es tan bueno como el modelo que lo sustenta. La identificación de sistemas es la forma en que un equipo convierte un modelo CAD y una hoja de datos en un modelo que predice el robot real, lo que afecta directamente a la precisión de seguimiento, a los márgenes de seguridad y a lo bien que el entrenamiento simulado se transfiere al hardware.

Aplicaciones clave

  • Calibración de simuladores físicos para que coincidan con los robots reales antes de la transferencia sim-to-real
  • Estimación de parámetros inerciales y de fricción para el control por prealimentación y por par calculado
  • Modelado de actuadores, incluidas las constantes de los motores, los retardos y los límites de par
  • Identificación de la masa y la inercia de la carga útil para que un brazo robótico pueda compensar un objeto agarrado
  • Construcción de modelos de sistemas blandos o flexibles cuyos parámetros son difíciles de calcular a partir de principios básicos

En la práctica

Un equipo que pone en marcha un nuevo brazo robótico normalmente parte del URDF y de las inercias del CAD, y después ejecuta trayectorias de excitación en cada articulación o en todo el brazo mientras registra las posiciones articulares, las corrientes y los pares ordenados. Estima la fricción (a menudo términos de Coulomb más viscosos), las constantes de par de los motores y los parámetros inerciales base por mínimos cuadrados, comprueba el modelo ajustado con una trayectoria reservada y carga los valores identificados tanto en los términos de prealimentación del controlador como en el simulador. Al entrenar políticas en simulación, los mismos valores identificados fijan el centro de los rangos de aleatorización de dominio, y los efectos de los actuadores, como la latencia o la saturación de par, se miden por separado y se modelan explícitamente.

Ideas erróneas comunes

  • La identificación de sistemas produce un modelo exacto — encuentra el mejor ajuste dentro de la estructura de modelo elegida y del rango de los datos; los efectos no modelados permanecen
  • Cualquier movimiento registrado sirve como datos — las entradas deben excitar cada parámetro que se estima, o algunos parámetros simplemente no son observables
  • La identificación de sistemas y la aleatorización de dominio son enfoques en competencia — son complementarios: la identificación estrecha los rangos que después cubre la aleatorización

Quién debería saberlo

  • Ingenieros de control que diseñan controladores basados en modelos
  • Investigadores en aprendizaje de robots que trabajan en la transferencia sim-to-real
  • Ingenieros de simulación que construyen gemelos digitales de robots físicos
  • Ingenieros de hardware que caracterizan nuevos actuadores

Tecnologías relacionadas

  • Aleatorización de dominio (Domain Randomization)
  • Transferencia sim-to-real (Sim-to-Real Transfer)
  • Estimación por mínimos cuadrados (Least Squares Estimation)
  • Filtro de Kalman (Kalman Filter)
  • Control adaptativo (Adaptive Control)
  • Gemelo digital (Digital Twin)

Términos relacionados

  • Sim2Real
  • Domain Randomization
  • Digital Twin
  • Differentiable Simulation

Proyectos relacionados

  • GENESIS: World's fastest physics engine: 43M FPS for embodied AI learning
  • LeRobot: HuggingFace ML library for real-world robotics in PyTorch
  • PyBullet: Python physics simulator for robotics and RL research with fast CPU-based simulation
  • RLinf: Scalable infrastructure for post-training foundation models via RL
  • Webots: Cross-platform robot simulator with built-in models, sensors, and development environment
  • NVIDIA Isaac Sim: NVIDIA Omniverse app for AI-driven robot simulation and testing

Vídeos

  • System Identification Methods: Brian Douglas
  • What Is System Identification? | System Identification, Part 1: MATLAB

Wikipedia

  • Identificación de sistemas

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