OpenCRP – Avoimen lähdekoodin pilvipalvelu- ja mobiilirobottiympäristö
Castren, Erkki (2016)
Castren, Erkki
2016
Tietotekniikan koulutusohjelma
Talouden ja rakentamisen tiedekunta - Faculty of Business and Built Environment
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2016-11-09
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201610214621
https://urn.fi/URN:NBN:fi:tty-201610214621
Tiivistelmä
Tampereen teknillisen yliopiston Open Cloud Robotic Platform -projektin (OpenCRP) tarkoituksena on muun muassa tiedon tuottaminen ja osaamisen kartuttaminen avoimen lähdekoodin mobiilirobottien ja -pilvipalvelun hyödyntämisestä monirobottiympäristössä. Projektiin kuuluu demonstraatio- ja pilotointiympäristön rakentaminen ja sen ominaisuuksien tutkiminen. Projektin kuluessa tulimme vakuuttuneiksi siitä, että monirobottiympäristön toteuttaminen kannattaa lykätä siihen asti, kunnes sen edistyneemmin toteuttavasta ROS 2:sta on käytettävissä valmiimpi versio. Siksi tämä työ kattaa ympäristön rakentamisen vain yhdelle mobiilirobotille, sen ohjaukseen tarkoitetulle käyttöliittymälle ja karttojen tallennuspaikkana toimivalle pilvipalvelulle. Lisäksi työssä tarkastellaan valmiin ympäristön ominaisuuksia.
Robottialustana käytettiin kahta Turtlebot II:ta, toinen varustettuna Kinect Xbox 360- ja toinen Xtion Pro Live -3D-sensorilla. Turtlebotien ajamista varten niiden päälle valmisteltiin kannettavat tietokoneet, joihin asennettiin ROS Indigo- ja Hadoop 2.7.2 -ohjelmistot Ubuntu 14.04 alustalle. Robotin etäohjauksen mahdollistamiseksi ROS asennettiin myös kahteen muuhun tietokoneeseen. Näihin etäkoneisiin asennettiin myös Hadoop ja ne konfiguroitiin HDFS-pilvipalveluklusteriksi, jota voitiin terminaalikomennoilla käyttää karttatiedostojen tallennuspaikkana. Samalla niihin konfiguroitiin valmiiksi MapReduce mahdollista tulevaisuuden tarvetta ajatellen. Robotin ohjausta varten toteutettiin Qt:llä yksinkertainen käyttöliittymä. Sen avulla robotti voidaan, joko sen omalta koneelta tai etäkoneelta, ohjata kulkemaan haluttuihin karttapisteisiin. Robotti yhdistettiin muihin koneisiin WLANilla, ja sen kartoitus- ja navigointikykyä testattiin. Molempien robottien 3D-sensorien ominaisuuksia testattiin ja WLAN-yhteyden sopivuutta ympäristöön arvioitiin.
Lopputuloksena oli toimiva avoimen lähdekoodin mobiilirobottiympäristö, jossa robotin kartat voitiin tallentaa ja niitä noutaa Hadoop-pilvipalveluklusterista. Robottia voitiin ohjata toteutetun käyttöliittymän avulla ja matkallaan se osasi väistää eteen tulevia esteitä. Saimme paljon tietoa OpenCRP-ympäristön käytännön toteuttamisesta ja ympäristöön liittyvistä haasteista. Ympäristön jatkokehitystä ajatellen esiin nousi useita toimenpiteitä, joilla sen toimintaa voidaan parantaa. Tärkeimpinä voidaan mainita robotin lähihavainnoinnin ja verkkoyhteyden parantaminen.
Robottialustana käytettiin kahta Turtlebot II:ta, toinen varustettuna Kinect Xbox 360- ja toinen Xtion Pro Live -3D-sensorilla. Turtlebotien ajamista varten niiden päälle valmisteltiin kannettavat tietokoneet, joihin asennettiin ROS Indigo- ja Hadoop 2.7.2 -ohjelmistot Ubuntu 14.04 alustalle. Robotin etäohjauksen mahdollistamiseksi ROS asennettiin myös kahteen muuhun tietokoneeseen. Näihin etäkoneisiin asennettiin myös Hadoop ja ne konfiguroitiin HDFS-pilvipalveluklusteriksi, jota voitiin terminaalikomennoilla käyttää karttatiedostojen tallennuspaikkana. Samalla niihin konfiguroitiin valmiiksi MapReduce mahdollista tulevaisuuden tarvetta ajatellen. Robotin ohjausta varten toteutettiin Qt:llä yksinkertainen käyttöliittymä. Sen avulla robotti voidaan, joko sen omalta koneelta tai etäkoneelta, ohjata kulkemaan haluttuihin karttapisteisiin. Robotti yhdistettiin muihin koneisiin WLANilla, ja sen kartoitus- ja navigointikykyä testattiin. Molempien robottien 3D-sensorien ominaisuuksia testattiin ja WLAN-yhteyden sopivuutta ympäristöön arvioitiin.
Lopputuloksena oli toimiva avoimen lähdekoodin mobiilirobottiympäristö, jossa robotin kartat voitiin tallentaa ja niitä noutaa Hadoop-pilvipalveluklusterista. Robottia voitiin ohjata toteutetun käyttöliittymän avulla ja matkallaan se osasi väistää eteen tulevia esteitä. Saimme paljon tietoa OpenCRP-ympäristön käytännön toteuttamisesta ja ympäristöön liittyvistä haasteista. Ympäristön jatkokehitystä ajatellen esiin nousi useita toimenpiteitä, joilla sen toimintaa voidaan parantaa. Tärkeimpinä voidaan mainita robotin lähihavainnoinnin ja verkkoyhteyden parantaminen.