Simulatore di scenario 3D
Simulatore per il movimento di una serie di piattaforme (target) in uno spazio tridimensionale
La richiesta
La necessità del cliente era di realizzare un sistema che permettesse anzitutto di configurare le traiettorie di un numero non predefinito di target in uno spazio tridimensionale terrestre mediante la definizione delle caratteristiche fisiche di ciascun target e di una serie di waypoint.
Il geoide terrestre, gestito attraverso OpenSceneGraph e OsgEarth, poteva essere associato a vari tipi di mappe, fruibili con l’applicazione online oppure completamente offline.
La sfida era resa ancora più ardua dalla richiesta di comunicare le posizioni dei target durante la simulazione ad un’altra applicazione posta nella stessa rete ad una frequenza di 1ms, tramite TCP/IP o UDP.
Problemi affrontati
La realizzazione di un sistema complesso in breve tempo ha imposto la necessità di selezionare fin da subito soluzioni potenti e che garantissero la necessaria flessibilità.
Soluzioni implementate
L’utilizzo di librerie open source di alto livello ci ha permesso di realizzare una soluzione ben funzionante e di poterci adattare con facilità alle richieste del committente.
Vantaggi introdotti dalle nostre soluzioni
- L’adozione di Qt ha permesso di raggiungere le prestazioni desiderate per l’invio dei dati via rete e di ottenere, senza particolari sforzi, un’applicazione cross-platform.
- Separando in processi separati la parte di viewer/editor grafico e quella del motore di simulazione vero e proprio, è stato possibile sfruttare appieno l’architettura multi-core delle moderne CPU e, anche nei casi più critici, evitare rallentamenti nella parte di simulazione.
- l’utilizzo di OsgEarth e OpenSceneGraph ci ha consentito di superare con facilità i problemi di terra tonda / terra piatta, e di potersi interfacciare con vari fornitori di mappe, sia online che offline.
Hai bisogno di sviluppare in Qt?
In quale modo la nostra metodologia ci ha aiutato
Poiché il committente non poteva seguire in modo diretto lo sviluppo dell’applicazione, il progetto è stato inizialmente suddiviso in milestone, a seguito delle quali venivano fatte delle riunioni specifiche per visionare lo stato di avanzamento lavori e raccogliere feedback. All’interno di ciascuna milestone venivano poi utilizzate metodologie agili per tracciare l’avanzamento dello sviluppo e coordinare il team di lavoro. Questo ci ha permesso di consegnare il progetto nei tempi previsti soddisfacendo appieno il committente.
In quale modo l’open source ha aiutato il progetto
Anche se il progetto era closed-source durante il suo sviluppo abbiamo utilizzato numerosi prodotti open source, da Qt a OsgEarth a OpenStreetMap. Questo ci ha permesso di realizzare un’applicazione complessa in breve tempo e di ottenere una soluzione ben funzionante e con ottime performance.
Staff
“Creare un Editor 3D con la possibilità di visualizzare in real-time mappe terrestri con livelli di dettaglio dinamici, modelli tridimensionali e mappe custom è stata una sfida che ha richiesto un connubio di tecnologie opensource che si è dimostrato duttile nell’uso e visivamente appagante da soddisfare in pieno i requisiti del cliente.”