S11-09 Control System for an Autonomous Household Robot Platform Projektisuunnitelma AS-0.3200 Automaatio- ja systeemitekniikan projektityöt Quang Doan Lauri T. Mäkelä
1 Kuvaus Projektin tavoitteena on korvata irobot Roomba 520 siivousrobotin ohjausjärjestelmä ajoneuvotietokoneella, johon luodaan tarvittavat ohjelmistot ja rajapinnat. Projektin aluksi on tarkoitus selvittää ohjelmistovaihtoehtojen käyttömahdollisuudet. Tavoitteena on helpon ohjelmoitavuuden kannalta käyttää Microsoft Robotics Developer Studio 2008, jossa on mm. valmiita kirjastoja Roomballe, sekä mahdollisuus graafiseen ohjelmointiin. Robotics Studio tarvitsee alleen Windows XP embedded tai normaalin XP version. Näistä tavoitellaan ensisijaisesti embedded version käyttömahdollisuutta. Mikäli Robotics Studiota ei saada hyödynnettyä, täytyy ohjelmisto toteuttaa.net Compact Frameworkia käyttäen Windows CE:n päällä. Ohjausjärjestelmän on tarkoitus hyödyntää irobot Roomban tarjoamaa avointa rajapintaa, joka on fyysisesti toteutettu sarjaliitännällä, ja jonka käsky- sekä tilakuvaukset ovat laitevalmistajalta vapaasti saatavilla. Tavoitteena on luoda ohjausjärjestelmästä rajapinta Pc:lle käyttäen ZigBee yhteyttä, ja kuvata rajapinnassa kaikki Roomban tarjoamat sensorit ja toimilaitteet, sekä robotin tilat. Ohjausjärjestelmään luodaan myös toimintoja, kuten säätimiä ja tehtäviä, sekä toimintatiloja, jotka kuvataan myös ulkorajapintaan. Luodaan etätietokoneelle ohjasyksikön tarjoamaa rajapintaa hyödyntävä ohjelmistokomponentti, joka tarjoaa rajapinnan käyttöliittymälle. Luodaan myös yksinkertainen käyttöliittymä etäkoneelle.
2 Vaiheet 2.1 Ohjaajien tapaaminen Tavataan harjoitustyön ohjaajat. Tapaamisessa tutustutaan tarkemmin tehtävänantoon, sekä sovitaan työn laajuudesta ja yhteistoimintamuodoista heidän kanssaan. 2.2 Suunnitelman tekeminen Suunnitellaan projektin aikataulua ja käytettävää tuntimäärää, sekä tehtävien jakamista ryhmän kesken. Pohditaan riskienhallintaa ja suunnittelu- ja toteutusvaiheiden jaksottumista. 2.3 Tutustuminen robotin rajapintaan Tutustutaan avoimen dokumentin, sekä yhdessä robotin kanssa robotin tarjoamaan rajapintaan. Tutkitaan sarjaportin rajapintaa alkaen fyysisestä mini-din liittimestä. Tarkastellaan sähköistä liikennettä ja selvitetään mahdollisia ongelmia tiedonkulussa. Selvitetään kaikki komennot ja niiden parametrit, joita voidaan hyödyntää robotin ohjauksessa. Tutustutaan robotin neljään toimintatilaan (off, passive, safe, full) ja niiden käyttömahdollisuuksiin työssä. 2.4 Tutustuminen Microsoft Robotics Studioon Asennetaan Microsoft Robotics Studio 2008 R3 tavalliselle pc:lle ja tutustutaan sen ominaisuuksiin. Luodaan sillä pieni testisovellus, jolla saadaan mahdollisesti vaihdettua robotin toimintatilaa ja luettua sensoritietoja tai annettua toimintakäskyjä. 2.5 Robotics Studion testaaminen ohjausyksikössä Yritetään asentaa Robotics Studio ohjausyksikköön. Jos asennus onnistuu, testataan edellisessä kohdassa luotuja pieniä sovelluksia ohjausyksikköä käyttäen. 2.6 Käyttöjärjestelmän valinta Jos Robotics Studion asennus onnistui ongelmitta ja se alkoi toimia, valitaan ohjausyksikön käyttöjärjestelmäksi Windows XP embedded tai tavallinen XP. Ellei Robotics Studiota saada toimimaan, valitaan käyttöjärjestelmäksi Windows CE. Huolehditaan että valittu käyttöjärjestelmä tulee asennetuksi ohjausyksikköön. 2.7 Ohjausyksikön tarjoaman rajapinnan ja sovelluksen suunnittelu Ohjausyksikön sovelluksen tulee toteuttaa rajapinnat robottiin päin, sekä ulospäin. Ulkorajapinnalle suunnitellaan toteutettavaksi kaikkien sensorien ja toimilaitteiden, sekä robotin tilojen ohjaus, sekä ohjausyksikön ohjelmiston tilojen ohjaus. 2.8 Ohjausyksikön sovelluksen toteutus Toteutetaan edellisen kohdan suunnitelma ja palataan tarvittaessa tarkentamaan suunnitelmaa. 2.9 Etäkoneen irobot ohjelmistokomponentin suunnittelu Suunnitellaan etäkoneelle ohjelmistokomponentti, joka hyödyntää ohjausyksikön tarjoaman robotinohjausrajapinnan, ja jota voidaan hyödyntää mm. käyttöliittymässä. Tutustutaan Microsoft Visual Studioon ja C# -kieleen ohjelmistokomponentin luomiseksi.
2.10 Etäkoneen irobot ohjelmistokomponentin toteutus Toteutetaan ohjelmistokomponentti C# -kielellä. 2.11 Etäkoneen käyttöliittymän suunnittelu Suunnitellaan käyttöliittymä, joka hyödyntää robotinohjaus ohjelmistokomponenttia. 2.12 Etäkoneen käyttöliittymän toteutus Toteutetaan mahdollisesti graafinen käyttöliittymä Microsoft Visual Studiota ja C# -kieltä käyttäen. 2.13 Testaus Testataan toteutettuja komponentteja ja sovelluksia. Mahdollisimman monenlaisten tilanteiden kautta pyritään löytämään mahdollisimman paljon vikoja, jotka voidaan korjata. 2.14 Dokumentointi Dokumentoidaan ohjausyksikön sovelluksen toiminta, sekä rajapinnat. Dokumentoidaan ohjelmistokomponentin toteutus. 2.15 Projektin esittely Valmistaudutaan esittelemään projekti luomalla esitysmateriaali ja testaamalla laitteiston kokoonpanoa, jolla aikaansaannosta voidaan sujuvasti esitellä luentosalissa.
3 Ajankäyttö Kuva 1: GANTT kaavio Projekti on suunniteltu toteutuvaksi GANTT kaavion mukaisesti. Joissakin vaiheissa voidaan sallia hiukan joustoa. Kuva 2: Tuntien käyttö projektin eri vaiheisiin
4 Riskit - Microsoft Robotics Developer Studio ei toimi ohjausyksikkössä. - Testausvaiheessa löydetään paljon virheitä, joita ei saada korjattua. - Robotti menee rikki, eikä työssä päästä eteenpäin. - Projektin jäsenet sairastuvat vakavasti.