Vai al contenuto

Grafo di conoscenza spaziale per la manutenzione industrialeIn corso

OmniScan AR

Progetto finale in solitaria · 2026 · fase 1 di 3 · Unity, Python, Neo4j

In breve

OmniScan AR è ciò che sto costruendo adesso: si punta uno smartphone o un Meta Quest 3 verso una macchina industriale, e questa viene riconosciuta, la sua documentazione e un gemello 3D interattivo vengono ancorati intorno a essa, e si possono fare domande a voce.

È un progetto in solitaria, pianificato in tre fasi di due mesi, suddivise in sprint e seguite su una project board GitHub pubblica. Questa pagina descrive ciò che esiste oggi e ciò che è previsto — e tiene separate le due cose.

Il problema

In officina, i tecnici della manutenzione perdono tempo a cercare nei manuali cartacei e nei PDF la pagina sul pezzo che hanno davanti. L'informazione esiste; passare da questa macchina, questo componente a quel paragrafo è la parte lenta.

È quindi una ricerca a forma di grafo — macchina, componente, documento, modello 3D — con una fotocamera come query. E deve funzionare su due dispositivi molto diversi: un telefono, che ogni tecnico ha già in tasca, e un visore, che libera entrambe le mani.

Architettura

Già costruito (fase 1):

  • Un grafo di conoscenza Neo4j — macchine, componenti, documenti, modelli 3D ed etichette di visione come nodi, un vincolo di unicità su ciascuno e dati iniziali su cui sviluppare.
  • Un backend FastAPI con un livello di accesso al grafo e schemi tipizzati, che restituisce tutto l'intorno di una macchina in una sola chiamata: GET /api/v1/machines/{id}/subgraph.
  • Un servizio di visione YOLOv8 — un microservizio FastAPI a sé che classifica un'immagine della fotocamera, con l'infrastruttura pronta per il fine-tuning del modello sulle macchine di destinazione.
  • Le fondamenta del client Unity: AR Foundation inizializzato, un client API tipizzato per entrambi i servizi con tipi di risultato espliciti, e l'interfaccia di interazione che le versioni per telefono e visore condivideranno.
  • Docker Compose avvia lo stack backend.

Previsto: la documentazione ancorata in realtà aumentata sul telefono e in realtà mista sul Quest 3 con il tracciamento delle mani; il gemello digitale interattivo; un assistente vocale su una pipeline di retrieval fondata sul grafo; e un back office in Next.js per gestire i dati di tutti i dispositivi.

Decisioni e compromessi

Una sola base di codice Unity per telefono e visore

La scommessa centrale: lo stesso client compilato per iOS e Android e per Quest OS, con l'obiettivo di oltre l'85% di codice condiviso. Il telefono è il prodotto che un team di manutenzione può adottare domani; il visore è l'offerta premium. Due app vorrebbero dire ogni funzionalità costruita due volte e destinata a divergere. Il livello di interazione è un'interfaccia fin dall'inizio: il tocco e il tracciamento delle mani sono due implementazioni di un unico contratto, non due basi di codice.

Un grafo, perché le domande sono relazioni

«Dov'è il manuale della pompa di questa linea?» sono tre salti: macchina, componente, documento. In uno schema relazionale è un join che cresce a ogni nuovo tipo di collegamento; in un grafo è la query naturale. Restituire il sottografo di una macchina in una richiesta è esattamente ciò che serve alla vista AR per disporre tutto intorno alla macchina in una volta — e sarà la base dell'assistente, perché le risposte riguardino questa macchina e non le macchine in generale.

La visione come servizio a sé

Il modello di riconoscimento verrà riaddestrato e sostituito più spesso di qualsiasi altra parte. Dietro un proprio endpoint HTTP, il fine-tuning di YOLOv8 su nuove macchine non tocca mai il client né il grafo — l'app Unity dipende dalla forma di una risposta, non da un modello.

Cosa è difficile finora

Il perimetro. La visione completa — due piattaforme, visione artificiale, un grafo, IA generativa, un back office — è un anno di lavoro per un team, e io sono una persona sola con fasi di due mesi. Consegnare una parte funzionante alla fine di ogni fase, invece di tutti i livelli costruiti a metà, è la disciplina da cui dipende l'intero progetto.

L'altra difficoltà: il progetto vive nello spazio fisico. Un modello di rilevamento vale quanto le foto su cui è stato addestrato, e un'ancora che si sposta di dieci centimetri mette il manuale sul pezzo sbagliato.

A che punto è

Fase 1 di 3. Lo stack backend, il grafo di conoscenza, il servizio di visione e il livello di rete del client sono stati integrati, tramite pull request revisionate a fronte di issue pianificate. Il client tipizzato chiama già entrambi i servizi; collegare il riconoscimento al sottografo e ancorare il risultato in AR su un telefono è il ciclo che trasforma questi pezzi in un prodotto.

I prossimi passi

Quel primo ciclo sul telefono. Poi la versione per Quest 3 sullo stesso codice, con passthrough e tracciamento delle mani; il gemello digitale interattivo; e l'assistente vocale fondato sul grafo.