Contents — find the section you need
Un chemin est géométrique ; une trajectoire spécifie quand ce chemin est parcouru et à quelle vitesse, accélération et à quelle secousse. L’axe d’une allée n’indique pas à un chariot chargé, à un bras robotisé flexible ou à un manipulateur collaboratif sa vitesse de virage ou d’arrêt maximale. Une polyligne sans collision issue d’un planificateur peut néanmoins imposer une direction impossible, saturer une articulation, provoquer des vibrations ou faire tomber sa charge. La génération de trajectoires traduit la faisabilité géométrique en une exécutabilité prenant en compte le temps et la dynamique.
Ce guide compare les profils de vitesse trapézoïdaux/triangulaires, les polynômes quintiques et la méthode de la secousse minimale. Il aborde également les limites, la sécurité, l’implémentation et les frontières de ROS 2 et de la planification de trajectoires. Voir Introduction à la planification de trajectoires, Introduction à ROS 2 et Introduction à Visual SLAM.
Conclusion pratique
-
Les profils trapézoïdaux permettent de visualiser clairement la vitesse et l'accélération maximales. Les déplacements courts deviennent des profils triangulaires sans segment de croisière. Leurs paliers d'accélération idéaux impliquent une secousse infinie, susceptible d'exciter des mécanismes flexibles et des charges utiles.
-
Un polynôme quintique satisfait les conditions aux limites de position, de vitesse et d'accélération aux deux extrémités. Des points d'extrémité de vitesse et d'accélération nuls assurent la continuité de la position à l'accélération entre les segments.
-
La secousse minimale minimise \int j(t)^2dt sous des conditions aux points d'extrémité spécifiées ; avec une durée fixe, elle donne un polynôme quintique. Le terme « minimum » s'applique à l'objectif sélectionné, et non automatiquement à l'énergie, au risque de collision ou à la sécurité. - Surveiller simultanément la position, la vitesse, l'accélération, la secousse, les limites, le courant, la distance d'arrêt, l'erreur de suivi et la fraîcheur de la carte. Un générateur de trajectoire n'est pas un système d'arrêt d'urgence ni un système de sécurité anti-collision.
Paramétrage temporel d'une trajectoire
Pour une trajectoire spatiale p(s) et une progression s\in[0,1] au cours du temps t, la trajectoire est p(s(t)). Ici, \dot s représente le taux de progression :
Une forte courbure augmente l'accélération latérale. Un robot mobile suit approximativement la trajectoire a_{lat}=v^2\kappa, où \kappa représente la courbure ; ainsi, une limite latérale a_{lat,max} donne v\le\sqrt{a_{lat,max}/|\kappa|}. Accélérer sans adoucir un virage demande au système de suivi une direction impossible. Pour un bras, même une trajectoire fluide de l'effecteur terminal peut engendrer une vitesse articulaire élevée à proximité d'une singularité cinématique ; les contraintes liées à la main, au véhicule, à l'articulation et à l'actionneur doivent être vérifiées conjointement.
Vitesse trapézoïdale et triangulaire
Pour une distance D, une vitesse maximale v_{max} et une amplitude d'accélération a_{max}, le temps d'accélération est t_a=v_{max}/a_{max} et la distance parcourue en mode accélération/décélération uniquement est D_{tri}=v_{max}^2/a_{max}. La limite d'accélération est a_{max}. Si D\ge D_{tri}, le temps de croisière est :
Si D<D_{tri}, le mode croisière est désactivé et la vitesse de pointe est v_p=\sqrt{Da_{max}}. Ce profil est transparent et facile à déployer dans les systèmes d'entraînement simples. Ses variations d'accélération instantanées ne sont pas d'ordre physique : un profil en S limite l'à-coup (j_{max}) en augmentant progressivement l'accélération, réduisant ainsi les chocs et les vibrations tout en prolongeant globalement le mouvement.
Schéma : Duskcoil, conceptuel. Dans un trapèze idéal, les discontinuités d'accélération rendent l'à-coup impulsionnel ; il ne s'agit pas d'une réponse mesurée de la machine.
Polynômes quintiques et à-coup minimal
Soit
Six conditions aux points d'arrivée — position, vitesse, accélération à l'instant initial et T — déterminent ses six coefficients. En abrégé, il s'agit de p(0),\dot p(0),\ddot p(0),p(T),\dot p(T),\ddot p(T) et, pour un déplacement d'arrêt à arrêt, de p(0)=0,p(T)=D,\dot p(0)=\dot p(T)=\ddot p(0)=\ddot p(T)=0. Pour un déplacement d'arrêt à arrêt sur la distance sélectionnée, avec \tau=t/T,
Résolution du jerk minimal
sous réserve de la position, de la vitesse et de l'accélération du point final. La condition d'Euler-Lagrange annule la dérivée sixième, ce qui donne une quintique. Un raccourcissement de T augmente rapidement la vitesse, l'accélération et le jerk requis ; le choix de la durée est donc aussi important que le choix des points finaux.
Diagramme : Duskcoil. La comparaison porte sur la régularité du point d'arrivée, et non sur une mesure universelle du temps, de l'énergie ou de la sécurité.
Implémentation et connexion à ROS 2
Pour une articulation, définissez le mouvement de q_0 à q_f, échantillonnez q_d,\dot q_d,\ddot q_d à partir d'une fonction quintique et fournissez ces valeurs à une boucle position/vitesse/effort ; la vitesse et l'accélération peuvent prendre en charge la prédiction. L'interpolation par articulation seule peut amener l'effecteur terminal près d'un obstacle ; vérifiez donc également la trajectoire cartésienne, la cinématique inverse, l'amplitude articulaire et les risques d'autocollision.
Pour un robot mobile, lissez une trajectoire à l'aide de l'algorithme A* ou RRT, appliquez des limites de vitesse dépendantes de la courbure, choisissez une loi de temps de type trapèze/S/à secousse minimale et convertissez la vitesse générée v(t) en vitesses de roue ou en direction et accélération. Si une personne apparaît dans une carte de coûts locale, préserver la fluidité de l'arrivée précédente est moins important que de ralentir, de s'arrêter ou de replanifier. La planification de trajectoire globale ne garantit pas la sécurité locale.
Dans ROS 2, il convient de distinguer les horodatages de chemin, de trajectoire et de commande. Il faut définir le comportement en cas de sauts d'horloge, de messages de trajectoire retardés, d'annulation, de remplacement et de périodes de contrôle manquées ; les trajectoires obsolètes sont rejetées et une discontinuité de vitesse lors du remplacement est évitée. Le cycle de vie et les limites matérielles de ROS 2, décrits dans ROS 2 Primer, aident à répartir ces responsabilités, mais ne garantissent pas la sécurité temps réel ni la sécurité fonctionnelle.
Limites, sécurité et contrôles
Les limites incluent |v|\le v_{max}, |a|\le a_{max} et |j|\le j_{max}, mais aussi l'amplitude articulaire, le couple/courant/capacité thermique, le frottement des pneus, la vitesse de direction, la charge utile, la perception, la latence de communication et la distance d'arrêt. Une estimation simple (d_{stop}\simeq v^2/(2a_{brake})+v t_{latency}) montre que la distance de freinage augmente quadratiquement avec la vitesse tant que le délai de détection et de calcul persiste. Un générateur doit pouvoir abandonner une trajectoire lorsque l'erreur de suivi, l'incertitude de pose, la saturation, la détection d'obstacles ou une carte obsolète dépassent un seuil prédéfini.
| Problème | Cause probable | Surveillance | Exemple de réponse |
|---|---|---|---|
| Erreur dans les virages | Inadéquation vitesse/courbure | Erreur latérale, saturation de la direction | Trajet lent et lisse, courbure maximale |
| Oscillation de la charge utile | À-coups importants/mode flexible | IMU, accélération, vibrations | Courbe en S, temps plus long, éviter la résonance |
| Saut lors d'un changement d'objectif | Vitesse limite discontinue | (v,a,j), courant | Raccordement sans à-coups et réinterpolation |
| Impossible de s'arrêter | Délai/freinage/erreur de carte | Fraîcheur, distance d'arrêt | Limitation de vitesse et arrêt en toute sécurité |
| Articulation à la limite | Inadéquation IK/loi temporelle | Position, vitesse, couple | Replanification, rejet de l'objectif, ralentissement |
Liste de vérification de l'implémentation
-
Définir la trajectoire, les repères, l'heure cible et la période de contrôle.
-
Configurer v,a,j à partir des mesures de l'actionneur, de la charge utile et des limites d'arrêt.
-
Tester les conditions limites de commutation triangulaire/trapézoïdale et de remplacement de l'objectif.
-
Vérifier les dérivées maximales lors de la réduction de la durée quintique.
-
Supprimer les anciennes trajectoires en cas de mise à jour de la carte, de saut de localisation, d'écart de suivi, de perte de communication ou de détection d'obstacle.
-
Vérifier l'arrêt d'urgence indépendant, les limites de couple et les limites de déplacement en cas de défaillance du logiciel de trajectoire.
Une courbe de position lisse garantit-elle un mouvement réalisable ?
Le timing détermine la vitesse, l'accélération et la secousse.
Vérifiez leurs limites ainsi que la trajectoire géométrique. ## Références - [Flash et Hogan, 1985 : La coordination des mouvements du bras](https://doi.org/10.1523/JNEUROSCI.05-07-01688.1985) - [Documentation du contrôleur de trajectoire conjointe ROS 2](https://control.ros.org/master/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.html) - [Introduction à la planification de trajectoires](/fr/blog/posts/control-path-planning.html)
Commentaires
Veuillez vous connecter.
Aucune entrée pour le moment.