Control software for microrobotic platform
Essen von, Mathias (2010)
Essen von, Mathias
2010
Automaatio-, kone- ja materiaalitekniikan tiedekunta
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ä
2010-07-02
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201008171285
https://urn.fi/URN:NBN:fi:tty-201008171285
Tiivistelmä
Tämä diplomityö on tehty osana SMARTFIBRE-projektia, jonka tarkoituksena on kehittää uusia toiminnallisia paperikuituja älykkäiden paperituotteiden valmistamiseen. Projektin osapuolina ovat Tampereen teknillisen yliopiston systeemitekniikan laitos, Åbo Akademin kuitu- ja selluloosateknologian laboratorio, Latvian valtiollinen puukemian tutkimuslaitos, UPM-Kymmene Oyj, Stora Enso Oyj sekä Metsä-Botnia Oy. Tampereen teknillisen yliopiston vastuualue projektissa on paperikuitujen välisten vuorovaikutusten tutkiminen yksittäisten paperikuitujen tasolla paperin mekaanisiin ominaisuuksiin vaikuttavien tekijöiden määrittämiseksi. Paperikuitujen mekaanisten ominaisuuksien karakterisointi suoritetaan projektissa kehitetyn mikrorobottijärjestelmän avulla.
Tampereen teknillisellä yliopistolla kehitetty mikrorobottijärjestelmä mahdollistaa yksittäisten paperikuitujen manipuloinnin, havainnoinnin sekä paperikuidun mekaanisten ominaisuuksien karakterisoinnin. Järjestelmä jakautuu kolmeen alijärjestelmään, joista kullakin on oma vastuualueensa. Paperikuitujen manipulointi tapahtuu mikromanipulaatiojärjestelmässä, joka mahdollistaa paperikuitujen manipuloinnin järjestelmään kuuluvien toimilaitteiden avulla. Paperikuitujen havainnointi tapahtuu järjestelmään liitetyn kamerasta, moottoroidusta objektiivista sekä valaisujärjestelmästä koostuvan konenäköjärjestelmän avulla. Havainnoinnin lisäksi konenäköjärjestelmällä voidaan suorittaa kuvaan perustuvia mittauksia. Mikrorobottijärjestelmään kuuluu myös anturijärjestelmä, joka kerää mittausinformaatiota karakterisoitavista paperikuiduista.
Tässä diplomityössä suunnitellaan ja toteutetaan mikrorobottijärjestelmän ohjaamiseen soveltuva ohjelmisto. Ohjausohjelmiston pääasiallinen tarkoitus on järjestelmään kuuluvien toimilaitteiden ohjaaminen sekä tiedonkeruu järjestelmän mittalaitteilta. Lopullisena tavoitteena on paperikuitujen karakterisointiprosessin automatisointi. Täysin automatisoidun mikrorobottijärjestelmän kapasiteetin on tarkoitus yltää useiden kymmenien paperikuitujen karakterisointiin tunnissa.
Tämä diplomityö esittelee hajautettuun arkkitehtuuriin perustuvan alustariippumattomuuteen pyrkivän mikrorobottijärjestelmän ohjausohjelmiston. Ohjausohjelmiston nimeksi on annettu CoSMic, joka on lyhenne sanoista Control Software for Microrobotic Platform. Vaikka lopullisena tavoitteena onkin kehittää täysin automatisoitu ohjausjärjestelmä, kehitetään tässä vaiheessa teleoperoinnin mahdollistava ohjelmisto, joka tarjoaa graafisen käyttöliittymän jokaiseen mikrorobottijärjestelmän alijärjestelmään.
Työn selvitysosuudessa käsitellään hajautettuihin järjestelmiin liittyviä yleisiä hyöty- ja haittanäkökulmia. Hajautuksella voidaan saavuttaa huomattavia etuja järjestelmän suorituskyvyssä, skaalattavuudessa ja virheensietokyvyssä. Toisaalta järjestelmän moninaisuus ja hajanaisuus kasvaa. Hajautuksen mukanaan tuomia ongelmia voidaan vähentää ohjelmiston rakenteen huolellisella suunnittelulla.. Tähän osuudessa paneudutaan esittelemällä suunnittelumallin käsite. Suunnittelumallilla tarkoitetaan ohjelmistotekniikassa olio-ohjelmointiin liittyvää tapaa, jolla usein esiintyvä ongelma voidaan ratkaista. Suunnittelumalleja esiintyy usealla tasolla ja ne kuvaavat olioiden tai luokkien välisiä vaikutussuhteita ja kommunikaatiota.
Mikrorobottijärjestelmän turvallisuuteen liittyen paneudutaan törmäysten tunnistamiseen kolmiulotteisessa avaruudessa. Törmäysten tunnistamisen tarkoituksena on estää mikrorobottijärjestelmän eri osien törmääminen toisiinsa. Tyypillisesti törmäysten tunnistaminen suoritetaan mallintamalla todellisen laitteiston geometria virtuaalitodellisuudessa, jossa törmäykset havaitaan mallinnettujen geometrioiden leikatessa toisensa. Leikkauspisteiden etsiminen vaatii huomattavan määrän laskentatehoa ja useita erilaisia algoritmeja tarvittavan laskentatehon vähentämiseksi on saatavilla. Työssä esitellään törmäyksen tunnisteen liittyviä algoritmeja sekä luodaan katsaus olemassa oleviin avoimen lähdekoodin toteutuksiin.
Edellä mainittujen perustavanlaatuisten konseptien tutkimisen jälkeen esitellään mikrorobottijärjestelmän laitteisto, lähinnä sen ohjauksen kannalta sekä määritellään vaatimukset. Laitteiston ohjauksen yhteydessä tutustutaan saatavilla oleviin ohjelmakirjastoihin ja tutkitaan niiden soveltuvuutta mikrorobottijärjestelmään. Jokaisen alijärjestelmän ohjaamiseen valitaan oma ohjelmakirjasto, jonka tarkoitus on tukea koko järjestelmän pitkäaikaista kehittämistä. Lisäksi ohjelmiston kehitykseen valitaan erillinen ohjelmistokehitysympäristö, jonka tarkoituksena on tukea kehitettävän ohjausohjelmiston alustariippumattomuutta.
Työn soveltava osa keskittyy suurelta osin ohjausohjelmiston arkkitehtuuriin ja suunnitteluun. Ohjelmiston arkkitehtuuria suunniteltaessa tutkitaan hajautettuihin järjestelmiin soveltuvia arkkitehtuuritason suunnittelumalleja. Valittuja suunnittelumalleja käytetään perustana työssä kehitetylle ohjelmistokehykselle, jonka tarkoituksena on yhdenmukaistaa mikrorobottijärjestelmään liitettävien ohjelmistojen kehitysprosessi. Ohjelmiston eri osien välinen kommunikaatio pyritään irrottamaan erilliseksi osaksi, jotta ohjelmisto ei olisi riippuvainen käytetystä verkkotekniikasta. Ohjelmiston suunnitteluun liittyvässä osassa keskitytään tarkastelemaan mikromanipulaatiota ja mittausinformaation tiedonkeruuta ohjaavia ohjelmiston osia. Molemmat osat toteutetaan monisäikeisinä arkkitehtuurin yhteydessä kuvattuja suunnittelumalleja noudattaen. Lisäksi esitellään ohjausohjelmiston tämänhetkinen toteutus ja graafinen käyttöliittymä. Osuuden lopuksi käsitellään ohjausohjelmiston toteutuksessa havaittuja ongelmia ja kerrotaan ohjelmiston kehittämiseen liittyvistä tulevaisuudensuunnitelmista.
Työn tuloksena on suunniteltu hajautettu ohjausohjelmisto paperikuitujen mekaaniseen karakterisointiin tarkoitetulle mikrorobottijärjestelmälle. Ohjelmistosta on toteutettu kaksi alijärjestelmää, joiden avulla voidaan ohjata mikromanipulaatioon ja mittausinformaation tiedonkeruuseen liittyvää laitteistoa. This thesis is part of SMARTFIBRE project. The objective of the project is development of new functionalization concepts for smart fibre products. SMARTFIBRE is a collaborative effort divided into several subprojects. In the subproject assigned to Tampere University of Technology, a microrobotic platform (MP) capable of characterizing interactions of individual paper fibres is developed to determine the mechanical key factors effecting quality of paper.
Hardware of MP consists of three separate subsystems. The core of MP is Micromanipulation system including several microrobotic actuators. Vision system which consists of a camera and related optics is used to obtain visual information of an ongoing characterization procedure. The third subsystem, Data acquisition system, contains the sensors required to measure desired parameters of the studied interaction. The operator has to be able to control each subsystem of MP.
This thesis introduces CoSMic, a control software designed for the needs of MP. The final goal of CoSMic is autonomous characterization of paper fibres with throughput of several tens of paper fibres per hour. CoSMic is based on distributed architecture hosting different parts of the software on separate network nodes. The approach was selected to enhance scalability of the software. In its current state, CoSMic provides the operator with functionality required to control each of the subsystems of MP. /Kir10
Tampereen teknillisellä yliopistolla kehitetty mikrorobottijärjestelmä mahdollistaa yksittäisten paperikuitujen manipuloinnin, havainnoinnin sekä paperikuidun mekaanisten ominaisuuksien karakterisoinnin. Järjestelmä jakautuu kolmeen alijärjestelmään, joista kullakin on oma vastuualueensa. Paperikuitujen manipulointi tapahtuu mikromanipulaatiojärjestelmässä, joka mahdollistaa paperikuitujen manipuloinnin järjestelmään kuuluvien toimilaitteiden avulla. Paperikuitujen havainnointi tapahtuu järjestelmään liitetyn kamerasta, moottoroidusta objektiivista sekä valaisujärjestelmästä koostuvan konenäköjärjestelmän avulla. Havainnoinnin lisäksi konenäköjärjestelmällä voidaan suorittaa kuvaan perustuvia mittauksia. Mikrorobottijärjestelmään kuuluu myös anturijärjestelmä, joka kerää mittausinformaatiota karakterisoitavista paperikuiduista.
Tässä diplomityössä suunnitellaan ja toteutetaan mikrorobottijärjestelmän ohjaamiseen soveltuva ohjelmisto. Ohjausohjelmiston pääasiallinen tarkoitus on järjestelmään kuuluvien toimilaitteiden ohjaaminen sekä tiedonkeruu järjestelmän mittalaitteilta. Lopullisena tavoitteena on paperikuitujen karakterisointiprosessin automatisointi. Täysin automatisoidun mikrorobottijärjestelmän kapasiteetin on tarkoitus yltää useiden kymmenien paperikuitujen karakterisointiin tunnissa.
Tämä diplomityö esittelee hajautettuun arkkitehtuuriin perustuvan alustariippumattomuuteen pyrkivän mikrorobottijärjestelmän ohjausohjelmiston. Ohjausohjelmiston nimeksi on annettu CoSMic, joka on lyhenne sanoista Control Software for Microrobotic Platform. Vaikka lopullisena tavoitteena onkin kehittää täysin automatisoitu ohjausjärjestelmä, kehitetään tässä vaiheessa teleoperoinnin mahdollistava ohjelmisto, joka tarjoaa graafisen käyttöliittymän jokaiseen mikrorobottijärjestelmän alijärjestelmään.
Työn selvitysosuudessa käsitellään hajautettuihin järjestelmiin liittyviä yleisiä hyöty- ja haittanäkökulmia. Hajautuksella voidaan saavuttaa huomattavia etuja järjestelmän suorituskyvyssä, skaalattavuudessa ja virheensietokyvyssä. Toisaalta järjestelmän moninaisuus ja hajanaisuus kasvaa. Hajautuksen mukanaan tuomia ongelmia voidaan vähentää ohjelmiston rakenteen huolellisella suunnittelulla.. Tähän osuudessa paneudutaan esittelemällä suunnittelumallin käsite. Suunnittelumallilla tarkoitetaan ohjelmistotekniikassa olio-ohjelmointiin liittyvää tapaa, jolla usein esiintyvä ongelma voidaan ratkaista. Suunnittelumalleja esiintyy usealla tasolla ja ne kuvaavat olioiden tai luokkien välisiä vaikutussuhteita ja kommunikaatiota.
Mikrorobottijärjestelmän turvallisuuteen liittyen paneudutaan törmäysten tunnistamiseen kolmiulotteisessa avaruudessa. Törmäysten tunnistamisen tarkoituksena on estää mikrorobottijärjestelmän eri osien törmääminen toisiinsa. Tyypillisesti törmäysten tunnistaminen suoritetaan mallintamalla todellisen laitteiston geometria virtuaalitodellisuudessa, jossa törmäykset havaitaan mallinnettujen geometrioiden leikatessa toisensa. Leikkauspisteiden etsiminen vaatii huomattavan määrän laskentatehoa ja useita erilaisia algoritmeja tarvittavan laskentatehon vähentämiseksi on saatavilla. Työssä esitellään törmäyksen tunnisteen liittyviä algoritmeja sekä luodaan katsaus olemassa oleviin avoimen lähdekoodin toteutuksiin.
Edellä mainittujen perustavanlaatuisten konseptien tutkimisen jälkeen esitellään mikrorobottijärjestelmän laitteisto, lähinnä sen ohjauksen kannalta sekä määritellään vaatimukset. Laitteiston ohjauksen yhteydessä tutustutaan saatavilla oleviin ohjelmakirjastoihin ja tutkitaan niiden soveltuvuutta mikrorobottijärjestelmään. Jokaisen alijärjestelmän ohjaamiseen valitaan oma ohjelmakirjasto, jonka tarkoitus on tukea koko järjestelmän pitkäaikaista kehittämistä. Lisäksi ohjelmiston kehitykseen valitaan erillinen ohjelmistokehitysympäristö, jonka tarkoituksena on tukea kehitettävän ohjausohjelmiston alustariippumattomuutta.
Työn soveltava osa keskittyy suurelta osin ohjausohjelmiston arkkitehtuuriin ja suunnitteluun. Ohjelmiston arkkitehtuuria suunniteltaessa tutkitaan hajautettuihin järjestelmiin soveltuvia arkkitehtuuritason suunnittelumalleja. Valittuja suunnittelumalleja käytetään perustana työssä kehitetylle ohjelmistokehykselle, jonka tarkoituksena on yhdenmukaistaa mikrorobottijärjestelmään liitettävien ohjelmistojen kehitysprosessi. Ohjelmiston eri osien välinen kommunikaatio pyritään irrottamaan erilliseksi osaksi, jotta ohjelmisto ei olisi riippuvainen käytetystä verkkotekniikasta. Ohjelmiston suunnitteluun liittyvässä osassa keskitytään tarkastelemaan mikromanipulaatiota ja mittausinformaation tiedonkeruuta ohjaavia ohjelmiston osia. Molemmat osat toteutetaan monisäikeisinä arkkitehtuurin yhteydessä kuvattuja suunnittelumalleja noudattaen. Lisäksi esitellään ohjausohjelmiston tämänhetkinen toteutus ja graafinen käyttöliittymä. Osuuden lopuksi käsitellään ohjausohjelmiston toteutuksessa havaittuja ongelmia ja kerrotaan ohjelmiston kehittämiseen liittyvistä tulevaisuudensuunnitelmista.
Työn tuloksena on suunniteltu hajautettu ohjausohjelmisto paperikuitujen mekaaniseen karakterisointiin tarkoitetulle mikrorobottijärjestelmälle. Ohjelmistosta on toteutettu kaksi alijärjestelmää, joiden avulla voidaan ohjata mikromanipulaatioon ja mittausinformaation tiedonkeruuseen liittyvää laitteistoa.
Hardware of MP consists of three separate subsystems. The core of MP is Micromanipulation system including several microrobotic actuators. Vision system which consists of a camera and related optics is used to obtain visual information of an ongoing characterization procedure. The third subsystem, Data acquisition system, contains the sensors required to measure desired parameters of the studied interaction. The operator has to be able to control each subsystem of MP.
This thesis introduces CoSMic, a control software designed for the needs of MP. The final goal of CoSMic is autonomous characterization of paper fibres with throughput of several tens of paper fibres per hour. CoSMic is based on distributed architecture hosting different parts of the software on separate network nodes. The approach was selected to enhance scalability of the software. In its current state, CoSMic provides the operator with functionality required to control each of the subsystems of MP. /Kir10