Un team di ricercatori della Carnegie Mellon University ha sviluppato un modello di intelligenza artificiale open source chiamato LegoGPT, in grado di generare progetti LEGO fisicamente stabili a partire da descrizioni testuali. Questo modello non si limita a creare immagini virtuali, ma produce istruzioni dettagliate che permettono di assemblare fisicamente le strutture, sia manualmente che con l’ausilio di bracci robotici.
LegoGPT è stato addestrato utilizzando un ampio set di dati denominato StableText2Lego, che contiene oltre 47.000 strutture LEGO stabili, corrispondenti a più di 28.000 oggetti 3D unici, accompagnati da descrizioni dettagliate. Il modello utilizza un approccio autoregressivo per prevedere il prossimo mattoncino da posizionare, generando così una sequenza di istruzioni che rispettano le leggi fisiche e le regole di assemblaggio. Per garantire la stabilità delle strutture, LegoGPT impiega un controllo di validità e un rollback basato sulla fisica, che rimuove e riprogetta i mattoncini in caso di errori strutturali.
Le caratteristiche principali sono:
- Input testuali descrittivi: Gli utenti possono inserire descrizioni come “auto sportiva con spoiler” o “edificio moderno con facciata vetrata”, e LegoGPT genererà il progetto corrispondente.
- Progetti assemblabili: Le strutture generate sono progettate per essere fisicamente stabili e possono essere costruite utilizzando mattoncini LEGO standard.
- Compatibilità con robot: Le istruzioni prodotte sono compatibili con bracci robotici, permettendo un assemblaggio automatizzato.
- Personalizzazione: È possibile scattare una foto dei mattoncini disponibili e, tramite un modello di visione artificiale, ricevere suggerimenti su come utilizzarli per creare nuovi modelli.
Il codice sorgente, i modelli e il set di dati sono disponibili gratuitamente su GitHub, consentendo a chiunque di esplorare e sperimentare con LegoGPT. Inoltre, è stato rilasciato un sito dimostrativo che permette agli utenti di inserire descrizioni testuali e visualizzare i progetti generati.