Torna al blog BIM e IFC
Gemelli digitali · 2026-08-21 · 12 min
LiDAR in tempo reale + IFC nel browser: demo di replay MCAP
Prova l'interfaccia web di replay reale e scopri i buffer limitati, i frame binari e la telemetria dietro uno stream simulato IFC + LiDAR, dichiarato tale.
Copertina intitolata Real-Time LiDAR and IFC su una cattura reale del viewer che mostra il replay temporale simulato allineato con un padiglione
Un video di una nuvola di punti e uno stream live di una nuvola di punti non sono lo stesso prodotto. Il video ha pixel fissi e codec hardware maturi. Una nuvola di punti temporale ha coordinate, attributi, pose e timestamp che gli utenti possono ispezionare o confrontare con l'IFC. Questa flessibilità crea un problema di trasporto e memoria più difficile.
L'architettura descritta di seguito tratta le registrazioni e le sorgenti live come due adattatori che alimentano un unico contratto di frame limitato. Permette a un team di convalidare riproduzione, ricerca temporale, gestione della corruzione e aggiornamenti GPU con dati registrati, prima di acquistare o integrare un sensore.
Il browser riceve frame limitati e convalidati; il filtraggio e la normalizzazione delle coordinate avvengono all'edge.
Prova il replay temporale IFC + LiDAR
L'esempio live seguente genera un fronte di scansione deterministico attorno al padiglione IFC corrispondente. Lo stesso frame passa attraverso la codifica binaria, la convalida CRC e un buffer di trasporto fisso a tre slot prima di raggiungere la GPU. Passa al viewer completo per iniettare perdita deterministica, riordino, corruzione e una finestra di riconnessione.
Operations Pavilion — LiDAR temporale simulato
Una scansione simulata di 16 secondi a 12 FPS, allineata a un padiglione IFC4 incluso. Dimostra la pipeline di riproduzione; non è un'affermazione relativa a un sensore fisico.
Il LiDAR simulato è in riproduzione — trascina per orbitare
Cattura reale del prodotto: la sorgente temporale è un replay simulato deterministico, mentre il parsing, il buffering, gli aggiornamenti GPU e l'allineamento con l'IFC vengono eseguiti nel viewer reale.
Il contratto di frame minimo
Un pacchetto di trasporto richiede più dei soli valori XYZ. I numeri di sequenza rivelano perdite e riordini. I timestamp in nanosecondi allineano i punti con video, pose e annotazioni. Un'origine dichiarata tiene le grandi coordinate del mondo fuori dai vertici GPU Float32. I flag di attributo impediscono all'interfaccia di far credere che intensità o classificazione esistano quando la sorgente non le ha mai fornite.
| Campo | Perché esiste | Guasto individuato |
|---|
| sequence | Identità monotona del frame | Perdita, duplicazione o riordino |
| timestampNs | Riferimento temporale comune | Deriva di video/pose |
| origin + bounds | Precisione locale e culling | Jitter o allocazione assurda |
| pointCount + stride | Budget del payload | Pacchetto troncato o malevolo |
| attribute flags | Semantica esplicita | RGB/intensità/classe inventati |
| CRC32 | Integrità del payload | Corruzione in archiviazione o trasporto |
Backpressure: vince il frame valido più recente
Uno stream di rete affidabile può comunque produrre un'esperienza live scadente. Se la decodifica richiede 120 ms mentre i frame arrivano ogni 80 ms, una coda normale cresce all'infinito e il viewer diventa una registrazione ritardata. La politica corretta per il live è limitata: mantenere due o tre slot riutilizzabili, rifiutare i frame non validi, scartare il lavoro in sospeso superato e mostrare all'utente la latenza e il conteggio dei frame persi.
Coda illimitata
- La latenza cresce durante un periodo di rallentamento
- I frame vecchi consumano memoria e tempo di decodifica
- L'interfaccia continua a dire «connesso» mentre mostra il passato
- Il recupero può richiedere più tempo dell'incidente stesso
Buffer live limitato
- La memoria resta costante
- Il frame valido più recente sostituisce il lavoro obsoleto
- Perdite ed età dei dati restano visibili
- Il recupero è immediato non appena torna la capacità
MCAP per la registrazione e il replay riproducibile
MCAP è un contenitore modulare per messaggi publish/subscribe con timestamp e serializzazione arbitraria. I suoi chunk e indici supportano la ricerca per tempo e per topic, esattamente ciò di cui ha bisogno una timeline di replay. La specifica del formato MCAP descrive il contenitore e i record di riepilogo ad accesso casuale.
La compatibilità del contenitore non è compatibilità dei messaggi. ROS pubblica punti organizzati o non ordinati tramite sensor_msgs/PointCloud2; Foxglove definisce un proprio schema PointCloud. L'MCAP della demo usa un payload applicativo con versione, quindi importare l'uno o l'altro ecosistema richiede un adattatore dedicato, non un cast di byte fatto alla cieca.
Prima registrato
Un fixture con licenza rende riproducibili pausa, ricerca temporale, riconnessione e test di regressione prima dell'integrazione hardware.
Poi l'adattatore live
WebSocket o WebTransport cambiano la modalità di consegna, non la semantica del frame consumata dal renderer.
Telemetria visibile
Latenza, età del frame, perdite, riordini, pacchetti non validi e riconnessioni devono comparire nell'interfaccia del prodotto.
Iniezione di guasti
I guasti deterministici trasformano il fallimento del Wi-Fi in fiera da una sorpresa in una transizione di stato provata in anticipo.
Per un contesto misurato statico, torna al workflow Scan-to-BIM IFC + nuvola di punti. Per una risorsa basata su pixel che può usare codec video hardware pur restando all'interno della scena 3D, vedi IFC + video su terreno 3D.
LiDAR in tempo reale + IFC nel browser: demo di replay MCAP