Luigi D. CAPRA più che un consulente, un amico




Robotica Collaborativa e Visione Artificiale


Il concetto di robotica collaborativa (o cobotica) nasce dall'idea di condividere l'ambiente di lavoro fra l'uomo e la macchina stabilendo dei rapporti sinergici fra operatori umani e robot che assumono il ruolo di collaboratori (co-worker).
La cobotica si distingue dalla robotica tradizionale per il fatto di puntare ad un rapporto il più possibile sinergico e paritetico fra uomo e macchina, a differenza della robotica tradizionale che mirava principalmente allo sviluppo di robot autonomi.
Nel quadro della robotica collaborativa i robot non dovrebbero pertanto sostituire le persone ma assumere dei ruoli complementari, in tal modo verrebbero delegati a ciascun collaboratore le mansioni che gli sono più congeniali massimizzando l'efficienza.

Nel contesto della robotica collaborativa agli operatori umani spetterebbe il compito di supervisionare le attività produttive e di svolgere il lavoro di "fino" (laddove è richiesta maestria e capacità di improvvisazione, nonché l'assunzione di responsabilità),  mentre ai robot verrebbero delegati i compiti ripetitivi, spiacevoli o pericolosi.
La progettazione di un sistema di robotica collaborativa presuppone una chiara comprensione della dinamica dell'interazione uomo-macchina nonché delle necessità e dei vincoli cui sono soggetti i partecipanti; a cominciare dalla necessità di prevenire l'interferenza fra i collaboratori.
Tale obiettivo si traduce nella richiesta di definire:
- delle “zona di interferenza” in cui potrebbero operare contemporaneamente due o più soggetti e
- una "gerarchia di interazioni" che spazia dal completamente escluso al desiderabile.

Date queste premesse, lo spazio di lavoro dovrebbe essere organizzato e gestito in modo da escludere tutte le situazioni indesiderabili (a cominciare da quelle situazioni che comportano dei rischi per l'incolumità fisica degli operatori), proseguendo con tutte quelle interazioni che risultano anche solo fastidiose o comportano il rischio di interferire con il normale svolgimento dell’attività produttiva.
Contemporaneamente il sistema di supervisione dovrebbe assicurare la correttezza di tutte quelle interazioni che sono non solo auspicabili ma desiderate e che giustificano la presenza di equipaggiamento robotivo in un contesto che altrimenti potrebbe essere prettamente umano.
Nel contesto della collaboraione uomo-macchina quest’ultimo requisito spazia dalla fornitura di componenti just in time (in maniera tale da evitare all'operatore qualificato le perdite di tempo dovute alla necessità di approvvigionarsi di materiale), alla consegna “in mano” degli attrezzi di cui si necessita in un dato momento (come farebbe un buon assistente umano), sino a spingersi - quando richiesto - al contatto diretto con il corpo umano come nel caso della “stretta di mano robotica” o delle applicazioni mediche.

Idealmente un buon sistema di robotica collaborativa dovrebbe attenersi alle stesse regole che guidano il comportamento di un assistente umano competente.
1) Se non non si sa cosa fare o non si è in grado di aiutare tenersi a debita distanza evitando di intralciare chi lavora.
2) Se si presenta la possibilità di fornire un supporto utile, offrire il proprio aiuto evitando comunque di intralciare l’operatore.
3) Se viene richiesto un intervento (ad esempio la fornitura di materiali o strumenti) soddisfare le necessità del richiedente lasciando però all’operatore la facoltà di completare la fase prelevando o meno gli oggetti dalla mano robotica a sua discrezione.

Date le suddette premesse si pone il problema di caratterizzare la geometria delle zone di rispetto nello spazio, definendo gli ambiti di ciascun co-worker ed in particolare l'estensione delle zone condivise. Compito particolarmente importante poiché queste ultime sono quelle  in cui ci si aspetta avvenga l’interazione fra i collaboratori o vice versa potrebbero verificarsi le interferenze.
Nel quadro di una collaborazione uomo-macchina il problema è complicato dal fatto di essere difficilmente gestibile a priori poiché gli operatori umani tendono a riorganizzare lo spazio di lavoro secondo le loro preferenze o le esigenze del momento e mal sopportano costrizioni e vincoli esterni.
Tale considerazione concerne sia le barriere tradizionalmente disposte intorno ai sistemi robotici a salvaguardia degli operatori che l'effimera ripartizione dello spazio di lavoro conivisa dai co-worker in un sistema di robotica collaborativa.
Presindendo dalle considerazioni concernenti l'incolumità degli operatori che trascendono gli scopi di questo articolo e che si suppongono risolte a priori, se nel turno mattutino Aldo trova conveniente utilizzare la parte destra del banco di lavoro, mentre al pomeriggio Beatrice preferisce disporre i materiali a sinistra (per evitare il disturbo della luce del sole), il robot collaborativo dovrebbe disporre della capacità di prendere atto della situazione ed adeguarsi, così come dovrebbe essere in grado di gestire il fatto che Beatrice è stata sostituita da Carlo che ha abitudini di lavoro del tutto diverse.

Il suddetto comportamento naturalmente presuppone che il robot collaborativo sia in grado di monitorare l’attività dell'operatore determinando l’inviluppo dei movimenti del co-worker umano, intesa come come "probabilità che l’operatore occupi un determinato volume di spazio in un dato momento". Date le suddette informazioni i movimenti dovrebbero essere pianificati in modo da evitare ogni possibile occasioni di interferenza.
Chiaramente la pianificazione dei movimenti del braccio robotico in funzione dell'attività dell’operatore presuppone la capacità di ricalcolare in tempo reale la posizione degli arti dell’operatore l'inviluppo dei suoi movimenti in modo che le traiettorie del braccio robotico si mantengano a sufficiente distanza.

Quest'ultimo problema può essere affrontato ricorrendo a tecniche di visione artificiale.
Poste una o più telecamere in posizioni convenienti si potrebbe ricorrere a criteri basati sul movimento e il colore degli oggetti presenti nella scena allo scopo di individuare la posizione dei soggetti partecipanti (con particolare riferimento a braccio robotico e quello umano) al fine di ricalcolare istante per istante le posizioni degli uni e degli altri, aggiornando in tempo reale gli inviluppi dei movimenti prevenendo il rischio di interazioni indesiderate.

Figura 1) le immagini raffigurate ritraggono due momenti diversi dell’attività collaborativa. Nel caso specifico è notevole il fatto che si è fatto uso solo di considerazioni concernenti i colore delle tre entità prese in considerazione: braccio robotico (blu), tubo dell’aria (rosso) e mano verde
I riquadri di figura 1) mostrano due diversi momenti di un'attività che comporta la collaborazione uomo macchina. Nei riquadri in alto il braccio robotico e fermo in attesa che l'operatore completi la sua attività. Nei riquadri in basso il braccio robotico è libero di lavorare poiché l'operatore si è allontanato.
Un simile sistema di robotica collaborativa si basa sulla "multiplazione di tempo" nel senso che ai due co-worker è concentito di operare nello stesso spazio ma in tempi diversi in maniera tale da evitare interferenze. Il che non è molto efficiente ma è conforme a ciò che le attuali normative consentono di fare.
Prescindendo da queste ultime considerazioni, dal punto di vista tecnico non è difficile immaginare la possibilità di fare efficienza ricorrendo alla "multiplazione di spazio", cioè permettendo ai due co-worker di operare contemporaneamente in ambiti contigui, ridefiniti in tempo reale in modo da evitare contatti indesiderati.
Ricorrendo a tecniche di visione artificiale è possibile rilevare la posizione del braccio robotico e della mano dell'operatore nel contesto considerato, misurarne le distanze e calcolare i rispettivi inviluppi di movimento in tempo reale.

Figura 2) inviluppi dei movimenti della mano e del braccio robotico in un dato istante.
La possibilità di ricalcolare gli inviluppi in tempo reale è essenziale ai fini di una effettiva collaborazione fra uomo e macchina perché altrimenti si correrebbe il rischio di precludere (al braccio robotico) l'accesso a zone eccessivamente ampie rendendo di fatto impossibile la collaborazione, come appare immediatamente evidente dall'esame di Figura 2).
Già ad un primo sguardo i riquadi in alto a sinistra e in basso a sinistra di Figura 2) evidenziano un'ampia zona di sovrapposizione degli inviluppi che posto l'obiettivo di garantire "a priori" la possibilità di contatto fra i co-worker consiglierebbe di attenersi ad una rigida multiplazione di tempo.
Si può tuttavia osservare che i movimenti degli operatori che svolgono una data attività si svolgono generalmente secondo pattern fissi, per cui la loro dinamica è generalmente prevedibile. Impostando un opportuno orizzonte temporale potrebbe essere pertanto possibile scomporre i movimenti in fasi prevedibili aumentando considerevolmente lo spazio disponibile per i movimenti del braccio robotico o in alternativa la finestra temporale in cui al braccio robotico è consentito muoversi in una data zona.

Figura 3) I movimenti degli operatori che svolgono una data attività si svolgono generalmente secondo pattern fissi.