ARChemist: Autonomous Robotic Chemistry System Architecture
Autori: Hatem Fakhruldeen, Gabriella Pizzuto, Jakub Glowacki, Andrew Ian Cooper · ICRA 2022
Licenze
- Open access
- Articolo: CC BY 4.0
Tutto ciò che segue si basa sull'articolo completo secondo la sua licenza CC BY 4.0; la figura è riportata citando gli autori.
In breve
ARChemist collega un manipolatore mobile KUKA KMR, un braccio Franka Panda e strumenti di laboratorio standard tramite ROS e ricette YAML; lo screening di solubilità è riuscito in 9 esecuzioni su 10, la cristallizzazione nell'80 % di 5.
Perché è importante
Il sistema fa lavorare robot commerciali eterogenei in un unico flusso di lavoro chimico, un manipolatore mobile per il trasporto e un braccio fisso per la gestione delle fiale, insieme a strumenti di serie invece che a hardware su misura. Usare ROS come middleware permette di aggiungere nuovi robot e strumenti senza modificare la logica di elaborazione centrale.
Problema
La maggior parte dei sistemi robotici nei laboratori di chimica è programmata per un singolo esperimento, spesso su architetture proprietarie o hardware su misura come il ChemPU, e i sistemi precedenti non integrano robot mobili che portino i campioni a stazioni fuori dalla portata di un robot fisso. I chimici, che in genere non sono esperti di robotica, hanno bisogno di un sistema facile da programmare, che semplifichi l'analisi dei dati e si generalizzi tra esperimenti diversi.
Soluzione proposta
ARChemist è un'architettura in Python con uno State Manager (materiali, robot, stazioni, campioni e relativi storici), un Persistence Manager (archiviazione su database e lettura dei file di configurazione e delle ricette) e un Workflow Manager (processore dei flussi di lavoro, schedulatore dei robot, handler paralleli di stazioni e robot, monitor di sistema e gestore di allarmi basato su regole). ROS è il livello di comunicazione verso robot e strumenti, con driver personalizzati scritti per le apparecchiature di laboratorio. Ogni campione porta con sé una ricetta chimica in YAML leggibile dall'uomo che elenca materiali, operazioni delle stazioni e un flusso di lavoro a macchina a stati, e una nuova stazione o un nuovo robot si aggiunge fornendo il suo file di classe e il suo handler, che il sistema individua all'avvio.
Idee chiave
- Separare lo stato centrato sul processo (materiali, stazioni, robot e loro operazioni) dallo stato centrato sul campione (ricetta, storico delle operazioni, posizione, stato) permette a una stessa installazione di eseguire ricette diverse, purché le relative stazioni e operazioni siano nel file di configurazione.
- L'accoppiamento debole tramite la tipizzazione dinamica e l'introspezione dei tipi di Python fa sì che aggiungere una stazione o un robot richieda solo il suo file di classe e il suo handler, senza modifiche ad altri moduli.
- Il manipolatore mobile trasporta i campioni tra stazioni in diverse parti del laboratorio, e gli autori osservano che potrebbe lavorare in parallelo con il braccio fisso su altre stazioni.
- Le esecuzioni robotiche sono più lente di un chimico umano, ma gli autori mirano a liberare i chimici dai compiti ripetitivi e a eseguire esperimenti per lunghi periodi senza interruzioni.
Risultati principali
- Screening di solubilità: 10 esecuzioni, tasso di successo del 90 %, tempo medio di esecuzione di 12 minuti; l'unico fallimento è stato il Quantos andato in timeout durante la tara a causa di vibrazioni esterne.
- Cristallizzazione: 5 esecuzioni, tasso di successo dell'80 %, tempo medio di esecuzione di 130 minuti (2 ore e 10 minuti); il fallimento è stato il Panda che ha posizionato male la fiala spostandola sulla bilancia.
- Flusso di lavoro di solubilità: 15 mg di sale erogati dal Quantos, 2 mL di acqua dalla pompa peristaltica, agitazione per 1 secondo a 200 rpm e immagini RGB da una Intel RealSense D435i usate per calcolare la torbidità e rilevare la dissoluzione.
- Flusso di lavoro di cristallizzazione: 200 mg di cloruro di sodio e 2 mL di acqua, riscaldati a 60 °C con monitoraggio continuo della massa finché la massa non si stabilizza.
Limiti
- La Workflow User Interface è attualmente un'interfaccia a riga di comando; gli autori prevedono un'interfaccia grafica.
- Sono stati integrati solo due robot e un piccolo insieme di strumenti (dosatori di solidi e di liquidi, bilancia, piastra riscaldante e agitatore), e ogni strumento ha richiesto un driver ROS personalizzato.
- Per sicurezza, il sistema completo è stato testato su un banco aperto con l'acqua come unico solvente.
- La valutazione è limitata, 10 esecuzioni di solubilità e 5 di cristallizzazione, con un fallimento in ciascuna.
- Il processo decisionale basato sull'apprendimento automatico non è ancora integrato; gli autori prevedono di aggiungerlo.
Impatto sul settore
L'articolo è stato finalista del premio ICRA 2022 Outstanding Automation Paper e ha 53 citazioni. Rimanda a un video di entrambi i casi di studio (https://youtu.be/mcEYyOBjKpU); l'articolo non indica un repository del codice.
Abstract
Gli esperimenti di laboratorio automatizzati hanno il potenziale di dare impulso a nuove scoperte, aumentando al contempo la riproducibilità e migliorando la sicurezza degli scienziati nella manipolazione di materiali pericolosi. Tuttavia, molti flussi di lavoro di laboratorio automatizzati non hanno sfruttato appieno i notevoli progressi della robotica e delle apparecchiature di laboratorio digitali. Di conseguenza, la maggior parte dei sistemi robotici usati nei laboratori è programmata specificamente per un singolo esperimento, spesso basandosi su architetture proprietarie o usando hardware non convenzionale. In questo lavoro affrontiamo il problema proponendo una nuova architettura di sistema robotico progettata specificamente con e per i chimici, che consente allo scienziato di riconfigurare facilmente il proprio allestimento per nuovi esperimenti. In particolare, il punto di forza del sistema è la capacità di combinare piattaforme robotiche eterogenee con apparecchiature di laboratorio standard per creare diversi allestimenti sperimentali. Infine, mostriamo come l'architettura possa essere usata per specifici esperimenti di laboratorio attraverso casi di studio come lo screening di solubilità e la cristallizzazione.
Link
- arXiv 2204.13571: https://arxiv.org/abs/2204.13571
- DOI 10.1109/ICRA46639.2022.9811996: https://doi.org/10.1109/ICRA46639.2022.9811996
- PDF: https://arxiv.org/pdf/2204.13571v1