In RoboDK, sia Smart Motion che il Collision-Free Motion Planner (PRM) sono progettati per aiutare un robot a muoversi senza urtare ostacoli. Tuttavia, utilizzano modelli matematici e flussi di lavoro diversi per svolgere il compito.
La funzione di pianificazione del movimento presente nel Collision-Free Motion Planner crea automaticamente percorsi privi di collisioni all’interno dello spazio di lavoro del robot utilizzando un algoritmo di pianificazione del movimento denominato «probabilistic roadmaps» (PRM).
La differenza principale tra i due pianificatori di movimento risiede nella quantità di lavoro preparatorio necessario prima che il robot inizi a muoversi.
Il pianificatore PRM è uno strumento che funziona come la costruzione di una rete stradale permanente. Esegue innanzitutto una “fase di costruzione”, durante la quale vengono impiegati diversi minuti per posizionare punti in modo casuale e cercare di collegarli in una gigantesca mappa stradale. Una volta completata la mappa, la ricerca di un percorso è immediata poiché le “strade” sono già state costruite. Tuttavia, se si sposta anche solo un tavolo, una scatola o qualsiasi altro oggetto presente nella stazione, l’intera mappa diventa inutilizzabile e occorre ricostruirla da zero.
Smart Motion è progettato per essere molto più flessibile. Non prevede una fase di creazione della mappa che richiede tempo. Esamina esattamente dove si trova il robot e dove deve recarsi, quindi individua un “tunnel” sicuro attraverso gli ostacoli. Si tratta di un processo in un unico passaggio: selezionate i punti (bersagli), fate clic su “Genera” e il robot si muove. Se spostate un oggetto nella vostra cella, è sufficiente fare nuovamente clic su “Genera percorso” senza attendere la creazione di una nuova mappa.
La velocità nella pianificazione del percorso non riguarda solo la rapidità con cui il robot si muove, ma anche il tempo impiegato dal pianificatore per effettuare i calcoli.
La «fase di query» nel pianificatore PRM (ricerca del percorso sulla mappa) è molto veloce, ma è seguita da una «fase di costruzione» molto lunga. È ottima se la stazione rimane sempre statica, ma richiede tempo se vengono apportate modifiche frequenti.
Smart Motion utilizza un algoritmo incredibilmente veloce nel risolvere un singolo problema «da A a B». Inizia la ricerca da entrambe le estremità del percorso contemporaneamente e le fa incontrare a metà strada. Ciò rende il «tempo di elaborazione» quasi impercettibile per la maggior parte delle attività comuni.
L’obiettivo principale di qualsiasi pianificatore di movimento è il rilevamento e la prevenzione delle collisioni. Pertanto, la precisione dei percorsi sicuri generati è un fattore di fondamentale importanza.
Il pianificatore PRM si basa sui punti casuali posizionati durante la fase di mappatura. Se i punti casuali non si trovano all’interno di uno spazio ristretto, il robot riterrà di essere bloccato, anche se lo spazio a disposizione è ampio. Un numero maggiore di campioni e un numero maggiore di spigoli per campione produrranno una mappa più dettagliata, la cui generazione richiederà più tempo, ma porterà a una soluzione più precisa.
Smart Motion include un’opzione «Spazio vincolato» per tali punti critici. Quando questa opzione è attiva, il risolutore è costretto a operare nello spazio articolare anziché in quello cartesiano. In questo modo, si garantisce che, quando viene testata una posa, il sistema identifichi una configurazione articolare univoca, il che previene problemi legati alla presenza di più soluzioni possibili per una singola posa cartesiana. In breve, ciò aiuta il pianificatore a ricordare la posizione e la configurazione del robot per garantire che il percorso individuato venga mantenuto.
Entrambi i pianificatori di movimento consentono di controllare quanto il robot “presta attenzione” all’ambiente circostante.
Per ottenere un percorso più fluido o più sicuro utilizzando il pianificatore PRM, è necessario aumentare di conseguenza il «Numero di campioni» e il «Numero di spigoli per campione». Ciò migliora la mappa, ma allunga i tempi di attesa.
Smart Motion utilizza un semplice cursore «Qualità del percorso» con i seguenti limiti:
1.Grossolano: questa opzione viene utilizzata per spazi molto aperti al fine di ottenere una risposta immediata.
2.Preciso: questa opzione viene utilizzata per lavori complessi. Obbliga il robot a compiere “piccoli passi” per verificare l’assenza di collisioni e generare un percorso complessivamente fluido.