Operational Space Control
- Aussi appelé: OSC, operational space formulation
- Catégorie: Control › Force & interaction control
- Mots-clés: task-space-control, torque-control, manipulation, dynamics, redundancy
Méthode de commande au niveau des couples qui écrit la dynamique d'un manipulateur dans les coordonnées de l'effecteur terminal, de sorte que celui-ci peut être commandé directement comme un système masse-ressort-amortisseur dans l'espace de la tâche.
Définition
Commande dans l'espace opérationnel (operational space control) : cadre introduit par Oussama Khatib en 1987 pour commander un robot directement dans les coordonnées de sa tâche, généralement la position et l'orientation de l'effecteur terminal, plutôt que dans les coordonnées articulaires. Son point de départ consiste à réécrire les équations du mouvement du robot dans ces coordonnées de tâche. Le résultat a la même structure que la dynamique dans l'espace articulaire, avec une matrice d'inertie dans l'espace de la tâche (task-space inertia matrix) Λ = (J M⁻¹ Jᵀ)⁻¹, construite à partir de la matrice d'inertie articulaire M et de la jacobienne J, plus des termes de Coriolis, centrifuges et de gravité exprimés à l'effecteur terminal.
Avec ce modèle, le contrôleur calcule la force et le moment que l'effecteur terminal doit appliquer, typiquement une loi PD sur l'erreur de pose, mise à l'échelle par Λ et avec les termes dynamiques compensés, et les convertit en couples articulaires avec la transposée de la jacobienne. L'effet est que l'effecteur terminal se comporte comme un système masse-ressort-amortisseur simple et découplé dans l'espace cartésien, avec une réponse prévisible dans chaque direction. Comme le contrôleur travaille avec des forces, il s'étend naturellement à une commande unifiée en mouvement et en effort et au contact compliant.
Pour les robots redondants, qui ont plus d'articulations que la tâche n'en exige, la commande dans l'espace opérationnel ajoute des objectifs secondaires dans le noyau (null space) de la tâche principale, à l'aide d'une projection dynamiquement cohérente, de sorte que, par exemple, un objectif de posture ou de limites articulaires ne perturbe pas l'effecteur terminal. Cette idée de tâches empilées et hiérarchisées est à la base de nombreux contrôleurs corps entier pour humanoïdes. La méthode repose sur un modèle dynamique raisonnable et sur la commande en couple des articulations, et l'inertie dans l'espace de la tâche devient mal conditionnée près des singularités ; les implémentations pratiques ajoutent donc de l'amortissement et se rabattent sur des lois d'impédance plus simples dans l'espace de la tâche quand le modèle est incertain.
Pourquoi c'est important
Les tâches de manipulation se spécifient en termes de position de l'outil et de la manière dont il doit pousser, pas en angles articulaires. La commande dans l'espace opérationnel permet à un robot de suivre et de réagir dans ces termes avec une raideur et une compliance cohérentes, ce qui explique qu'elle soit un contrôleur bas niveau courant sous des politiques apprises qui produisent des cibles pour l'effecteur terminal.
Applications principales
- Commande bas niveau des poses de l'effecteur terminal produites par des politiques de manipulation apprises
- Tâches de contact compliant comme l'essuyage, l'insertion et la poussée
- Commande combinée en mouvement et en effort selon différentes directions de la tâche
- Commande corps entier d'humanoïdes et de manipulateurs mobiles avec des tâches hiérarchisées
- Téléopération où les commandes de l'opérateur sont données dans l'espace cartésien
En pratique
Dans un dispositif d'apprentissage construit sur un bras commandé en couple, une politique ou un ensemble de primitives de comportement produit une séquence de poses cibles de l'effecteur terminal à faible cadence, par exemple dix fois par seconde. Un contrôleur dans l'espace opérationnel tournant à plusieurs centaines de hertz ou plus transforme chaque cible en couples articulaires : il calcule l'erreur de pose, applique les gains de raideur et d'amortissement, met à l'échelle par l'inertie dans l'espace de la tâche, ajoute la compensation de gravité et fait passer le résultat par la transposée de la jacobienne. Un terme dans le noyau maintient le coude près d'une posture confortable. Les ingénieurs règlent la raideur pour que le bras suive bien en espace libre mais cède quand il touche une étagère ou un objet, et ils baissent les gains ou ajoutent de l'amortissement là où le bras approche d'une configuration singulière.
Idées reçues
- La commande dans l'espace opérationnel est la même chose que la cinématique inverse — elle travaille au niveau des couples avec la dynamique du robot, au lieu de convertir des poses en angles articulaires pour un contrôleur de position
- Elle exige un modèle dynamique parfait — elle profite d'un bon modèle, mais de nombreuses versions déployées utilisent une inertie approchée et comptent sur les gains de rétroaction pour absorber les erreurs
- Commander l'effecteur terminal fixe tout le bras — sur les robots redondants, le mouvement dans le noyau doit être commandé séparément, sinon le bras peut dériver
Qui devrait le savoir
- Ingénieurs en commande de manipulation
- Chercheurs en apprentissage robotique qui choisissent un espace d'action
- Développeurs d'humanoïdes et de commande corps entier
- Étudiants en robotique qui étudient la dynamique des robots
Technologies associées
- Commande par couple calculé (Computed Torque Control)
- Commande en impédance (Impedance Control)
- Projection dans le noyau (Null-Space Projection)
- robosuite
- Pinocchio
Termes associés
- Jacobian
- Torque Control
- Impedance Control
- Whole-Body Control
- Hybrid Position/Force Control
- Motion Primitive
Projets associés
- LeRobot: HuggingFace ML library for real-world robotics in PyTorch
- Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim
- NVIDIA Isaac GR00T: NVIDIA open foundation model for humanoid robot reasoning and skills
- OpenVLA: 7B-parameter Vision-Language-Action model for robotic manipulation
- Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
- OpenArm: 7DOF humanoid arm for physical AI research in contact-rich environments