System Identification
- Aussi appelé: SysID, Sys ID, model identification, parameter identification
- Catégorie: Learning & autonomy › RL & simulation
- Mots-clés: dynamics, modeling, sim-to-real, parameter-estimation, control, simulation
Processus de construction d'un modèle mathématique d'un robot ou d'un autre système dynamique à partir de données d'entrée et de sortie mesurées, afin que son comportement prédit corresponde au matériel réel.
Définition
Identification de systèmes (system identification) : pratique consistant à estimer un modèle d'un système dynamique à partir de données expérimentales. Les ingénieurs appliquent des entrées connues (commandes moteur, couples, tensions), enregistrent les sorties qui en résultent (positions articulaires, vitesses, forces) et ajustent les paramètres d'un modèle pour que ses prédictions correspondent aux mesures. Le domaine a sa propre tradition de manuels, avec System Identification: Theory for the User de Lennart Ljung comme référence classique.
Les approches sont souvent décrites selon la quantité de physique qu'elles supposent. L'identification en boîte blanche (white-box) ou en boîte grise (grey-box) part d'équations connues, comme la dynamique des corps rigides, et estime des constantes inconnues : masses des segments, centres de masse, inerties, coefficients de frottement, constantes moteur et rendements des engrenages. L'identification en boîte noire (black-box) ajuste un modèle générique, comme une fonction de transfert ou un réseau de neurones, avec peu de structure a priori. Pour les manipulateurs sériels, la dynamique des corps rigides est linéaire en les paramètres inertiels, si bien que ceux-ci peuvent être estimés par moindres carrés une fois le régresseur construit à partir des trajectoires articulaires mesurées.
La qualité des données décide du résultat. L'entrée doit être à excitation persistante (persistently exciting), c'est-à-dire qu'elle doit faire suffisamment bouger le système pour révéler chaque paramètre estimé ; un robot qui ne bouge que lentement ne peut pas révéler son inertie, et un robot qui ne change jamais de sens masque son frottement. Les équipes conçoivent donc des trajectoires d'excitation, filtrent les estimations bruitées de vitesse et d'accélération et valident le modèle sur des données qui n'ont pas servi à l'ajustement.
En apprentissage robotique, l'identification de systèmes sert à étalonner les simulateurs afin qu'une politique entraînée en simulation trouve une correspondance plus étroite sur le matériel réel. Elle s'utilise aux côtés de la randomisation de domaine, qui couvre ce que l'identification ne peut pas fixer, et des modèles résiduels appris, qui capturent les effets que la structure de modèle choisie laisse de côté. Certains contrôleurs appris effectuent une forme d'identification en ligne, en s'adaptant à la dynamique qu'ils observent en fonctionnement.
Pourquoi c'est important
Tout contrôleur, simulateur ou planificateur fondé sur un modèle ne vaut que ce que vaut le modèle qui le sous-tend. L'identification de systèmes est la manière dont une équipe transforme un modèle CAO (CAD) et une fiche technique en un modèle qui prédit le robot réel, ce qui influe directement sur la précision de suivi, les marges de sécurité et la qualité du transfert de l'entraînement simulé vers le matériel.
Applications principales
- Étalonnage des simulateurs physiques sur les robots réels avant le transfert sim-to-real
- Estimation des paramètres inertiels et de frottement pour la commande par anticipation et la commande par couple calculé
- Modélisation des actionneurs, y compris les constantes moteur, les retards et les limites de couple
- Identification de la masse et de l'inertie de la charge utile pour qu'un manipulateur puisse compenser un objet saisi
- Construction de modèles de systèmes souples ou compliants dont les paramètres sont difficiles à calculer à partir des premiers principes
En pratique
Une équipe qui met en service un nouveau bras robotique part généralement de l'URDF et des inerties issues de la CAO (CAD), puis exécute des trajectoires d'excitation sur chaque articulation ou sur le bras entier en enregistrant les positions articulaires, les courants et les couples commandés. Elle estime le frottement (souvent des termes de Coulomb plus visqueux), les constantes de couple des moteurs et les paramètres inertiels de base par moindres carrés, vérifie le modèle ajusté sur une trajectoire mise de côté et charge les valeurs identifiées à la fois dans les termes d'anticipation du contrôleur et dans le simulateur. Lors de l'entraînement de politiques en simulation, les mêmes valeurs identifiées fixent le centre des plages de randomisation de domaine, et les effets des actionneurs comme la latence ou la saturation de couple sont mesurés séparément et modélisés explicitement.
Idées reçues
- L'identification de systèmes produit un modèle exact — elle trouve le meilleur ajustement dans la structure de modèle choisie et la plage des données ; les effets non modélisés subsistent
- N'importe quel mouvement enregistré fournit des données suffisantes — les entrées doivent exciter chaque paramètre estimé, sinon certains paramètres sont tout simplement inobservables
- L'identification de systèmes et la randomisation de domaine sont des approches concurrentes — elles sont complémentaires, l'identification resserrant les plages que la randomisation couvre ensuite
Qui devrait le savoir
- Ingénieurs en automatique qui conçoivent des contrôleurs fondés sur un modèle
- Chercheurs en apprentissage robotique travaillant sur le transfert sim-to-real
- Ingénieurs en simulation qui construisent des jumeaux numériques de robots physiques
- Ingénieurs matériel qui caractérisent de nouveaux actionneurs
Technologies associées
- Randomisation de domaine (Domain Randomization)
- Transfert sim-to-real (Sim-to-Real Transfer)
- Estimation par moindres carrés (Least Squares Estimation)
- Filtre de Kalman (Kalman Filter)
- Commande adaptative (Adaptive Control)
- Jumeau numérique (Digital Twin)
Termes associés
Projets associés
- 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
Vidéos
- System Identification Methods: Brian Douglas
- What Is System Identification? | System Identification, Part 1: MATLAB