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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

83450 Internetin verkkotekniikat, kevät 2002 Tutkielma

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

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

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

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

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

Tutkintojen, oppimäärien ja muiden osaamiskokonaisuuksien sijoittuminen vaativuustasoille

Tutkintojen, oppimäärien ja muiden osaamiskokonaisuuksien sijoittuminen vaativuustasoille Tutkintojen, oppimäärien ja muiden osaamiskokonaisuuksien sijoittuminen vaativuustasoille Liite Kansallinen vaativuustaso / eurooppalaisen tutkintojen viitekehyksen taso Taso1 Tutkinnot, oppimäärät ja

Lisätiedot

Software engineering

Software engineering Software engineering Alkuperäinen määritelmä: Naur P., Randell B. (eds.): Software Engineering: A Report on A Conference Sponsored by the NATO Science Committee, NATO, 1968: The establishment and use of

Lisätiedot

Toiminnallinen turvallisuus

Toiminnallinen turvallisuus Toiminnallinen turvallisuus Mitä uutta standardeissa IEC 61508 Tekn.lis. Matti Sundquist, Sundcon Oy www.sundcon.fi matti.sundquist@sundcon.fi Mitä uutta standardeissa IEC 61508-1 ja -4? IEC 61508-1 (yleistä):

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

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

Koodaamme uutta todellisuutta FM Maarit Savolainen https://blog.edu.turku.fi/matikkaajakoodausta/

Koodaamme uutta todellisuutta FM Maarit Savolainen https://blog.edu.turku.fi/matikkaajakoodausta/ Koodaamme uutta todellisuutta FM Maarit Savolainen 19.1.2017 https://blog.edu.turku.fi/matikkaajakoodausta/ Mitä on koodaaminen? Koodaus on puhetta tietokoneille. Koodaus on käskyjen antamista tietokoneelle.

Lisätiedot

voimavaroja. Kehittämishankkeen koordinaattori tarvitsee aikaa hankkeen suunnitteluun ja kehittämistyön toteuttamiseen. Kehittämistyöhön osallistuvill

voimavaroja. Kehittämishankkeen koordinaattori tarvitsee aikaa hankkeen suunnitteluun ja kehittämistyön toteuttamiseen. Kehittämistyöhön osallistuvill Niemi, Petri. 2006. Kehittämishankkeen toteuttaminen peruskoulussa toimintatutkimuksellisen kehittämishankkeen kuvaus ja arviointi. Turun yliopiston kasvatustieteellisen tiedekunnan lisensiaatintutkimus.

Lisätiedot

Rakennusautomaation käytettävyys. Rakennusautomaatioseminaari 30.5.2013 Sami Karjalainen, VTT

Rakennusautomaation käytettävyys. Rakennusautomaatioseminaari 30.5.2013 Sami Karjalainen, VTT Rakennusautomaation käytettävyys Rakennusautomaatioseminaari 30.5.2013 Sami Karjalainen, VTT 2 Oma tausta Perusinsinööri DI, lvi-tekniikka, TKK 1993 Herääminen käytettävyysasioihin noin 2002 Tekniikan

Lisätiedot

Pauliina Munter/Suvi Junes Tampereen yliopisto / Tietohallinto Valitse muokkaustila päälle kurssialueen etusivun oikean yläkulman painikkeesta.

Pauliina Munter/Suvi Junes Tampereen yliopisto / Tietohallinto Valitse muokkaustila päälle kurssialueen etusivun oikean yläkulman painikkeesta. Sanasto Sanasto -työkalulla voi laatia sanakirjan tapaisen sanaston, jonka hakusanoja (käsitteitä ja niiden määritelmiä) voidaan selata ja opettajan niin halutessa myös kommentoida. Sekä opettaja että

Lisätiedot

Oppimistavoitteet kurssilla Rinnakkaisohjelmointi

Oppimistavoitteet kurssilla Rinnakkaisohjelmointi 17.5.2006 1/5 Oppimistavoitteet kurssilla Rinnakkaisohjelmointi Rinnakkaisuus ja rinnakkaisuuden soveltaminen tietojenkäsittelyjärjestelmissä Kurssin Tietokoneen toiminta perusteella ymmärtää, miten ohjelman

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

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

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

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

L models. Käyttöohje. Ryhmä Rajoitteiset

L models. Käyttöohje. Ryhmä Rajoitteiset Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Käyttöohje Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset 0.1

Lisätiedot

Logiikka 1/5 Sisältö ESITIEDOT:

Logiikka 1/5 Sisältö ESITIEDOT: Logiikka 1/5 Sisältö Formaali logiikka Luonnollinen logiikka muodostaa perustan arkielämän päättelyille. Sen käyttö on intuitiivista ja usein tiedostamatonta. Mikäli logiikka halutaan täsmällistää esimerkiksi

Lisätiedot

Luku 8. Aluekyselyt. 8.1 Summataulukko

Luku 8. Aluekyselyt. 8.1 Summataulukko Luku 8 Aluekyselyt Aluekysely on tiettyä taulukon väliä koskeva kysely. Tyypillisiä aluekyselyitä ovat, mikä on taulukon välin lukujen summa tai pienin luku välillä. Esimerkiksi seuraavassa taulukossa

Lisätiedot

Standardit osana käyttäjäkeskeistä suunnittelua

Standardit osana käyttäjäkeskeistä suunnittelua Standardit osana käyttäjäkeskeistä suunnittelua 20.4.2006 Mikä on standardi? sovittu tapa tehdä jokin asia saatetaan tarkoittaa asian määrittelevää normatiivista asiakirjaa varmistetaan esim. Euroopassa

Lisätiedot

Tieto- ja viestintätekniikka. Internetistä toimiva työväline 1,5 osp (YV10TV2) (HUOM! Ei datanomeille)

Tieto- ja viestintätekniikka. Internetistä toimiva työväline 1,5 osp (YV10TV2) (HUOM! Ei datanomeille) Kuvaukset 1 (5) Tieto- ja viestintätekniikka Internetistä toimiva työväline 1,5 osp (YV10TV2) (HUOM! Ei datanomeille) Tavoitteet omaksuu verkko-oppimisympäristön ja sähköpostin keskeiset toiminnot tutustuu

Lisätiedot

Tiedostojen jakaminen turvallisesti

Tiedostojen jakaminen turvallisesti Tiedostojen jakaminen turvallisesti Taustaa Tiedostojen jakaminen sähköisesti (File Sharing) on ollut joissakin organisaatioissa ongelmallista hallita. Jaettaviksi halutut viestit ovat liitetiedostoineen

Lisätiedot

Suoritusten seuranta ja opiskelijan edistyminen

Suoritusten seuranta ja opiskelijan edistyminen Suoritusten seuranta ja opiskelijan edistyminen Opettaja voi halutessaan ottaa käyttöön toiminnon, jossa hän määrittelee etenemispolun opintojaksolle. Hän voi jokaisen aktiviteetin kohdalla määritellä

Lisätiedot

OPPIMISKYVYKKYYS DIGITALISOITUVASSA MAAILMASSA

OPPIMISKYVYKKYYS DIGITALISOITUVASSA MAAILMASSA OPPIMISKYVYKKYYS DIGITALISOITUVASSA MAAILMASSA Sisältö Ihmisen oppiminen ja ohjautuvuus Ihminen digitalisoituvassa elinympäristössä Oleellisen oppimiskyvykkyys, mikä meitä vie? Yhteistyötä yrityksissä

Lisätiedot

MAINOSVIESTIN KOHDENTAMINEN ANTURIDATAN AVULLA

MAINOSVIESTIN KOHDENTAMINEN ANTURIDATAN AVULLA MAINOSVIESTIN KOHDENTAMINEN ANTURIDATAN AVULLA IOT:N SOVELTAMINEN DIGITAALISESSA MARKKINOINTIVIESTINNÄSSÄ Jidoka Technologies Oy - IoT Seminaari 14.4.2016 1 JIDOKA TECHNOLOGIES OY Perustettu 2008 Pirkanmaalle;

Lisätiedot

AFCEA 3.11.2009 PVTO2010 Taistelija / S4

AFCEA 3.11.2009 PVTO2010 Taistelija / S4 AFCEA 3.11.2009 PVTO2010 Taistelija / S4 -Jukka Lotvonen -Vice President, Government Solutions -NetHawk Oyj NetHawk Government Solutions PRIVILEGED Your Wireless Forces NetHawk in Brief - Complete solutions

Lisätiedot

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä

Lisätiedot

DownLink Shared Channel in the 3 rd Generation Base Station

DownLink Shared Channel in the 3 rd Generation Base Station S-38.110 Diplomityöseminaari DownLink Shared hannel in the 3 rd Diplomityön tekijä: Valvoja: rofessori Samuli Aalto Ohjaaja: Insinööri Jari Laasonen Suorituspaikka: Nokia Networks 1 Seminaarityön sisällysluettelo

Lisätiedot

Σ!3674. Advanced Test Automation for Complex Software-Intensive Systems

Σ!3674. Advanced Test Automation for Complex Software-Intensive Systems Advanced Test Automation for Complex Software-Intensive Systems = Advanced Test Automation for Complex Software- Intensive Systems Pääteemana kompleksisten ja erittäin konfiguroitavien softaintensiivisten

Lisätiedot

etunimi, sukunimi ja opiskelijanumero ja näillä

etunimi, sukunimi ja opiskelijanumero ja näillä Sisällys 1. Algoritmi Algoritmin määritelmä. Aiheen pariin johdatteleva esimerkki. ja operaatiot (sijoitus, aritmetiikka ja vertailu). Algoritmista ohjelmaksi. 1.1 1.2 Algoritmin määritelmä Ohjelmointi

Lisätiedot

Matematiikan tukikurssi, kurssikerta 2

Matematiikan tukikurssi, kurssikerta 2 Matematiikan tukikurssi kurssikerta 1 Relaatioista Oletetaan kaksi alkiota a ja b. Näistä kumpikin kuuluu johonkin tiettyyn joukkoon mahdollisesti ne kuuluvat eri joukkoihin; merkitään a A ja b B. Voidaan

Lisätiedot

Suoritusten seuranta ja opiskelijan edistyminen

Suoritusten seuranta ja opiskelijan edistyminen Suoritusten seuranta ja opiskelijan edistyminen Opettaja voi halutessaan ottaa käyttöön toiminnon, jossa hän määrittelee etenemispolun opintojaksolle. Hän voi jokaisen aktiviteetin kohdalla määritellä

Lisätiedot

Standardi IEC Ohjelmisto

Standardi IEC Ohjelmisto Sundcon Oy Standardi IEC 61508 3 Ohjelmisto muutokset Matti Sundquist Sundcon Oy www.sundcon.fi Standardi IEC 61508 3 (1) Standardissa di esitetään vaatimukset niiden tietojen ja menettelytapojen valmisteluun,

Lisätiedot

Ulkoiset laitteet. Asiakirjan osanumero: Tässä oppaassa kerrotaan lisävarusteena saatavien ulkoisten laitteiden käytöstä.

Ulkoiset laitteet. Asiakirjan osanumero: Tässä oppaassa kerrotaan lisävarusteena saatavien ulkoisten laitteiden käytöstä. Ulkoiset laitteet Asiakirjan osanumero: 393499-351 Lokakuu 2005 Tässä oppaassa kerrotaan lisävarusteena saatavien ulkoisten laitteiden käytöstä. Sisällysluettelo 1 USB-laitteen käyttäminen USB-laitteen

Lisätiedot

1 Määrittelyjä ja aputuloksia

1 Määrittelyjä ja aputuloksia 1 Määrittelyjä ja aputuloksia 1.1 Supremum ja infimum Aluksi kerrataan pienimmän ylärajan (supremum) ja suurimman alarajan (infimum) perusominaisuuksia ja esitetään muutamia myöhemmissä todistuksissa tarvittavia

Lisätiedot

NELJÄ HELPPOA TAPAA TEHDÄ TYÖNTEKIJÖIDEN TYÖSTÄ JOUSTAVAMPAA

NELJÄ HELPPOA TAPAA TEHDÄ TYÖNTEKIJÖIDEN TYÖSTÄ JOUSTAVAMPAA NELJÄ HELPPOA TAPAA TEHDÄ TYÖNTEKIJÖIDEN TYÖSTÄ JOUSTAVAMPAA Vie yrityksesi pidemmälle Olitpa yrityksesi nykyisestä suorituskyvystä mitä mieltä tahansa, jokainen yritysorganisaatio pystyy parantamaan tuottavuuttaan

Lisätiedot

Lustotiedon kokoaminen arkistoihin ja asiantuntijajärjestelmiin. Mauri Timonen

Lustotiedon kokoaminen arkistoihin ja asiantuntijajärjestelmiin. Mauri Timonen Lustotiedon kokoaminen arkistoihin ja asiantuntijajärjestelmiin Mauri Timonen 3.4.2014 1 Tieto on osattava jäsentää kehitettäessä lustotietoa hyödyntävää asiantuntijajärjestelmää. Hyvän lähtökohdan 2 antaa

Lisätiedot

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Ohjelmistojen mallintaminen. Luento 11, 7.12. Ohjelmistojen mallintaminen Luento 11, 7.12. Viime viikolla... Oliosuunnittelun yleiset periaatteet Single responsibility eli luokilla vain yksi vastuu Program to an interface, not to concrete implementation,

Lisätiedot

isomeerejä yhteensä yhdeksän kappaletta.

isomeerejä yhteensä yhdeksän kappaletta. Tehtävä 2 : 1 Esitetään aluksi eräitä havaintoja. Jokaisella n Z + symbolilla H (n) merkitään kaikkien niiden verkkojen joukkoa, jotka vastaavat jotakin tehtävänannon ehtojen mukaista alkaanin hiiliketjua

Lisätiedot

ENE-C3001 Energiasysteemit

ENE-C3001 Energiasysteemit ENE-C3001 Energiasysteemit Tervetuloa kurssille! Kari Alanne Kurssin henkilökunta Vanhempi yliopistonlehtori Dosentti, TkT Kari Alanne Aalto-yliopisto, Energiatekniikan laitos kari.alanne@aalto.fi Puhelin

Lisätiedot

RANTALA SARI: Sairaanhoitajan eettisten ohjeiden tunnettavuus ja niiden käyttö hoitotyön tukena sisätautien vuodeosastolla

RANTALA SARI: Sairaanhoitajan eettisten ohjeiden tunnettavuus ja niiden käyttö hoitotyön tukena sisätautien vuodeosastolla TURUN YLIOPISTO Hoitotieteen laitos RANTALA SARI: Sairaanhoitajan eettisten ohjeiden tunnettavuus ja niiden käyttö hoitotyön tukena sisätautien vuodeosastolla Pro gradu -tutkielma, 34 sivua, 10 liitesivua

Lisätiedot

Akateemisen ajattelun alkeiskurssi

Akateemisen ajattelun alkeiskurssi CHEM-A1600: Aalto-kurssi, 3 op Akateemisen ajattelun alkeiskurssi sami.franssila@aalto.fi 11.9-4.12.2015: 12 kertaa Mitä ajattelu on? Ajattelua on se hukka-aika, joka kuluu jonkun näkemisestä siihen kun

Lisätiedot

Cover letter and responses to reviewers

Cover letter and responses to reviewers Cover letter and responses to reviewers David E. Laaksonen, MD, PhD, MPH Department of Medicine Kuopio University Hospital Kuopio, Finland Luennon sisältö Peer review Vinkit vastineiden kirjoittamista

Lisätiedot

Trust Gamer Kit PCI TRUST GAMER KIT PCI. Pika-asennusohje. Versio 1.0

Trust Gamer Kit PCI TRUST GAMER KIT PCI. Pika-asennusohje. Versio 1.0 TRUST GAMER KIT PCI Pika-asennusohje Versio 1.0 1 1. Johdanto Tämä käyttöohje on tarkoitettu Trust Gamer Kit PCI -tuotteen käyttäjille. Tuotteen asentamisessa tarvitaan jonkin verran kokemusta tietokoneista.

Lisätiedot

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus: Dokumentaatio, osa 1 Tehtävämäärittely Kirjoitetaan lyhyt kuvaus toteutettavasta ohjelmasta. Kuvaus tarkentuu myöhemmin, aluksi dokumentoidaan vain ideat, joiden pohjalta työtä lähdetään tekemään. Kuvaus

Lisätiedot

Vapaapäivien optimointi

Vapaapäivien optimointi Mat-2.4177 Operaatiotutkimuksen projektityöseminaari Vapaapäivien optimointi Väliraportti, 4.4.2014 Asiakas: Computational Intelligence Oy Projektiryhmä: Teemu Kinnunen (projektipäällikkö) Ilari Vähä-Pietilä

Lisätiedot

Matematiikan tukikurssi, kurssikerta 3

Matematiikan tukikurssi, kurssikerta 3 Matematiikan tukikurssi, kurssikerta 3 1 Epäyhtälöitä Aivan aluksi lienee syytä esittää luvun itseisarvon määritelmä: { x kun x 0 x = x kun x < 0 Siispä esimerkiksi 10 = 10 ja 10 = 10. Seuraavaksi listaus

Lisätiedot

Monimutkaisesta datasta yksinkertaiseen päätöksentekoon. SAP Finug, Emil Ackerman, Quva Oy

Monimutkaisesta datasta yksinkertaiseen päätöksentekoon. SAP Finug, Emil Ackerman, Quva Oy Monimutkaisesta datasta yksinkertaiseen päätöksentekoon SAP Finug, 9.9.2015 Emil Ackerman, Quva Oy Quva Oy lyhyesti Quva kehittää innovatiivisia tapoja teollisuuden automaation lisäämiseksi Internetin

Lisätiedot

Käytönjohtajan tehtävät ja tehtävien jako standardin SFS 6002 mukaan

Käytönjohtajan tehtävät ja tehtävien jako standardin SFS 6002 mukaan Käytönjohtajan tehtävät ja tehtävien jako standardin SFS 6002 mukaan - Käyttötöiden vastuuhenkilöt ja ammattitaitovaatimukset - Käytönjohtajan tehtävät - Käyttöä valvovan henkilön tehtävät - Hätätoimenpiteet

Lisätiedot

TUKIMATERIAALI: Arvosanan kahdeksan alle jäävä osaaminen

TUKIMATERIAALI: Arvosanan kahdeksan alle jäävä osaaminen 1 FYSIIKKA Fysiikan päättöarvioinnin kriteerit arvosanalle 8 ja niitä täydentävä tukimateriaali Opetuksen tavoite Merkitys, arvot ja asenteet T1 kannustaa ja innostaa oppilasta fysiikan opiskeluun T2 ohjata

Lisätiedot

2.4. Oppimistyyleistä

2.4. Oppimistyyleistä 2.4. Oppimistyyleistä 1. Käytännölliset Näin ajattelevilla todellisuus koostuu siitä, mitä he aistivat näkemällä, koskettamalla, kuulemalla, haistamalla ja maistamalla. He huomaavat ja pystyvät palauttamaan

Lisätiedot

Asennus Windows 2000 ja XP -käyttöjärjestelmiin

Asennus Windows 2000 ja XP -käyttöjärjestelmiin PU007V2 Sweex 1 portin rinnakkainen & 2 portin sarja PCI-kortti Johdanto Älä altista PU007V2-korttia äärilämpötiloille. Älä aseta laitetta suoraan auringonvaloon tai sulje lämmityselementtejä. Älä käytä

Lisätiedot

verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari

verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari Tehtävä 9 : 1 Merkitään kirjaimella G tehtäväpaperin kuvan vasemmanpuoleista verkkoa sekä kirjaimella H tehtäväpaperin kuvan oikeanpuoleista verkkoa. Kuvan perusteella voidaan havaita, että verkko G on

Lisätiedot

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Kurssin sisältö pääpiirteittäin Tarvittavat pohjatiedot Avainsanat Abstraktio Esimerkkiohjelman tehtäväkuvaus Abstraktion käyttö tehtävässä Abstrakti tietotyyppi Hyötyjä ADT:n

Lisätiedot

AHOT- käytäntöjen jalkauttaminen ja jalkautuminen Savoniaammattikorkeakoulussa

AHOT- käytäntöjen jalkauttaminen ja jalkautuminen Savoniaammattikorkeakoulussa AHOT- käytäntöjen jalkauttaminen ja jalkautuminen Savoniaammattikorkeakoulussa Anna-Leena Ruotsalainen AHOT:lla eli aiemmin hankitun osaamisen tunnistamisella ja tunnustamisella tarkoitetaan opiskelijan

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 Evoluutiopohjainen monitavoiteoptimointi MCDM ja EMO Monitavoiteoptimointi kuuluu

Lisätiedot

Pisteytysohje loppuraporttien vertaisarviointiin

Pisteytysohje loppuraporttien vertaisarviointiin Pisteytysohje loppuraporttien vertaisarviointiin Pisteytys olettaa kaikkien kuvattujen vaatimusten täyttymistä pistemäärän saavuttamiseksi. Esimerkiksi: Raportti täyttää rakenteen ja kieliasun osalta kaikki

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 1 Määrittelyjoukoista Tarkastellaan funktiota, jonka määrittelevä yhtälö on f(x) = x. Jos funktion lähtöjoukoksi määrittelee vaikkapa suljetun välin [0, 1], on funktio

Lisätiedot

Lause 5. (s. 50). Olkoot A ja B joukkoja. Tällöin seuraavat ehdot ovat

Lause 5. (s. 50). Olkoot A ja B joukkoja. Tällöin seuraavat ehdot ovat jen Kahden joukon A ja B samuutta todistettaessa kannattaa usein osoittaa, että A on B:n osajoukko ja että B on A:n osajoukko. Tällöin sovelletaan implikaation ja ekvivalenssin yhteyttä. Lause 5. (s. 50).

Lisätiedot

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit Ohjelmiston testaus ja laatu Ohjelmistotekniikka elinkaarimallit Vesiputousmalli - 1 Esitutkimus Määrittely mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot millainen järjestelmä täyttää

Lisätiedot

Liikennetutkimuksen osaaminen Suomessa Oulun yliopisto

Liikennetutkimuksen osaaminen Suomessa Oulun yliopisto Virtuaalinen liikenteen tutkimuskeskus 16.2.2012 BANK, Unioninkatu 20, Helsinki Liikennetutkimuksen osaaminen Suomessa Oulun yliopisto Rauno Heikkilä, Oulun yliopisto Esityksen sisältö Tutkimusyksikön

Lisätiedot

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014 Tietokanta Tietokanta on työkalu, jolla opettaja ja opiskelijat voivat julkaista tiedostoja, tekstejä, kuvia ja linkkejä alueella. Opettaja määrittelee lomakkeen muotoon kentät, joiden kautta opiskelijat

Lisätiedot

ELEC-C1110 Automaatio- ja systeemitekniikan. Luento 11 Esimerkki automaation soveltamisesta

ELEC-C1110 Automaatio- ja systeemitekniikan. Luento 11 Esimerkki automaation soveltamisesta ELEC-C1110 Automaatio- ja systeemitekniikan perusteet Luento 11 Esimerkki automaation soveltamisesta Tämän luennon aihe Esimerkki automaation soveltamisesta käytännössä: WorkPartner-palvelurobotti WorkPartner

Lisätiedot

Kohdekiinteistöjen RAU-järjestelmien analyysi verrattuna AU-luokitukseen

Kohdekiinteistöjen RAU-järjestelmien analyysi verrattuna AU-luokitukseen Kohdekiinteistöjen RAU-järjestelmien analyysi verrattuna AU-luokitukseen Tavoitteiden avulla kohti parempaa automaatiota Sakari Uusitalo Sami Mikkola Rakennusautomaation energiatehokkuusluokitus Standardissa

Lisätiedot

Tapausriskien arviointiin tuotiin uudet kysymykset, jotka liittyvät vain yhteen yksittäiseen tapaukseen.

Tapausriskien arviointiin tuotiin uudet kysymykset, jotka liittyvät vain yhteen yksittäiseen tapaukseen. Tapausriskien arviointiin tuotiin uudet kysymykset, jotka liittyvät vain yhteen yksittäiseen tapaukseen. 38 Todellinen menetelmä on itse asiassa periaatteiden tasolla, ja kuvan matriisi on vain yksi esimerkki

Lisätiedot

Työssäoppimisen toteutuksen suunnittelu omassa opetussuunnitelmassa. Työelämälähtöisen ammatillisen koulutuksen ajankohtaispäivä 3.2.

Työssäoppimisen toteutuksen suunnittelu omassa opetussuunnitelmassa. Työelämälähtöisen ammatillisen koulutuksen ajankohtaispäivä 3.2. Työssäoppimisen toteutuksen suunnittelu omassa opetussuunnitelmassa Työelämälähtöisen ammatillisen koulutuksen ajankohtaispäivä 3.2.2014 Työssäoppiminen laissa (630/1998)ja asetuksessa (811/1998) koulutuksesta

Lisätiedot

Kontrollipolkujen määrä

Kontrollipolkujen määrä Testaus Yleistä Testaus on suunnitelmallista virheiden etsimistä Tuotantoprosessissa ohjelmaan jää aina virheitä, käytettävistä menetelmistä huolimatta Hyvät menetelmät, kuten katselmoinnit pienentävät

Lisätiedot

Scientific Method Mistä on kysymys?

Scientific Method Mistä on kysymys? Scientific Method Mistä on kysymys? Janne Rautasuo 29.11.2016 Länsi-Uudenmaan pelastuslaitos Västra Nylands räddningsverk Länsi-Uusimaa Department for Rescue Services 29.11.2016 1 Palontutkinnasta kuultua

Lisätiedot

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten Ratkaisuehdotelma Tehtävä 1 1. Etsi lukujen 4655 ja 12075 suurin yhteinen tekijä ja lausu se kyseisten lukujen lineaarikombinaationa ilman laskimen

Lisätiedot

T kevät 2007 Laskennallisen logiikan jatkokurssi Laskuharjoitus 1 Ratkaisut

T kevät 2007 Laskennallisen logiikan jatkokurssi Laskuharjoitus 1 Ratkaisut T-79.5101 kevät 2007 Laskennallisen logiikan jatkokurssi Laskuharjoitus 1 Ratkaisut 1. Jokaiselle toteutuvalle lauselogiikan lauseelle voidaan etsiä malli taulumenetelmällä merkitsemällä lause taulun juureen

Lisätiedot

SOHO - Training Course Sigulda, Latvia

SOHO - Training Course Sigulda, Latvia 1 SOHO - Training Course 16.-20.10.2013 Sigulda, Latvia Eija Kauniskangas Keravan nuorisopalvelut eija.kauniskangas@kerava.fi p. 040 3182196 2 SOHO - European Training Course Siguldassa, Latviassa pidetty

Lisätiedot

Ethical Leadership and Management symposium

Ethical Leadership and Management symposium www.laurea.fi Ethical Leadership and Management symposium Hyvinvointipalvelut ekosysteemien tietojen mallintaminen 6.10.2016 Dos. Jorma Jokela 2 3 MORFEUS hanke WORKSHOP työskentelyn taustalla yliopettaja

Lisätiedot

ISOISÄNSILTA URAKAN TIETOMALLIVAATIMUKSET, -BONUKSET JA -SANKTIOT BONUS- JA SANKTIOJÄRJESTELMÄ,

ISOISÄNSILTA URAKAN TIETOMALLIVAATIMUKSET, -BONUKSET JA -SANKTIOT BONUS- JA SANKTIOJÄRJESTELMÄ, ISOISÄNSILTA URAKAN TIETOMALLIVAATIMUKSET, -BONUKSET JA -SANKTIOT BONUS- JA SANKTIOJÄRJESTELMÄ, 2.10.2013 HELSINGIN KAUPUNKI Yleistä Nämä tietomallivaatimukset, -bonukset ja -sanktiot koskevat Isoisänsiltaa

Lisätiedot

AUTOMAATIOTEKNIIKAN KOULUTUSOHJELMA

AUTOMAATIOTEKNIIKAN KOULUTUSOHJELMA AUTOMAATIOTEKNIIKAN KOULUTUSOHJELMA Suomen teollisuuden kilpailukyky perustuu yhä enemmän tietotaitoon. Automaation avulla osaaminen voidaan hyödyntää tehostuvana tuotantona. Automaatiotekniikan koulutusohjelman

Lisätiedot

Harjoitus 5 ( )

Harjoitus 5 ( ) Harjoitus 5 (14.4.2015) Tehtävä 1 Figure 1: Tehtävän 1 sallittu joukko S. Optimointitehtävän sallittu alue S on pisteiden (0, 0), (0, 7), (4, 3), (9, 8) ja (9, 0) määräämä viisikulmio. Kyseinen alue saadaan

Lisätiedot

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Liite 1: skenaariot ja PoC tulokset 1. Palvelun kehittäjän näkökulma Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Palvelun uusi versio on Palveluiden kehittäminen voitava asentaa tuotantoon vaikeutuu

Lisätiedot

OPINTOJAKSOJA KOSKEVAT MUUTOKSET/MATEMATIIKAN JA FYSIIKAN LAITOS/ LUKUVUOSI

OPINTOJAKSOJA KOSKEVAT MUUTOKSET/MATEMATIIKAN JA FYSIIKAN LAITOS/ LUKUVUOSI OPINTOJAKSOJA KOSKEVAT MUUTOKSET/MATEMATIIKAN JA FYSIIKAN LAITOS/ LUKUVUOSI 2008-2009 Muutokset on hyväksytty teknillisen tiedekunnan tiedekuntaneuvostossa 13.2.2008 ja 19.3.2008. POISTUVAT OPINTOJAKSOT:

Lisätiedot

Julkaisun laji Opinnäytetyö. Sivumäärä 43

Julkaisun laji Opinnäytetyö. Sivumäärä 43 OPINNÄYTETYÖN KUVAILULEHTI Tekijä(t) SUKUNIMI, Etunimi ISOVIITA, Ilari LEHTONEN, Joni PELTOKANGAS, Johanna Työn nimi Julkaisun laji Opinnäytetyö Sivumäärä 43 Luottamuksellisuus ( ) saakka Päivämäärä 12.08.2010

Lisätiedot

11/20: Konepelti auki

11/20: Konepelti auki Ohjelmointi 1 / syksy 2007 11/20: Konepelti auki Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/11 Tämän luennon

Lisätiedot

14. Luento: Kohti hajautettuja sulautettuja järjestelmiä. Tommi Mikkonen,

14. Luento: Kohti hajautettuja sulautettuja järjestelmiä. Tommi Mikkonen, 14. Luento: Kohti hajautettuja sulautettuja järjestelmiä Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Johdanto Hajautettujen järjestelmien väyliä LON CAN Pienen laitteen sisäinen hajautus OpenCL Network

Lisätiedot