Smart Motion

L'Add-in Smart Motion è un pianificatore di movimento che consente di creare automaticamente percorsi sicuri affinché il robot si sposti da un punto all’altro senza collisioni. Utilizza un algoritmo di prevenzione delle collisioni per garantire che sia possibile individuare rapidamente una soluzione priva di collisioni.

Smart Motion - Figura 1

È possibile aprire il menu Smart Motion selezionando Utilità➔ Smart Motion e facendo clic su Genera percorso privo di collisioni.

Smart Motion - Figura 2

Un altro modo per aprire il menu consiste nel fare clic sulla prima icona (quella più a sinistra) di Smart Motion nella barra degli strumenti.

Smart Motion - Figura 3

Smart Motion - Figura 4

È inoltre possibile accedervi tramite il menu a discesa "Controllo collisioni" nella barra degli strumenti.

Smart Motion - Figura 5

Configurazione di Smart Motion

È necessario assicurarsi che il progetto RoboDK sia configurato correttamente per poter utilizzare in modo efficace il pianificatore Smart Motion.

Il progetto deve includere quanto segue:

1.Robot: un braccio robotico. Nel nostro esempio utilizzeremo il robot Comau Smart5 NJ 130-2.6.

Smart Motion - Figura 6

2.Utensile: uno o più utensili (TCP). L’esempio di saldatura a punti utilizzerà la pistola di saldatura a punti OBARA.

Smart Motion - Figura 7

3.Oggetti: nell’area di lavoro deve essere presente almeno un oggetto (ostacolo) per poter utilizzare la funzione di prevenzione delle collisioni. In questo caso, abbiamo utilizzato un frame di auto personalizzato insieme a un supporto per frame di auto e a una guida per frame di auto.

Smart Motion - Figura 8

4.Obiettivi: Le posizioni di inizio e fine del percorso generato devono essere definite utilizzando dei bersagli. Pertanto, nella stazione devono essere presenti almeno due bersagli. L’esempio contiene bersagli di avvicinamento/ritiro nella parte anteriore e posteriore, oltre ad alcuni bersagli all’interno del frame dell’auto dove deve avvenire la saldatura a punti.

Smart Motion - Figura 9

Utilizzo dell'Add-in Smart Motion

Per creare un percorso sicuro utilizzando Smart Motion, selezionate i bersagli verso cui il robot deve dirigersi e fate clic su “Genera percorso”. L’Add-in esegue il calcolo al posto vostro.

Utilizzeremo il seguente esempio di saldatura a punti per illustrare il funzionamento dell'Add-in Smart Motion: "Saldatura a punti con Comau". Questo esempio include i 4 componenti descritti in precedenza.

Questo progetto include anche percorsi privi di collisioni sotto forma di script creati utilizzando il Plug-in PRM. Ai fini della dimostrazione dell'Add-in Smart Motion, rimuoveremo questi programmi creati automaticamente tramite il Plug-in PRM:

AppFrontPg

AppRearPg

HomePg

HomeToAppFront

AppRearToHome

AppFrontToAppRear

AppRearToAppFront

Main

Smart Motion - Figura 10

Procedura generale

Per utilizzare l'Add-in, segua questi passaggi:

1.Aprire il selettore dei bersagli: fare clic sul pulsante «Seleziona bersagli» nel menu Smart Motion per aprire la finestra di selezione. Questi bersagli definiscono il percorso che si desidera generare.

Smart Motion - Figura 11

Smart Motion - Figura 12

2.Scegliere e ordinare i punti: selezionare i bersagli che si desidera utilizzare dalla sezione "Bersagli disponibili" sul lato sinistro e fare clic sul pulsante >> per spostarli nella sezione "Bersagli selezionati" sul lato destro. È possibile modificarne l’ordine sul lato destro (tramite trascinamento) per decidere dove il robot si recherà per primo. Una volta selezionati i bersagli, è possibile confermare la selezione con il pulsante "OK".

Smart Motion - Figura 13

3.Scegliere la qualità del percorso: spostare il cursore «Qualità del percorso». Utilizzare l’impostazione «Grossolana» per controlli rapidi, oppure spostarlo verso «Fine» per garantire che il robot controlli in sicurezza gli spazi ristretti.

Smart Motion - Figura 14

4.Creare il percorso: fare clic sul pulsante “Genera percorso”. L’utensile creerà un movimento sicuro tra ogni coppia di punti presenti nell’elenco.

Smart Motion - Figura 15Smart Motion - Figura 16

Smart Motion - Figura 17

È inoltre possibile «collegare elementi» selezionando più bersagli nell’albero delle stazioni (nell’ordine richiesto) e facendo clic sull’icona «Collega elementi selezionati» nella barra degli strumenti (la seconda icona da destra di Smart Motion).

Caselle di controllo nel selettore di bersagli

Quando si imposta un percorso di movimento tramite il menu del selettore di bersagli, un elenco dei punti disponibili viene trasferito nell’elenco Bersagli selezionati. Accanto ad alcuni di questi elementi selezionati è presente una casella di controllo denominata Avvicinamento che può essere attivata o disattivata.

Queste caselle di controllo fungono da suggerimenti intelligenti per il risolutore di pianificazione del percorso.

Se deselezionata (Fermata standard): il robot considera il bersaglio come una destinazione rigorosa. Pianificherà un percorso completo dal Punto A al Punto B, quindi pianificherà un percorso completamente nuovo dal Punto B al Punto C. Il robot si impegnerà a fondo per arrivare esattamente al Punto B prima di pensare alla fase successiva.

Se selezionata (Passaggio o Punto di avvicinamento): selezionando la casella si indica al risolutore che questo punto è solo un “trampolino di lancio” temporaneo o un punto di accesso lungo il percorso verso la destinazione effettiva. Anziché suddividere il movimento in segmenti separati e rigidi (da A a B, poi da B a C), il risolutore valuta l’intera catena (A➔ B➔ C) come un’unica sequenza fluida.

La definizione di un bersaglio di avvicinamento modifica completamente il modo in cui l’utensile “Simplify Program” ottimizza il percorso:

Curve fluide: poiché il risolutore sa che il robot non deve arrestarsi completamente nel punto di avvicinamento, integra il movimento in modo fluido. Il robot si sposta verso il punto di avvicinamento e vira con grazia verso la destinazione finale senza «singhiozzi» né arresti bruschi.

Pulizia aggressiva: quando l’utensile di semplificazione viene applicato a un percorso multipunto, è in grado di effettuare la rifilatura dei movimenti superflui e ingombranti in modo molto più efficace se può analizzare in anticipo l’intera sequenza, anziché interrompere i calcoli in corrispondenza di ogni singolo bersaglio intermedio. Ciò si traduce in un minor numero di righe di codice, in una velocità costante del robot e in tempi di produzione complessivamente più rapidi.

Opzioni aggiuntive di Smart Motion

Il componente aggiuntivo Smart Motion offre inoltre opzioni aggiuntive per mettere a punto la soluzione in base alle proprie esigenze. Queste opzioni consentono di personalizzare alcuni parametri che influenzano i risultati finali o il percorso generato.

Limitazione della rotazione dell’utensile

È possibile limitare la rotazione del TCP utilizzando l’opzione «Consenti una rotazione Z dell’utensile di +/-» presente nel menu. Se l’opzione è attiva, le rotazioni X e Y vengono bloccate, mentre la rotazione Z è limitata al valore selezionato (ad es. +/- 45°).

Questa funzione opera in modo opposto alla funzione "Spazio vincolato", costringendo il risolutore a operare nello spazio cartesiano per limitare l’orientamento dell’utensile. Blocca le rotazioni sugli assi X e Y, mentre la rotazione sull’asse Z può essere limitata a un intervallo di gradi specifico (più o meno un valore impostato). Se il valore di questo campo è impostato su "0", anche la rotazione sull’asse Z viene bloccata insieme a quelle sugli assi X e Y. Per mantenere sbloccate le rotazioni di tutti e tre gli assi (X, Y e Z), utilizzare il valore "-1" in questa opzione.

Lavorare in uno spazio vincolato

Se l’opzione “Spazio vincolato” è abilitata, il robot tenterà di passare attraverso un’apertura stretta o di operare in un ambiente ingombro. Questa impostazione impone l’utilizzo dell’algoritmo nello spazio articolare (anziché nello spazio cartesiano), garantendo che la configurazione testata sia quella effettivamente utilizzata. Ciò è fondamentale per le morfologie robotiche in cui le pose cartesiane potrebbero dar luogo a molteplici configurazioni articolari potenziali, causando problemi durante la generazione del percorso. Imponendo lo spazio articolare, il sistema garantisce che il percorso identificato sia univoco e privo di collisioni.

Apertura della mappa delle collisioni

È inoltre possibile aprire le impostazioni della mappa delle collisioni di RoboDK facendo clic sul pulsante «Collision Map» nel menu di Smart Motion. Una mappa delle collisioni correttamente configurata garantisce che l’Add-in calcoli una traiettoria che mantenga un percorso privo di collisioni facendo riferimento alla matrice delle collisioni.

Smart Motion - Figura 18

Semplificazione di un programma generato

L’opzione “Semplifica programma selezionato” consente all’utente di ridurre il numero di istruzioni in un programma evitando al contempo le collisioni. In altre parole, semplifica un programma già creato per ridurre il numero di bersagli nel percorso, garantendo al contempo che il percorso rimanga privo di collisioni.

Ciò risulta utile nei seguenti aspetti:

1.Riduce le dimensioni del programma: analizza il percorso ed elimina i bersagli superflui. Ciò è fondamentale per i controller dei robot più datati, che dispongono di memoria limitata e possono memorizzare solo un determinato numero di righe di codice.

2.Movimento più fluido: eliminando i punti ridondanti, si evita che il robot presenti «interruzioni». Talvolta i controllori possono avere scatti o rallentamenti se ricevono troppi comandi per la stessa piccola area; semplificare il percorso aiuta il robot a mantenere una velocità più costante e fluida.

3.Esecuzione più rapida: un programma semplificato comporta spesso tempi di ciclo più brevi, poiché il controller del robot non deve elaborare un numero così elevato di punti, potendosi così concentrare sul mantenimento della velocità programmata.

4.Pulizia dei percorsi “disordinati”: se il programma viene creato registrando i movimenti o importando un percorso CAD denso, potrebbe contenere centinaia di punti superflui. Questo utensile “pulisce” tali dati, garantendo al contempo che il nuovo percorso, più breve, continui a evitare ogni collisione.

5.Mantenimento della sicurezza della configurazione: come il resto di Smart Motion, il processo di semplificazione rispetta la configurazione del robot. Assicura che, durante la rimozione dei punti, il robot non tenti accidentalmente di modificare la propria configurazione (ad esempio, ruotando il gomito) in modo tale da causare una collisione.

Creazione di collegamenti tra programmi

Smart Motion non si limita a collegare bersagli; è in grado anche di collegare programmi autonomi distinti. Questa funzionalità è estremamente utile per collegare operazioni complesse, come il passaggio da una sequenza di prelievo a un percorso di fresatura senza intervento manuale.

Per utilizzare questa funzionalità, selezionate voci di programma separate all’interno dell’interfaccia Target Selector per calcolare percorsi di transizione sicuri dallo stato finale del primo programma allo stato iniziale del secondo.

Smart Motion - Figura 19

L’Add-in collega due programmi identificando l’ultima mossa del primo programma e la prima mossa del programma successivo, generando di fatto un percorso di collegamento tra di essi.

Smart Motion vs Collision-Free Motion Planner

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).

Come collegare i bersagli

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.

Tempo di calcolo

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.

Navigazione in spazi ristretti

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.

Fluidità e sicurezza

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.