Remes Jukka (2002) Järjestämättömissä ympäristöissä autonomisesti toimivien robottien ohjausjärjestelmä.

Koko: px
Aloita esitys sivulta:

Download "Remes Jukka (2002) Järjestämättömissä ympäristöissä autonomisesti toimivien robottien ohjausjärjestelmä."

Transkriptio

1 1

2 Remes Jukka (2002) Järjestämättömissä ympäristöissä autonomisesti toimivien robottien ohjausjärjestelmä. Oulun yliopisto, Sähkötekniikan osasto. Diplomityö, 91 s. TIIVISTELMÄ Käytöspohjainen ohjaus on osoittautunut lupaavaksi ratkaisuksi, kun robotit toimivat järjestämättömissä ympäristöissä. Tässä työssä tutustutaan käytöspohjaiseen robotin ohjaukseen liittyvään tutkimukseen perusteellisen kirjallisuusselvityksen ja oman ohjausjärjestelmän rakentamisen kautta. Kirjallisuusselvityksessä keskitytään tarkastelemaan kehitettyjen ohjausjärjestelmien arkkitehtuureja ja ratkaisuja käytösten koordinointiin. Koordinointiin löydetään ratkaisuja perustuen etuoikeuksiin, tilakoneisiin, käytösten väliseen kilpailuun, superpositioon, äänestykseen, sumeaan logiikkaan ja optimointiin. Ratkaisuja löydetään myös muihin tärkeisiin käytöspohjaisten ohjausjärjestelmien ongelmiin. Näitä ovat muun muassa se, miten ohjaus voidaan osittaa käytöksiksi, ja se, miten vältetään näennäisesti hyvä ohjaus, joka saattaa viedä ohjauksen umpikujaan. Työssä kehitetään ohjausjärjestelmä käyttäen kirjallisuusselvityksessä saavutettua tietämystä. Kehitystyö lähtee liikkeelle järjestelmän määrittämisestä menetelmä- ja arkkitehtuuritasoilla. Kyseisessä vaiheessa valitaan kirjallisuusselvityksessä esille tulleista lupaavimmat ja tässä työssä toteuttamiskelpoisimmat menetelmät. Myöskin ohjausjärjestelmän arkkitehtuuriin otetaan vaikutteita useammista lähteistä. Kehitetty ohjausjärjestelmä perustuu näin ollen ideoihin ja konsepteihin, joita useat tutkijat ovat koestaneet omissa töissään. Ohjausjärjestelmä toteutetaan itse rakennetun laitteiston päälle Java-ohjelmistona käyttäen kehitystyössä UML-mallinnusta. Oman ohjausjärjestelmän lisäksi työssä esitetään ohjausjärjestelmän rakentamiseen liittyviä näkökulmia, joita on opittu kirjallisuusselvityksen ja järjestelmän rakentamisen yhteydessä. Avainsanat: arkkitehtuuri, hajautus, käytös, laskennallinen älykkyys, liikkuva robotti, tekoäly

3 Remes Jukka (2002) Control System for Robots Operating in Unstructured Environments. Department of Electrical Engineering, University of Oulu, Finland. Diploma thesis, 91 p. ABSTRACT Behaviour-based control has proven promising in situations where robots operate in unstructured environments. In this thesis behavior-based robot control is studied through a thorough literature study of the subject and by constructing a control system for a robot. In the literature study the emphasis is on architectures of existing control systems and finding solutions to the behavior coordination problem. Discovered solutions utilize priorities, finite state machines, competition between behaviors, superposition, voting, fuzzy logic, and optimization. Some solutions are also found for other important problems of behavior-based control systems. How to divide the control into behaviors and how to avoid control decisions that are only seemingly good serve as examples of these problems. A control system is developed utilizing the knowledge gained in the literature study. The development is started with defining the control system on the algorithmic and architectural level. This beginning phase includes selection of algorithms that are most promising and feasible to be implemented in this thesis. Also features of the control system architecture are influenced by several different sources. The control system developed in this thesis is thus based on ideas and concepts, which have been tested by several researchers in their own work. The control system is implemented as a Java software on a self-made hardware platform. The development process utilizes UML-modeling of the system. In addition to representing the control system developed in this thesis, some information is presented regarding the building of a control system for a robot. The information is based on literature study and experiences gained in the construction of the control system. Keywords: architecture, artificial intelligence, behavior, computational intelligence, distribution, mobile robot

4 SISÄLLYSLUETTELO TIIVISTELMÄ ABSTRACT SISÄLLYSLUETTELO ALKUSANAT LYHENTEET JA SANASTO 1. JOHDANTO ROBOTIN OHJAUKSEN ESIMERKKIONGELMA Osaongelma 1: tavoitesuuntaan eteneminen Osaongelma 2: esteiden väistäminen Osaongelma 3: kääntyminen kulmista haluttuun suuntaan Osaongelma 4: tavoitteiden yhtäaikaisen täyttymisen ongelma ROBOTTIEN OHJAUSJÄRJESTELMÄT Robotin ohjausjärjestelmätyyppien luokitus Suunnittelupohjaiset järjestelmät Käytöspohjaiset järjestelmät Yhdistelmäjärjestelmät Valittu lähestymistapa Yksittäisen ohjauksen valinta käytöspohjaisessa ohjauksessa Käytöksien etuoikeuksiin pohjautuvat ratkaisut Toimintatilanteiden mukaan toimivat ratkaisut Käytöksien väliseen kilpailuun pohjautuvat ratkaisut Ohjausvaihtoehtojen yhdistäminen käytöspohjaisessa ohjauksessa Superpositioon pohjautuvat ratkaisut Äänestämiseen pohjautuvat ratkaisut Sumeaan logiikkaan pohjautuvat ratkaisut Multiple Objective Decision Making OHJAUSJÄRJESTELMÄN SUUNNITTELU AUTOART-PROJEKTISSA Robotin ohjaukseen valitut ratkaisut Ohjausjärjestelmän toteutus AutoArt-projektissa Kehitystyössä käytettävä robottialusta Ohjausjärjestelmä Kokonaistavoitteiden jako yksinkertaisiin osatavoitteisiin KEHITETTY OHJAUSJÄRJESTELMÄ Kehitystyö Kehitystyössä käytetyt menettelyt Kehitysympäristö ja käytetyt työkalut Kehitystyön ongelmat ja niistä saavutetut kokemukset Syntyneet ohjelmistokomponentit Yleiskäyttöiset ohjelmistokirjastot Järjestelmän valmiusaste Selvitys modernin ohjausjärjestelmän rakentamisen näkökulmista Käytöspohjaisen ohjauksen käyttäminen...78

5 Reaktiivisuuden ja suunnittelun yhdistäminen Suunnitteluosan järkevä mitoitus Informaation katoamisen esto Järjestelmän dynaamisuuden ja laajennettavuuden säilyttäminen Järkevä toiminnan valitseminen Teoriapohjan merkitys YHTEENVETO LÄHTEET LIITTEET...88

6 ALKUSANAT Tämä diplomityö on tehty VTT Elektroniikan Älykkäät järjestelmät tutkimusryhmässä osana VTT:n omarahoitteista Autoart-projektia. Autoart-projektin tarkoituksena oli saattaa ryhmämme tietämys myös robotiikassa käytettävästä tekoälystä ajan tasalle. Robotiikan tekoälyn ollessa laaja ja uudehko aihe ryhmällemme tahdon esittää kiitokset työni valvojille professori Juha Röningille ja professori Jukka Riekille työn arvioinnin lisäksi myös avusta työn aiheen valinnassa. Tahdon kiittää työni ohjaajaa DI Kari Haatajaa hyvästä työlle saamastani tuesta. Tämän diplomityön aiheen ollessa laajahko hänen panoksensa robotin laitteiston parissa auttoi minua paneutumaan enemmän robotin ohjauksen menetelmiin ja niiden ohjelmistototeutukseen. Karin ja ryhmämme esimiehen DI Jorma Hintikan kanssa diplomityön tiimoilta pitämämme palaverit toimivat hyvinä tahdistuspisteinä sen etenemiselle. Ylipäätään tahdon kiittää työnantajaani VTT Elektroniikkaa siitä, että se on tarjonnut hyvät puitteet opetella tutkimustyön tekemistä. Tahdon esittää kiitokset myös muille työtovereilleni, joiden kanssa on aina ollut antoisaa keskustella aiheesta kuin aiheesta. Lisäksi kiitän itseäni siitä, että opin lopulta pitämään näppini erossa muista mielenkiintoisista työtehtävistäni ennen työni valmistumista. Kiitän opiskelutovereitani luottamuksesta toimiessani opiskeluaikanani teekkarijärjestöissä. En kadu yhtäkään niistä päivistä, jotka vietin työn tai opiskelun sijaan hyvässä seurassa opiskelijaelämästä ja yhdessä tekemisestä nauttien. Ne opettivat myös koko joukon asioita, joita ei kirjoja lukemalla opi. Haluan kiittää myös läheisiäni. Ensimmäisenä tahdon esittää kauniin kiitoksen Päiville, joka on ymmärtänyt luomisen tuskaani omaan diplomityöhönsä liittyvän luomisen tuskan lisäksi. Toiseksi kiitän kissojamme siitä, että ne ovat muistuttaneet, etteivät kaikki asiat voi aina odottaa diplomityön valmistumista, ja siskoani Mariaa toimimisesta sinnikkäänä opponenttina, mitä tulee keskusteluihin kaikkein korkealentoisimmista tekniikan mahdollisuuksista. Tahdon kiittää vanhempiani Martti ja Heljä Remestä siitä, että he ovat aina tarjonneet minulle parhaat mahdollisuudet kehittää itseäni. He ovat lisäksi toimineet hyvinä esikuvina aktiivisista ja uusista asioista kiinnostuneista ihmisistä 50 vuoden iässä suorittamine jatkotutkintoineen. Osoitan vanhempieni lisäksi kiitokseni myös muille sukulaisilleni ja tuttavilleni, jotka ovat innoittaneet minua harrastamaan tekniikkaa ja luonnontieteitä, sen jälkeen opiskelemaan niitä ja lopulta myös hankkimaan elantoni niistä. Lopuksi omistan tämän diplomityön isoäidilleni Lovisa Remekselle, joka siirtyi ajasta iäisyyteen keväällä 2001 juuri, kun olin aloittelemassa diplomityötä. Kaipaan erityisesti hänen kanssaan käymiäni keskusteluja elämästä ja tekniikasta. Oulussa Jukka Remes

7 LYHENTEET JA SANASTO AAAI Yhdysvaltalainen yleishyödyllinen tekoälyn tutkimusta edistämään pyrkivä yhdistys (the American Association for Artificial Intelligence) CASE Tietokoneavusteinen ohjelmistokehitys (Computer Aided Software Engineering) DARPA Yhdysvaltain puolustusvoimien tärkein tutkimus- ja tuotekehitysorganisaatio (Defence Advanced Research Projects Agency) DLL Windows-käyttöjärjestelmän tiedostomuoto ohjelmiin ajonaikaisesti linkitettäville funktiokirjastoille (Dynamic Link Library) IDE Integroitu sovelluskehitysympäristö, joka tarkoittaa käyttöliittymällä yhteen nidottua kehitystyökalujen joukkoa (Integrated Development Environment) IEEE Kansainvälinen sähkötekniikan alalla työskentelevien insinöörien järjestö, joka harjoittaa mm. alan standardointityötä (The Institute of Electrical and Electronics Engineers) MODM Useita yhtäaikaisia tavoitteita huomioonottava päätöksenteko (Multiple Objective Decision Making) RS-232 Sarjamuotoisen tiedonsiirron määrittelevä standardi, joka on vakinaistanut paikkansa henkilökohtaisten tietokoneiden ja niiden oheislaitteiden välisen tiedonsiirron määrittäjänä (Recommended Standard 232) SA/SD Proseduraalisten ohjelmointikielten yhteydessä käytetty ohjelmistokehityksen mallinnuskieli (Structured Analysis/Structured Design) SOAPBox VTT Elektroniikassa kehitetty sekä langattomalla että langallisella tietoliikenneyhteydellä varustettu anturointiyksikkö (Sensing, Operating and Activating Peripheral Box) TCP/IP Tietokoneverkoissa de facto standardiksi muodostunut yhteydellinen protokolla (Transmission Control Protocol / Internet Protocol) USB Uudempi ja RS-232:sta nopeamman sarjamuotoisen tiedonsiirron määrittelevä standardi, joka on alkanut korvata RS-232:sta henkilökohtaisen tietokoneen ja sen oheislaitteiden välisen tiedonsiirron määrittäjänä (Universal Serial Bus) UML Oliopohjaisen ohjelmistokehityksen mallinnuskieli (Unified Modelling Language) WLAN Yleisnimi langattomille verkkoteknologioille, jotka pohjautuvat IEEE:n standardeihin (Wireless Local Area Network) Etologia Humanoidi- Keinotodellisuus Keskitin Merkki Neuroni Eläinten käyttäytymisen tutkimus Fyysiseltä olemukseltaan ihmistä muistuttuva Fyysistä todellisuutta jäljittelevä 3-ulotteinen tietokonemalli Laite, jonka kautta toistensa kanssa tietoa vaihtavat laitteet voi liittää keskitetysti yhteen Käytöspohjaisessa robotin ohjausjärjestelmissä käytetty komponentti, johon on koottu järjestelmän päällekkäisten tiedonjalostus- ja varastointitehtävien suoritusta; engl. marker Neuroverkon tiedonkäsittely-yksikkö, jonka toiminnan esikuvana ovat oikeissa eliöissä toimivat hermosolut

8 Neuroverkko Matemaattinen algoritmi, jonka toiminta pyrkii jäljittelemään oikeissa hermostoissa tapahtuvia tiedonkäsittelyprosesseja Ohjelmisto- Ohjelmistokomponentti, joka pystyy yhteistyössä muiden agentti ohjelmistoagenttien kanssa suorittamaan tietyn älykkyyttä vaativan tehtävän Ontologia Yhteisten konseptien formaali ja selvä määritelmä; määrittelee agenttiteknologian tapauksessa agenttien välisessä kommunikoinnissa käytettävät käsitteet, attribuutit ja niiden väliset suhteet Pareto- Tilanne, jossa ei löydy minkään näkökulman kannalta parempaa optimaalisuus ratkaisua muuten kuin huonontamalla samalla jonkin muun näkökulman kannalta parasta ratkaisua PC Card Kannettaviin ja vähän virtaa kuluttaviin tietokonelaitteisiin liitettävien lisäkorttien standardi Planning Päätöksentekoprosessi, jonka tuloksena syntyy pitemmän tähtäimen suunnitelma päästä haluttuun tavoitteeseen, eli vastakohta tässä ja nyt tapahtuvalle päätöksenteolle Sumea Perinteisen logiikan laajennus, jossa päättely tapahtuu sumeaa joukkologiikka oppia hyödyntämällä, engl. fuzzy logic Sumea Laajennus perinteisestä joukko-opista siten, että joukkoon voi kuulua joukko-oppi muutenkin kuin täysin tai ei ollenkaan. Tekoelämä Tieteenala, joka pyrkii jäljittelemään oikeaa luontoa simuloimalla elämää teknisin keinoin ja oppimaan sen kautta ymmärtämään luontoa; engl. Artificial Life Teleoperointi Ihmisen suorittama kauko-ohjaus Tilakone Abstrakti verkko, jonka solmukohdat kuvaavat järjestelmän tiloja ja solmujen väliset kytkökset siirtymismahdollisuuksia tilasta toiseen. Tässä diplomityössä tilakone nimitystä käytetään tarkoittamaan äärellistä tilakonetta, koska sekaannusta ei voi tulla; engl. Finite State Automaton, FSA. Toimilaite Laite, joka toiminnallaan muokkaa ympäristönsä tilaa; esimerkiksi moottori, joka pyörittää ajoneuvon renkaita ja muuttaa siten ajoneuvon paikkaa. Täsmällis- Sumeaa logiikka hyödyntävän järjestelmän toiminto, jossa sumeasta täminen ulostulosta muokataan yksittäinen täsmällinen arvo Vihivaunu Teollisuudessa käytettävä kuljetustehtäviä automaattisesti suorittava ajoneuvo

9 1. JOHDANTO Robotiikkaa on käytetty ihmiselle yksitoikkoisten töiden automatisointiin jo luvulta saakka. Tehtävät ovat olleet enimmäkseen teollisuuden tehdasympäristöissä, joissa tuotantoympäristöt ovat usein tarkasti suunniteltavissa ja valvottavissa. Näin ollen robottijärjestelmien toimintaympäristöt ovat olleet tarkasti mallinnettavissa (esimerkiksi autotehtaan kokoonpanolinjalla tapahtuva hitsaus tai maalaustehtävä) ja niitä on voitu melko vapaasti muokata robotin vaatimuksia vastaaviksi (esimerkiksi vihivaunuja varten tehtaan lattiaan asennettavat suunnistuslangat). On kuitenkin olemassa myös vaihtelevia ja jatkuvasti muuttuvia toimintaympäristöjä eikä niihin ole mahdollista lisätä robotin toimintaa tukevaa infrastruktuuria. Havainnollisena esimerkkinä voitaisiin mainita taimistosta tai metsän harvennuksista itsenäisesti vastaavan metsätyökonerobotin työskentely-ympäristö, joka on yhtä moninainen kuin luonto ja johon on lähes mahdotonta lähteä sijoittamaan suunnistuslankoja tai mitään niihin rinnastettavaa. Tällaisissa toimintaympäristöissä käyttöön kaavailtujen robottien toiminta täytyy suunnitella itsenäisemmäksi. Viime vuosina myös ihmisten palveluun tarkoitetut robotit ovat alkaneet tehdä tuloaan oikeiksi tuotteiksi [1]. Tämän tyyppisten robottien täytyy kyetä autonomiseen toimintaan, koska ihmisten keskellä toimiminen on monelta kannalta yhtä ongelmallista kuin em. itsenäisen metsäkoneen toiminta. Lisäksi ainakin valtaosa väestöstä on mieltynyt käyttämään yksinkertaisia teknisiä laitteita, minkä vuoksi robottien itsenäisyys lisäisi huomattavasti niiden käytettävyyttä. Esimerkkeinä tämänhetkisistä kaupallisista palveluroboteista Friendly Robotics on kehittänyt autonomisen ruohonleikkurin [2] ja englantilaiselta Dysonilta on saatavissa itsenäisesti toimiva imuri kotitalouksiin [3]. Japanilaiset puolestaan loistavat viihde-elektroniikan puolella (esimerkiksi Sonyn Aibo-koira [4]) ja ovat alkaneet jopa kehittämään humanoidirobotteja (esimerkiksi Hondan Asimo ja P3 robotit [5]) tulevaisuuden yleispalvelurobottikonsepteja silmällä pitäen. Eräänlainen ulkotila-apuri on myös suunnitteilla Suomessa Teknillisen korkeakoulun Automaatiotekniikan laboratoriossa [6]. Lisäksi huomattavaa on, että palvelurobottien ja itsenäistä toimintaa vaativien teollisuuden robottisovellusten toiminnan haasteet ovat hyvin samantyyppisiä. Niiden ratkaisemiseen soveltuvat osittain saman tyyppiset menetelmät. Valitettavasti vaikuttaa siltä, että osa kaupallisiin sovelluksiin käyttöön päätyvistä menetelmistä on yllättävän alkeellisia verrattuna siihen, mitä tiedeyhteisöllä olisi tarjota. Vaikka robottisovelluksista ei haluttaisikaan kokonaan autonomisesti toimivia, voidaan osittaisen itsenäisyyden lisäämisellä laitteisiin silti esim. helpottaa metsätyökoneen ohjausta, vähentää siivousrobotin toimintaan tarvittavien puuttumisten määrää tai varmentaa vaikkapa vaarallisissa tiloissa toimivan huoltorobotin teleoperointia. Kun robottijärjestelmissä on itsessään selviytymiskyky triviaalien ja arkipäiväisten ongelmatilanteiden varalta (esimerkiksi esteiden kierron, törmäykseneston ja yleisen itsesuojelun automaattinen ja yhtäaikainen huomiointi), niin ohjaaja tai operaattori voi paremmin keskittyä varsinaiseen tehtävään. Tällöin kone suorittaa

10 automaattisesti käsillä olevan ongelman vaatimat kompensaatiot ihmisohjaajan antamiin ristiriitaisiin tai vahingollisiin käskyihin ja ohjauksiin. VTT Elektroniikan Älykkäät järjestelmät -ryhmässä käynnistyi vuoden 2001 alussa omarahoitteinen projekti AutoArt. Projektin tarkoitus on tutkia robottien autonomisoinnin mahdollisuuksia ja menetelmiä. Tämä diplomityö muodostaa kyseisen projektin osakokonaisuuden, jossa sovelletaan tekoälymenetelmiä robotin ohjauksessa. Ohjaus mahdollistaa robotin autonomisen ja järkevän toiminnan ongelmatilanteissa, esimerkiksi vaaratilanteissa tai esteiden ilmaantuessa valitulle reitille. Autonomisten robottien tutkimusta ja tuotekehitystä on tehty jo paljon luvun puolessa välissä robotin ohjaukseen liittyvässä tutkimuksessa alettiin ensimmäistä kertaa kokeilemaan radikaalisti aikaisemmasta poikkeavia lähestymistapoja (mm. Rodney Brooksin työt [7]). Tässä diplomityössä tehdään katsaus kyseisiin lähestymistapoihin. Parhaiten ohjaukseen soveltuvista menetelmistä ja arkkitehtuureista poimitaan joukko piirteitä ja näitä piirteitä hyväksikäyttäen toteutetaan esimerkinomainen ohjausjärjestelmä. Lisäksi kootaan yhteen joukko em. ohjausmenetelmien ja -arkkitehtuurien parissa työskennelleiden tutkijoiden hyväksi havaitsemia ohjenuoria suorituskykyisen, laajennettavan ja joustavan ohjausjärjestelmän rakentamiseksi. Ohjausjärjestelmällä tarkoitetaan tässä yhteydessä sitä osaa robotista, jossa ei ole mukana robotin toiminnan suunnitteluun (engl. planning) tähtääviä osia. 10

11 11 2. ROBOTIN OHJAUKSEN ESIMERKKIONGELMA Tässä diplomityössä käsitellään robotin ohjauksen ongelman ratkaisua. Ongelmaa voisi lähteä ratkaisemaan etsimällä kullekin robotille soveltuvaa omaa ohjaustapaa tai yrittää löytää yleisempiä ratkaisuja. Tässä työssä perehdytään jälkimmäisiin eli yleisesti robottiin soveltuviin ratkaisuihin. Yleisyyteen pyrkiminen pakottaa käsittelemään ohjausongelman ratkaisemista toimintalogiikan tasolla. Toimintalogiikka viittaa tässä yhteydessä ongelman jäsentämiseen ja sen ratkaisun suunnitteluun korkealla abstraktiotasolla. Tällaisella tasolla kuvatut robotin ohjauksen menetelmät ja tavat ovat toteutettavissa konkreettiseksi ohjausjärjestelmäksi useilla eri tavoilla ohjelmistoteknisesti, elektronisesti tai käyttämällä molempia. Tässä diplomityössä pyritään antamaan juuri toimintalogiikan tasolla kuva siitä, miten eri ohjausmenetelmiä ja tapoja voi hyödyntää roboteissa. Toisaalta, kun ohjausmenetelmät ja tavat ovat jo luonteeltaankin teoreettisia, johtaa niiden hyödyntämisen edellä mainitun kaltainen kuvaaminen helposti vaikeaselkoisuuteen. Sen välttämiseksi tässä kappaleessa kuvataan konkreettinen robotin ohjauksen esimerkkiongelma, jonka ratkaisuun diplomityössä rakennettavaa ohjausjärjestelmää voidaan hyödyntää. Lukijan on tarkoitus saada tästä ongelmasta kiintopiste, jonka kannalta tässä dokumentissa myöhemmin esiteltäviä asioita voi miettiä. Esimerkkiongelma liittyy robottiin, joka suorittaa tehtäviä toimistorakennuksessa. Toimistorakennus koostuu käytävistä ja niiden varrella olevista huoneista. Käytävillä saattaa olla robotin etenemistä haittaavia tilapäisiä esteitä. Käytävät ja huoneiden oviaukot saattavat olla paikoittain kynnystetyt. Robotin ei kuitenkaan tarvitse vaihtaa kerrosta eikä siten huomioida portaikkoja. Robotin tavoitteeksi asetetaan kyky tehdä yhtäaikaisesti seuraavat asiat: 1) edetä annettuun tavoitesuuntaan, 2) väistää vastaantulevat esteet, kuten laatikot ja pöydät, ja 3) kääntyä kulmista haluttuun suuntaan. Seuraavien alaotsikoiden alla esitellään kuhunkin osatavoitteeseen liittyvät ongelmat sekä tärkeimpänä osatavoitteiden yhtäaikaisen huomioimisen ongelma robotin ohjauksessa. Diplomityössä käytettävä robottialusta on nelipyöräinen ajoneuvo, jonka runkona toimii kauko-ohjattava RC-auto ja ohjausjärjestelmän laitteisto-osuutena kevyt sylimikro sekä siihen liitettävä oheiselektroniikka. Tarkempi kuvaus robottialustasta annetaan kappaleessa Osaongelma 1: tavoitesuuntaan eteneminen Osaongelmassa robotin tavoitteena on ajaa annettuun tavoitesuuntaan (Kuva 1) ja se voidaan toteuttaa esimerkiksi yksinkertaisena säätöjärjestelmänä (Kuva 2). Säätöjärjestelmä pyrkii pitämään sille annetun suunnan asetusarvon ohjaamalla robotin kääntymistä esim. kompassitiedon perusteella.

12 12 Haluttu etenemissuunta Robotin etenemissuunta Tavoitteen mukaisen ohjauksen tulos Robotin etenemissuunta Robotti Robotti Kuva 1. Ensimmäisen tavoitteen toteutuminen. asetusarvo (tavoitesuunta) + - e Säädin (esim. PID, sumea säädin tms.) robotin pyörien ohjaus Robotti robotin suunta (esim. kompassisuuntima) Kuva 2. Tavoitteen toteuttava säätöjärjestelmä Osaongelma 2: esteiden väistäminen Osaongelman tavoitteena on saada robotti väistämään sitä lähestyvät esteet. Robotti voi päätyä esim. huonon teleoperoinnin tai sille annetun toimintasuunnitelman vuoksi tilanteeseen, jossa se on ajamassa päin seinää tai vaikkapa toimistokalusteita. Ratkaisuksi pulmaan robotille pitää kehittää kyky ohjata etenemisnopeuttaan ja suuntaansa perustuen havaitsemiensa esteiden sijainteihin (estetiedot). Kun robotti on etenemässä sen on pystyttävä väistämään mieluiten etenemissuuntaansa reitillään havaitsemansa esteet (Kuva 3). Sen pitää tietenkin välttää myös osumiset muihin esteisiin, kuten seiniin. Tämä vaatii robotilta jo monimutkaisempaa päättelykykyä kuin suoraviivaisen säätöjärjestelmän, mutta monia jo olemassa olevia tekoälyyn perustuvia, säätöteknisiä ja muita ratkaisuja on hyödynnettävissä ja yhdisteltävissä esteiden väistämisen toteuttamiseksi.

13 13 Robotin etenemissuunta Este Robotti Este Robotin etenemisreitti Tavoitteen mukaisen ohjauksen tulos Robotti Kuva 3. Esteen väistäminen robotin edetessä Osaongelma 3: kääntyminen kulmista haluttuun suuntaan Robotin on pystyttävä tekemään riittävän jyrkkiä käännöksiä risteyspaikoissa, jotta se pystyisi poikkeamaan toimiston käytäviltä niiden varrella oleviin huoneisiin ja etenemään sulavasti monimutkaisempia reittejä käytävillä. Kolmantena osaongelmana on tällaisen toiminnan huomioiminen robotin ohjausjärjestelmässä. Kuva 4 hahmottaa asiaa esimerkin avulla. Robotin ylemmän tason ohjaus (esimerkiksi suunnittelujärjestelmä tai robottia teleoperoiva ihminen) huomaa, että robotin pitäisi kääntyä oikealle seuraavasta risteyksestä. Se antaa robotille käskyn muuttaa suuntaansa 90 oikealle heti, kun se on mahdollista. Sekaannuksen vaaraa ei ole, koska ennen risteystä ei ole muita reittejä oikealle. Seinä (este) loppuu robotin oikealla puolella. Se kääntyy tarpeeksi jyrkästi annettuun suuntaan, jotta saavuttaisi uuden etenemissuunnan törmäämättä muihin seiniin. Robotille annettu komento: Käänny oikealle (90 astetta) heti, kun pystyt Komennon tulos Robotti Robotti jatkaa kulkuaan komennossa annettuun suuntaan Robotin etenemisreitti Seinän loppuminen mahdollistaa kääntymisen, robotti huomaa sen ja kääntyminen käynnistyy Komento annetaan robotille Kuva 4. Kulmasta kääntyminen.

14 Osaongelma 4: tavoitteiden yhtäaikaisen täyttymisen ongelma Ongelmien yksittäistä ratkaisua vaikeampaa on saada kaikki robotin toiminnalle asetetut tavoitteet (kuten edellä mainitut tavoitesuuntaan ajaminen, esteiden väistö ja kääntyminen kulmista haluttuun suuntaan) toteutumaan yhtä aikaa. Tämä muodostaa robottijärjestelmän suunnittelun neljännen osaongelman. Esimerkkinä tavoitteiden yhtäaikaisesta toteutumisesta on tilanne, jossa robotin pitää toisaalta edetä sille asetettuun tavoitesuuntaan ja toisaalta väistää reitin varrella olevia esteitä (Kuva 5). Esteet vaativat robottia kääntymään, mutta sen pitää myös jatkaa tavoitettaan kohti. Tällaisten ristiriitaisten tilanteiden optimaaliseen ratkaisemiseen vaaditaan robotin kohdalla omat menetelmänsä, joita tässä diplomityössä erityisesti esitellään ja sovelletaan. Toisena esimerkkinä voisi toimia tilanne, jossa humanoidirobotin käsillään tekemä työ halutaan huomioida sen samanaikaisesti kävellessä, jottei se vahingossa esimerkiksi kaatuisi. Robotin etenemissuunta (tavoitesuunta) Este Useamman tavoitteen täyttävän ohjauksen tulos Robotti Robotin etenemisreitti Este Robotti Kuva 5. Useamman tavoitteen yhtäaikainen huomioiminen ohjauksessa. Useiden tavoitteiden yhtäaikaisen huomioimisen ongelma päätöksenteossa (tämän diplomityön tapauksessa ohjauksessa) on robotiikkaa yleisempi ongelma. Samanlainen ongelma on mm. seuraavilla aloilla: etologia, tekoelämä, keinotodellisuus, ohjelmistoagentit ja hahmontunnistus. [8]

15 15 3. ROBOTTIEN OHJAUSJÄRJESTELMÄT Tässä luvussa tehdään katsaus olemassa oleviin robottien ohjausjärjestelmiin. Kappaleessa 3.1 käydään läpi kolme erilaista olemassa olevaa robotin ohjausjärjestelmän toimintaperiaatetta. Kyseinen kolmijako on alalla yleisesti hyväksytty tapa kategorisoida robottien ohjausjärjestelmien toimintaperiaatteita karkealla tasolla [8 s. 3-4]. Näistä kolmesta periaatteesta valitaan se, joka sopii parhaiten järjestämättömissä ympäristöissä autonomisesti toimivien robottien ohjauksen perustaksi. Kappaleissa 3.2 ja 3.3 perehdytään aikaisempaan tutkimukseen liittyen kappaleessa 3.1 valittuun toimintaperiaatteeseen Robotin ohjausjärjestelmätyyppien luokitus Erityyppiset robottien ohjausjärjestelmät voidaan toimintalogiikkansa perusteella jakaa karkeasti kolmeen pääryhmään. Nämä ryhmät ovat suunnittelupohjaiset, käytöspohjaiset ja yhdistelmäjärjestelmät Suunnittelupohjaiset järjestelmät Suunnittelupohjaisissa järjestelmissä (engl. planning systems, deliberative systems) ideana on, että ohjaus suoritetaan valmiin suunnitelman pohjalta. Suunnitelmanlaadintayksikkö tuottaa suunnitelman perustuen robotille annettuihin tavoitteisiin ja sen ympäristöstä muodostettuun malliin. Tämän jälkeen ohjaus pelkistyy suunnitelman vaiheiden suorittamiseksi robotin toimilaitteiden kautta. Kuvassa 6 näkyy suunnittelupohjaisen järjestelmän rakenne ja toimintaidea. Tällaista jakoa järjestelmän osiin nimitetään myös toiminnalliseksi jaoksi (engl. functional decomposition). Suunnittelupohjaisia järjestelmiä on tutkittu esimerkiksi seuraavissa tapauksissa: Moravec [9], Kosaka & Kak [10] ja Pirjanian & Christensen [11]. 3. Mallintaminen tarjoaa suunnittelulle tarvittavat tiedot ympäristöstä Suunnittelu 4. Suunnittelu antaa valmiin suunnitelman suoritettavaksi Mallintaminen Suunnitelman suorittaminen Havainnointi 2. Havainnointi antaa mallintamiseen siihen sopivaa tietoa 5. Suunnitelman eri vaiheista saadaan robotin ohjauskäskyt Toimilaitteiden ohjaus 1. Havainnointi saa antureilta jalostamatonta tietoa 6. Kuten havainnointi jalostaa anturitietoa, niin toimilaitteiden ohjaus tulkkaa suunnitelman ohjauskäskyt toimilaitteiden ohjaukseksi Toimilaitteet Kuva 6. Suunnittelupohjaisen järjestelmän toiminta.

16 16 Suunnittelupohjaisten järjestelmien etuna on, että niitä voidaan analysoida matemaattisesti ja siten myös osoittaa niiden toimivuus. Jos robotti toimii järjestämättömissä ympäristöissä, jotka muuttuvat välillä nopeasti, joudutaan suunnitelma tekemään uudestaan. Koska suunnitelman laatiminen on laskennallisesti raskasta, ei sitä käytännössä voida tehdä jatkuvasti uudestaan. Sen sijaan järjestelmään voidaan lisätä poikkeustilanteita käsitteleviä osia. Näiden myötä tosin suunnittelupohjaisten järjestelmien parhaalta ominaisuudelta, niiden toimivuuden matemaattiselta todistettavuudelta, voi pudota pohja pois [12]. Suunnitteluun pohjautuvia järjestelmiä vaivaa huono vikasietoisuus niiden loogisen toiminnan tasolla. Minkä tahansa osatehtävän (esimerkiksi havainnointi tai mallintaminen) suorittamista varten voidaan varata ylimääräisiä laite- ja ohjelmistoresursseja. Niillä voidaan robotin vikaantumistilanteessa korvata alkuperäiset resurssit. Toimintalogiikan vialle varokeinoja ei ole käytettävissä. Esimerkiksi, jos mallintamisesta ei synny paikkaansa pitävä kuvaus ympäristöstä, tulee sen pohjalta tehdystä suunnitelmastakin virheellinen, eikä robotti enää toimi halutulla tavalla Käytöspohjaiset järjestelmät Käytöspohjaiset järjestelmät (engl. reactive systems, behaviour-based systems) pyrkivät ratkaisemaan suunnittelupohjaisten järjestelmien ongelmat täysin vastakkaisella lähestymistavalla robotin ohjaukseen. Tämä lähestymistapa syntyi 1980-luvun puolessa välissä (mm. Rodney Brooksin [7] esittämänä) itse asiassa juuri siitä syystä, että kappaleessa esitettyihin ongelmiin haluttiin löytää ratkaisuja. Robotin ohjausjärjestelmä jaetaan yksittäisiin loogisiin toimintayksiköihin, joita kutsutaan käytöksiksi. Kukin käytös on vastuussa robottia ohjattaessa jonkin yksittäisen tavoitteen huomioimisesta. Kuvassa 7 on karkeasti kuvattu käytöspohjaisen järjestelmän idea (järjestelmän jakoon käytöksiksi viitataan myös englannin kielisellä termillä behavioural decomposition ). Käytökset toimivat rinnakkain ja ne voivat myös toimia eri tahdilla. Voi olla järkevää esimerkiksi pitää esteiden väistö valppaampana kuin ympäristön kartoitus. Sitä, että käytökset pystyvät reagoimaan tällä tavoin nopeasti ympäristössä tapahtuviin muutoksiin, kutsutaan reaktiivisuudeksi, johon toinen englannin kielinen käytöspohjaisten järjestelmien nimityskin viittaa. Reaktiivisuudessa on myös ideana, että päätökset tehdään yleensä tässä-ja-nyt, eikä suunnitteluosaa välttämättä ole mukana reaktiivisessa käytöksessä. Yksittäisen käytöksen sisäiseen toteutukseen voi sisältyä samanlaisia toiminnallisia osia kuin esim. suunnittelupohjaisiin järjestelmiin (esim. havainnointi- ja mallinnusosat). Ne tosin keskittyvät vain käytöksen tavoitteen kannalta olennaisiin asioihin. Käytösohjattuja järjestelmiä esitellään mm. Brooksin [7], Maesin [13], Rosenblattin & Thorpen [14], Mataricin [15] ja Arkinin [16 s ] tutkimuksissa.

17 17 1. Jokainen käytös saa antureiltavaintarvitsemansa tiedot Käytös 1: Esteiden väistö 2. Jokainen käytös ohjaa toimilaitteita oman tavoitteensa mukaisesti Anturit Käytös 2: Tavoitteeseen eteneminen Toimilaitteet Käytös N: Esim. ympäristön kartoittaminen Kuva 7. Käytösohjatun järjestelmän looginen rakenne. Käytöksiin perustuvien järjestelmien ongelmana on jako käytöksiin. Yksittäiset käytökset olisi hyvä pitää sen verran yksinkertaisina, että ne säilyttävät tarpeellisen reaktiivisuuden. Toisaalta pitäisi myös huomioida, että käytökset toteuttavat yhdessä ja/tai erikseen kaikki robotille annetut tavoitteet. Tämä on vaikeaa jo senkin puolesta, että reaktiivisuudesta johtuen käytöksien yhteistoimintaa on vaikeaa analysoida teoreettisesti. Näin ollen takeet kokonaistoiminnan optimaalisuudesta tai edes tavoitteiden täyttymisestä ylipäätään tyydyttävästi jäävät saamatta. Lisäksi tavoitteiden täyttyminen ei välttämättä takaa sitä, että robotin toiminta olisi enemmän kuin tavoitteiden toteutumisen summa. Todellisten, eri vaiheita tarvitsevien tehtävien kuten reitin kulkemisen, siivouksen tai esineiden kuljetuksen määrittely robotille pelkän sopivan käytösjoukon valitsemisella on todella vaikeaa. Ilman oikeita tehtäviä robotti on täysin päämäärätön, vaikka se osaisikin hienosti väistää esteet tai ajaa annettuun suuntaan, ja soveltuu tällöin oikeastaan vain teleoperoitavaksi. Robotin tavoitehakuisuuden saavuttaminen on suurimpia käytöspohjaisen ohjauksen ongelmia. Kolmas ongelma on liittynyt siihen, että käytökset tuottavat robotille ohjauskäskyjä vain oman tavoitteensa kannalta. Ne ovat siten useimmiten ristiriitaisia muiden käytösten tuottamien ohjausten kanssa. Miten voidaan valita käytöksien tuottamista ohjauksista sellainen, että kaikki tavoitteet täyttyvät kokonaisuudessaan mahdollisimman hyvin? Kyseinen ohjauksen valinnan ongelma on sama ongelma kuin kappaleessa 2.4 mainittu useiden tavoitteiden yhtäaikainen huomioiminen päätöksenteossa. Molempiin edellisiin ongelmiin esitellään tässä diplomityössä ratkaisut perustuen aikaisempaan eri tutkijoiden tekemään tutkimukseen. Järjestelmän suunnitteluun käytöksiin jakamisen kannalta on kehitetty menetelmä (kappale 3.3.4), joka lähtee liikkeelle tavoitteista ja päättyy käytöksiin. Kyseistä menetelmää käytetään tässä diplomityössä ohjausjärjestelmän käytöksien suunnitteluun. Ohjauksen valintaa varten ohjausjärjestelmään kuuluu lisätä sen toteuttava mekanismi, joka sijoittuu muuhun järjestelmään nähden kuvan 8 osoittamalle paikalle. Tätä aihetta käsitellään enemmän kappaleissa 3.2 ja 3.3.

18 18 Käytös 1: Esteiden väistö 2. Jokainen käytös ohjaa toimilaitteita oman tavoitteensa mukaisesti Käytös 2: Tavoitteeseen eteneminen Ohjausten valinta / yhdistäminen Toimilaitteet 3. Lopullisen ohjauksen valintamekanismi valitsee toimintatavastaan riippuen useista ohjauksista yhden tai yhdistelee niistä uuden, ja välittää sen toimilaitteille Käytös N: Esim. ympäristön kartoittamine Kuva 8. Ohjauksen valinta käytöksien tuottamista ohjauksista Yhdistelmäjärjestelmät Yhdistelmäjärjestelmissä (engl. hybrid systems) pyritään yhdistämään suunnitteluun ja käytöksiin pohjautuvien järjestelmien hyvät puolet. Reaktiiviset käytökset voivat hoitaa aikakriittisiä tehtäviä samalla, kun hitaammalla tempolla erillisessä suunnitteluosassa tapahtuu suunnitelman laatiminen. Suunnitelmalla päästään eroon puhtaasti käytöspohjaisia järjestelmiä vaivaavasta päämäärättömyydestä. Tämä kahden järjestelmän toisiaan täydentävyys on suoraan verrattavissa ihmisten ja eläimien refleksien ja aivoissa tapahtuvan suunnittelun toisiaan täydentävään toimintaan. Seuraavissa kappaleissa esiteltävistä käytöspohjaisista järjestelmistä useimmat sisältävät enemmän tai vähemmän myöskin suunnitteluun liittyviä asioita. Näin ollen ne ovat tietyissä määrin myös yhdistelmäjärjestelmiä Valittu lähestymistapa Robotin ohjauksen jakaminen käytöksiin on osoittautunut menestyksekkääksi tavaksi ottaa huomioon järjestämättömän ympäristön reaaliaikaiset ja ennalta-arvaamattomat haasteet. Koska tässä diplomityössä esitellään juuri järjestämättömiin ympäristöihin tarkoitettuja robottien ohjausjärjestelmiä, on käytöspohjaisen ratkaisun valinta tutkittavaksi kohteeksi luonnollista. Diplomityössä toteutettava käytöspohjainen ohjausjärjestelmä on kuitenkin siinä mielessä myös yhdistelmäjärjestelmämäinen, että se rakennetaan vähemmän reaktiivisten suunnitteluosien myöhempää liittämistä silmälläpitäen. Kappaleissa 3.2 ja 3.3 esitellään olemassa olevia ratkaisuja robotin käytöspohjaisiksi ohjausjärjestelmiksi. Kuten kappaleessa 2.4 todettiin, on robotille asetettujen tavoitteiden ja siten eri käytösten (valittu lähestymistapa robotin ohjauksen toteuttamiseen) yhtäaikainen huomioiminen ongelmallista. Sen vuoksi aikaisemman tutkimuksen esittelyssä painotetaan niitä asioita, joilla kussakin ratkaisussa kyseinen ongelma on pyritty ratkaisemaan. Ongelmaa voidaan nimittää myös suoritettavan toiminnon valitsemisen ongelmaksi. Omia tavoitteitaan ajaen eri käytökset tuottavat erilaisia vaihtoehtoja seuraavaksi suoritettavaksi toiminnoksi ja ongelmaksi jää valita niistä se, joka sopii tilanteeseen

19 19 parhaiten. Tähän valintaan on olemassa karkeasti kaksi erilaista lähestymistapaa [8 s. 23]: yksittäisen ohjauksen valintaan ja ohjausvaihtoehtojen yhdistämiseen perustuvat ratkaisut. Kappale 3.2 esittelee ensimmäiseen ja kappale 3.3 jälkimmäiseen kategoriaan kuuluvia ratkaisuja Yksittäisen ohjauksen valinta käytöspohjaisessa ohjauksessa Yksittäisen ohjauksen valinnasta käytetään usein alalla nimitystä arbitrointi (engl. arbitration). Eräässä mielessä tämä on hieman harhaanjohtavaa. Toisaalta sana tarkoittaa välimiesmenettelyä jollaisena myös ohjausvaihtoehtojen yhdistäminen voidaan nähdä. Toisaalta taas sen yksi merkitys viittaa sovintoon, vaikka arbitrointiratkaisuissa valitaankin yksittäisen käytöksen ehdottama ohjausvaihtoehto ja siten pahimmillaan vain yhden käytöksen tavoitteen toteutuminen. Yksittäisen ohjausvaihtoehdon valintaan pohjautuvat ratkaisut voidaan edelleen luokitella [8 s ] etuoikeuksiin perustuviin (engl. priority-based), toimintatilanteiden mukaan toimiviin (engl. state-based) ja käytöksien väliseen kilpailuun pohjautuviin (engl. winnertakes-all) järjestelmiin. Yksittäisen ohjauksen valinnassa on se hyvä puoli, että ohjauksen määräytyminen voidaan ymmärtää helposti. Sen näkee suoraan kyseisen ohjauksen tehneen käytöksen toimintalogiikasta. Toisaalta taas, kun ainoastaan yksi käytös kerrallaan pääsee suoritukseen, niin myöskin ainoastaan yksi robotin tavoitteista toteutuu kerrallaan. Koska tämä on ristiriidassa kappaleessa 2.4 määritellyn robotin ohjauksen päämäärän kanssa, tullaan aiemman tutkimuksen esittelyssä painottamaan kappaletta 3.3, jonka esittelemissä menetelmissä usean tavoitteen toteutuminen otetaan huomioon. Yksittäisen ohjauksen valintaa ei kannata silti unohtaa, koska kappaleessa 3.3 selostetut menetelmät eivät yksistään ratkaise kaikkia ohjauksen ongelmia Käytöksien etuoikeuksiin pohjautuvat ratkaisut Etuoikeuspohjaisissa järjestelmissä käytöksillä on etukäteen määritelty tärkeysjärjestys. Järjestyksen mukaisesti tärkeimmän käytöksen tuottama ohjaus valitaan sitten robotin ohjaukseksi. Koulukirjaesimerkkinä etuoikeuksiin pohjautuvista ratkaisuista toimii Subsumption-arkkitehtuuri [7]. Sen on kehittänyt Rodney Brooks, jota voi pitää yhtenä käytöspohjaisen ohjauksen alkuperäisistä keksijöistä. Brooksin mallin mukaan voidaan ajatella, että robottien ohjauksessa on erilaisia pätevyystasoja (engl. level of competence). Yksinkertaisin ohjausjärjestelmä toteuttaa vain alimman tason vaatimukset (esim. robotti kykenee väistämään esteitä), kun taas monimutkaisempi voi osata huomattavasti enemmän (robotti pystyy vaeltelemaan ympäristössään jonkin tavoitteen mukaisesti jne.). Subsumptionarkkitehtuurissa on ideana, että ohjausjärjestelmä voidaan rakentaa käytöksiä vähitellen lisäillen. Sana subsume tarkoittaa omaksumista. Subsumption viittaa siihen, että Brooksin arkkitehtuurissa myöhemmin lisätyt käytökset pystyvät omaksumaan niitä aikaisemmin lisättyjen roolin. Myöhemmin lisätyt käytökset estävät tarpeellisissa tilanteissa aikaisemmin lisättyjen toiminnan korvaamalla niiden tuottaman ohjauksen omallaan. Myöhemmin lisätyillä käytöksillä on täten aina järjestelmän rakentamisvaiheessa määrätty etuoikeus aikaisemmin lisättyihin nähden.

20 20 Brooks loi Subsumption-arkkitehtuurin vaihtoehdoksi perinteiselle mallinnukseen ja suunnitteluun perustuvalle robotin ohjaukselle (ks. kappale 3.1.1). Kuvan 9 osat [7] esittävät a) perinteistä järjestelmää ja b) Subsumption-arkkitehtuuria, joka jakaa robotin ohjauksen tehtävät pienempiin ja rinnakkaisiin osiin, käytöksiin. a) Perinteisen ohjausjärjestelmän toiminnalliset osat. b) Subsumption-arkkitehtuurin toiminnalliset osat. Kuva 9. Perinteisen järjestelmän osat verrattuna Subsumption-arkkitehtuurissa esitettyyn tapaan rinnakkaistaa samat tehtävät. Järjestelmän kokoaminen vaiheittain varmentaa sen, että yksittäiset käytökset ja siten pätevyystasot voidaan rakentaa ja testata huolellisesti ennen kuin siirrytään toteuttamaan vaativampia osia. Brooks käyttää käytöksien toteutuksessa laajennettuja tilakoneita (engl. augmented finite state machines). Pätevyystason N käytöksen toteuttava tilakone on liitetty kiinteästi tason N-1 käytöksen toteuttavan tilakoneen rakenteisiin. Näin ollen järjestelmästä tulee kuitenkin sen verran kiinteä, että jos sitä halutaan muuttaa, on se rakennettava huomattavissa määrin alusta asti uudelleen. Toinen Subsumption-arkkitehtuurin ongelma liittyy siihen, että se ei sisällä mekanismia, jolla robotille voitaisiin määritellä selvät päämäärät. Robotin kokonaiskäytös perustuu tällöin pikemminkin huonosti mallinnettavaan käytöksien yhteistoimintaan ja saattaa olla liian päämäärätön, jotta se toteuttaisi mitään hyödyllistä (ks. kappale 3.1.2). Subsumption-arkkitehtuuriin liittyy myös toinen käytöspohjaisten järjestelmien perusongelma: miten tehdä sopiva jako käytöksiin (ks. kappale 3.1.2)? Jos käytökset valitaan huonosti, voi se myöhemmin johtaa edellä mainittuun järjestelmän uudelleensuunnitteluun alusta asti. Subsumption-arkkitehtuurin ongelmia on käsitellyt tarkemmin esimerkiksi Tsotsos [17]. Ongelmistaan huolimatta Brooksin alkuperäinen ajattelutapa on toiminut tärkeänä perustana käytöspohjaista ohjausta kehitettäessä. Mm. Ferrell [18] on soveltanut Subsumption-arkkitehtuuria menestyksekkäästi monimutkaisessa järjestelmässä.

21 Toimintatilanteiden mukaan toimivat ratkaisut Näissä ratkaisuissa käytöksistä aktivoidaan kulloinkin sopiva osajoukko, joka pystyy ratkaisemaan käsillä olevan tilanteen. Nämä ratkaisut kuuluvat yksittäisen ohjauksen valintaan perustuviin ratkaisuihin, koska niissäkin on suorituksessa yksi käytös kerrallaan. Pääpaino on sen sijaan siinä, miten käytösjoukkoa rajataan kaikkien käytösten joukosta. Kun rajaus on tehty, kyseisen tilanteen hoitamiseen aktivoitujen käytösten yhteistoiminta tuottaa halutun lopputuloksen. Kun tilanne on ohi, valitaan jälleen uusi osajoukko käytöksiä hoitamaan se. Esimerkkinä toimintatilanteiden mukaan toimivista ratkaisuista toimivat Discrete Event Systems ja Temporal Sequencing arkkitehtuurit [19, 20]. Ne perustuvat molemmat tilakoneiden käyttöön. Ideana on, että yksittäiset käytökset ovat omia tilakoneitaan. Tilojen välisten siirtymisten ehtoina on sekä robotin ympäristössä tapahtuvia muutoksia (esim. este ilmestyy robotin tielle) että sen itse suorittamia toimintoja (esim. robotti päättää kiihdyttää). Robotin kokonaiskäyttäytyminen saadaan halutuksi kokoamalla näistä tilakoneista sopiva yhdistelmätilakone. Erilliset käytökset ovat erotettavissa yhdistelmästä sen tilojen osajoukkoina ja niihin liittyvinä tilasiirtyminä. Kuvassa 10 [8] on esitetty esimerkki tällaisesta osajoukosta. Kyseinen käytös pyrkii ohjaamaan robotin oven toisen puolelle. Kuva 10. Oven läpikulun toteuttava käytös tilakoneisiin perustuvassa järjestelmässä. Nähdään helposti, että näissä ratkaisuissa käytökset ohjaavat robottia kukin vuorollaan. Onhan kysymys tilakoneista, joissa kukin tila vuorollaan on aktiivisena. Kukin tila vastaa jotain robotin toimintatilannetta. Vuorosiirtymät puolestaan perustuvat siihen, missä tilassa yhdistelmätilakone sattuu olemaan, koska jokaisesta tilasta ei välttämättä ole siirtymismahdollisuutta kaikkiin muihin tiloihin (ja siten niitä vastaaviin käytöksiin).

22 22 Yhdistelmätilakone ei välttämättä toimi oikein, vaikka tilakoneet, joista se on rakennettu, yksinään toimisivatkin [19]. Sen vuoksi yhdistelmätilakoneen tilojen välisistä siirtymistä pitää rajata pois ne, jotka johtavat kussakin toimintatilanteessa epätoivottuun lopputulokseen. Arkinin [20] tutkimuksessa tämä on hoidettu asettamalla rajoitukset mukaan jo yhdistelmätilakoneen muodostukseen. Koseckan [19] arkkitehtuurissa on mekanismi, jolla rajaus voidaan tehdä lennosta kuhunkin toimintatilanteeseen sopivalla tavalla: yhdistelmätilakoneen rinnalla toimii toinen tilakone. Sen tilat vastaavat robotille vastaan tulevia toimintatilanteita ja sisältävät rajoitusmääritelmiä. Määritelmä on tieto siitä, mitkä yhdistelmätilakoneen tilojen välisistä siirtymistä ovat sallittuja kyseisessä toimintatilanteessa Käytöksien väliseen kilpailuun pohjautuvat ratkaisut Kilpailuun pohjautuvissa ratkaisuissa käytökset kilpailevat jonkin periaatteen mukaisesti. Robotin ohjausvuoro annetaan kunkin kilpailukierroksen päätteeksi sen voittavalle käytökselle. Tästä periaatteesta kuvaa antaa esimerkiksi Activation Networks ratkaisu. Activation Networks [13] tai tarkemmin Spreading Activation Networks tyyppiset ratkaisut kuvaavat menetelmää, jossa käytöksien valintaan vaikuttaa niiden aktivoitumistaso. Menetelmää käyttävä järjestelmä kuvataan käytöksinä, joista jokainen suorittaa aktivoituessaan omasta näkökulmastaan tärkeitä toimia. Käytös, jolla on kulloinkin suurin aktivoitumistaso, pääsee suoritukseen. Käytöksien aktivoitumistasoon vaikuttavat järjestelmän tila ja tavoitteet sekä toiset käytökset. Maes [13] itse käyttää kyseisistä käytöksistä nimitystä kompetenssimoduuli. Jokaiselle käytökselle on määritelty ehtoja, joiden toteutuessa sen olisi tärkeää tulla valituksi, ja tavoitteita, joiden toteutumista se aktivoituneena suorittamiensa toimien välityksellä edistää tai estää. Järjestelmän suorituksen kulku koostuu kierroksista, joissa tehdään muutokset käytöksien aktivoitumistasoihin ja valitaan niistä suurimman tason saavuttanut. Jokaisella kierroksella jaetaan aktivoitumisenergiaa useammasta lähteestä. Tietty määrä aktivoitumisenergiaa jaetaan tasan niiden käytösten kesken, joiden tulee olla aktiivisina, kun järjestelmä on nykyisessä tilassaan (käytöksien aktivoitumisille määritellyt ehdot). Jokin toinen määrä aktivoitumisenergiaa jaetaan sekin tasan niiden käytösten kesken, jotka pyrkivät toimillaan edistämään järjestelmän nykyisten tavoitteiden täyttymistä. Lisäksi käytöksiltä, jotka pyrkivät toimillaan estämään nykyisten tavoitteiden toteutumista, otetaan pois yhteensä jokin kolmas määrä aktivoitumisenergiaa. Edellisten, järjestelmän ulkopuolisten aktivointilähteiden, lisäksi käytökset vaikuttavat toistensa aktivoitumisiin. Käytösten välisiä aktivoitumisenergiavirtoja kuvataan verkkorakenteella, jonka mukaan menetelmäkin on saanut nimensä. Kukin käytöksistä pyrkii antamaan lisää aktivoitumisenergiaa niille käytöksille, joiden aktivoitumisehdot käyvät toteen antavan käytöksen omien toimien seurauksena. Lisäksi kukin käytös puoltaa samalla tavoin niiden käytösten aktivoitumista, joiden toimien seurauksena käytöksen omat aktivoitumisehdot täyttyvät. Kukin käytös pyrkii myös vähentämään aktivoitumisenergiaa toisilta käytöksiltä, jotka estävät sen omien aktivoitumisehtojen toteutumista. Edellinen voidaan nähdä myös siinä valossa, että käytöksellä on oma itsenäinen tavoitteensa, joka ei sen näkökulmasta toteudu, mikäli se ei pääse suorittamaan omia toimiaan. Tällöin käytökset vähentävät toistensa akti-

23 23 voitumisenergiaa samanlaisesta syystä kuin itse järjestelmäkin, kun järjestelmä pyrkii varjelemaan sille asetettujen tavoitteiden toteutumista. Käytöksien suoritussekvenssin luo, miten aktivoitumistasot vaihtuvat kullekin käytökselle kullakin kierroksella ja mikä niistä tulee suurimman tasonsa vuoksi valituksi kullakin kierroksella. Suoritussekvenssi johtaa lopulta siihen, että järjestelmä on tavoitteittensa mukaisessa tilassa. Tämä sekvenssi riippuu syntytapansa vuoksi siitä, missä tilanteessa järjestelmä sattuu kussakin suorituksensa vaiheessa olemaan, ja on siksi joka kerralla hyvin suurella todennäköisyydellä erilainen kuin aikaisemmin. Järjestelmällä on siis tavallaan suunnitelma edetä, mutta se syntyy samalla, kun sitä suoritetaan. Toisaalta suunnitelmaa on myös vaikea ymmärtää, koska se on määritetty osittain implisiittisesti järjestelmän rakenteeseen säännöiksi siitä, miten aktivoitumisenergiamääriä muutetaan. Kuvassa 11 on esitetty yksinkertainen esimerkki verkon rakenteesta. Pallot ovat käytöksiä ja laatikot ulkoisia vaikuttavia aktivointilähteitä kuten tavoitteita ja järjestelmän tiloja. Valkoiset nuolet tarkoittavat aktivaation lisäämissuhdetta ja tummat sen aktivoinnin vähentämistä. Käytöksien väliset nuolet liittyvät järjestelmän rakenteeseen ja ovat siten kiinteitä. Tiloista käytöksiin tulevat nuolet ovat puolestaan tilapäisempiä siinä missä tilat ja tavoitteetkin. Tila: sijainti käytävällä huoneen edessä Käytös: siirry huoneeseen Käytös: suorita huonekohtainen tehtävä Käytös: navigoi huoneeseelle Käytös: poistu huoneesta Tavoite: tehtävän suorittaminen huoneessa Kuva 11. Esimerkkiverkko järjestelmän osien välisistä aktivointisuhteista. Maesin työt liittyvät pitkälti ohjelmistoagentteihin eivätkä suoraan fyysisiin agentteihin kuten robotteihin. Tässä diplomityössä tehdyssä selvityksessä epäselväksi jäi, onko menetelmää testattu kokeellisesti oikean robotin ohjaukseen, ja mitkä sen vahvuudet ja heikkoudet siinä yhteydessä ovat.

24 24 Tietyssä mielessä Activation Network konsepti muistuttaa osaa neuroverkkoina tunnetuista tekoälyn matemaattisista algoritmeista. Yhtäläisyytenä voidaan nähdä mm. se, että molemmat esitetään verkkorakenteena ja verkon osien kesken välitetään tietoa. Neuroverkoissa kuitenkaan yksittäisellä verkon osalla, neuronilla, ei ole samanlaista merkitystä kuin käytöksellä Activation Network tyyppisessä verkossa. Neuroni on vain yksittäinen tiedonkäsittely-yksikkö ja sen merkitys on yhteisvaikutuksessa, jonka sen ja muiden neuroneiden muodostama verkko saa aikaan. Käytöksellä puolestaan on sellaisenaan merkitys, koska se määrittää itsenäisesti, mitä järjestelmän tulisi kussakin tilanteessa tehdä Ohjausvaihtoehtojen yhdistäminen käytöspohjaisessa ohjauksessa Ohjausvaihtoehtojen yhdistämisestä käytetään alalla usein myös nimitystä komentofuusio. Komentofuusio-luokkaan kuuluvat menetelmät voidaan edelleen luokitella superpositioon (engl. superposition), äänestämiseen (engl. voting) ja sumeaan logiikkaan (engl. fuzzy) perustuviin menetelmiin [8 s. 25]. Niiden lisäksi oman lisäluokkansa luovat Multiple Objective Decision Making teoriaan perustuvat ratkaisut. Näihin kategorioihin kuuluvat menetelmät toteuttavat karkeasti seuraavanlaisen sekvenssin: 1) Käytökset tuottavat suosituksia seuraavaksi valittavaksi ohjausvaihtoehdoiksi. Kunkin käytöksen tuottamat suositukset ovat hyviä ennen kaikkea sen omalta kannalta. Ne toisin sanoen pyrkivät varjelemaan järjestelmän sen osatavoitteen täyttymistä, jota kyseinen käytös edustaa. 2) Järjestelmä yhdistää jollakin säännöllä eri käytöksien tuottamat suositukset. 3) Oikea ohjausvaihtoehto valitaan perustuen yhdistettyihin suosituksiin. Koska komentofuusiossa valittu ohjausvaihtoehto perustuu yhtä aikaa useamman käytöksen suosituksiin tulevat myös useammat järjestelmän tavoitteet täyttyneiksi samalla kertaa. Lopputulos on kuitenkin kompromissi toistensa kanssa ristiriidassa olevien tavoitteiden välillä, eikä aina ole intuitiivisesti selvää, miten järjestelmä päätyi kyseiseen kompromissiin Superpositioon pohjautuvat ratkaisut Superpositiossa käytökset tuottavat kukin omat ehdotuksensa ohjausvaihtoehdoksi, ja komentofuusiointi luo niistä lineaarisen yhdistelmän, kuten esimerkiksi painotetun summan. Esimerkkinä superpositioon perustuvista menetelmistä esitetään potentiaalikenttien käyttö. Niitä esittelee työssään mm. Khatib [21]. Khatibin työ ei käsittele robotin ohjauksia käytöksien avulla, mutta esittelee kuitenkin niiden toiminnan peruskonseptit. Varsinaisen linkin potentiaalikenttien ja käytöspohjaisen ohjauksen välille muodostaa Arkinin työ moottoriskeemojensa parissa [16 s ]. Khatib on menestyksekkäästi käyttänyt potentiaalikenttiä robottikäsivarren ohjauksessa esteitä väisteltäessä, ja eräät osapuolet ovat käyttäneet sitä kokonaisten robottien ohjauksessakin [8]. Arkinin skeemoja käyttävään arkkitehtuurin pohjautuva robottijoukkue voitti AAAI:n robottikilpailun vuonna 1994 [22]. Potentiaalikentissä on käsitteellisesti kysymys siitä mistä fysiikassakin ilmenevissä potentiaalikentissä. On olemassa varaus ja kenttä tosin tässä tapauksessa keinotekoinen jossa varaus liikkuu kentän siihen kohdistamien voimien vaikutuksesta.

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen mallintaminen, mallintaminen ja UML 582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti

Lisätiedot

Tiedonsiirron kokonaisoptimointi erilaisten tietoverkkojen yhteiskäytössä

Tiedonsiirron kokonaisoptimointi erilaisten tietoverkkojen yhteiskäytössä Tiedonsiirron kokonaisoptimointi erilaisten tietoverkkojen yhteiskäytössä Juuso Meriläinen 27.11.2015 Juuso Meriläinen Tiedonsiirron kokonaisoptimointi erilaisten tietoverkkojen yhteiskäytössä 1 / 11 Johdanto

Lisätiedot

UML -mallinnus TILAKAAVIO

UML -mallinnus TILAKAAVIO UML -mallinnus TILAKAAVIO SISÄLLYS 3. Tilakaavio 3.1 Tilakaavion alku- ja lopputilat 3.2 Tilan nimi, muuttujat ja toiminnot 3.3 Tilasiirtymä 3.4 Tilasiirtymän vai tilan toiminnot 3.5 Tilasiirtymän tapahtumat

Lisätiedot

DIPLOMITYÖ ARI KORHONEN

DIPLOMITYÖ ARI KORHONEN DIPLOMITYÖ ARI KORHONEN TEKNILLINEN KORKEAKOULU Diplomityö Tietotekniikan osasto 20.5.1997 Ari Korhonen WORLD WIDE WEB (WWW) TIETORAKENTEIDEN JA ALGORITMIEN TIETOKONEAVUSTEISESSA OPETUKSESSA Työn valvoja

Lisätiedot

Ohjelmistojen suunnittelu

Ohjelmistojen suunnittelu Ohjelmistojen suunnittelu 581259 Ohjelmistotuotanto 154 Ohjelmistojen suunnittelu Software design is a creative activity in which you identify software components and their relationships, based on a customer

Lisätiedot

S11-09 Control System for an. Autonomous Household Robot Platform

S11-09 Control System for an. Autonomous Household Robot Platform 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

Lisätiedot

FI Moninaisuudessaan yhtenäinen FI A8-0005/4. Tarkistus

FI Moninaisuudessaan yhtenäinen FI A8-0005/4. Tarkistus 8.2.2017 A8-0005/4 4 Jean-Luc Schaffhauser 1 kohta kehottaa komissiota ehdottamaan kyberfyysisille järjestelmille, autonomisille järjestelmille, älykkäille autonomisille roboteille ja niiden alaluokille

Lisätiedot

FI Moninaisuudessaan yhtenäinen FI. Tarkistus. Beatrix von Storch EFDD-ryhmän puolesta

FI Moninaisuudessaan yhtenäinen FI. Tarkistus. Beatrix von Storch EFDD-ryhmän puolesta 9.2.2017 A8-0005/9 9 1 a kohta (uusi) 1 a. kehottaa komissiota ehdottamaan seuraavia yhteisiä unionin määritelmiä: tekoäly on tietokonejärjestelmä, joka pystyy jäljittelemään osaa ihmisen kognitiivisista

Lisätiedot

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari Alkuraportti Avoimen lähdekoodin käyttö WWW-sovelluspalvelujen toteutuksessa Lappeenranta, 30.3.2008,

Lisätiedot

Tilastotiede ottaa aivoon

Tilastotiede ottaa aivoon Tilastotiede ottaa aivoon kuinka aivoja voidaan mallintaa todennäköisyyslaskennalla, ja mitä yllättävää hyötyä siitä voi olla Aapo Hyvärinen Laskennallisen data-analyysin professori Matematiikan ja tilastotieteen

Lisätiedot

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...

Lisätiedot

Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään

Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään Ohjelmointi Ohjelmoinnissa koneelle annetaan tarkkoja käskyjä siitä, mitä koneen tulisi tehdä. Ohjelmointikieliä on olemassa useita satoja. Ohjelmoinnissa on oleellista asioiden hyvä suunnittelu etukäteen.

Lisätiedot

Vuorekseen liittyvä tutkimusja kehitysprojekti. Langaton Vuores. Kotikatupalvelin

Vuorekseen liittyvä tutkimusja kehitysprojekti. Langaton Vuores. Kotikatupalvelin Vuorekseen liittyvä tutkimusja kehitysprojekti Langaton Vuores Kotikatupalvelin Tutkimuksen tausta Langaton tietoliikenne on arkipäivää Personoidut päätelaitteet (taskutietokone, matkapuhelin, kannettava

Lisätiedot

Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014

Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014 Yhtälönratkaisusta Johanna Rämö, Helsingin yliopisto 22. syyskuuta 2014 Yhtälönratkaisu on koulusta tuttua, mutta usein sitä tehdään mekaanisesti sen kummempia ajattelematta. Jotta pystytään ratkaisemaan

Lisätiedot

Loppuraportti. Virtuaali-Frami, CAVE-ohjelmisto. Harri Mähönen projektiassistentti Seinäjoen ammattikorkeakoulu. Versio

Loppuraportti. Virtuaali-Frami, CAVE-ohjelmisto. Harri Mähönen projektiassistentti Seinäjoen ammattikorkeakoulu. Versio 1 Loppuraportti Virtuaali-Frami, CAVE-ohjelmisto Harri Mähönen projektiassistentti Seinäjoen ammattikorkeakoulu Versio 1.0 15.1.2006 2 Sisällys Tiivistelmä... 3 1 Johdanto... 4 1.1 Dokumentin tarkoitus...

Lisätiedot

Mikä on internet, miten se toimii? Mauri Heinonen

Mikä on internet, miten se toimii? Mauri Heinonen Mikä on internet, miten se toimii? Mauri Heinonen Mikä on Internet? Verkkojen verkko Muodostettu liittämällä lukuisia aliverkkoja suuremmaksi verkoksi Sivustojen tekemiseen käytetään kuvauskielta HTML

Lisätiedot

Tilastotiede ottaa aivoon

Tilastotiede ottaa aivoon Tilastotiede ottaa aivoon kuinka aivoja voidaan mallintaa todennäköisyyslaskennalla, ja mitä yllättävää hyötyä siitä voi olla Aapo Hyvärinen Laskennallisen data-analyysin professori Matematiikan ja tilastotieteen

Lisätiedot

Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko,

Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko, Tehtävä 1 : 1 a) Olkoon G heikosti yhtenäinen suunnattu verkko, jossa on yhteensä n solmua. Määritelmän nojalla verkko G S on yhtenäinen, jolloin verkoksi T voidaan valita jokin verkon G S virittävä alipuu.

Lisätiedot

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT KOULUTUKSEN KOHDERYHMÄ SISÄLTÖ Koulutuksen tavoitteena on antaa opiskelijalle valmiudet uusien tietoteknisten menetelmien ja välineiden hyödyntämiseen.

Lisätiedot

Ohjelmistojen mallintaminen

Ohjelmistojen mallintaminen Ohjelmistojen mallintaminen - Mallit - Ohjelmiston kuvaaminen malleilla 31.10.2008 Harri Laine 1 Malli: abstraktio jostain kohteesta Abstrahointi: asian ilmaiseminen tavalla, joka tuo esiin tietystä näkökulmasta

Lisätiedot

Uponor C-46 -lämmönsäädin. Säätilan mukaan kompensoituva ohjain vesikiertoisiin lämmitys- ja jäähdytysjärjestelmiin

Uponor C-46 -lämmönsäädin. Säätilan mukaan kompensoituva ohjain vesikiertoisiin lämmitys- ja jäähdytysjärjestelmiin Uponor C-46 -lämmönsäädin Säätilan mukaan kompensoituva ohjain vesikiertoisiin lämmitys- ja jäähdytysjärjestelmiin Tuotteen kuvaus Luovaa tekniikkaa helppo asentaa ja käsitellä Uponorin C-46-lämmönsäädin

Lisätiedot

Tietotekniikan valintakoe

Tietotekniikan valintakoe Jyväskylän yliopisto Tietotekniikan laitos Tietotekniikan valintakoe 2..22 Vastaa kahteen seuraavista kolmesta tehtävästä. Kukin tehtävä arvostellaan kokonaislukuasteikolla - 25. Jos vastaat useampaan

Lisätiedot

Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki

Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki Malliperustainen ohjelmistokehitys - MDE 25.9.2007 Pasi Lehtimäki MDE Miksi MDE? Mitä on MDE? MDA, mallit, mallimuunnokset Ohjelmistoja Eclipse, MetaCase Mitä jatkossa? Akronyymiviidakko MDE, MDA, MDD,

Lisätiedot

Automaatio ja robotiikka arjessa

Automaatio ja robotiikka arjessa Automaatio ja robotiikka arjessa Jari Saarinen Aalto yliopisto, sähkötekniikan korkeakoulu Automaatio ja systeemitekniikan laitos Geneeristen älykkäiden koneiden huippuyksikkö Aalto University, based on

Lisätiedot

Ongelma(t): Voiko älykkyyden määritellä ja voiko sitä mitata, myös objektiivisesti? Onko älykkyyttä ilman (näkyvää) toimintaa? Voiko kone olla älykäs

Ongelma(t): Voiko älykkyyden määritellä ja voiko sitä mitata, myös objektiivisesti? Onko älykkyyttä ilman (näkyvää) toimintaa? Voiko kone olla älykäs Ongelma(t): Voiko älykkyyden määritellä ja voiko sitä mitata, myös objektiivisesti? Onko älykkyyttä ilman (näkyvää) toimintaa? Voiko kone olla älykäs ja jos voi, niin tulisiko sellainen rakentaa? 2012-2013

Lisätiedot

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010 TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta Yliassistentti Jussi Hakanen jussi.hakanen@jyu.fi syksy 2010 Optimaalisuus: objektiavaruus f 2 min Z = f(s) Parhaat arvot alhaalla ja vasemmalla

Lisätiedot

Verkkopokerijärjestelmä. Loppuraportti Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008

Verkkopokerijärjestelmä. Loppuraportti Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008 Verkkopokerijärjestelmä Loppuraportti Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008 Projektiryhmä Samuli Aalto-Setälä Jukka Kekälainen Jarno Kyykkä Mika Mielonen Mårten Smeds Otto Waltari Ohjaaja

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 4 Jatkuvuus Jatkuvan funktion määritelmä Tarkastellaan funktiota f x) jossakin tietyssä pisteessä x 0. Tämä funktio on tässä pisteessä joko jatkuva tai epäjatkuva. Jatkuvuuden

Lisätiedot

Harjoitustyön testaus. Juha Taina

Harjoitustyön testaus. Juha Taina Harjoitustyön testaus Juha Taina 1. Johdanto Ohjelman teko on muutakin kuin koodausta. Oleellinen osa on selvittää, että ohjelma toimii oikein. Tätä sanotaan ohjelman validoinniksi. Eräs keino validoida

Lisätiedot

Liikehavaintojen estimointi langattomissa lähiverkoissa. Diplomityöseminaari Jukka Ahola

Liikehavaintojen estimointi langattomissa lähiverkoissa. Diplomityöseminaari Jukka Ahola Liikehavaintojen estimointi langattomissa lähiverkoissa Diplomityöseminaari Jukka Ahola ESITYKSEN SISÄLTÖ Työn tausta Tavoitteen asettelu Johdanto Liikehavaintojen jakaminen langattomassa mesh-verkossa

Lisätiedot

Tutkittua tietoa. Tutkittua tietoa 1

Tutkittua tietoa. Tutkittua tietoa 1 Tutkittua tietoa T. Dybå, T. Dingsøyr: Empirical Studies of Agile Software Development : A Systematic Review. Information and Software Technology 50, 2008, 833-859. J.E. Hannay, T. Dybå, E. Arisholm, D.I.K.

Lisätiedot

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014 Työpaja Työpaja on vertaisarviointiin soveltuva työkalu. Työpaja mahdollistaa töiden palautuksen ja niiden jakelun opiskelijoiden arvioitavaksi sekä arvioinnin antamisen. Laita Muokkaustila päälle ja lisää

Lisätiedot

Agenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi

Agenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi 1. Luento: Sulautetut Järjestelmät Arto Salminen, arto.salminen@tut.fi Agenda Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu

Lisätiedot

TIE Tietorakenteet ja algoritmit 1. TIE Tietorakenteet ja algoritmit

TIE Tietorakenteet ja algoritmit 1. TIE Tietorakenteet ja algoritmit TIE-20100 Tietorakenteet ja algoritmit 1 TIE-20100 Tietorakenteet ja algoritmit TIE-20100 Tietorakenteet ja algoritmit 2 Lähteet Luentomoniste pohjautuu vahvasti prof. Antti Valmarin vanhaan luentomonisteeseen

Lisätiedot

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä Rekursiolause Laskennan teorian opintopiiri Sebastian Björkqvist 23. helmikuuta 2014 Tiivistelmä Työssä käydään läpi itsereplikoituvien ohjelmien toimintaa sekä esitetään ja todistetaan rekursiolause,

Lisätiedot

Verkko-oppiminen: Teoriasta malleihin ja hyviin käytäntöihin. Marleena Ahonen. TieVie-koulutus Jyväskylän lähiseminaari

Verkko-oppiminen: Teoriasta malleihin ja hyviin käytäntöihin. Marleena Ahonen. TieVie-koulutus Jyväskylän lähiseminaari Verkko-oppiminen: Teoriasta malleihin ja hyviin käytäntöihin Marleena Ahonen TieVie-koulutus Jyväskylän lähiseminaari Virtuaaliyliopistohankkeen taustaa: - Tavoitteena koota verkko-oppimisen alueen ajankohtaista

Lisätiedot

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

The OWL-S are not what they seem

The OWL-S are not what they seem The OWL-S are not what they seem...vai ovatko? Verkkopalveluiden koostamisen ontologia OWL-S Seminaariesitelmä 15.4.2013 Emilia Hjelm Internet on hankala Nykyinternet on dokumenttien verkko Asiat, joita

Lisätiedot

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014 18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

Evolutiivisesti stabiilin strategian oppiminen

Evolutiivisesti stabiilin strategian oppiminen Evolutiivisesti stabiilin strategian oppiminen Janne Laitonen 8.10.2008 Maynard Smith: s. 54-60 Johdanto Käytös voi usein olla opittua perityn sijasta Tyypillistä käytöksen muuttuminen ja riippuvuus aikaisemmista

Lisätiedot

kertaa samat järjestykseen lukkarissa.

kertaa samat järjestykseen lukkarissa. Opetuksen toistuva varaus ryhmällee TY10S11 - Tästä tulee pitkä esimerkki, sillä pyrin nyt melko yksityiskohtaisesti kuvaamaan sen osion mikä syntyy tiedon hakemisesta vuosisuunnittelusta, sen tiedon kirjaamiseen

Lisätiedot

Harjoitus 6 ( )

Harjoitus 6 ( ) Harjoitus 6 (30.4.2014) Tehtävä 1 Määritelmän (ks. luentomoniste s. 109) mukaan yleisen, muotoa min f(x) s.t. g(x) 0 h(x) = 0 x X (1) olevan optimointitehtävän Lagrangen duaali on max θ(u,v) s.t. u 0,

Lisätiedot

Laskut käyvät hermoille

Laskut käyvät hermoille Laskut käyvät hermoille - Miten ja miksi aivoissa lasketaan todennäköisyyksiä Aapo Hyvärinen Matematiikan ja tilastotieteen laitos & Tietojenkäsittelytieteen laitos Helsingin Yliopisto Tieteen päivät 13.1.2011

Lisätiedot

Parasta ammunnanharjoitteluun

Parasta ammunnanharjoitteluun Parasta ammunnanharjoitteluun Edut Objektiivinen suorituskykyanalyysi Tarkka mittaus Kompakti, kevyt ja helppokäyttöinen Yleiskiinnike useimpiin urheiluaseisiin Helppo kohdistus Todellinen ammuntaetäisyys

Lisätiedot

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14 Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2

Lisätiedot

OPPIMISTEHTÄVÄT. Tietojen hyödyntäminen suunnittelussa ja johtamisessa -verkkokoulutus TEAviisari

OPPIMISTEHTÄVÄT. Tietojen hyödyntäminen suunnittelussa ja johtamisessa -verkkokoulutus TEAviisari OPPIMISTEHTÄVÄT Tietojen hyödyntäminen suunnittelussa ja johtamisessa -verkkokoulutus TEAviisari Ohjeita verkkokoulutuksen käyttöön Aloitus Pääset oppimisalustalle osoitteessa: www.teaviisari.fi/verkkokoulu

Lisätiedot

Ohjelmistoprosessit ja ohjelmistojen laatu Kevät Ohjelmistoprosessit ja ohjelmistojen laatu. Projektinhallinnan laadunvarmistus

Ohjelmistoprosessit ja ohjelmistojen laatu Kevät Ohjelmistoprosessit ja ohjelmistojen laatu. Projektinhallinnan laadunvarmistus LAADUNVARMISTUS 135 Projektinhallinnan laadunvarmistus Projektinhallinnan laadunvarmistus tukee ohjelmistoprojektien ohjaus- ja ylläpitotehtäviä. Projektinhallinnan laadunvarmistustehtäviin kuuluvat seuraavat:

Lisätiedot

Paloilmoitusjärjestelmän laajennusratkaisu - Sinteso Move

Paloilmoitusjärjestelmän laajennusratkaisu - Sinteso Move www.siemens.fi/paloturvallisuus Paloilmoitusjärjestelmän laajennusratkaisu - Sinteso Move Yhdistä nykyinen paloilmoitusjärjestelmäsi Sintesoon. Se on palontorjunnan uusi ulottuvuus. Infrastructure & Cities

Lisätiedot

2. Olio-ohjelmoinnin perusteita 2.1

2. Olio-ohjelmoinnin perusteita 2.1 2. Olio-ohjelmoinnin perusteita 2.1 Sisällys Esitellään peruskäsitteitä yleisellä tasolla: Luokat ja oliot. Käsitteet, luokat ja oliot. Attribuutit, olion tila ja identiteetti. Metodit ja viestit. Olioperustainen

Lisätiedot

Alkukartoitus Opiskeluvalmiudet

Alkukartoitus Opiskeluvalmiudet Alkukartoitus Opiskeluvalmiudet Päivämäärä.. Oppilaitos.. Nimi.. Tehtävä 1 Millainen kielenoppija sinä olet? Merkitse rastilla (x) lauseet, jotka kertovat sinun tyylistäsi oppia ja käyttää kieltä. 1. Muistan

Lisätiedot

S09 04 Kohteiden tunnistaminen 3D datasta

S09 04 Kohteiden tunnistaminen 3D datasta AS 0.3200 Automaatio ja systeemitekniikan projektityöt S09 04 Kohteiden tunnistaminen 3D datasta Loppuraportti 22.5.2009 Akseli Korhonen 1. Projektin esittely Projektin tavoitteena oli algoritmin kehittäminen

Lisätiedot

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Copyright by Haikala. Ohjelmistotuotannon osa-alueet Copyright by Haikala Ohjelmistotuotannon osa-alueet Ohjelmiston elinkaari 1. Esitutkimus, tarvekartoitus, kokonaissuunnittelu, järjestelmäsuunnittelu (feasibility study, requirement study, preliminary

Lisätiedot

Hieman lisää malleista ja niiden hyödyntämisestä

Hieman lisää malleista ja niiden hyödyntämisestä Hieman lisää malleista ja niiden hyödyntämisestä Ohjelmistojen mallintaminen Kesä 2012 (Avoin yliopisto) Toni Ruokolainen, 23.8.2012 Mallit Mallit ovat todellisuuden abstraktioita, jotka on muodostettu

Lisätiedot

Enterprise SOA. Nyt. Systeemi-integraattorin näkökulma

Enterprise SOA. Nyt. Systeemi-integraattorin näkökulma Enterprise SOA. Nyt. Systeemi-integraattorin näkökulma 12.11.2007 Janne J. Korhonen 12.11.2007 Agenda 1. Prosessit ja palvelut, BPM ja SOA 2. BPM-projekteista yleensä 3. Prosessin elinkaarimalli 4. Kokemuksia

Lisätiedot

Harjoitus 3 (3.4.2014)

Harjoitus 3 (3.4.2014) Harjoitus 3 (3..) Tehtävä Olkoon kaaren paino c ij suurin sallittu korkeus tieosuudella (i, j). Etsitään reitti solmusta s solmuun t siten, että reitin suurin sallittu korkeus pienimmillään olisi mahdollisimman

Lisätiedot

Työelämäyhteydet uudistuvassa korkeakoulutuksessa seminaari Sessio 3. Kirsti Keltikangas, Aalto-yliopiston Sähkötekniikan korkeakoulu

Työelämäyhteydet uudistuvassa korkeakoulutuksessa seminaari Sessio 3. Kirsti Keltikangas, Aalto-yliopiston Sähkötekniikan korkeakoulu Automaation ja sähkötekniikan maisteriohjelman Projektityökurssi-case Työelämäyhteydet uudistuvassa korkeakoulutuksessa seminaari 10.10.2016 Sessio 3 Kirsti Keltikangas, Aalto-yliopiston Sähkötekniikan

Lisätiedot

työryhmien SharePoint-yhteistyötä helpottava ratkaisu

työryhmien SharePoint-yhteistyötä helpottava ratkaisu työryhmien SharePoint-yhteistyötä helpottava ratkaisu LIIKKEENJOHDON SUURIN HAASTE Modernin yrityksen on muutoksen kyydissä pysyäkseen suunniteltava tehokas strategia ja seurattava sitä. Siinä piilee kuitenkin

Lisätiedot

Yhteisöllisen toimintatavan jalkauttaminen!

Yhteisöllisen toimintatavan jalkauttaminen! Yhteisöllisen toimintatavan jalkauttaminen! Käyttöönoton vaiheet Yrityksen liiketoimintatavoitteet Yhteisöllisen toimintatavan käyttöalueet Työkalut Hyödyt yritykselle Hyödyt ryhmälle Hyödyt itselle Miten

Lisätiedot

Agentit ja semanttinen web. Pekka Halonen

Agentit ja semanttinen web. Pekka Halonen Agentit ja semanttinen web Pekka Halonen Henkilökohtainen agentti Aika lääkäriin Agentti toteaa, että käyttäjä tarvitsee lääkäriä Pyytää lääkäriaikoja hoitavan agentin kautta pääsyä ko. vaivaa hoitavalle

Lisätiedot

Sähkötekniikan tutkintoohjelma. DI-tutkinto ja uranäkymät

Sähkötekniikan tutkintoohjelma. DI-tutkinto ja uranäkymät Sähkötekniikan tutkintoohjelma DI-tutkinto ja uranäkymät Tervetuloa opiskelemaan sähkötekniikkaa Oulun yliopistoon! ITEE RESEARCH UNITS Tutkinto-ohjelman tuottajat CAS CIRCUITS AND SYSTEMS PROF. JUHA KOSTAMOVAARA

Lisätiedot

Rajapinnasta ei voida muodostaa olioita. Voidaan käyttää tunnuksen tyyppinä. Rajapinta on kuitenkin abstraktia luokkaa selvästi abstraktimpi tyyppi.

Rajapinnasta ei voida muodostaa olioita. Voidaan käyttää tunnuksen tyyppinä. Rajapinta on kuitenkin abstraktia luokkaa selvästi abstraktimpi tyyppi. 11. Rajapinnat 11.1 Sisällys Johdanto. Abstrakti luokka vai rajapinta? Rajapintojen hyötyjä. Kuinka rajapinnat määritellään ja otetaan käyttöön? Eläin, nisäkäs, kissa ja rajapinta. Moniperiytyminen rajapintojen

Lisätiedot

4.2 Sulkuyhtälöt ja joustavuus

4.2 Sulkuyhtälöt ja joustavuus 4.2 Sulkuyhtälöt ja joustavuus Oppitunnin rakenne: - Kertaus ja kotitehtävät ( min) - Esimerkki 1 (10 min) - Tehtävät (2min) - Koonti ja ryhmäarviointi ( min) Oppitunnin tavoitteet - Analysoidaan ja tuotetaan

Lisätiedot

Uusi, kestävä tapa valaistuksen tarkasteluun

Uusi, kestävä tapa valaistuksen tarkasteluun itza Kestää aikaa Uusi, kestävä tapa valaistuksen tarkasteluun Itza kestää aikaa. Led-tekniikalle suunnitellun ja uusimmalla häikäisysuojatekniikalla ja optimoidulla rakenteella varustetun Itzan käyttöikä

Lisätiedot

Ohjelmistotekniikan menetelmät, UML

Ohjelmistotekniikan menetelmät, UML 582101 - Ohjelmistotekniikan menetelmät, UML 1 Sisältö DFD- ja sidosryhmäkaavioiden kertaus Oliomallinnus UML:än kaaviotyypit 2 Tietovuokaaviot Data flow diagrams, DFD Historiallisesti käytetyin kuvaustekniikka

Lisätiedot

MONOGRAFIAN KIRJOITTAMINEN. Pertti Alasuutari

MONOGRAFIAN KIRJOITTAMINEN. Pertti Alasuutari MONOGRAFIAN KIRJOITTAMINEN Pertti Alasuutari Lyhyt kuvaus Monografia koostuu kolmesta pääosasta: 1. Johdantoluku 2. Sisältöluvut 3. Päätäntäluku Lyhyt kuvaus Yksittäinen luku koostuu kolmesta osasta

Lisätiedot

Oppimistavoitematriisi

Oppimistavoitematriisi Oppimistavoitematriisi Lineaarialgebra ja matriisilaskenta I Esitiedot Arvosanaan 1 2 riittävät Arvosanaan 3 4 riittävät Arvosanaan 5 riittävät Yhtälöryhmät (YR) Osaan ratkaista ensimmäisen asteen yhtälöitä

Lisätiedot

Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely

Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely 582101 - Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely 1 Vaatimukset ja käyttötapaukset Vaiheittainen mallintaminen ja abstraktiotasot Järjestelmän rajaaminen sidosryhmäkaaviolla

Lisätiedot

Tietoturvallisuus yhteiskunnan, yritysten ja yksityishenkilöiden kannalta

Tietoturvallisuus yhteiskunnan, yritysten ja yksityishenkilöiden kannalta Tietoturvallisuus yhteiskunnan, yritysten ja yksityishenkilöiden kannalta Sähköurakoitsijapäivät 21.11.2013 Kari Wirman 7.11.2013 Kari Wirman 21.11.2013 Kari Wirman, ICT-pooli Tieto Tieto on nyky-yhteiskunnan

Lisätiedot

OHJELMISTOKEHITYS -suuntautumisvaihtoehto

OHJELMISTOKEHITYS -suuntautumisvaihtoehto OHJELMISTOKEHITYS -suuntautumisvaihtoehto Suuntautumisvaihtoehdon esittely 1. vuoden opiskelijoille Kari Laitinen www.oamk.fi/~karil/opetus.html Ohjelmistokehitys -opintosuunnan valitsevista henkilöistä

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op FT Ari Viinikainen Tietokoneen rakenne Keskusyksikkö, CPU Keskusmuisti Aritmeettislooginen yksikkö I/O-laitteet Kontrolliyksikkö Tyypillinen Von Neumann

Lisätiedot

Simulation and modeling for quality and reliability (valmiin työn esittely) Aleksi Seppänen

Simulation and modeling for quality and reliability (valmiin työn esittely) Aleksi Seppänen Simulation and modeling for quality and reliability (valmiin työn esittely) Aleksi Seppänen 16.06.2014 Ohjaaja: Urho Honkanen Valvoja: Prof. Harri Ehtamo Työn saa tallentaa ja julkistaa Aalto-yliopiston

Lisätiedot

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Sami Hokuni 12 Syyskuuta, 2012 1/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Turun Yliopisto. Gradu tehty 2012 kevään

Lisätiedot

Tee-se-itse -tekoäly

Tee-se-itse -tekoäly Tee-se-itse -tekoäly Avainsanat: koneoppiminen, tekoäly, neuroverkko Luokkataso: 6.-9. luokka, lukio, yliopisto Välineet: kynä, muistilappuja tai kertakäyttömukeja, herneitä tms. pieniä esineitä Kuvaus:

Lisätiedot

Harjoitus 6 ( )

Harjoitus 6 ( ) Harjoitus 6 (21.4.2015) Tehtävä 1 Määritelmän (ks. luentomoniste s. 109) mukaan yleisen, muotoa min f(x) s. t. g(x) 0 h(x) = 0 x X olevan optimointitehtävän Lagrangen duaali on missä max θ(u, v) s. t.

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services Järjestelmäarkkitehtuuri (TK081702) Standardoidutu tapa integroida sovelluksia Internetin kautta avointen protokollien ja rajapintojen avulla. tekniikka mahdollista ITjärjestelmien liittämiseen yrityskumppaneiden

Lisätiedot

Selvitys aiemmin hankitun osaamisen tunnustamisen ja tunnistamisen (AHOT) prosesseista korkeakouluissa

Selvitys aiemmin hankitun osaamisen tunnustamisen ja tunnistamisen (AHOT) prosesseista korkeakouluissa Selvitys aiemmin hankitun osaamisen tunnustamisen ja tunnistamisen (AHOT) prosesseista korkeakouluissa Pia Mikkola Korkeakoulu- ja tiedepolitiikan osasto 2.11.2017 Mitä halutaan selvittää? AHOT-prosessi

Lisätiedot

83450 Internetin verkkotekniikat, kevät 2002 Tutkielma <Aihe>

83450 Internetin verkkotekniikat, kevät 2002 Tutkielma <Aihe> 83450 Internetin verkkotekniikat, kevät 2002 Tutkielma TTKK 83450 Internetin verkkotekniikat Tekijät: Ryhmän nro:

Lisätiedot

Tehtävä: FIL Tiedostopolut

Tehtävä: FIL Tiedostopolut Tehtävä: FIL Tiedostopolut finnish BOI 2015, päivä 2. Muistiraja: 256 MB. 1.05.2015 Jarkka pitää vaarallisesta elämästä. Hän juoksee saksien kanssa, lähettää ratkaisuja kisatehtäviin testaamatta esimerkkisyötteillä

Lisätiedot

Königsbergin sillat. Königsberg 1700-luvulla. Leonhard Euler ( )

Königsbergin sillat. Königsberg 1700-luvulla. Leonhard Euler ( ) Königsbergin sillat 1700-luvun Königsbergin (nykyisen Kaliningradin) läpi virtasi joki, jonka ylitti seitsemän siltaa. Sanotaan, että kaupungin asukkaat yrittivät löytää reittiä, joka lähtisi heidän kotoaan,

Lisätiedot

Sisällys. 11. Rajapinnat. Johdanto. Johdanto

Sisällys. 11. Rajapinnat. Johdanto. Johdanto Sisällys 11. ajapinnat. bstrakti luokka vai rajapinta? ajapintojen hyötyjä. Kuinka rajapinnat määritellään ja otetaan käyttöön? Eläin, nisäkäs, kissa ja rajapinta. Moniperiytyminen rajapintojen avulla.

Lisätiedot

Uudelleenkäytön jako kahteen

Uudelleenkäytön jako kahteen Uudelleenkäyttö Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim. windows-käyttöliittymä) On arvioitu, että 60-80% ohjelmistosta

Lisätiedot

Testaajan eettiset periaatteet

Testaajan eettiset periaatteet Testaajan eettiset periaatteet Eettiset periaatteet ovat nousseet esille monien ammattiryhmien toiminnan yhteydessä. Tämä kalvosarja esittelee 2010-luvun testaajan työssä sovellettavia eettisiä periaatteita.

Lisätiedot

Johdanto. Rough Sets. Peruskäsitteitä

Johdanto. Rough Sets. Peruskäsitteitä Johdanto Rough Sets "The central problem of our age is how to act decisively in the absence of certainty" B Russel, 1940 Rough sets on 1980-luvun alussa Puolassa (Z Pawlak) kehitetty epävarmuutta ja epämääräisyyttä

Lisätiedot

Tarina-tehtävän ratkaisu

Tarina-tehtävän ratkaisu - tämä on esimerkki siitä, kuinka Pähkinä-lehdessä julkaistavia Tarina-tehtäviä ratkaistaan - tarkoitus ei ole esittää kaikkein nokkelinta ratkaisua, vaan vain tapa, jolla tehtävä ratkeaa Tehtävä: Pääsiäiskortit

Lisätiedot

Pikapaketti logiikkaan

Pikapaketti logiikkaan Pikapaketti logiikkaan Tämän oppimateriaalin tarkoituksena on tutustua pikaisesti matemaattiseen logiikkaan. Oppimateriaalin asioita tarvitaan projektin tekemisessä. Kiinnostuneet voivat lukea lisää myös

Lisätiedot

Määrittelydokumentti

Määrittelydokumentti Määrittelydokumentti Aineopintojen harjoitustyö: Tietorakenteet ja algoritmit (alkukesä) Sami Korhonen 014021868 sami.korhonen@helsinki. Tietojenkäsittelytieteen laitos Helsingin yliopisto 23. kesäkuuta

Lisätiedot

Malliratkaisut Demot

Malliratkaisut Demot Malliratkaisut Demot 5 10.4.2017 Tehtävä 1 x 2 7 0,7 9,8 6 5 4 x 1 x 2 7 x 1 x 2 1 3 2 x 1 0 4,3 x 1 9 1 0,0 x 2 0 9,0 1 2 3 4 5 6 7 8 9 x 1 Kuva 1: Tehtävän 1 sallittu joukko S Optimointitehtävän sallittu

Lisätiedot

Joonas Haapala Ohjaaja: DI Heikki Puustinen Valvoja: Prof. Kai Virtanen

Joonas Haapala Ohjaaja: DI Heikki Puustinen Valvoja: Prof. Kai Virtanen Hävittäjälentokoneen reitin suunnittelussa käytettävän dynaamisen ja monitavoitteisen verkko-optimointitehtävän ratkaiseminen A*-algoritmilla (valmiin työn esittely) Joonas Haapala 8.6.2015 Ohjaaja: DI

Lisätiedot

S14 09 Sisäpeltorobotti AS Automaatio ja systeemitekniikan projektityöt. Antti Kulpakko, Mikko Ikonen

S14 09 Sisäpeltorobotti AS Automaatio ja systeemitekniikan projektityöt. Antti Kulpakko, Mikko Ikonen S14 09 Sisäpeltorobotti AS 0.3200 Automaatio ja systeemitekniikan projektityöt Antti Kulpakko, Mikko Ikonen 1. Projektin tavoitteet Projektin tavoitteena on toteuttaa ohjelmisto sisäpeltorobottiin seuraavien

Lisätiedot

ARVIOINTI Esiopetuksen opsin perusteissa

ARVIOINTI Esiopetuksen opsin perusteissa ARVIOINTI Esiopetuksen opsin perusteissa OPStuki 2016 TYÖPAJA 3 Rauma 23.9.2015 Esiopetuksen opetussuunnitelman perusteet: luku 4.2. Arviointi opetuksen ja oppimisen tukena Opetushallituksen esiopetuksen

Lisätiedot

KÄYTTÄJÄKOKEMUKSEN PERUSTEET, TIE-04100, SYKSY 2014. Käyttäjätutkimus ja käsitteellinen suunnittelu. Järjestelmän nimi. versio 1.0

KÄYTTÄJÄKOKEMUKSEN PERUSTEET, TIE-04100, SYKSY 2014. Käyttäjätutkimus ja käsitteellinen suunnittelu. Järjestelmän nimi. versio 1.0 KÄYTTÄJÄKOKEMUKSEN PERUSTEET, TIE-04100, SYKSY 2014 Käyttäjätutkimus ja käsitteellinen suunnittelu Järjestelmän nimi versio 1.0 Jakelu: Tulostettu: 201543 Samuli Hirvonen samuli.hirvonen@student.tut.fi

Lisätiedot

GA & robot path planning. Janne Haapsaari AUTO Geneettiset algoritmit

GA & robot path planning. Janne Haapsaari AUTO Geneettiset algoritmit GA & robot path planning Janne Haapsaari AUTO3070 - Geneettiset algoritmit GA robotiikassa Sovelluksia liikkeen optimoinnissa: * eri vapausasteisten robottien liikeratojen optimointi * autonomisten robottien

Lisätiedot

Verkkokoulutus ja uuden oppimiskulttuurin luominen. TieVie-kouluttajakoulutus Helsinki Pirjo Ståhle

Verkkokoulutus ja uuden oppimiskulttuurin luominen. TieVie-kouluttajakoulutus Helsinki Pirjo Ståhle Verkkokoulutus ja uuden oppimiskulttuurin luominen TieVie-kouluttajakoulutus Helsinki 8.11.2002 Pirjo Ståhle Organisaation tieto- ja toimintaympäristöt Suhteet avoin tiedonvaihto mekaaninen orgaaninen

Lisätiedot

LISÄOHJEITA DIPLOMITYÖN TEKEMISEEN

LISÄOHJEITA DIPLOMITYÖN TEKEMISEEN LISÄOHJEITA DIPLOMITYÖN TEKEMISEEN TÄYDENTÄMÄÄN OSASTON DIPLOMITYÖOHJETTA http://www.ee.oulu.fi/opiskelu/lomakkeet/diplomity%f6/diplomity%f6n.teko-ohjeet.pdf Prof. Mika Ylianttila Informaationkäsittelyn

Lisätiedot

Oppimistavoitematriisi

Oppimistavoitematriisi Oppimistavoitematriisi Lineaarialgebra ja matriisilaskenta I Arvosanaan 1 2 riittävät Arvosanaan 5 riittävät Yhtälöryhmät (YR) Osaan ratkaista ensimmäisen asteen yhtälöitä ja yhtälöpareja Osaan muokata

Lisätiedot

PROJEKTIAVUSTUKSEN (C) TOIMINTASELOSTELOMAKKEEN RAY3707 TÄYTTÖOHJE. Yleistä... 1

PROJEKTIAVUSTUKSEN (C) TOIMINTASELOSTELOMAKKEEN RAY3707 TÄYTTÖOHJE. Yleistä... 1 OHJE 1 (5) PROJEKTIAVUSTUKSEN (C) TOIMINTASELOSTELOMAKKEEN RAY3707 TÄYTTÖOHJE Yleistä... 1 1 Projektin perustiedot... 1 2 Projektin toteutus ja eteneminen... 2 3 Projektin seuranta ja arviointi... 3 4

Lisätiedot

Laaja-alainen, opiskelijalähtöinen ja projektiperusteinen opetussuunnitelma, case Monitori

Laaja-alainen, opiskelijalähtöinen ja projektiperusteinen opetussuunnitelma, case Monitori Laaja-alainen, opiskelijalähtöinen ja projektiperusteinen opetussuunnitelma, case Monitori Insinöörikoulutuksen Foorumi 2012 Seminaariesitelmä Timo Turunen ja Matti Welin Monitori koulutusalarajat ylittävä

Lisätiedot

Tekoäly ja sen soveltaminen yrityksissä. Mika Rantonen

Tekoäly ja sen soveltaminen yrityksissä. Mika Rantonen Tekoäly ja sen soveltaminen yrityksissä Mika Rantonen Tekoäly- paljon puhetta, mistä kyse? Lyhyesti sanottuna: tekoäly on sellaista koneen tekemää toimintaa, joka ihmisen tekemänä olisi älykästä Otetaan

Lisätiedot