Si possono cambiare le istruzioni di un robot mentre è in movimento?
LeRobot 0.7 aggiunge le sessioni interattive. Ecco come reindirizzare un robot in movimento, separare risposte visive e azioni fisiche e preparare un test più sicuro.
Un robot smista blocchi di gommapiuma quando il contenitore rosso si riempie. Il prossimo blocco è già nella pinza. Una buona interfaccia dovrebbe permettere all’operatore di cambiare il prossimo passo, chiedere che cosa vede la telecamera o interrompere l’esecuzione. Ognuna di queste azioni ha conseguenze diverse quando la pinza sostiene un peso.
Il 5 novembre Hugging Face ha pubblicato LeRobot 0.7.0, una nuova versione dei suoi strumenti open source per raccogliere dimostrazioni, addestrare politiche ed eseguirle su robot fisici. L’esecuzione interattiva mantiene pronta la connessione al robot e caricata la politica mentre l’operatore impartisce nuove istruzioni da un terminale. Consente anche a politiche compatibili o a un pianificatore esterno di interpretare la scena e scegliere un altro compito intermedio. La versione rielabora anche lo streaming dei dataset, l’addestramento e l’inferenza remota. I comandi in tempo reale meritano attenzione perché cambiano ciò che l’operatore può fare durante un esperimento. Annuncio di LeRobot · Versione 0.7.0
Questi esempi da banco servono a progettare un test pilota. Distinguono ciò che si chiede al modello, ciò che il sistema di controllo invia effettivamente e ciò che si può osservare dopo.

Supporto della telecamera da polso SO-101 fotografato da The Robot Studio. La foto mostra un esempio di posizione della telecamera supportata da questo hardware e proviene dal progetto SO-ARM100 con licenza Apache 2.0. Telli.sh ha ridimensionato la foto e aggiunto margini.
Tre comandi danno all’operatore tre compiti diversi
I comandi interattivi e il ruolo di ciascuno. Illustrazione originale di Telli.sh.
Un rollout è una sessione in corso in cui una politica riceve osservazioni e produce azioni. Tra le osservazioni possono esserci immagini della telecamera e posizioni misurate delle articolazioni. Nella versione 0.7, aggiungere --interactive=true a una sessione configurata di lerobot-rollout mantiene caricati la connessione al robot, i pesi della politica e i processori tra un’istruzione e l’altra. L’annuncio mostra cinque comandi da terminale, con /start e /stop che racchiudono tre modi di orientare o interrogare la sessione. Annuncio di LeRobot · Documentazione delle esecuzioni nella versione 0.7.0
| Comando da terminale | Intenzione dell’operatore | Esito da cercare |
|---|---|---|
/subtask | Sostituire l’istruzione per la politica d’azione | Il prossimo movimento osservato segue il nuovo bersaglio oppure l’operatore interviene |
/vqa | Chiedere che cosa vede il robot | Il sistema restituisce una risposta confrontabile con la scena |
/autosteer | Delegare un obiettivo e lasciare al sistema la scelta dei compiti intermedi | Il sistema sceglie i compiti e l’operatore può riprendere il controllo |
L’annuncio di LeRobot cita FineART-VLA e Wall-OSS-0.5 come esempi di politiche capaci di generare il testo necessario per domande e obiettivi. Un modello visivo-linguistico esterno compatibile può fornire questa capacità a una politica d’azione che non genera testo. La versione descrive un’API compatibile con OpenAI per questo pianificatore, disponibile in locale o su un servizio ospitato. Il pianificatore esterno può rispondere a domande visive e passare istruzioni alla politica. La politica d’azione ha ancora il compito di trasformare un’istruzione intermedia in azioni del robot. Esecuzioni interattive e pianificatore esterno · Documentazione delle esecuzioni nella versione 0.7.0
La distinzione si vede su un banco affollato. Se la telecamera non vede il bordo di un contenitore, anche una risposta scorrevole fornisce pochi elementi di verifica. Se il pianificatore sceglie correttamente un blocco blu e il blocco scivola dalla pinza, il livello linguistico ha fatto il suo lavoro e il tentativo fisico è fallito. Tenere distinti domanda, azione della politica ed esito aiuta a decidere se spostare la telecamera, cambiare l’istruzione o lavorare sulla presa.
Cambia il bersaglio e mantieni il compito circoscritto
Pensa a due contenitori colorati, tre blocchi morbidi e un solo braccio supportato. Inizia da un compito noto, come prendere un blocco rosso, e scegli un secondo bersaglio già raggiunto dalla politica in condizioni simili. Alla prima prova chiedi il cambio prima del contatto. Quando l’operatore vede che ha avuto effetto, ripeti da uno stato iniziale nuovo e introduci il cambio più avanti nel movimento. Un’istruzione inviata mentre il braccio si muove e una inviata dopo che la pinza si è chiusa chiedono cose diverse alla politica.
Osserva, per esempio, il primo movimento verso il nuovo bersaglio e il punto in cui si ferma il blocco. Un riferimento temporale del video mostra quanto ha impiegato il cambio a diventare visibile. Quello del terminale indica quando l’hai digitato. Registrare entrambi dà un intervallo interpretabile, anche se il software ha accettato l’input ma il nuovo movimento è difficile da vedere. Una condizione d’arresto prestabilita evita che l’operatore aspetti indefinitamente una correzione che potrebbe non arrivare.
Un altro esempio utile è ripristinare la postazione dopo una prova. Inizia con un oggetto fuori posto e chiedi al sistema che cosa è rimasto sul tavolo. Prima di fargli liberare il piano, prova con una vista libera e una parzialmente coperta. Se la risposta visiva cambia con l’angolo della telecamera, hai motivo di ripensare la scena o restringere l’obiettivo. Dai al robot una sola azione familiare per volta mentre impari come si comporta la politica.
Per una terza prova, assegna a /autosteer un obiettivo come spostare due blocchi di gommapiuma in un unico vassoio. Annota le scelte intermedie. Il sistema può scegliere un primo oggetto sensato e avere ancora bisogno di aiuto se il secondo è fuori portata. Delegare l’obiettivo è particolarmente utile quando puoi confrontare ogni compito intermedio con una semplice sequenza prevista. La traccia indica se il pianificatore ha scelto un passo sbagliato o il robot ha avuto difficoltà con uno corretto.
L’arresto via software e quello sulla macchina vanno provati separatamente
Una sessione interattiva avvicina le istruzioni a chi osserva il robot. Crea anche un intervallo in cui la persona può credere che il nuovo comando abbia avuto effetto mentre vede ancora il movimento precedente. Un buon test pilota registra quattro eventi separati. Annota quando è partita l’istruzione, quando il sistema di esecuzione l’ha ricevuta se il segnale è disponibile, quando si è visto il primo cambio di comportamento e in quale stato è finito il robot. Se manca la conferma di ricezione, lascia quella colonna vuota. Le altre tre rimangono utili.
La documentazione di LeRobot per questa versione descrive una funzione software di mantenimento della posizione per i robot supportati nel flusso di correzione. Rinnova l’ultimo bersaglio di posizione applicato dal driver. Un braccio sotto carico può ancora assestarsi verso quel bersaglio e il comportamento della pinza va verificato sulla macchina fisica. L’interfaccia linguistica si colloca sopra questi meccanismi. Mantieni le procedure di arresto fisico e supervisione del tuo hardware e verificane l’effetto a spazio libero prima di introdurre cambiamenti in tempo reale. Documentazione delle esecuzioni nella versione 0.7.0
Registra quando invii la modifica, quando il movimento cambia e come termina la prova. Illustrazione originale di Telli.sh.
Questo cambia il modo di leggere un’esecuzione apparentemente riuscita. Un blocco nel vassoio giusto può nascondere due mosse sbagliate che l’operatore ha interrotto. Registra quante volte qualcuno interviene e quanto spesso si può recuperare dallo stato risultante. Una politica in grado di riprendere dopo un errore comune assegna all’operatore un compito diverso da una che richiede un ripristino completo ogni volta. Misura la differenza in prove comparabili, con gli stessi oggetti e lo stesso spazio.
FineART porta i passaggi intermedi nei dati di addestramento
Un secondo motivo per seguire questa versione è ciò che cambia in una dimostrazione. Se una registrazione mostra solo un avvio pulito e un esito positivo, può essere difficile capire quale comportamento debba imparare la politica quando cambia un’istruzione. Le etichette dei compiti intermedi danno all’addestramento più informazioni sulle transizioni, come prendere un oggetto, posarlo o passare al successivo.
Hugging Face e Scale AI dichiarano oltre 40.000 episodi bimanuali, 1.718 ore e più di 533.000 annotazioni di compiti intermedi per FineART. L’annuncio del 5 novembre indica 1,9 TB di dati nel formato LeRobot. FineART-VLA si basa su π0.5 e aggiunge una testa linguistica che può prevedere un compito intermedio verbale prima che il componente d’azione esegua il movimento. Le cifre descrivono il dataset degli autori e la separazione fra linguaggio e azione descrive il progetto del modello. Una pinza di forma diversa, una telecamera con campo ristretto e oggetti assenti dall’addestramento cambiano comunque il test da svolgere. Annuncio e descrizione di FineART · Documentazione di FineART-VLA
Se raccogli un piccolo dataset di correzioni, decidi che cosa vuoi poter riprodurre più avanti. Includi la nuova istruzione, la vista rilevante della telecamera, lo stato al momento del cambio e l’esito osservato. Un’etichetta come «il contenitore rosso è pieno» ha un ruolo diverso da «metti il prossimo blocco rosso nel vassoio vuoto». La prima descrive uno stato. La seconda dice alla politica che cosa fare. Conservale entrambe quando servono all’esperimento. Salva anche i fallimenti, così una politica futura potrà essere provata sull’evento che ha dato origine al lavoro.
Un primo test pilota sta su un solo banco
-
Fissa la versione e scegli una combinazione supportata. Installa LeRobot 0.7.0 seguendo la guida per quella versione. Verifica che il robot, la configurazione delle telecamere e la politica funzionino con un compito iniziale noto. Le note del 5 novembre dicono che le build predefinite di PyTorch per Linux usano ora CUDA 13 e richiedono il driver NVIDIA 580.65 o più recente su quel percorso. I driver precedenti richiedono l’installazione alternativa documentata. Prova separatamente le modifiche ai driver e quelle al comportamento del robot. Documentazione d’installazione · Versione 0.7.0
-
Esegui una prova di riferimento prima di aggiungere variazioni. Usa un piano libero, un movimento delimitato e le misure di supervisione previste per il braccio. Salva posa iniziale e bersaglio e registra se la politica completa il compito. Mantieni fissi posizione della telecamera, luce e oggetti nel confronto tra prova di riferimento e prova reindirizzata. Documentazione di configurazione SO-101
-
Aggiungi l’opzione interattiva all’esecuzione già funzionante. Dal terminale avvia la sessione, assegna un compito intermedio, cambialo una volta e termina la prova. Sono comandi di sessione mostrati nell’annuncio, con istruzioni esemplificative. Documentazione delle sessioni interattive
Testo semplice/start /subtask move the red block to the tray /subtask move the blue block to the tray /stop -
Aggiungi domande visive e un piccolo obiettivo delegato quando la prova di riferimento è ripetibile. Scegli una politica che genera testo o configura il pianificatore esterno come descritto. Inizia da una domanda a cui sai rispondere con la stessa telecamera. Prova un obiettivo con una conclusione visibile e documenta che cosa succede se il pianificatore è indisponibile o non produce un compito utile. Un endpoint esterno cambia anche dove possono essere elaborate le osservazioni. Conta se la telecamera inquadra altro oltre al banco. Documentazione del pianificatore esterno
-
Confronta i recuperi oltre ai completamenti. Ripeti alcune prove in condizioni equivalenti e conserva ogni fallimento. Registra se l’operatore ha potuto vedere l’accaduto, scegliere un intervento adatto e confermare lo stato finale. Poche prove aiutano ad affinare la configurazione. Per parlare di affidabilità servono molte più prove nelle condizioni che prevedi di incontrare.
La versione 0.7.0 sostituisce anche la precedente interfaccia per l’inferenza asincrona con un server per la politica e una modalità di esecuzione remota. Se in seguito sposti l’inferenza su un server con GPU, ripeti i test sui tempi e sulle interruzioni con la connessione effettiva. Il server può fornire più capacità di calcolo e la rete aggiunge una dipendenza tra una nuova osservazione e l’azione seguente. Una connessione lenta o indisponibile è un caso di prova a sé. Modifiche incompatibili nella versione 0.7.0 · Documentazione dell’inferenza remota
La prova migliore avviene a metà del compito
Il momento interessante in una dimostrazione robotica arriva quando un passo previsto smette di avere senso. Un contenitore è pieno, un oggetto si sposta o l’operatore vede qualcosa che la telecamera ha perso. I comandi da terminale di LeRobot consentono di fare di quel momento una parte dell’esperimento. La domanda è se chi supervisiona l’esecuzione riesca a capire che cosa è cambiato, reindirizzare la prossima azione e verificare l’esito con i propri occhi.
Fonti
-
Foto del supporto telecamera SO-101 di The Robot Studio e licenza del repository
-
Esecuzione delle politiche e sessioni interattive in LeRobot 0.7.0
Per conservare le decisioni e gli esperimenti alla base del tuo lavoro in un archivio consultabile, crea un account Telli.sh.