Virtual 3D robotics environments

No Thumbnail Available

URL

Journal Title

Journal ISSN

Volume Title

School of Electrical Engineering | Master's thesis
Checking the digitized thesis and permission for publishing
Instructions for the author

Date

2010

Major/Subject

Automaatiotekniikka

Mcode

AS-84

Degree programme

Language

en

Pages

ii + 91 + liitt. (+2)

Series

Abstract

Since mid 1990s, thanks to developments both in 3D graphics hardware acceleration and in software tools, robotics research has entered a field of realistic 3D simulation. Simulation was used in robotics almost since its interception for verifying various levels of robot control software such as path planning, multi-robot cooperation or obstacle avoidance. Importance of possibility to test software in photo-realistic 3D virtual environment was always high as cost and time demand for testing on real robots is enormous. In past 15 years, many 3D robotics simulators were designed and new ones are still emerging. This raises question why such a limited field invokes re-implementation of tools with same aim. One possible answer to this question is offered by this thesis together with suggestion of how to avoid further re-implementation. Through analysis of 30 existing 3D robotics simulators it was found, that basic problem is simulators architecture and partitioning, which doesn't allow easy extensibility. When a new feature is required it is easier to re-implement whole simulator from beginning then try to patch it into any existing one. Thesis focuses on one particular element of 3D robotics simulators, the virtual 3D environment used to model real-world behaviour. Virtual 3D environment consist of physics simulation, photo-realistic 3D graphics and models of entities placed into virtual environment. As virtual environment is subject to laws of physics and is not specifically tied to robot control software, it can be abstracted from simulator. Current simulator implementations tie one or several components of virtual environment deeply into their code. This in turn causes that adding or extending features of virtual environment becomes difficult. Such extensions might be replacing physics library, 3D rendering engine or adding support for new modelling language. Thesis offers a software architecture design for 3D virtual environment based on lessons learned from existing tools with aim on extensibility and flexibility. Suggested architecture was built to promote reuse instead of re-implementation to save precious time of robotics research community.

1990-luvun puolivälistä asti kehitystyö 3D-grafiikan kiihdytyksessä sekä ohjelmistotyökaluissa on tuonut robottitutkimukseen realistisen 3D-simuloinnin. Simulointia käytetään robotiikassa esimerkiksi robotin ohjausohjelmistojen verifiointiin eri tasoilla, kuten polun suunnittelu, robottien yhteistoiminta tai esteen väistö. Ohjelmistojen testaus photorealistisessa 3D virtuaaliympäristössä on huomattavasti edullisempaa, verrattuna testeihin oikeilla roboteilla oikeassa ympäristössä. Viimeisen 15 vuoden aikana useita 3D robottisimulaattoreita on kehitetty ja uusia syntyy edelleen. Tästä nouseekin kysymys; miksi tuollaiselle rajatulle tutkimusalueelle kehitetään saman käyttötarkoituksen työkaluja aina vain uudelleen. Tässä työssä esitetään yksi mahdollinen vastaus, tarjoten samalla ehdotuksen kuinka välttää nämä työkalujen uudelleen toteutukset. 30:n olemassa olevan 3 D robottisimulaattorin analysoinnin tuloksena löydettiin perusongelmaksi simulaattoreiden sisäinen arkkitehtuuri, mikä estää helpon laajentamisen. Uudet ominaisuudet on helpompi toteuttaa ohjelmoimalla koko simulaattori uudestaan alusta alkaen vanhan paikkaamisen sijaan. Työssä keskitytään 3D robottisimulaattoreihin ja tarkemmin virtuaalisiin 3D ympäristöihin, joita käytetään mallintamaan todellisen maailman käyttäytymistä. Virtuaalinen 3D ympäristö koostuu fysiikan simuloinnista, photorealistisesta 3D grafiikasta ja itsenäisten kokonaisuuksien malleista virtuaalisessa ympäristössä. Koska virtuaaliympäristössä vaikuttavat vain fysiikan lait eikä sitä ole sidottu robotin ohjausohjelmistoon, se voidaan määrittää simulaattoriksi. Nykyiset simulaattoritoteutukset sisältävät yhden tai useamman virtuaaliympäristön ohjelmistoon sisään ohjelmoituna. Tämän takia uusien ominaisuuksien lisääminen tulee vaikeaksi. Tuollaiset lisäykset voisivat korvata fysiikkakirjaston, 3D renderoinnin tai tuoda tuen uudelle mallinnuskielelle. Työ tarjoaa ohjelmistoarkkitehtuurin mallin 3D virtuaaliympäristölle perustuen tietoon olemassa olevista työkaluista ja keskittyen laajennettavuuteen sekä joustavuuteen. Esitetty arkkitehtuuri on suunniteltu edistämään uudelleen käyttöä uudelleen toteutuksen sijaan. Tämä säästää arvokasta aikaa robottien tutkimusyhteisössä.

Description

Supervisor

Halme, Aarne

Thesis advisor

Halme, Aarne

Keywords

virtual environment, virtuaaliympäristö, 3D, 3D, physics simulation, fysiikan simulointi, robot simulators, robottisimulaattori, software architecture, ohjelmistoarkkitehtuuri

Other note

Citation