Rerun
Visualizzatore e archivio dati consapevole del tempo per i dati robotici multimodali
Licenza
Apache-2.0
Panoramica
Rerun è uno stack open source per registrare, archiviare e visualizzare i dati multimodali e variabili nel tempo prodotti dai robot e dai sistemi di visione artificiale. Si registrano immagini, nuvole di punti, trasformazioni, tensori, scalari e video da Python, Rust o C++, e il visualizzatore dispone ogni flusso su una timeline condivisa che si può scorrere, così un frame della telecamera, la posa in cui è stato acquisito e il segnale del controller che lo ha seguito si allineano tutti allo stesso istante. Dietro il visualizzatore c'è un archivio colonnare interrogabile con interfacce dataframe e SQL, il che significa che la stessa registrazione che ha aiutato a fare il debug di un'esecuzione può alimentare una pipeline di addestramento senza essere riesportata.
Rerun nasce da un'osservazione semplice: la maggior parte del debug in robotica avviene ancora con istruzioni di stampa e grafici scollegati, anche se i sistemi sotto test emettono dati riccamente strutturati e strettamente correlati nel tempo. Rerun tratta questi dati come l'artefatto principale. L'SDK registra le entità in una gerarchia (una telecamera, la sua immagine, la trasformazione che la posiziona) e ogni voce porta una o più timeline, così la stessa registrazione può essere riprodotta in base al tempo reale, all'indice del frame o al passo di simulazione.
Il visualizzatore è un'applicazione Rust nativa che gira anche nel browser e si incorpora nei notebook Jupyter. Le registrazioni arrivano in streaming dal vivo da un robot in funzione o si caricano da file, e la disposizione delle viste è essa stessa un dato, così una configurazione di debug può essere salvata in un repository accanto al codice che la produce.
Per la robotica in particolare, Rerun è nello spirito il più vicino a RViz, ma è costruito attorno al tempo registrato anziché al presente dal vivo. La riproduzione, il confronto tra due esecuzioni e l'interrogazione di una sessione passata da un dataframe sono funzioni di prima classe, ed è questo che lo rende utile per i flussi di lavoro sui dati di addestramento oggi comuni nella ricerca sull'apprendimento per imitazione e sui modelli Vision-Language-Action (VLA).
Perché è importante
Il debug dei robot è un problema temporale: la domanda non è quasi mai che cosa legge un sensore adesso, ma che cosa stava facendo l'intero sistema nei due secondi prima che qualcosa andasse storto. Rerun è uno dei pochi strumenti aperti costruiti su questa premessa, ed è arrivato proprio mentre l'altro visualizzatore aperto del settore, Foxglove Studio, diventava closed source. Il fatto che sia Apache-2.0, funzioni da Python in tre righe e archivi ciò che mostra lo rende utilizzabile sia come debugger sia come livello dati sotto una pipeline di apprendimento.
Il problema che risolve
I dati robotici multimodali (immagini, profondità, trasformazioni, stati dei giunti, segnali di controllo) arrivano a frequenze diverse da processi diversi, e il logging tradizionale li appiattisce in testo che non si allinea più. Rerun acquisisce questi flussi come entità strutturate e con marca temporale e li presenta sincronizzati, così si possono vedere insieme il frame, la posa e il segnale e interrogarli in seguito.
Punti chiave
- Doppia licenza Apache-2.0 e MIT, con SDK per Python, Rust e C++
- Registra immagini, nuvole di punti, trasformazioni, tensori, scalari e video su timeline condivise
- Il visualizzatore gira in modo nativo, nel browser e dentro i notebook Jupyter
- Archivio colonnare con interfacce di interrogazione dataframe e SQL, così le registrazioni alimentano direttamente l'addestramento
- Ampiamente adottato nella ricerca sull'apprendimento robotico e sui modelli Vision-Language-Action (VLA) come alternativa a RViz costruita attorno al tempo registrato
A chi si rivolge
- Ingegneri robotici che fanno il debug di percezione e controllo su esecuzioni registrate
- Ricercatori di apprendimento robotico che esaminano dati di dimostrazione e di rollout
- Sviluppatori di visione artificiale che lavorano con dati 3D e serie temporali
- Team che costruiscono dataset e hanno bisogno di registrazioni interrogabili, non solo visualizzabili
Limiti
- Il progetto dichiara di essere in sviluppo attivo e di aspettarsi modifiche incompatibili
- Le prestazioni del visualizzatore peggiorano con un numero molto elevato di entità distinte
- Le nuvole da milioni di punti vengono renderizzate lentamente
- Il progetto open source è sviluppato accanto a un'offerta commerciale della stessa azienda