Open Source Robotics

Une collection organisée de projets, outils et logiciels robotiques open source de haute qualité.

Nonholonomic Constraint

  • Aussi appelé: non-holonomic constraint
  • Catégorie: Foundations & spatial maths › Kinematics
  • Mots-clés: kinematics, mobile-robots, motion-planning, wheeled-robots, control-theory

Contrainte sur les vitesses d'un système qui ne peut pas être intégrée en une contrainte sur sa configuration, comme une roue qui ne peut pas glisser latéralement mais peut tout de même atteindre n'importe quelle position.

Définition

Une contrainte non holonome (nonholonomic constraint) restreint les directions dans lesquelles un système peut se déplacer à chaque instant, sans restreindre les configurations qu'il peut finalement atteindre. Les contraintes holonomes peuvent s'écrire comme des équations portant sur la configuration elle-même, comme une distance fixe entre deux points, et elles retirent des dimensions à l'espace des configurations atteignables. Les contraintes non holonomes portent sur les vitesses, généralement sous la forme pfaffienne A(q) q̇ = 0, et ne peuvent pas être intégrées en de telles équations. L'exemple classique est une roue qui roule sans glisser : sa vitesse doit être dirigée selon son cap, et pourtant, en combinant marche avant et rotation, elle peut atteindre n'importe quelle position et orientation dans le plan.

Les robots mobiles à roues sont le cas le plus courant. Un robot à entraînement différentiel ou une voiture ne peut pas se déplacer latéralement de façon instantanée, si bien qu'un créneau exige une suite d'arcs en marche avant et en marche arrière. D'autres sources incluent les roues orientables des robots à pattes et roues, le roulement d'une bille sur un plateau et la conservation du moment cinétique chez les robots spatiaux en flottement libre, qui contraint les vitesses d'une manière non intégrable. Savoir si un système soumis à de telles contraintes peut atteindre toutes les configurations est une question de commandabilité, à laquelle on répond en vérifiant si les crochets de Lie des directions de mouvement autorisées engendrent l'espace des configurations (théorème de Chow).

Les contraintes non holonomes ont des conséquences pratiques pour la planification comme pour la commande. Les chemins rectilignes dans l'espace des configurations sont souvent irréalisables, de sorte que les planificateurs utilisent des fonctions de pilotage comme les courbes de Dubins ou de Reeds-Shepp, des primitives de treillis, ou une optimisation de trajectoire qui inclut la contrainte. En commande, le résultat de Brockett de 1983 montre que de nombreux systèmes non holonomes, dont l'unicycle, ne peuvent pas être stabilisés en un point par une loi de retour d'état lisse et invariante dans le temps ; les contrôleurs utilisés en pratique suivent plutôt une trajectoire de référence mobile, emploient un retour variant dans le temps ou discontinu, ou commandent un point situé en avant de l'essieu.

Pourquoi c'est important

La plupart des robots à roues sont non holonomes, et l'ignorer produit des plans que le robot ne peut pas suivre et des contrôleurs qui échouent près du but. La notion explique aussi pourquoi on choisit des bases omnidirectionnelles et des entraînements holonomes lorsque le déplacement latéral compte.

Applications principales

  • Planification de chemin pour voitures, robots à entraînement différentiel et semi-remorques
  • Commande de suivi de trajectoire des robots mobiles à roues
  • Optimisation du mouvement des robots à pattes et roues
  • Stationnement et manœuvres dans des espaces restreints
  • Commande d'attitude des robots spatiaux en flottement libre

En pratique

Une équipe qui construit un robot de livraison d'intérieur à entraînement différentiel constate que son planificateur global, écrit pour un robot ponctuel, produit dans les embrasures de porte étroites des chemins avec des angles vifs et des pas latéraux. Elle modifie le planificateur local pour qu'il échantillonne des commandes de vitesse respectant la contrainte de l'entraînement, comme la vitesse d'avance et la vitesse de rotation, et ajoute un comportement d'approche finale qui rejoint la station d'accueil le long d'une courbe au lieu de chercher à corriger sur place de petites erreurs latérales. Sur un quadrupède à pattes et roues, une contrainte semblable est ajoutée à l'optimiseur du corps entier : la vitesse au sol de chaque roue doit être dirigée selon son angle de braquage, si bien que le solveur ne planifie jamais de glissement latéral des roues.

Idées reçues

  • Un robot non holonome ne peut pas atteindre certaines positions — il peut généralement atteindre toutes les configurations, simplement pas le long de n'importe quel chemin
  • Non holonome signifie que le robot a moins de degrés de liberté — l'espace des configurations garde sa dimension ; seules les vitesses instantanées sont restreintes
  • Toute limite de vitesse est une contrainte non holonome — les bornes de vitesse et d'accélération sont des limites d'inégalité, pas des contraintes d'égalité non intégrables sur la direction
  • Une commande par retour d'état standard peut garer un robot de type voiture en un point — la condition de Brockett exclut tout retour lisse et invariant dans le temps pour de tels systèmes, si bien que d'autres stratégies sont nécessaires

Qui devrait le savoir

  • Ingénieurs en planification et en commande de robots mobiles
  • Équipes de planification de mouvement pour véhicules autonomes
  • Développeurs de robots à pattes et roues et de robots de terrain
  • Étudiants en robotique qui étudient la cinématique et la commande

Technologies associées

  • Chemins de Dubins (Dubins Paths)
  • Courbes de Reeds-Shepp (Reeds-Shepp Curves)
  • Planificateurs à treillis d'états (State Lattice Planners)
  • Pure Pursuit
  • Roues Mecanum (Mecanum Wheels)

Termes associés

  • Unicycle Model
  • Configuration Space
  • Omnidirectional Drive
  • Kinematics
  • Trajectory Planning
  • Underactuated system

Projets associés

  • OMPL: Sampling-based motion planning library powering MoveIt and countless robotics applications
  • MoveIt 2: Motion planning framework for ROS 2 robot arms, with kinematics and collision checking
  • PyRoki: Modular Python toolkit for kinematic optimization across CPU, GPU, and TPU via JAX
  • mink: Python inverse kinematics library built on MuJoCo supporting 20+ robot platforms
  • Ruckig: Real-time jerk-constrained time-optimal trajectory generation for robots and machines
  • DART: C++ physics engine for articulated rigid body dynamics and robotics simulation

Vidéos

  • Holonomic vs. Nonholonomic Constraints for Robots | Fundamentals of Robotics | Lesson 4: Mecharithm - Robotics and Mechatronics
  • Nonholonomic Constraints & Lagrange Multipliers Explained | ESM 5314 Lecture 22: Dr. Shane Ross

Ce site nécessite JavaScript. Veuillez activer JavaScript pour explorer nos projets de robotique open source.