Intrinsic Core, un insieme di funzionalità compatibili con ROS per sviluppare applicazioni robotiche, è ora disponibile in open source. Intrinsic, il gruppo di robotica e intelligenza artificiale di Google, rilascia parti della propria piattaforma nel pacchetto open source Intrinsic Core, che gli sviluppatori possono scaricare da GitHub. Il rilascio copre controllo, percezione, pianificazione, simulazione e driver.
Insieme al pacchetto, Intrinsic ha pubblicato l'Open Machine Tending Solution, o OMTS. Si tratta di un design di riferimento già pronto per un caso d'uso reale, pensato per offrire agli sviluppatori un punto di partenza invece di un foglio bianco.
Cosa contiene il pacchetto
Il rilascio elenca sette funzionalità. La prima è Intrinsic Control, un framework di controllo in tempo reale indipendente dall'hardware che offre un controllo basato sui sensori. Permette al robot di modificare il proprio comportamento a metà traiettoria quando l'ambiente cambia. È progettato per generare percorsi efficienti e privi di collisioni. L'obiettivo dichiarato è che gli utenti possano sostituire bracci robotici, pinze, sensori e altri componenti senza dover riscrivere i driver.
La stima della posa è la seconda. Fornisce stime della posa a sei gradi di libertà per componenti 3D. Sapere esattamente dove si trova un pezzo e come è orientato è l'informazione di cui dipende la maggior parte dei compiti di manipolazione.
La pianificazione del movimento è la terza. La sua logica genera automaticamente percorsi efficienti ed evita le collisioni. Segue la pianificazione della presa, progettata per consentire a pinze diverse di adattarsi in modo automatico e dinamico alla posizione e all'orientamento di un pezzo, afferrandolo con una maggiore probabilità di successo.
Il pacchetto comprende inoltre servizi di simulazione, pensati per offrire agli sviluppatori un modo semplice per testare e risolvere i problemi delle soluzioni robotiche, e che si aggiornano man mano che la soluzione viene costruita. La calibrazione della telecamera automatizza la calibrazione della camera del robot e il suo allineamento fisico.
L'ultimo elemento è un insieme di driver Intrinsic-ROS: driver preconfigurati e compatibili con ROS per robot, pinze e telecamere 3D supportati.

Il design di riferimento per il machine tending
OMTS riguarda il machine tending, ovvero l'attività in cui un robot carica e scarica una macchina. Il design è proposto come riferimento, non come prodotto finito. Gli sviluppatori possono adottarlo e personalizzarlo per la propria cella, evitando così di dover costruire l'intera applicazione da zero.
Il design di riferimento mostra anche come le singole funzionalità siano pensate per lavorare insieme. Percezione, pianificazione, presa e controllo compaiono come voci separate nell'elenco, ma un'applicazione funzionante ha bisogno che tutte operino come un unico sistema. Un esempio concreto per un caso d'uso reale è un modo pratico per dimostrare questa integrazione.

Come si integrano i vari elementi
Il rilascio è organizzato attorno a un flusso di lavoro. Un robot deve individuare un pezzo, pianificare un percorso per raggiungerlo, afferrarlo e spostarlo senza collisioni. Il pacchetto fornisce un componente per ogni fase. Simulazione e calibrazione della telecamera supportano il lavoro attorno a questi passaggi, mentre i driver collegano il software all'hardware.
La compatibilità con ROS attraversa l'intero pacchetto. Le funzionalità sono descritte come compatibili con ROS e i driver sono preconfigurati per ROS. Gli sviluppatori che lavorano già con ROS non devono quindi cambiare i propri strumenti per provare i componenti.
Analisi: cosa cambia e cosa resta da dimostrare
L'affermazione più rilevante del rilascio è l'indipendenza dall'hardware. Le celle robotiche sono spesso legate ai driver specifici di bracci, pinze e sensori, e cambiare un componente può significare riscrivere l'integrazione. Se Intrinsic Control mantenesse la promessa di sostituire i componenti senza riscrivere i driver, ridurrebbe una reale voce di costo nella realizzazione e nella manutenzione delle applicazioni robotiche. Il vantaggio resta però condizionato, perché il comunicato non indica quali robot, pinze e telecamere siano supportati dai driver.
Anche la scelta della compatibilità con ROS è ragionata. ROS è l'ambiente che molti sviluppatori di robotica usano già, quindi un pacchetto che vi si inserisce richiede meno migrazione rispetto a una piattaforma separata. Questo dovrebbe abbassare la soglia per provare i componenti uno alla volta. Non rende però il pacchetto un caso unico. Nell'ecosistema ROS esistono già pacchetti open source per la pianificazione del movimento e per i driver, perciò Intrinsic Core sarà giudicato rispetto a questi sulla qualità di pianificazione, presa e controllo, non sul fatto di essere aperto.
Ciò che distingue il rilascio da una semplice raccolta di librerie è la sua ampiezza e il design di riferimento. Copre insieme sensori, pianificazione, controllo, simulazione e driver, e OMTS li mostra al lavoro in un'unica applicazione. Uno sviluppatore può valutare l'intera catena su un compito concreto, il che è più utile che valutare ogni componente in isolamento.
Restano diverse questioni aperte. Intrinsic dice di rendere open source parti della propria piattaforma, il che lascia intendere che altre parti non lo siano. Il comunicato non spiega cosa resti chiuso né come le due componenti si relazionino. Non indica i termini di licenza, l'elenco dell'hardware supportato né alcun dato di prestazione per stima della posa, successo della presa o qualità dei percorsi. L'espressione sulla maggiore probabilità di successo della presa è un obiettivo di progetto, non un risultato misurato, e non viene fornito alcun termine di confronto.
La prova decisiva sarà l'adozione. Il pacchetto conterà se gli sviluppatori useranno OMTS come punto di partenza estendendolo alle proprie macchine, e se contributori esterni amplieranno il supporto hardware. Questi esiti dipendono da documentazione, copertura dei driver e manutenzione, nessuno dei quali è descritto nell'annuncio. Per ora il rilascio mette a disposizione degli sviluppatori di robotica una serie di componenti da provare su GitHub, e le prove su quanto funzionino bene arriveranno proprio da questi test.
