Open Source Robotics

Una raccolta curata di progetti, strumenti e software di robotica open source di alta qualità per la comunità della robotica.

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

Questo sito richiede JavaScript. Attiva JavaScript per esplorare i nostri progetti di robotica open source.