Elastic band
- Detto anche: elastic bands, elastic band method
- Categoria: Planning & manipulation › Motion planning
- Tag: motion-planning, local-planning, obstacle-avoidance, path-deformation, mobile-robots
Un metodo locale di deformazione del percorso che tratta un percorso pianificato come una banda estensibile, tesa da forze interne e allontanata dagli ostacoli da forze esterne, così da adattarsi in tempo reale.
Definizione
Una banda elastica (elastic band) è un metodo per deformare un percorso in tempo reale, introdotto da Quinlan e Khatib nel 1993 per collegare la pianificazione globale del percorso con il controllo reattivo. Un percorso privo di collisioni proveniente da un pianificatore globale viene rappresentato come una catena di punti, o di bolle, regioni di spazio libero attorno a ciascun punto dimensionate in base alla distanza dall'ostacolo più vicino. La banda viene quindi trattata come un oggetto fisico. Forze interne di contrazione, come molle tra punti vicini, la tendono in modo che diventi più corta e più liscia. Forze esterne, derivate da un potenziale repulsivo attorno agli ostacoli, la allontanano da essi. A ogni ciclo di controllo la banda si rilassa verso un equilibrio di queste forze, così quando un ostacolo si muove o ne compare uno nuovo il percorso si piega attorno a esso mantenendo il punto di partenza e l'obiettivo.
Le bolle mantengono la banda connessa: finché le bolle vicine si sovrappongono, i segmenti rettilinei tra di esse sono privi di collisioni, e si aggiungono o rimuovono punti man mano che la banda si allunga o si accorcia. Poiché il percorso viene solo deformato e non ricalcolato, il metodo è abbastanza veloce da girare all'interno di un anello di controllo. Lavori successivi hanno esteso l'idea alle elastic strips per manipolatori mobili, che deformano una sequenza di configurazioni dell'intero robot nell'area di lavoro, e alla Timed Elastic Band, che aggiunge intervalli di tempo tra le pose e risolve un'ottimizzazione sparsa con vincoli di velocità, di accelerazione e cinematici. La Timed Elastic Band è disponibile come pianificatore locale in ROS.
La banda elastica si distingue da un metodo a campo potenziale (potential field), che muove il robot direttamente lungo il gradiente di un potenziale attrattivo e repulsivo: qui le forze agiscono su un intero percorso che collega già la partenza all'obiettivo, quindi il robot non resta intrappolato nei minimi locali che possono fermare un controllore puramente a campo potenziale. Resta comunque un metodo locale. Una banda può deformarsi solo in modo continuo, quindi non può saltare a un modo diverso di aggirare un ostacolo, ad esempio passando a sinistra invece che a destra; se un ostacolo taglia la banda o il corridoio si chiude, un pianificatore globale deve fornire un nuovo percorso. Per questo motivo alcune varianti mantengono più bande candidate in classi di omotopia diverse.
Perché è importante
I robot in ambienti che cambiano hanno bisogno di percorsi che reagiscano agli ostacoli in movimento entro un ciclo di controllo senza scartare il piano globale. Le bande elastiche e i loro derivati sono un modo standard di fornire questo livello reattivo per robot mobili e manipolatori, e il modello di percorso basato sulle forze viene usato anche per generare traiettorie lisce e attente agli ostacoli per altri scopi.
Applicazioni principali
- Pianificazione locale ed evitamento degli ostacoli per robot mobili
- Deformazione del percorso in tempo reale attorno a persone e oggetti in movimento
- Movimento reattivo per manipolatori mobili tramite elastic strips
- Smussatura e accorciamento dei percorsi forniti dai pianificatori globali
- Generazione di traiettorie attente agli ostacoli per dati di addestramento e dimostrazioni
In pratica
Un robot mobile di magazzino riceve da un pianificatore su griglia un percorso globale lungo una corsia. Il suo pianificatore locale rappresenta i metri successivi del percorso come una Timed Elastic Band. Quando una persona entra nella corsia, la mappa dei costi del LiDAR registra un nuovo ostacolo, i punti della banda vengono allontanati da esso e l'ottimizzazione piega il percorso attorno alla persona rispettando i limiti di velocità e accelerazione del robot e il suo raggio di sterzata minimo. Il robot segue il percorso deformato e, una volta che la persona è passata, i termini di contrazione riportano la banda verso la linea originale. Se la corsia è bloccata del tutto, la banda non può essere deformata in un percorso percorribile, e lo stack di navigazione chiede al pianificatore globale un nuovo percorso.
Idee sbagliate comuni
- Una banda elastica è un pianificatore globale — deforma un percorso esistente e ha bisogno di un pianificatore globale che fornisca il percorso iniziale e ripianifichi quando la banda si rompe
- Le bande elastiche sono solo campi potenziali — i campi potenziali muovono direttamente il robot, mentre una banda elastica applica forze a un intero percorso che raggiunge già l'obiettivo, il che evita i minimi locali che intrappolano un controllore puramente a campo potenziale
- Una banda elastica trova il percorso più breve — converge verso un percorso localmente breve e liscio che supera gli ostacoli dallo stesso lato del percorso iniziale, e che può non essere il più breve in assoluto
Chi dovrebbe saperlo
- Ingegneri di navigazione dei robot mobili
- Ricercatori di pianificazione del movimento che lavorano sulla pianificazione reattiva
- Ingegneri che configurano i pianificatori locali della navigazione in ROS
- Studenti di robotica che studiano pianificazione e controllo
Tecnologie correlate
- Timed Elastic Band
- Elastic Strips
- Navigation Stack di ROS
- Campi potenziali artificiali (Artificial Potential Fields)
- Dynamic Window Approach
Termini correlati
Progetti correlati
- 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
- NeuPAN: Real-time end-to-end planner that maps raw lidar points directly to robot actions