Open Source Robotics

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

Anytime Motion Planning

  • Detto anche: anytime planning, anytime planner
  • Categoria: Planning & manipulation › Motion planning
  • Tag: motion-planning, sampling-based-planning, optimal-planning, real-time, bounded-computation

Pianificazione del movimento che restituisce rapidamente un percorso valido e poi continua a migliorarlo finché il tempo lo consente, così che una risposta utilizzabile è disponibile ogni volta che il pianificatore viene fermato.

Definizione

Un pianificatore del movimento anytime (anytime motion planner) produce una prima soluzione ammissibile e priva di collisioni il prima possibile e poi impiega il tempo rimanente per migliorarla, di solito riducendo la lunghezza del percorso, il tempo di esecuzione o un altro costo. In ogni momento successivo alla prima soluzione dispone della migliore risposta trovata fino a quel punto, che può essere restituita se viene interrotto. L'idea deriva dalla nozione più ampia di algoritmi anytime nell'intelligenza artificiale, introdotta da Dean e Boddy alla fine degli anni 1980, in cui la qualità della soluzione viene scambiata con il tempo di calcolo e il rapporto tra le due è descritto da un profilo di prestazione.

Nella ricerca su grafi, il comportamento anytime si ottiene di solito eseguendo prima un'euristica pesata e gonfiata e poi stringendo il peso riutilizzando lo sforzo di ricerca precedente, come in Anytime Repairing A (ARA). Nella pianificazione basata sul campionamento, i pianificatori asintoticamente ottimi come RRT e la variante PRM delle roadmap probabilistiche sono anytime per natura: continuano a campionare e a ricollegare dopo la prima soluzione, e il costo del percorso migliore tende all'ottimo man mano che cresce il numero di campioni. Informed RRT e Batch Informed Trees (BIT) accelerano la fase di miglioramento limitando i campioni alla regione che potrebbe ancora contenere un percorso migliore. Un semplice rapidly-exploring random tree** non è anytime in questo senso, perché si ferma appena l'obiettivo è collegato, anche se si possono aggiungere riavvii o post-elaborazione.

Il miglioramento nel tempo è raramente regolare. Il costo scende spesso a gradini, soprattutto quando il pianificatore trova una via attraverso un varco diverso tra gli ostacoli, cioè un percorso in una nuova classe di omotopia, e lunghi tratti possono portare un guadagno quasi nullo. Questo rende la decisione di fermarsi un problema a sé: fermarsi troppo presto spreca qualità, fermarsi troppo tardi spreca tempo che il robot potrebbe passare a muoversi. I budget di tempo fissi sono la prassi comune, mentre i metodi di meta-ragionamento apprendono o stimano quando ulteriore calcolo non vale più la pena.

Perché è importante

I robot hanno raramente una quantità di tempo fissa e nota per pianificare. Un pianificatore anytime fornisce quasi subito una soluzione di ripiego sicura e trasforma ogni tempo avanzato in un movimento migliore, il che si adatta a sistemi che devono agire entro una scadenza ma tengono comunque alla qualità del percorso, all'energia o al tempo ciclo.

Applicazioni principali

  • Pianificazione del movimento del braccio con budget di tempo per query nelle pipeline di manipolazione
  • Ripianificazione per robot mobili e veicoli che devono agire su un ciclo di controllo fisso
  • Pianificazione del percorso per robot aerei, dove percorsi più brevi fanno risparmiare batteria
  • Ricerca euristica su grafi su griglie e reticoli con riduzione del peso alla maniera di ARA*
  • Ricerca sul meta-ragionamento per decidere quando smettere di pianificare e iniziare ad agire

In pratica

Un manipolatore mobile pianifica i movimenti del braccio con un pianificatore basato sul campionamento asintoticamente ottimo preso da una libreria come OMPL. Ogni query riceve un budget di tempo: il pianificatore di solito trova un primo percorso all'inizio di quel budget e poi continua ad accorciarlo. Il team registra il costo migliore in funzione del tempo trascorso su molte query registrate e vede che la maggior parte del guadagno arriva presto, con occasionali grandi cali quando un percorso più breve attorno a un ostacolo viene trovato tardi. Invece di spendere sempre l'intero budget, si fermano quando il costo non è migliorato per un intervallo stabilito, oppure usano una regola di arresto appresa, e poi applicano scorciatoie e parametrizzazione temporale al risultato prima di inviarlo al controllore.

Idee sbagliate comuni

  • Anytime significa che la prima soluzione è quasi ottima — la prima soluzione è spesso lontana dall'ottimo, e la qualità dipende da quanto a lungo gira il pianificatore
  • Il costo migliora in modo costante nel tempo — di solito scende a gradini irregolari, con lunghi plateau tra l'uno e l'altro
  • L'ottimalità asintotica garantisce un buon percorso entro il budget di tempo — descrive solo il limite quando il calcolo cresce senza limiti e non dice nulla su una scadenza finita
  • Usare tutto il budget di tempo è sempre la scelta migliore — il tempo passato a pianificare è tempo non passato a muoversi, quindi fermarsi prima è spesso il compromesso migliore

Chi dovrebbe saperlo

  • Ingegneri di pianificazione del movimento che configurano pianificatori basati sul campionamento o sulla ricerca
  • Sviluppatori di manipolazione mobile e navigazione che lavorano con vincoli di tempo reale
  • Ricercatori di robotica che studiano la pianificazione con calcolo limitato
  • Studenti che imparano la pianificazione ottima del movimento

Tecnologie correlate

  • ARA (Anytime Repairing A)
  • RRT*
  • Informed RRT*
  • BIT* (Batch Informed Trees)
  • OMPL

Termini correlati

  • RRT*
  • Rapidly-exploring random tree
  • Probabilistic Roadmap
  • Homotopy Class
  • Warm Start
  • Motion Planning

Progetti correlati

  • GENESIS: World's fastest physics engine: 43M FPS for embodied AI learning
  • Cartographer: Google's real-time 2D and 3D SLAM system for multi-platform robotics
  • FAST-LIVO2: Fast, direct LiDAR-inertial-visual odometry from HKU-MARS, published in IEEE T-RO
  • Dora AI: Dataflow middleware for AI robotics applications, built in Rust
  • OpenMind OM1: AI-native operating system for robots with modular perception, cognition, and action
  • Fast DDS: eProsima's high-performance DDS middleware — the default transport under ROS 2

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