Open Source Robotics

Una raccolta curata di progetti, strumenti e software di robotica open source di alta qualità per la comunità della robotica.

Trajectory Planning

  • Detto anche: trajectory generation, motion profiling, time-optimal planning
  • Categoria: Planning & manipulation › Trajectory optimisation
  • Tag: trajectory, motion-planning, velocity-profile, optimization, robot-control, path-planning

Processo di calcolo di un percorso parametrizzato nel tempo per un robot, che stabilisce non solo dove deve andare ma quando deve trovarsi in ogni punto, inclusi i profili di velocità e accelerazione.

Definizione

La pianificazione della traiettoria è il processo che genera per un robot un profilo di moto parametrizzato nel tempo: definisce non solo il percorso geometrico nello spazio, ma anche i tempi, la velocità e l'accelerazione in ogni punto di quel percorso. Mentre la pianificazione del percorso determina il tragitto spaziale dal punto di partenza all'obiettivo (evitando gli ostacoli), la pianificazione della traiettoria aggiunge la dimensione temporale: quanto velocemente il robot si muove lungo il percorso, quando accelera e decelera e come passa in modo fluido da un punto di passaggio all'altro.

La distinzione tra percorso e traiettoria è fondamentale in robotica. Un percorso è una curva puramente geometrica nello spazio delle configurazioni o nello spazio operativo: una sequenza di posizioni priva di informazioni temporali. Una traiettoria assegna un istante di tempo a ciascun punto del percorso, creando una funzione del tempo che il controller del robot può eseguire. Lo stesso percorso geometrico può essere percorso da infinite traiettorie: lentamente e con cautela, rapidamente e in modo aggressivo, o con qualsiasi profilo di velocità intermedio.

La pianificazione della traiettoria deve soddisfare più vincoli contemporaneamente. I vincoli cinematici limitano le velocità e le accelerazioni dei giunti a valori che i motori sono in grado di raggiungere. I vincoli dinamici tengono conto dei limiti di coppia, degli effetti inerziali e dei carichi gravitazionali. I vincoli di regolarità garantiscono profili di velocità e accelerazione continui, che non provochino vibrazioni meccaniche o usura eccessiva. L'ottimalità temporale punta a ridurre al minimo il tempo di esecuzione nel rispetto di tutti gli altri vincoli. Bilanciare questi vincoli è la sfida centrale della pianificazione della traiettoria.

Tra i metodi più comuni di pianificazione della traiettoria figurano i profili di velocità trapezoidali (accelerazione costante, velocità costante, decelerazione costante: l'approccio più semplice), l'interpolazione polinomiale (polinomi cubici o di quinto grado che garantiscono posizione, velocità e accelerazione regolari), le traiettorie B-spline (curve regolari definite da punti di controllo) e la pianificazione della traiettoria a tempo minimo (che trova il modo più rapido di percorrere un percorso nel rispetto dei limiti degli attuatori). Ogni metodo offre compromessi diversi tra costo computazionale, regolarità e ottimalità.

Nella robotica industriale la pianificazione della traiettoria è spesso integrata nel controller del robot e in gran parte trasparente per l'utente, che si limita a indicare i punti di passaggio e le percentuali di velocità. Nella ricerca e nelle applicazioni avanzate, la pianificazione della traiettoria è un ricco problema di ottimizzazione, in cui la qualità della traiettoria incide direttamente su tempo ciclo, consumo energetico e qualità del movimento. Gli approcci moderni ricorrono sempre più all'ottimizzazione della traiettoria, un metodo numerico che ottimizza congiuntamente percorso e tempi risolvendo un problema di ottimizzazione vincolata.

Perché è importante

La pianificazione della traiettoria determina come si muove un robot, non solo dove. Una traiettoria ben pianificata significa un movimento fluido, efficiente e rapido; una mal pianificata significa movimenti a scatti, tempo sprecato e sollecitazioni meccaniche. Nella produzione ad alta velocità, la differenza tra una buona e una cattiva pianificazione della traiettoria può valere il 30% di pezzi all'ora in più o in meno.

Applicazioni principali

  • Programmazione di robot industriali: movimento fluido ed efficiente nei tempi tra i punti di passaggio nelle celle di produzione
  • Lavorazione CNC: profili temporali del percorso utensile che mantengono costanti le condizioni di taglio
  • Pianificazione del movimento dei veicoli autonomi: profili di velocità confortevoli e sicuri lungo i percorsi pianificati
  • Volo dei droni: traiettorie 3D fluide per fotografia aerea, ispezione e consegne
  • Locomozione con zampe: traiettorie di oscillazione del piede che garantiscono la distanza dal suolo e un contatto morbido
  • Robotica spaziale: traiettorie a consumo minimo di propellente per la manutenzione dei satelliti e le manovre orbitali

In pratica

In una cella robotizzata industriale, il programmatore insegna una serie di punti di passaggio e sceglie i tipi di movimento (interpolazione nei giunti, lineare, circolare) e le percentuali di velocità. Dietro le quinte, il pianificatore di traiettoria del controller del robot converte questi punti in traiettorie fluide e parametrizzate nel tempo, che rispettano i limiti di velocità, accelerazione e jerk dei giunti del robot. Quando raccorda movimenti consecutivi (zone o arrotondamento degli spigoli), il pianificatore di traiettoria calcola curve di transizione che mantengono profili di velocità regolari senza fermarsi a ogni punto di passaggio, riducendo drasticamente i tempi ciclo.

Nella ricerca, strumenti di ottimizzazione della traiettoria come TOPP-RA (Time-Optimal Path Parameterization) e l'ottimizzazione della traiettoria di Drake calcolano la traiettoria più rapida possibile lungo un percorso dato, nel rispetto dei limiti di coppia degli attuatori e dei vincoli dinamici. Ciò può ridurre i tempi ciclo del 20-40% rispetto a profili trapezoidali prudenti, ed è per questo che l'ottimizzazione della traiettoria viene adottata sempre più spesso nella robotica industriale e di ricerca ad alte prestazioni.

Idee sbagliate comuni

  • Pianificazione del percorso e pianificazione della traiettoria sono la stessa cosa: la pianificazione del percorso trova dove andare; la pianificazione della traiettoria stabilisce quando e con quale velocità arrivarci
  • I percorsi rettilinei sono sempre i più veloci: a causa dei limiti di velocità dei giunti e della dinamica, percorsi curvi con profili di velocità migliori possono in realtà essere più rapidi
  • La pianificazione della traiettoria è risolta dal pianificatore del movimento: la maggior parte dei pianificatori del movimento produce percorsi geometrici; serve una fase separata di pianificazione della traiettoria per aggiungere i tempi
  • Le traiettorie a velocità costante sono fluide: in realtà richiedono un'accelerazione infinita all'avvio e all'arresto; per un'esecuzione fluida servono profili trapezoidali o polinomiali

Chi dovrebbe saperlo

  • Programmatori di robot che ottimizzano i tempi ciclo in produzione
  • Ricercatori di pianificazione del movimento che sviluppano pipeline di pianificazione complete
  • Ingegneri del controllo che implementano controllori di inseguimento della traiettoria
  • Sviluppatori di droni e veicoli autonomi che pianificano movimenti fluidi
  • Studenti di robotica che imparano l'intera pipeline, dalla pianificazione all'esecuzione

Tecnologie correlate

  • Profilo di velocità trapezoidale
  • Interpolazione polinomiale
  • B-spline
  • Ottimizzazione della traiettoria
  • Profili a jerk limitato
  • Controllo a tempo minimo

Progetti correlati

  • Nav2: ROS 2 navigation stack with path planning and obstacle avoidance for mobile robots
  • evo: De-facto standard tool for evaluating and plotting odometry/SLAM trajectories
  • Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
  • GTSAM: Factor-graph optimization library powering many modern SLAM backends
  • ROS Motion Planning: One repo implementing 40+ classic and learning-based robot path planners as ROS plugins
  • OMPL: Sampling-based motion planning library powering MoveIt and countless robotics applications

Video

  • Trajectory Planning and Generation | Cubic Polynomials | Parabolic Blends | Robotics: ThatsEngineering

Questo sito richiede JavaScript. Attiva JavaScript per esplorare i nostri progetti di robotica open source.