Modular Client Framework for Evaluation of Visual Navigation Systems in Unreal Engine
Master thesis
Permanent lenke
http://hdl.handle.net/11250/2631809Utgivelsesdato
2019Metadata
Vis full innførselSamlinger
Sammendrag
I de senere åra har spillmotorer, som Unreal Engine, blitt brukt mer og mer grunnet deresevne til å gengi realistiske miljøer, og dermed kunne generere syntetiske dataset for bruki visuell navigering. Å koble sammen disse forskjellige simuleringprogrammene med vari-erende maskinvare kan derimot være problematisk. Dette har ledet til mye nyutviklingav forskjellige typer mellomvare, som definerer standarder for kommikasjon mellom en-heter. Selv om de fleste av disse er fleksible når det gjelder integrerbarhet, kan dennefleksibiliteten i mange tilfeller forårsake unødvendig treghet i systemet.Denne masteroppgaven presenterer en tidlig utgave av en klient-programvare, som errettet mot å kunne sette opp lett utskiftbare, nodebaserte, simuleringsoppsett i C++,sammen med brukerdefinerte meldinger for kommunikasjon mellom noder, samtidig somden holder seg så platformuavhengig som mulig. Klienten skiller seg ut fra annen mellom-vare ved at hele simuleringsoppsettet er bestemt før kompilering. Dette åpner for ekstraoptimaliseringer og fjerner behovet for nettverkskommunikasjon mellom nodene. Dettegjør det mulig å optimalisere bort forsinkelser og øke ytelsen. Klienten blir presentert medet konkret bruksområde, ved å koble den sammen med Microsoft sin simuleringsplatform,AirSim, for spillmotoren Unreal Engine, og generere simuleringdata for ROS-kompatibleoppsett for visuell navigering. In the later years game engines, such as Unreal Engine, have been more and more utilizedfor their ability to render realistic environments, and thereby generate synthetic datasetsto use in visual navigation. However, connecting these to various simulation software andhardware setups can be challenging. The problem of connecting different devices has led tothe development of many types of middleware, defining standard terms of communication.While most of these are quite flexible in terms of integrability, this flexibility can, in manycases, induce unnecessary overhead and latency.This master thesis will present the early development of a type of client software aimedtowards the creation of easily interchangeable node based simulation setups in C++, withuser-defined messages for inter-node communication while being as platform-independentas possible. The client differs from most other middleware in the sense that the nodesetup is decided at compile-time, allowing for extra optimizations and removing the needto connect the nodes via a network connection. This decision enables optimization forperformance and latency. The client is presented with a real-world use case, connectingthe simulation environment found in Microsoft’s AirSim plugin for the Unreal Enginegame engine, with ROS, in order to create simulation data for ROS-compatible visualnavigation setups.