Open Source Robotics

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

Ruckig

Génération de trajectoire temps-optimal contrainte en jerk en temps réel pour robots et machines

Licence

MIT

Aperçu

Ruckig est une bibliothèque de génération de mouvement instantanée pour les robots et les machines qui calcule des trajectoires optimales en temps, contraintes en jerk, à la volée. Elle génère des trajectoires vers un point de passage cible (avec position, vitesse et accélération) à partir de n'importe quel état initial, limitées par des contraintes de vitesse, d'accélération et de jerk — garantissant des solutions optimales en temps pour les mouvements état-à-état.

Ruckig est le premier générateur de trajectoires de type V pour des états cibles arbitraires, plus puissant et plus rapide que la bibliothèque Reflexxes Type IV. Il atteint des temps de calcul inférieurs à la milliseconde adaptés aux cycles de contrôle aussi courts que 250 microsecondes, avec une précision numérique dans 1e-8 pour la position/vitesse et 1e-12 pour les limites, validée sur plus de 5 milliards de trajectoires aléatoires.

La bibliothèque principale est écrite en C++ sans dépendances, prenant en charge C++20 jusqu'à C++03, avec des liaisons Python disponibles via pip. Elle s'intègre avec les principaux frameworks de robotique incluant MoveIt 2 (ROS 2) comme plugin de traitement de trajectoire, CoppeliaSim et Frankx pour le contrôle du robot Franka Emika.

Développé à l'Institut de Technologie de Karlsruhe (KIT) et présenté à RSS 2021.

Ruckig est une bibliothèque de génération de mouvement instantanée qui calcule à la volée des trajectoires optimales en temps et contraintes en jerk pour les robots et les machines. Développée au Karlsruhe Institute of Technology (KIT) et présentée à RSS 2021, elle est devenue l'un des composants open source de planification de mouvement les plus déployés en robotique, avec plus de 5 milliards de trajectoires calculées en production.

La bibliothèque est le premier générateur de trajectoires de Type V pour des états cibles arbitraires, au-delà des capacités de la célèbre bibliothèque Reflexxes de Type IV. À partir de n'importe quel état initial (position, vitesse, accélération) et d'un point de passage cible soumis à des contraintes de vitesse, d'accélération et de jerk, Ruckig calcule la trajectoire mathématiquement optimale en moins d'une milliseconde, assez vite pour des cycles de commande de seulement 250 microsecondes. La précision numérique est validée à 1e-8 près pour les positions et vitesses, et à 1e-12 près pour les limites.

Ruckig est écrit en C++ sans aucune dépendance externe, compatible avec les standards de C++03 à C++20, et des bindings Python sont disponibles via pip. Son absence de dépendances rend l'intégration simple dans n'importe quelle pile robotique. La bibliothèque est intégrée à MoveIt 2 (ROS 2) comme plugin de traitement de trajectoires, à CoppeliaSim pour la simulation et à Frankx pour la commande des robots Franka Emika.

L'alliance de rigueur mathématique, de performances temps réel et d'intégration sans friction a fait de Ruckig un composant standard dans les laboratoires de recherche et les entreprises de robotique industrielle du monde entier.

Pourquoi c'est important

La génération de trajectoires douces et limitées en jerk est essentielle pour le fonctionnement réel des robots. Ruckig fournit une solution en temps réel sans dépendances déjà intégrée dans MoveIt 2 et utilisée par des centaines de laboratoires de recherche et d'entreprises.

Le problème résolu

Génération en temps réel de profils de mouvement doux et limités en jerk pour les robots qui doivent réagir instantanément aux entrées capteurs tout en respectant les contraintes de vitesse, d'accélération et de jerk.

Points clés

  • Génération de trajectoire temps-optimal contrainte en jerk en calcul inférieur à la milliseconde
  • Aucune dépendance dans le cœur C++ — intégration facile dans n'importe quelle pile robotique
  • Intégré dans MoveIt 2 (ROS 2) et CoppeliaSim dès la boîte
  • Validé sur plus de 5 milliards de trajectoires aléatoires avec précision 1e-12 sur les limites

Pour qui

  • Développeurs de bras robotiques
  • Ingénieurs en planification de mouvement
  • Développeurs ROS 2 / MoveIt
  • Ingénieurs en automatisation industrielle

Limites

  • La version communautaire ne prend pas en charge le calcul de points de passage locaux (fonctionnalité Pro)
  • Les limites de position disponibles uniquement dans la version Pro
  • L'interface de suivi pour les signaux arbitraires nécessite la version Pro
  • La documentation de l'API Python est moins complète que C++

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