Kävelevän robottimallin kehittäminen sekä sen datapohjainen mallitus ja säätö

Koko: px
Aloita esitys sivulta:

Download "Kävelevän robottimallin kehittäminen sekä sen datapohjainen mallitus ja säätö"

Transkriptio

1 TEKNILLINEN KORKEAKOULU Sähkö- ja tietoliikennetekniikan osasto Olli Haavisto Kävelevän robottimallin kehittäminen sekä sen datapohjainen mallitus ja säätö Diplomityö, joka on jätetty opinnäytteenä tarkastettavaksi diplomi-insinöörin tutkintoa varten Espoossa Työn valvoja Professori Heikki Hyötyniemi

2 TEKNILLINEN KORKEAKOULU Diplomityön tiivistelmä Tekijä: Olli Haavisto Työn nimi: Kävelevän robottimallin kehittäminen sekä sen datapohjainen mallitus ja säätö Päivämäärä: Sivumäärä: 72 Osasto: Sähkö- ja tietoliikennetekniikan osasto Professuuri: AS-74 Systeemitekniikka Työn valvoja: Prof. Heikki Hyötyniemi Kävelevien robottien ohjaus on haastava monimuuttujamenetelmiä vaativa säätöongelma. Tässä työssä käsitellään kaksijalkaisen kävelevän robotin mallinnusta ja säätöä. Aluksi robottimallin dynamiikkayhtälöt johdetaan Lagrangemekaniikalla ja kehitetään Matlab/Simulink-ympäristöön simulointityökalu mallin simuloimiseksi. Malli saadaan kävelemään ohjaamalla sitä erillisillä PDsäätimillä jatkuvasti päivitettävien referenssisignaalien mukaisesti. PD-ohjatusta kävelystä kerätyn systeemin syöte- ja vastedatan perusteella mallitetaan datapohjaisesti kävelyn käänteinen dynamiikka, eli kuvaus systeemin tiloilta ohjauksille. Käytettävänä mallirakenteena on klusteroitu regressio, jossa kokonaismalli koostuu lokaaleista pääkomponenttiregressiomalleista. Muodostettua mallia sovelletaan robottimallin ohjaamiseen siten, että kävelijän tilaa vastaava regressiomallin ohjausestimaatti kytketään suoraan kävelijän ohjaukseksi. Työssä havaitaan, että klusteroidulla regressiomallilla pystytään toistamaan PD-ohjattu kävely lähes muuttumattomana. Toisaalta ohjaus osoittautuu melko herkäksi poikkeamille, jotka ajavat systeemiä pois opitun käyttäytymisen alueelta, eikä toiminnan datapohjaista optimointia voida toteuttaa. Avainsanat: Kaksijalkainen, kävely, robotti, datapohjainen mallitus, klusteroitu regressio, pääkomponenttiregressio, Lagrange-mekaniikka

3 HELSINKI UNIVERSITY OF TECHNOLOGY Abstract of the Master s Thesis Author: Olli Haavisto Name of the Thesis: Development of a walking robot model and its databased modeling and control Date: Number of pages: 72 Department: Department of Electrical and Communications Engineering Professorship: AS-74 Control Engineering Supervisor: Prof. Heikki Hyötyniemi The control of walking robots is a challenging multivariable problem. This thesis concerns the modeling and control of a biped robot. The first aim of the work is to derive the chosen robot model dynamics using Lagrangian methods and develop a Matlab/Simulink tool for the simulation of the model. To make the model walk, separate PD controllers are used to control the biped according to continuously updated reference signals. The second aim is to model the inverse dynamics, that is, the mapping from the system output to the input, of the biped gait using input-output-data collected from the PD controlled system. The model structure applied is the clustered regression, which combines several local principal component regression models. The model is then utilized to control the biped so that the control signal estimate corresponding to the current system state is directly used as an input for the system. It is shown that the clustered regression model can repeat the PD controlled gait with quite good accuracy. The controlled system is, however, relatively sensitive to errors which try to drive it out of the learned state space regions and the optimization of the control is not possible. Keywords: biped, walking, robot, data-based modeling, clustered regression, principal component regression, Lagrangian mechanics

4 Alkulause Tämä työ on tehty Teknillisen korkeakoulun Systeemitekniikan laboratoriossa jatkona jo kesällä 2002 aloitettuun datapohjaisen mallintamisen ja ohjauksen tutkimukseen. Kiitän työn valvojaa professori Heikki Hyötyniemeä hänen antamastaan kannustavasta ohjauksesta ja neuvoista sekä mahdollisuudesta diplomityön tekemiseen. Laboratorion koko henkilökuntaa kiitän myönteisen ja innostavan työskentelyilmapiirin luomisesta. Lisäksi haluan kiittää vanhempiani ja veljeäni saamastani taustatuesta. Espoossa Olli Haavisto

5 Sisältö Symboliluettelo 3 1 Johdanto 5 2 Kaksijalkaisten kävelevien robottien mallintaminen ja ohjaaminen Mallintaminen Passiivinen dynaaminen kävely Optimaaliset liikeradat Neuroverkkopohjainen ohjaus Geneettinen ohjelmointi Kävelijän simulointi Malli Mallin yhtälöt Simulink-toteutus Kävelijän dynamiikka Alustan tukivoimat Polvikulmien rajoittimet Simulaattorin käyttöliittymä Kävelijän parametrit PD-ohjaus Säätimet Referenssisignaalit Parametrit Kävelyliike Simulink-toteutus Paikallinen oppiminen Taustaa Paikallisesti painotettu regressio Lokaalit mallit Esimerkkejä ja sovelluksia Klusteroitu regressiosäätö Periaate Lokaalien pääkomponenttiregressiomallien muodostus Ohjauksen laskenta Optimointi Optimisäätö Dynaaminen ohjelmointi Klusteroidun regressiorakenteen optimointi

6 6.5 Aikaisempia sovelluksia Klusteroidun regressiosäätäjän soveltaminen kävelijän ohjaamiseen Säätäjän Simulink-toteutus Opetusdata Datan klusterointi Toimintapisteiden ja piirremuuttujien lukumäärien valinta Toimintapisteiden sisäisten mallien opetus Opittu kävely Adaptiivinen opetus Opetuksen toistaminen Johtopäätökset 53 A Lagrange-mekaniikka 58 A.1 Yleistetyt koordinaatit A.2 Lagrangen yhtälöt B Dynamiikkamallin yhtälöt 61 C Monimuuttujaregression menetelmiä 65 C.1 Pääkomponenttianalyysi C.2 Pääkomponenttiregressio C.3 Hebbin ja anti-hebbin oppimiseen perustuva pääkomponenttiregressioalgoritmi (HAH) C.3.1 Neuroverkon rakenne ja toiminta C.3.2 Pääkomponenttianalyysi C.3.3 Pääkomponenttiregressio

7 Symboliluettelo A(q) Kävelijän dynamiikkayhtälöiden inertiamatriisi b(q, q, M, F ) Kävelijän dynamiikkayhtälöiden oikea puoli Cu p Toimintapisteen p paikka tila-avaruudessa Cy p Toimintapisteen p paikka ohjausavaruudessa D Mielivaltainen n n ortogonaalimatriisi f(ξ(k), v(k)) Yleisen systeemin tilansiirtofunktio F Alustan tukivoimien vektori F qi Yleistettyyn koordinaattiin q i liittyvä yleistetty voima g Maan putoamiskiihtyvyys G Regressiokuvaus h Diskretoinnin näyteväli H Kustannuksen painomatriisi I n n n -kokoinen yksikkömatriisi J Kustannuskriteeri k Diskreetti aikaindeksi K p p:nnen toimintapisteen ohjausestimaatin painokerroin l Säätimen ulostulovektorin dimensio l 0, l 1, l 2 Kävelijän jäsenten pituudet m Säätimen syötevektorin dimensio m 0, m 1, m 2 Kävelijän jäsenten massat M Momenttivektori n Pääkomponenttien lukumäärä N Opetusdatan näytteiden lukumäärä N p Toimintapisteeseen p liittyvien opetusnäytteiden lukumäärä N op Toimintapisteiden lukumäärä p Toimintapisteen indeksi p Parhaan toimintapisteen indeksi Pxx p Piirredatan kovarianssin käänteismatriisi (toimintapiste p) q Yleistettyjen koordinaattien vektori δq r Koordinaatin q r suuntainen virtuaalinen poikkeama r 0, r 1, r 2 Kävelijän massojen etäisyydet nivelistä Rxu p Signaalien x ja u välinen ristikovarianssi (toimintapiste p) R( ) Robotin dynamiikkamalli s L, s R Vasemman (L) ja oikean (R) jalan kosketussensorin arvo T Liike-energia u(k) Skaalattu ja nollakeskiarvoistettu säätimen syötevektori u real (k) Systeemin tila eli säätimen syötevektori û(k) Rekonstruoitu säätimen syötevektori ũ(k) Säätimen syötevektori, josta on poistettu sensoriarvot U Säätimen syötevektoridata 3

8 v(k) Ohjaus w i i:s pääkomponenttivektori W Pääkomponenttikanta δw Virtuaalinen työ x(k) Piirremuuttujavektori (x 0, y 0 ) Kävelijän ylävartalon massakeskipisteen koordinaatit X Piirremuuttujadata y(k) Skaalattu ja nollakeskiarvoistettu ohjaus y real (k) Säätimen ulostulovektori eli systeemin ohjaus Y Systeemin ohjausdata z(k) Valkaistu piirremuuttujavektori α Kävelijän ylävartalon kulma β L, β R Kävelijän vasemman ja oikean jalan reiden kulma β Reisikulmien erotus β R β L γ L, γ R Kävelijän vasemman ja oikean jalan polvikulma θ Robotin nivelen kulma Θ Ominaisvektoreitten muodostama matriisi λ Unohduskerroin Λ Ominaisarvomatriisi µ k, µ s Liike- ja lepokitkakertoimet φ Pääkomponenttikannan transpoosi σ 2 Ohjausestimaattien painotusfunktion varianssi σn 2 Naapuruusfunktion varianssi τ Jatkuva aikamuuttuja ξ(k) Yleisen systeemin tila 0 n n n -kokoinen nollamatriisi 4

9 1 Johdanto Kävelevien robottien ohjaamisessa joudutaan tyypillisesti ratkaisemaan hyvin haastavia ongelmia. Robottien monimutkainen mekaaninen rakenne johtaa mallinnuksessa hankaliin epälineaarisiin dynamiikkayhtälöihin, jolloin systeemien matemaattinen käsittely vaikeutuu. Säätöongelmana kävelyn ohjaaminen vaatii monimuuttujamenetelmien käyttöä, sillä toimilaitteita on yleensä paljon ja ristikkäisvaikutukset eri säätösuureiden välillä ovat voimakkaita. Pelkästään kaksijalkaisiakin kävelijöitä on tutkittu runsaasti ja erilaisia ohjausmenetelmiä kehitetty paljon. Perinteisempien, valmiiksilaskettuihin liikeratoihin perustuvien säätöalgoritmien rinnalle ovat nousseet esimerkiksi neuroverkkoja käyttävät datapohjaiset lähestymistavat. Datapohjaisessa mallinnuksessa systeemin toimintaa pyritään mallintamaan pelkästään ohjaus- ja vastedatan perusteella, jolloin laitteen sisäistä rakennetta ei tarvitse tuntea. Mallirakenteen valinta vaikuttaa voimakkaasti mallinnuksen onnistumiseen, mutta myös käytetyn datan pitää sisältää riittävästi informaatiota, jotta mallinnus olisi mahdollista. Monimutkaisten systeemien kuvaamisessa ongelma kannattaa yleensä jakaa pienempiin osiin, joiden rakenne pysyy yksinkertaisempana. Koko systeemiä kuvaava malli voidaan siis muodostaa useiden, helposti analysoitavissa olevien mallien yhdistelmänä. Näin mallitus on skaalautuvaa: Samalla menetelmällä pystytään käsittelemään yhtä hyvin yksinkertaisia kuin monimutkaisempiakin systeemeitä. Tässä työssä sovelletaan kahta eri mallitusmenetelmää. Ensimmäisenä tavoitteena on muodostaa kaksijalkaisen kävelijän dynaaminen simulointimalli laskemalla systeemin tarkat dynamiikkayhtälöt Lagrange-mekaniikalla. Mallin simulointi toteutetaan Matlab/Simulink-ympäristössä. Simulointimallin ja siihen liitetyn yksinkertaisen säätäjän avulla simuloidaan kävelyä ja kerätään systeemistä dataa. Toisena tavoitteena työssä onkin tutkia paloittain lineaarisen regressiorakenteen eli klusteroidun regression käyttöä kävelijän dynamiikan datapohjaiseen mallintamiseen ja näin muodostetun mallin soveltuvuutta systeemin ohjaukseen. Lisäksi selvitetään mahdollisuuksia ohjauksen optimointiin mallia päivittämällä. Klusteroitua regressiota on tarkoitus käyttää systeemin käänteisen dynamiikkamallin muodostamiseen. Systeemin tilan ja tarvittavien ohjausten välinen yhteys tietyllä liikeradalla tallennetaan suoraan mallirakenteeseen, jolloin mitattua tilaa vastaavaa ohjausestimaattia voidaan sellaisenaan käyttää ohjaukseen. Ohjausmenetelmän yksinkertaisen rakenteen ja datapohjaisen oppimisen perusteella klusteroitua regressiosäätöä voidaan verrata biologisten systeemien toimintaan: muistiin opitusta mallista saadaan pelkän mittaussignaalin perus- 5

10 teella tilanteeseen sopiva ohjaus. Vastaavaa lähestymistapaa on aikaisemmin käytetty yksinkertaisen robottikäsivarren ohjaamiseen [1], ja tulokset osoittivat menetelmän toimivaksi. Kävelijän ohjaaminen on kuitenkin huomattavasti haastavampi ongelma, koska systeemin dynamiikka on monimutkaisempi ja vaihtelee voimakkaasti kävelysyklin aikana. Työ jakautuu osiin siten, että luvussa 2 esitellään kirjallisuuteen perustuen erilaisia menetelmiä, joita on käytetty kaksijalkaisten kävelevien robottien mallintamiseen ja ohjaukseen. Luvut 3 ja 4 kuvaavat työssä kehitetyn kävelijän mallin ja PD-ohjauksen. Datapohjaisen mallinnuksen teoriaa ja soveltamista kävelijän mallin ohjaamiseen käydään läpi luvuissa 5 7 ja koko työn tulokset kootaan yhteen luvun 8 yhteenvedossa. 6

11 2 Kaksijalkaisten kävelevien robottien mallintaminen ja ohjaaminen Kaksijalkaisten kävelevien robottien mallintamiseen ja ohjaamiseen on sovellettu useita eri lähestymistapoja. Yksinkertaisimpia laitteita ovat passiiviset kävelijät, joiden toiminta perustuu systeemin sopivaan mekaaniseen rakenteeseen eikä ulkoisia ohjaussignaaleita tarvita. Toista äärilaitaa edustavat esimerkiksi Honda-yhtymän kehittämät monimutkaiset ja voimakkaita ohjauksia vaativat humanoidirobotit, joiden liikkeet koettavat matkia ihmisen käyttäytymistä mahdollisimman tarkasti. Tässä luvussa esitellään aluksi kaksijalkaisten kävelijöitten mallinnusta ja luodaan sitten katsaus erilaisiin menetelmiin, joita on käytetty kävelijöitten ohjaamiseen. 2.1 Mallintaminen Mallinnuksessa tarkoituksenmukaista on keskittyä robotin oleelliseen rakenteeseen ja toimintoihin. Melko usein kaksijalkaisten kävelijöitten toiminta rajoitetaan teoreettisen käsittelyn helpottamiseksi kaksiulotteiseen tilanteeseen, jossa kävelyä tarkastellaan robotin etenemissuuntaan nähden sivulta päin. Kävelyliike voidaan jakaa karkeasti kahteen eri osaan: Kaksoistukivaiheessa kävelijän molemmat jalat koskettavat maahan painon siirtyessä taaemmalta jalalta etummaiselle. Heilahdusvaiheessa vain tukijalka koskettaa maahan ja taaempi jalka heilahtaa eteen. Näitä vaiheita toistamalla voidaan kuvata koko kävely kummankin jalan toimiessa vuorotellen tukijalkana. Jos halutaan mallintaa myös juoksua, täytyy lisäksi ottaa huomioon tilanne, jossa kumpikaan jalka ei ole kiinni maassa. Kävelijöitten ohjaukseen käytetään yleensä robotin niveliin kytkettäviä momentteja. Säädön toteuttaminen ei kuitenkaan ole suoraviivaista, koska lähes aina systeemillä on enemmän vapausasteita kuin säädettävissä olevia suureita. Lisäksi tilannetta vaikeuttaa systeemin dynamiikan voimakas muuttuminen kävelijän siirtyessä yhdestä kävelyn vaiheesta toiseen. 2.2 Passiivinen dynaaminen kävely Passiivinen dynaaminen kävely perustuu pelkästään kävelijän dynaamisen rakenteen hyödyntämiseen. Kävelyyn ei tarvita ulkopuolista energiaa, mutta passiiviset kävelijät pystyvät säilyttämään stabiilin, toistuvan kävelyliikkeen vain loivasti alaspäin viettävillä alustoilla. Näiden laitteiden kävelyssä toinen jalka 7

12 heilahtaa omalla painollaan vapaasti eteenpäin toisen jalan tukiessa systeemiä maahan. Heilahduksen lopuksi paino siirtyy jalalta toiselle, jolloin toinen jalka vuorostaan heilahtaa eteen. McGeer [2, 3] osoitti, että sopivasti rakennettu kaksijalkainen laite pystyy kävelemään loivaa alamäkeä ilman aktiivista ohjausta. Tämän jälkeen erilaisia passiivisia kävelijöitä on rakennettu ja aihetta tutkittu runsaasti (esim. [4, 5]). Yksinkertaistenkin laitteiden kävely on hyvin luonnollisen näköistä varsinkin, jos kävelijällä on myös polvinivelet. Esimerkiksi ihminen käyttää kävelyssään suurelta osin hyödyksi vartalon ja jalkojen dynaamista rakennetta, jolloin kävely vaatii mahdollisimman vähän energiaa. Puhtaasti passiivisten kävelijöitten suurin rajoitus on niiden kyky kävellä vain alamäkeä. Lisäämällä systeemiin heikkotehoinen ohjaus voidaan saada aikaan kävelijä, joka säilyttää stabiilin kävelyliikkeen myös tasaisella tai loivassa ylämäessä [6, 7], mutta jonka energiankulutus on lähellä minimiä. 2.3 Optimaaliset liikeradat Etukäteen laskettuja optimaalisia liikeratoja käytetään yleisesti kävelijöiden ohjaamiseen. Tässä lähestymistavassa systeemiä pyritään ohjaamaan siten, että sen osien liikkeet noudattavat valmiiksi talletettuja referenssiliikeratoja. Ongelmana on kuitenkin tasapainon säilyttäminen esimerkiksi epätasaisella alustalla tai muuten epäideaalisissa olosuhteissa. Menetelmät tasapainon säilyttämiseen voidaan jakaa kahteen ryhmään: staattisiin ja dynaamisiin kävelijöihin. Staattisten kävelijöitten pystyssäpysyminen perustuu siihen, että laitteen painopiste pidetään jatkuvalla ohjauksella kohtisuorasti tukijalan tai tukijalkojen peittämän alustan osan päällä. Menetelmä vaatii voimakkaita ohjauksia ja johtaa usein hitaaseen ja kömpelöön kävelyyn. Toisaalta kävelijä on aina stabiilissa tilassa, eli pysyy pystyssä vaikka liike pysäytettäisiin. Dynaamisten kävelijöitten tasapainon säilyttämisessä puolestaan tarkastellaan sen alustan pisteen sijaintia, jonka kautta systeemin kokonaistukivoiman pystysuora komponentti kulkee (Zero Moment Point, ZMP). Pisteen tulee sijaita aina mahdollisimman keskellä tukipintaa, ja jos piste siirtyy tukipinnan reunalle, alkaa laite kaatua. Esimerkiksi Honda-roboteissa [8] tasapainon säilyttäminen perustuu tämän pisteen halutun ja todellisen sijainnin jatkuvaan säätämiseen. 2.4 Neuroverkkopohjainen ohjaus Neuroverkkojen vahvuutena on niiden kyky mallintaa monimutkaisiakin epälineaarisia funktioita. Niitä on sovellettu kaksijalkaisten kävelijöitten ohjaukseen 8

13 useissa tutkimuksissa, yleensä suorittamaan jotakin tiettyä laskentaa säätäjän sisällä. Tällainen tehtävä voi olla esimerkiksi käänteisen kinematiikan laskenta [9]. Värähtelevää neuroverkkoa tai neuroniryhmää (neural oscillator) voidaan käyttää kävelijän jaksollisten malliliikeratojen muodostamiseen [10] tai suoraan nivelten momenttien laskentaan [11]. Neuroverkkoja käytetään myös adaptiivisissa systeemeissä. Tyypillisesti verkolle opetetaan systeemin epälineaarinen dynamiikka, jota sitten hyödynnetään säätäjän toiminnassa [12]. 2.5 Geneettinen ohjelmointi Geneettisten algoritmien periaate matkii luonnossa tapahtuvaa evoluutiota paremman ratkaisun muodostamiseksi tiettyyn ongelmaan. Ratkaisu, esimerkiksi joukko parametrien arvoja, pitää aluksi koodata merkkijonoksi. Näitä ratkaisuehdotuksia (yksilöitä) muodostetaan satunnainen joukko eli populaatio, joka toimii algoritmin alkutilana. Kunkin ratkaisun hyvyys arvioidaan hyvyysfunktiolla, joka antaa ratkaisuun liittyvän hyvyysarvon. Mitä suurempi hyvyysarvo, sitä parempi ratkaisu on. Populaation parhaat yksilöt tuottavat seuraavan sukupolven kolmella eri menetelmällä: Kopioituvat sellaisenaan uuteen populaatioon, kopioituvat hieman muunnettuna tai tuottavat parina kaksi jälkeläistä, joiden rakenne on sekoitus kummastakin alkuperäisestä yksilöstä. Uuden populaation syntyyn vaikuttavat yksilöt valitaan hyvyysarvojen perusteella, mutta valinnassa on myös satunnaisuutta. Tällä pyritään välttämään hyvyysfunktion lokaaleihin minimeihin ajautuminen. Geneettinen ohjelmointi [13] yhdistää automaattisen ohjelmoinnin ja geneettiset algoritmit. Kehittyvän yksilöjoukon eli populaation muodostavat erilaiset tietokoneohjelmat, joiden hyvyys määräytyy niiden ajettaessa antamista tuloksista. Kahden ohjelman risteytyksessä satunnaisia osia ohjelmista vaihdetaan keskenään, jolloin syntyy ongelman mahdollisesti paremmin ratkaisevia ohjelmia. Koska vähitellen kehittyvät ohjausalgoritmit saattavat tuottaa myös robotin rakenteelle vaarallisia ohjauksia, käytetään ohjelmien hyvyysarvojen laskentaan yleensä aluksi simulaattoria. Esimerkiksi Sigel-simulaattori [14] mahdollistaa erilaisten robottirakenteiden simuloinnin ja geneettisen ohjelmoinnin kokeilemisen. Käyttämällä simuloinneissa todellisten robottien simulointimalleja voidaan saadut ohjausalgoritmit siirtää todellisiin systeemeihin, jos simulaattori pystyy kuvaamaan robotin riittävän tarkasti [15]. Ohjausalgoritmien kehittyminen vaatii todella paljon simulointikertoja, koska kaikkien ohjausyritysten hyvyys pitää arvioida simuloimalla. Todellisten fysi- 9

14 kaalisten systeemien simulointi on yleensä hidasta, joten hyvän ohjauksen löytyminen voi kestää kauankin. Lisäksi ongelmia aiheuttavat simulaatiomallin ja todellisen systeemin eroavuudet. 10

15 3 Kävelijän simulointi Tässä työssä ensimmäisenä tavoitteena oli kehittää kävelevä robottimalli, jota simuloimalla voidaan kokeilla erilaisia ohjausmenetelmiä ja kerätä kävelevästä systeemistä dataa. Malliksi valittiin kaksijalkainen kävelijä, jonka dynamiikkayhtälöt johdettiin Lagrange-mekaniikalla. Varsinainen simulointi suoritettiin Matlabin Simulink-ympäristössä, ja simulointitulosten tarkasteluun kehitettiin graafinen käyttöliittymä. Seuraavassa kuvataan aluksi systeemin tarkka malli sekä dynamiikkayhtälöiden muodostaminen. Tämän jälkeen käydään läpi mallin Simulink-toteutus ja simuloinneissa käytetyt parametriarvot. Tarkempi kuvaus Simulink-mallista sekä graafisesta käyttöliittymästä sisältyy erilliseen dokumentaatioon [16]. 3.1 Malli Työssä käytetty systeemimalli kuvaa voimakkaasti yksinkertaistettua kaksijalkaista kävelijää. Simuloinnin nopeuttamiseksi ja laskennan helpottamiseksi malli toteutettiin kaksiulotteisena, jolloin kulkusuuntaan nähden sivuttainen liike voitiin jättää huomiotta. Mallin identtiset jalat koostuvat jäykistä säärija reisiosista, jotka on yhdistetty polvinivelillä. Ylävartalon muodostaa yksi jäykkä kappale, joka kiinnittyy jalkoihin lonkkanivelillä. Kuvassa 1(a) on esitetty kävelijän rakenne sekä systeemin tilan kuvaamisessa käytetyt muuttujat. (a) (b) Kuva 1: Systeemin muuttujat ja vakiot (a) sekä ulkoiset voimat ja momentit (b). 11

16 Tarkasteltavan systeemin asennon ja paikan kuvaamiseksi kaksiulotteisessa koordinaatistossa tarvitaan vähintään seitsemän muuttujaa, eli systeemillä on seitsemän vapausastetta. Koordinaattipari (x 0, y 0 ) määrittää ylävartalon massakeskipisteen paikan ja kulma α poikkeaman y-akselin suunnasta. Vasemman (L) ja oikean (R) jalan asennot ylävartaloon nähden kuvataan lonkka- ja polvinivelten kulmilla (β L, β R, γ L, γ R ). Kävelijän ylävartalon sekä reisien ja säärien pituudet määräytyvät kuvan 1(a) mukaisesti parametreista l 0, l 1 ja l 2. Ylävartalon massakeskipisteen (massa m 0 ) etäisyys lantiosta on r 0. Kummankin reiden massakeskipisteen (massa m 1 ) oletetaan sijaitsevan lonkan ja polven kautta kulkevalla suoralla etäisyydellä r 1 lonkkanivelestä. Vastaavasti säärien massakeskipisteet (massa m 2 ) sijaitsevat polven ja jalan kärjen kautta kulkevalla suoralla etäisyydellä r 2 polvesta. Kävelyalustan mallintamiseksi molempien jalkojen päihin on mahdollista vaikuttaa vaaka- ja pystysuuntaisilla ulkoisilla voimilla (F Lx, F Ly, F Rx, F Ry ), jolloin erilaisten alustamateriaalien ja epätasaisten alustojen käyttö simuloinnissa on helppoa (kuva 1(b)). Ulkoiset voimat muodostetaan säätäjällä, joka kytkeytyy päälle jalan osuessa alustaan. Varsinaisina ohjaussignaaleina mallissa ovat ylävartalon ja reisien väliset momentit (M L1, M R1 ) sekä polvinivelten momentit (M L2, M R2 ). Jalkojen vuorovaikutus alustan kanssa toteutetaan siis erillisillä ulkoisilla voimilla, jolloin sama dynamiikkamalli kuvaa kävelijää kaikissa tilanteissa. Tämä sallii simulointimallin käytön mielivaltaisten liikkeiden simuloinnissa. Lisäksi dynamiikkamalli on holonominen, eli mikään systeemin osa ei voi kohdata liikkuessaan ulkopuolista mekaanista rajoitusta. Toinen mahdollinen lähestymistapa olisi käyttää erillisiä malleja riippuen maata koskettavien jalkojen lukumäärästä ja olettaa, että maahan koskettava jalka ei pääse liukumaan. Näin tarvittavat mallit olisivat yksinkertaisempia, mutta siirtymät mallien välillä pitäisi laskea erikseen. Työssä käytettyä robottimallia vastaavia kaksijalkaisia kävelijöitä on tutkittu runsaasti. Rakenteeltaan täysin vastaava on esimerkiksi RABBIT-robotti [17], jolle on myös johdettu simulointimalli. Tämän robotin mallinnuksessa on kuitenkin oletettu, että kävelyssä heilahtavan jalan osuessa maahan toinen jalka nousee välittömästi ilmaan. Näin yhdellä mallilla on voitu kuvata kaikki kävelyn vaiheet, mutta tukijalan vaihtuminen aiheuttaa aina erikseen laskettavan askelmaisen muutoksen systeemin tilassa. Samoin simulointimallin toiminta on rajoitettu toistamaan askeleita vuorotellen, eikä esimerkiksi molempien jalkojen yhtäaikainen kosketus maahan ole simuloitavissa. 12

17 3.2 Mallin yhtälöt Kävelijän dynamiikan mallinnus toteutettiin Lagrange-tekniikalla (liite A). Systeemin tila määräytyy yleistetyistä koordinaateista q = [x 0, y 0, α, β L, β R, γ L, γ R ] T (1) ja niiden aikaderivaatoista. Jokaiseen koordinaattiin liittyy vastaava yleistetty voima: F q = [F x0, F y0, F α, F βl, F βr, F γl, F γr ] T. (2) Merkitään reisien massakeskipisteiden paikkoja karteesisissa koordinaateissa (x L1, y L1 ) ja (x R1, y R1 ). Säärien massakeskipisteitten sijainnit ovat (x L2, y L2 ) ja (x R2, y R2 ) ja jalkojen päitten koordinaatit (x LG, y LG ) ja (x RG, y RG ). Vasempaan jalkaan liittyvät koordinaatit voidaan lausua yleistettyjen koordinaattien avulla seuraavasti: x L1 = x 0 r 0 sin α r 1 sin(α β L ) y L1 = y 0 r 0 cos α r 1 cos(α β L ) x L2 = x 0 r 0 sin α l 1 sin(α β L ) r 2 sin(α β L + γ L ) (3) y L2 = y 0 r 0 cos α l 1 cos(α β L ) r 2 cos(α β L + γ L ) x LG = x 0 r 0 sin α l 1 sin(α β L ) l 2 sin(α β L + γ L ) y LG = y 0 r 0 cos α l 1 cos(α β L ) l 2 cos(α β L + γ L ). Oikean jalan vastaavat koordinaatit saadaan korvaamalla yhtälöissä (3) vasemman jalan kulmat β L ja γ L oikean jalan kulmilla β R ja γ R. Systeemin liike-energia voidaan helposti lausua karteesisissa koordinaateissa eri massapisteiden liike-energioiden summana: T = 1 2( m0 (ẋ ẏ 2 0) + m 1 (ẋ 2 L1 + ẏ2 L1 + ẋ2 R1 + ẏ2 R1 ) +m 2 (ẋ 2 L2 + ẏ2 L2 + ẋ2 R2 + ẏ2 R2 )). (4) Kutakin yleistettyä koordinaattia q r vastaavan yleistetyn voiman lauseke F qr johdetaan kasvattamalla koordinaatin arvoa virtuaalisen poikkeaman δq r verran ja pitämällä muut yleistetyt koordinaatit vakioina. Kaikkien systeemiin vaikuttavien voimien muutoksessa tekemä virtuaalinen työ δw qr riippuu seuraavan yhtälön mukaisesti halutusta voimasta: δw qr = F qr δq r. (5) Yleistettyjen voimien yhtälöiksi yleistettyjen koordinaattien suhteen saadaan 13

18 näin F x0 = F Lx + F Rx F y0 = (m 0 + 2m 1 + 2m 2 )g + F Ly + F Ry F α = ( y L1 α m 1 + y L2 α m 2 + y R1 α m 1 + y R2 + y RG α F Ry + x LG α F Lx + x RG α F Rx F βl = ( y L1 β L m 1 + y L2 β L m 2 )g + y LG β L F Ly + x LG β L F γl = y L2 γ L m 2 g + y LG γ L F Ly + x LG γ L F Lx + M L2. m α 2)g + y LG α F Ly F Lx + M L1 (6) Oikeaan jalkaan liittyvät voimat saadaan korvaamalla vasemman jalan voimien lausekkeissa suureet oikean jalan vastaavilla suureilla. Systeemin dynamiikkayhtälöitten ratkaisemiseksi lausutaan kineettinen energia (4) yleistettyjen koordinaattien avulla käyttäen muunnoskaavoja (3). Saatu lauseke sekä yleistettyjen voimien lausekkeet (6) sijoitetaan Lagrangen yhtälöihin, jotka ovat muotoa ( ) d T T = F qr. (7) dt q r q r Saatu seitsemän yhtälön toisen asteen differentiaaliyhtälöryhmä voidaan kirjoittaa matriisimuotoon missä ovat malliin vaikuttavat ulkoiset momentit ja A(q) q = b(q, q, M, F ), (8) M = [M L1, M R1, M L2, M R2 ] T (9) F = [F Lx, F Ly, F Rx, F Ry ] T (10) alustasta aiheutuvat tukivoimat kuvan 1(b) mukaisesti. Pystyvektori b(q, q, M, F ) sisältää korkeintaan ensimmäisen asteen aikaderivaattoja yleistetyistä koordinaateista. Inertiamatriisi A(q) ei sisällä yleistettyjen koordinaattien aikaderivaattoja. Lagrangen yhtälöitten (7) mekaaninen muodostaminen ja kirjoittaminen lopulliseen muotoon (8) suoritettiin Mathematica-ohjelmistolla. Saadut lausekkeet A(q)-matriisin alkioille sekä vektorille b(q, q, M, F ) muunnettiin tämän jälkeen Matlab-muotoon, jotta niitä voitiin soveltaa simuloinnissa. Inertiamatriisin A(q) ja vektorin b(q, q, M, F ) alkioitten lausekkeet ovat liitteenä B. 14

19 3.3 Simulink-toteutus Kävelijän dynamiikkamallin simulointiin käytettiin Matlabin Simulink-ympäristöä, jossa mallin tilan ja tarvittavien tukivoimien laskenta voitiin koota yhdeksi lohkoksi (kuva 2). Kuva 2: Kävelijän Simulink-malli muodostuu dynamiikkayhtälöiden, alustan tukivoimien ja polvikulmien rajoitinmomenttien laskentalohkoista. Biped model -lohkon syötesignaalina on pystyvektori, joka sisältää mallin ohjaukseen käytettävät momentit (9). Ulostulosignaaliin on koottu yleistetyt koordinaatit (1), niiden ensimmäinen aikaderivaatta sekä kummankin jalan kosketusanturin arvo: [q T, q T, s L, s R ] T. Jos jalka koskettaa maahan, nousee vastaava kosketussignaali (s L, s R ) ykköseen. Jalan ollessa ilmassa signaalin arvo on nolla. Kävelevää systeemiä sekä sen kosketusta alustaan simuloidaan jatkuvassa tilassa. Systeemin säätöön sovelletaan kuitenkin diskreettejä säätäjiä, joten ohjausja ulostulosignaalit diskretoidaan nollannen kertaluvun pidolla. Lohko myös tallettaa diskreetit ulostulosignaalinsa ja syötesignaalinsa Matlabin työtilaan. Simuloinnissa käytettävät parametrit ja kävelijän alkutila syötetään lohkon maskin valintaikkunaan Kävelijän dynamiikka Dynamiikkayhtälöitten (8) simulointia suorittava lohko näkyy kuvassa 3. Koska kiihtyvyysvektorin q ratkaiseminen suljetussa muodossa ei käytännössä on- 15

20 nistu, joudutaan matriisin A(q) käänteismatriisi laskemaan joka iteraatioaskeleella erikseen. Kuva 3: Dynamic model -lohko simuloi varsinaisia dynamiikkayhtälöitä kävelijän simulointimallissa Alustan tukivoimat Kävelyalustan muoto mallinnettiin murtoviivana, joka kulkee parametrina annettujen pisteiden kautta. Kävelijän jalkojen kärkiin kohdistetaan erillisten PD-säätimien antamat tukivoimat silloin, kun jalka koskettaa maata, joten käytännössä alusta toimii kuten vaimennettu jousisysteemi. Yhden jalan tukivoimien laskemiseksi jalan kärjen paikka ja nopeus projisoidaan aluksi alustan suhteen normaali- ja tangentiaalikomponentteihin. Normaalikomponenttia ohjataan PD-säätimellä siten, että tukivoiman alustaan nähden kohtisuora komponentti F n on rajoitettu vain positiivisiin arvoihin. Näin jalka ei voi tarttua kiinni alustaan. Tangentiaalisuunnassa otetaan huomioon alustan kitkaominaisuudet. Kun jalka osuu maahan, säädetään sen poikkeamaa osumiskohdasta PD-säätimellä, jonka ulostulona on tangentiaalinen voima F t. Jos tarvittava voima kuitenkin ylittää suurimman mahdollisen kitkavoiman F t,max = µ s F n, (11) missä µ s on alustan lepokitkakerroin, alkaa jalka liukua. Tällöin tangentiaalinen tukivoima määräytyy liikekitkasta missä µ k on alustan liikekitkakerroin. F t = µ k F n, (12) Lopuksi normaali- ja tangentiaalivoimat projisoidaan takaisin pysty- ja vaakasuuntaisiksi voimiksi (10), jotka viedään edelleen dynamiikkamalliin. Voimien laskenta tapahtuu lohkossa Ground contact (kuva 2). 16

21 3.3.3 Polvikulmien rajoittimet Polvikulmien rajoitus toimii samalla periaatteella kuin alustan normaalin suuntaisen tukivoiman laskenta. Kun polvikulma ylittää suurimman tai alittaa pienimmän sallitun kulman, kytkeytyy kulman PD-säätö päälle. Säädin lisää ohjauksensa suoraan niveleen liittyvään momentin arvoon. Pienimmän polvikulman rajoittimessa säätimen antama ohjaus on rajoitettu positiivisiin arvoihin siten, ettei se koskaan vastusta polven koukistamista. Vastaavasti suurimman kulman rajoitin ei vastusta polven oikaisua. Laskenta tapahtuu kävelijän simulointilohkon Knee stopper -alalohkossa (kuva 2). 3.4 Simulaattorin käyttöliittymä Kävelijää mallintavaa Simulink-lohkoa käytetään syöttämällä lohkon sisääntuloon ohjauksena käytettävät momentit. Vastavasti lohkon ulostulona saadaan kävelijän tila, jota voidaan käyttää esimerkiksi ohjausmomenttien laskentaan. Simulointiin ja tulosten havainnollistamiseen kehitettiin Matlabissa graafinen käyttöliittymä (kuva 4). Kuva 4: Simulaattorin käyttöliittymä. Kaikki kävelijään ja alustaan liittyvät parametrit määritellään yhdessä Matlabtiedostossa, jonka simulaattori ajaa ennen simulointia ja animaation näyttämistä. Myös mahdolliset säätäjän tai muitten mallissa olevien lohkojen tarvit- 17

22 semat parametrimääritykset sisältävä tiedosto ajetaan. Annettua mallia voidaan simuloida halutun pituinen aika. Kun simulointi on suoritettu, voidaan kävelijän käyttäytymistä tarkastella animaationa. 3.5 Kävelijän parametrit Työssä käytetyn kävelijän parametrit on esitetty taulukossa 1. Kävelijän jäsenten massat valittiin melko pieniksi verrattuna vastaaviin pituuksiin, jotta PD-ohjauksen toteuttaminen helpottuisi ja ohjausten voimakkuus ei kasvaisi kohtuuttomasti. Massat sijoitettiin kunkin jäsenen puoliväliin. Jalkojen turhan liukumisen estämiseksi kävelyalustan kitkakertoimissa käytettiin suurehkoja arvoja. Alusta valittiin joustavaksi, jolloin tukivoimia laskevien PD-säätimien dynamiikkojen nopeudet jäivät riittävän alhaisiksi. Kovilla alustoilla simulointiajat pitenevät, koska integrointialgoritmin askelpituutta täytyy pienentää, jotta nopeatkin dynamiikat saadaan ratkaistua riittävän tarkasti. Taulukko 1: Kävelijän ja alustan parametriarvot. Massat (kg): m 0 5 m 1 2 m 2 1 Pituudet (m): l 0 0,8 l 1 0,5 l 2 0,5 Massojen paikat (m): r 0 0,4 r 1 0,25 r 2 0,25 Alustan ominaisuudet: lepokitkakerroin µ s 1,2 liikekitkakerroin µ k 0,6 jousivakio 1000 (kg/s 2 ) vaimennuskerroin 500 (kg/s) Polvikulmien rajoittimien parametrit: jousivakio 1000 (Nm/(rad)) vaimennuskerroin 100 (Nms/(rad)) Muut parametrit: putoamiskiihtyvyys g 9,81 (m/s 2 ) Vaikka kävelyalustan epätasaisuuksien mallintaminen olisi ollut simulaattorilla mahdollista, simuloinneissa käytettiin tasaista alustaa. Tämä helpotti osal- 18

23 taan kävelyn ohjauksen toteuttamista, sillä muutamat epätasaisilla alustoilla tehdyt kokeilut osoittivat pientenkin korkeusvaihteluiden vaikeuttavan kävelemistä huomattavasti. 19

24 4 PD-ohjaus Kävelyn dynamiikan datapohjaista mallintamista varten systeemistä kerättiin syöte- ja vastedataa sen suorittaessa optimoimatonta kävelyliikettä. Mallikävely toteutettiin erillisillä PD-säätimillä ja sitä käytettiin vain lähtökohtana klusteroidun regressiosäätimen opetuksessa. Tässä luvussa kuvataan säädön toteutus ja käytetyt parametrit. 4.1 Säätimet Mallikävelyn muodostamiseksi kävelijää ohjataan neljällä erillisellä diskreetillä PD-säätimellä, joille syötetään vaihtuvat referenssisignaalit. Kumpaakin polvikulmaa säädetään omalla säätimellään, ja yksi säätimistä ohjaa reisien kulmien erotusta β = β R β L. Näin ylävartalon pystyssä pitäminen voidaan erottaa kokonaan omaksi rinnakkaiseksi säätöongelmakseen, jonka ohjaussignaali saadaan neljänneltä PD-säätimeltä. Polvikulmien säätimien ohjaussignaalit antavat suoraan momentit M L2 ja M R2. Reisien välisen kulman β ohjaussignaali vaikuttaa positiivisena oikean reiden momenttiin M R1 ja negatiivisena vasemman reiden momenttiin M L1. Ylävartalon kannattelu on pyritty tekemään mahdollisimman tukevaksi lisäämällä kyseisen säätimen ohjaussignaali sen reiden momenttiin, jota vastaava jalka koskettaa maata. Molempien jalkojen ollessa maassa ohjaussignaali vaikuttaa yhtä paljon molempiin reisimomentteihin. Systeemin säädössä käytetään diskreettejä PD-säätimiä, joiden siirtofunktio on muotoa u(kh) = P e(kh) + D e(kh), (13) h missä aikaindeksi k kuvaa näytteen numeroa ja vakio h näyteväliä. Erosignaali e(kh) lasketaan vähentämällä säädettävän muuttujan arvo referenssiarvosta. Erosuureen muutos e(kh) saadaan suoraan nykyisen ja edellisen signaaliarvon erotuksena: e(kh) = e(kh) e ((k 1) h). (14) Säätimien parametreina toimivat suhdesäätöosuuden ja derivaattaosuuden vahvistukset P ja D. 4.2 Referenssisignaalit Systeemi saadaan kävelemään syöttämällä jalkojen PD-säätimille jaksolliset referenssisignaalit. Signaalit muodostetaan vaihe vaiheelta lisäämällä, vähen- 20

25 tämällä tai pitämällä referenssien arvoja vakioina joka näytteenottovälillä systeemin tilan perusteella. Kuvassa 5 näkyvät referenssisignaalit, niitä vastaavat säädettävät muuttujat sekä systeemin käyttäytyminen yhden askeleen aikana. Kuva 5: PD-ohjatun kävelyn yksi askel. Askel alkaa kaksoistukivaiheella, jossa referenssejä pidetään aluksi vakioina. Kun ylävartalon massakeskipiste on systeemillä olevan vauhdin ansiosta siirtynyt riittävästi eteenpäin, aletaan taaemman jalan polvikulman referenssiä suurentaa. Samalla reisien välistä kulmaa pienennetään, jolloin jalka nousee alustasta ja systeemi siirtyy heilahdusvaiheeseen. Heilahtava jalka siirretään eteen pienentämällä reisien välistä kulmaa edelleen tiettyyn vakioarvoon asti. Jotta jalka ei osuisi alustaan liian aikaisin, koukistetaan polvi heilahduksen ajaksi. Kun jalka on heilahtanut riittävän eteen, suoristetaan polvea ennen kosketusta maahan. Heilahduksen alussa myös tukijalan polvi suoristetaan, jolloin heilahtava jalka pysyy riittävän kaukana alustasta. Uusi kaksoistukivaihe alkaa vasta, kun heilahtanut jalka on koskettanut hetken aikaa alustaa. Näin estetään uuteen vaiheeseen siirtyminen esimerkiksi tilanteessa, jossa jalka vain hipaisee alustaa kesken heilahduksen. Polvikulmien referenssien arvot vaihdetaan keskenään ja reisikulman referenssi muutetaan vastaluvukseen uuden askeleen alkaessa. Samalla tulevat tilasignaalit vaihdetaan oikean ja vasemman jalan kesken, jolloin seuraava askel on referenssien 21

26 muodostamisen kannalta samanlainen kuin edellinenkin, vaikka kävelijän heilahtava jalka ja tukijalka ovatkin vaihtuneet keskenään. Ylävartalon kulman referenssiarvo pysyy koko kävelyn ajan vakiona, ja todellinen kulma-arvo värähtelee referenssin ympärillä kerran joka askeleella. Ylävartalon liike vaimentaa jalkojen törmäystä alustaan ja auttaa kävelijää säilyttämään kokonaisvauhtinsa eteenpäin. 4.3 Parametrit PD-säätimissä käytetään eri parametreja heilahdus- ja kaksoistukivaiheissa, koska ohjauksessa tarvittavat voimat riippuvat siitä, onko kyseinen jalka maassa vai ilmassa. Näin esimerkiksi heilahtavan jalan polven säätimen vahvistukset ovat heikompia kuin tukijalassa, koska heilahtavassa jalassa ei tarvita niin paljon voimaa. Parametrit vaihdetaan jalkojen kosketussensorien antamien tietojen perusteella. D-parametrin vaihtuessa yksittäisessä PD-säätimessä D-termi nollataan hetkellisesti, jolloin momentteihin ei synny muutoksesta mahdollisesti aiheutuvaa häiriötä. Taulukossa 2 näkyvät tämän työn simuloinneissa käytetyt säätäjien parametrit askeleen eri vaiheissa. Parametrien arvot ja referenssisignaalien muodostamislogiikka viritettiin kokeilemalla, koska ohjausta ei tällä menetelmällä ollut tarkoitus muutenkaan erityisesti optimoida. Kaiken kaikkiaan ohjattava systeemi tuntui melko herkältä parametrien virityksen suhteen. Taulukko 2: PD-säädetyssä kävelyssä käytetyt säätäjän parametrit. P D Kaksoistukivaihe: Reisien välinen kulma β 60 1 Polvikulmat γ L, γ R 40 0,5 Ylävartalon kulma α 40 2 Heilahdusvaihe: Reisien välinen kulma β 70 6 Tukijalan polvikulma 30 2 Heilahtavan jalan polvikulma 10 0,1 Tavoitteena oli, että kävelijä noudattaisi mahdollisimman hyvin muodostettuja referenssisignaaleita eikä säädössä esiintyisi pahoja värähtelyitä. Käytännössä kovin hyvään referenssisignaalien toistamiseen ei päästy (kuva 5), koska systeemi on aliohjattu ja säädettävien muuttujien ristikkäisvaikutukset voimakkaita. Lisäksi vaikeuksia tuotti siirtyminen eri tukivaiheesta toiseen, koska esimerkiksi jalan osuessa maahan systeemin dynamiikka muuttuu ratkaisevasti. 22

27 Ohjauksen näyteväliksi valittiin h = 10 ms. Suuremmilla näytevälin arvoilla sopivien parametrien löytäminen PD-säätimille osoittautui hyvin hankalaksi, ja toisaalta valittua arvoa pienempien näytevälien toteutus todellisissa systeemeissä alkaa olla vaikeaa. 4.4 Kävelyliike Systeemi saatiin referenssisignaaleilla ja PD-säätimillä kävelemään siten, että se käytännössä pysyi jatkuvasti pystyssä ja toisti samaa kävelysekvenssiä. Vaikka kävelijää aluksi simuloitiin häiriöttömästi ja tasaisella alustalla, kävelyliike ei koskaan stabiloitunut aivan kokonaan, vaan jäi hieman vaihtelevaksi. Kuvassa 6 näkyy systeemin askelpituus, eli jalkojen päiden etäisyys kaksoistukivaiheen alussa ajan funktiona häiriöttömässä kävelyssä. Vaihtelu on selvästi satunnaista, mutta pysyy tiettyjen rajojen sisällä. Kuva 6: PD-ohjauksella askelpituus vaihteli satunnaisesti. PD-ohjatusta kävelystä kerättiin syöte- ja vastedataa, jota käytettiin opetusaineistona klusteroidulle regressiosäätäjälle. Datan vaihtelun lisäämiseksi syötesignaaliin eli momentteihin (9) lisättiin simuloinnissa satunnaista normaalijakautunutta kohinaa. Koska kävely on symmetristä, joka toisella askeleella oikean ja vasemman jalan roolit vaihdettiin siten, että heilahtava jalka oli aina vasen. Näin saatiin dataa, jossa toistuivat samanlaiset kaksoistukivaiheet (vasen jalka takana) ja heilahdusvaiheet (vasen jalka heilahtaa) vuorotellen. 23

28 4.5 Simulink-toteutus PD-ohjaus toteutettiin Simulink-lohkolla, joka ottaa syötteenä systeemin tilan, päivittää sen perusteella referenssisignaaleita ja laskee erosuureiden perusteella tarvittavat momentit. Kuvassa 7 näkyy lohkon rakenne, jossa referenssisignaalien muodostaminen ja varsinainen PD-säätö on erotettu erillisiksi alalohkoiksi. Kuva 7: PD-säädinlohko koostuu referenssisignaalien muodostamisesta ja PDsäädöstä. Kuvassa 8 on esitetty Create references -lohkon sisältö. Referenssisignaalit lasketaan olettaen, että heilahtava jalka on aina vasen ja tukijalka oikea. Siksi joka toisella askeleella signaalit pitää vaihtaa keskenään jalkojen suhteen ennen niiden ohjaamista säätäjään. Kuva 8: Referenssisignaalit päivitetään omassa lohkossaan systeemin tilan ja vanhojen referenssien perusteella. Controller-lohkossa lasketaan aluksi säädettävien muuttujien erosuureet ja päätellään sensoriarvoista, mikä vaihe askeleesta on menossa. Tämän perusteella valitaan oikeat parametrit PD-säätimille ja muunnetaan säätimien ulostulot systeemiä ohjaaviksi momenttisignaaleiksi (kuva 9). PD-ohjauslohkon rakenne on esitelty tarkemmin simulointityökalun dokumentaatiossa [16]. 24

29 Kuva 9: Controller-lohkossa lasketaan varsinaiset ohjaussignaalit. 25

30 5 Paikallinen oppiminen Datapohjaisessa mallinnuksessa systeemin toimintaa tarkastellaan siitä kerätyn syöte- ja vastedatan perusteella. Tässä luvussa esitellään lokaaleihin malleihin perustuva mallitusmenetelmä, paikallinen oppiminen (local learning), joka tarjoaa työkaluja funktioiden datapohjaiseen approksimointiin. Paikallista oppimista on sovellettu melko hyvin tuloksin myös robottisäädössä yhtenä osana varsinaista säätäjää. Seuraavassa käydään läpi joitakin paikallisen oppimisen menetelmiä, joiden periaate osittain vastaa työssä varsinaisesti käytettävää klusteroitua regressiota. Lisäksi esitellään muutamia esimerkkejä paikallisen oppimisen sovelluksista. 5.1 Taustaa Robotiikassa robottimallia kuvaa sen dynamiikka R( ), joka liittää niveliin kytkettävät momentit M vastaavien nivelten asentoihin θ, nopeuksiin θ ja kiihtyvyyksiin θ. Käänteinen dynamiikka puolestaan kuvaa systeemin tilan ohjauksille: M = R 1 (θ, θ, θ). (15) Jos käänteinen dynamiikkamalli tunnetaan, voidaan sitä hyödyntää robotin säätämisessä. Esimerkiksi yksinkertainen myötä- ja takaisinkytkentää yhdistävä säätäjä [18] käyttää käänteisen dynamiikkamallin estimaattia ˆR 1 ja ohjaa robottia referenssisignaalien mukaisesti. Referenssisignaaleina tarvitaan nivelten halutut paikat, nopeudet ja kiihtyvyydet (θ d, θ d, θ d ). Takaisinkytkentäosuudella korjataan ohjauksessa tapahtuvaa virhettä, jolloin ohjaus kokonaisuudessaan muodostuu lausekkeesta M = ˆR 1 (θ d, θ d, θ d ) + P (θ d θ) + D( θ d θ). (16) Datapohjaisessa mallinnuksessa dynamiikkamalli muodostetaan systeemistä kerätyn syöte- ja vastedatan perusteella. Näin vältytään systeemin sisäisen rakenteen tarkemmalta analysoinnilta. Tyypillisesti systeemien datapohjaisessa mallintamisessa pyritään muodostamaan globaali malli, joka kuvaa koko systeemin käyttäytymisen. Esimerkiksi neuroverkkojen parametrit sovitetaan yleensä koko käytettävissä olevaan datajoukkoon, jolloin tarvitaan paljon neuroneita ja verkon rakenteesta saattaa muodostua hyvin monimutkainen. Paikallinen oppiminen käyttää mallin muodostamiseen päinvastaista lähestymistapaa. Tavoitteena on estimoida haluttua epälineaarista monen muuttujan 26

31 funktiota usean yksinkertaisen lokaalin mallin yhdistelmänä. Artikkelissa [19] annetaan varsin kattava kuvaus paikallisen oppimisen taustoista, mutta seuraavassa esitetään muutamia pääkohtia. 5.2 Paikallisesti painotettu regressio Paikallisesti painotettu regressio (Locally weighted regression, LWR) perustuu laiskaan oppimiseen (lazy learning), jossa kaikki saatavat datapisteet talletetaan sellaisinaan muistiin. Uutta syötepistettä vastaava mallin estimaatti lasketaan sovittamalla syötepisteen lähistöllä sijaitseviin talletettuihin pisteisiin paikallinen malli vasta kyselyn saapuessa. Sovitus tehdään etäisyydellä painotetulla regressiolla, jolloin lähimmät pisteet vaikuttavat eniten syntyvään malliin ja estimaattiin. Sovitettavan funktion muotoa ei ole rajoitettu, mutta monimutkaisuuden välttämiseksi tyydytään yleensä lineaariseen malliin. Paikallisesti painotettu regressio vaatii suurilla datamäärillä paljon muistia, ja estimaatin laskenta voi olla liian hidasta, koska uusi malli pitää laskea jokaiselle uudelle syötepisteelle erikseen. Lisäksi datan dimension kasvaessa pisteiden välinen etäisyys menettää merkitystään (nk. curse of dimensionality), jolloin painotus vaikeutuu. 5.3 Lokaalit mallit Kaikkien datapisteiden tallentamisen sijaan on yleensä järkevämpää muodostaa tiettyihin avaruuden pisteisiin valmiit lokaalit mallit, joista sitten kyselypistettä lähinnä olevat vaikuttavat lopulliseen estimaattiin. Schaal, Atkeson ja Vijayakumar [20, 21] ovat kehittäneet robotiikkaan sovellettavia paikallisen oppimisen menetelmiä (Locally weighted learning, LWL), joissa uusia malleja luodaan jatkuvasti, kun uusia datapisteitä kerätään. Jos vanhoista malleista mikään ei vastaa tarpeeksi hyvin uutta datapistettä, luodaan uusi malli. Vain nämä luodut mallit talletetaan muistiin, jolloin opetusdataa voi olla runsaastikin. Yhteistä näille menetelmille on myös se, että datan dimensioiden määrää pienennetään lokaalisti jokaisen mallin kohdalla. Tämä perustuu havaintoon, jonka mukaan fysikaalisista systeemeistä kerätty korkeaulotteinen data on tyypillisesti lokaalisti enintään 5-8 ulotteista. Kompressointi voidaan suorittaa mm. pääkomponenttianalyysillä, pääkomponenttiregressiolla (liite C) tai osittaisella pienimmän neliösumman menetelmällä (PLS) [22]. Paikallisen oppimisen menetelmät on tyypillisesti mahdollista esittää inkrementaalimuodossa, jolloin uuden datan huomioonottaminen on helppoa. Alun- 27

32 perin menetelmien lähtökohtana onkin se, että mallin kehittäminen ja päivittäminen reaaliaikaisesti robotin liikkuessa olisi mahdollista. 5.4 Esimerkkejä ja sovelluksia Paikallista oppimista on sovellettu erityisesti korkeaulotteisten kuvausten mallintamiseen ja robotiikan funktioiden estimointiin. Kuvassa 10 näkyy yksinkertainen esimerkki epälineaarisen funktion mallintamisesta [23]. Alkuperäisestä kaksiulotteisesta funktiosta (kuva 10(a)) valittiin satunnaiset 500 näytettä, joiden dimensiota kasvatettiin lisäämällä niihin kohinaa ja kuvaamalla ne riippuvaksi 20-ulotteiseksi dataksi. Tällä datalla opetettu paikalliseen oppimiseen pohjautuva LWPR-algoritmi (Locally weighted projection regression) pystyi rekonstruoimaan varsin tarkasti alkuperäisen funktion muodon (kuva 10(b)). Algoritmi sijoittelee lokaalien mallien keskukset tasaisesti kuvattavaan avaruuteen ja sovittaa niiden vaikutusalueet oikean muotoisiksi (kuva 10(c)). Paikallisen oppimisen robotiikkasovelluksissa mallitetaan tyypillisesti joko robotin käänteistä kinematiikkaa tai käänteistä dynamiikkaa. Esimerkiksi robottikäsivarren käänteinen kinematiikka kuvaa käsivarren pään karteesiset koordinaatit nivelten kulmiksi. Kuvaus on monimutkainen ja sama piste voidaan saavuttaa yleensä useilla eri kulmien yhdistelmillä. Käänteinen kinematiikka täytyy kuitenkin tuntea, jotta käsivartta voidaan ohjata haluttuihin pisteisiin sopivia reittejä. LWPR-algoritmilla käänteistä kinematiikkaa voidaan mallintaa keräämällä dataa nivelten kulmista ja robottikäsivarren pään sijainnista käsivarren liikkuessa. Mallille opetetaan kaikki mahdolliset ratkaisut ongelmaan, ja erillisellä kustannuskriteerillä valitaan, mikä ratkaisu kulloinkin on paras. Artikkelissa [24] kuvataan LWPR-algoritmin soveltamista robottikäsivarren käänteisen kinematiikan mallintamiseen. Mallinnus onnistuu vähitellen paremmin ja paremmin, kun käsivarren liikkuessa saadaan kerättyä enemmän opetusdataa ja opetus etenee. Käänteisen dynamiikan mallintamisessa paikallisen oppimisen menetelmillä pyritään yleensä kuvaamaan koko systeemin dynamiikka. Myötäkytketyllä säätimellä, jonka osana muodostettu malli on, voidaan sitten ohjata systeemiä referenssisignaalien mukaisesti. Koska toiminta-avaruus on hyvin moniulotteinen ja laaja, tarvitaan lokaaleja malleja todella paljon. Esimerkiksi 7-vapausasteisen robottikäsivarren käänteistä dynamiikkaa kuvattaessa käytettiin 260 lokaalia mallia, kun kuvaus tehtiin 21-ulotteisesta tila-avaruudesta (kulmat, nopeudet ja kiihtyvyydet) erikseen jokaiselle seitsemästä momentista [23]. 28

33 (a) (b) (c) Kuva 10: Esimerkki paikallisen oppimisen soveltamisesta funktion approksimointiin. Mallinnettava funktio (a) pystyttiin rekonstruoimaan hyvällä tarkkuudella (b). Lokaalien mallien sijoittuminen ja vaikutusalueitten muodot (c). Kuvat artikkelista [23]. 29

34 6 Klusteroitu regressiosäätö Klusteroitua regressiosäätäjää käytetään tässä työssä kävelyliikkeen datapohjaiseen mallintamiseen ja näin saatua mallia kävelijän simulointimallin ohjaukseen. Säätäjä koostuu useasta lineaarisesta mallista eli toimintapisteestä, joita käytetään ohjauksen eri vaiheissa. Toimintapisteiden mallit muodostetaan pelkästään systeemin toiminnasta kerätyn datan tilastollisten ominaisuuksien perusteella, ja ohjauksen laskentaan käytetään liitteessä C esitettyä monimuuttujaregressiomenetelmää eli pääkomponenttiregressiota. Tässä luvussa kuvataan klusteroidun regressiosäätömenetelmän toimintaperiaate ja käytettävä mallirakenne. 6.1 Periaate Systeemiä ohjattaessa sen tila vaihtuu ohjauksen vaikutuksesta ajan funktiona. Mekaanisten systeemien ja jatkuvien tilamuuttujien tapauksessa muutos voidaan esittää tila-avaruudessa liikeratana, yleisemmin toimintakäyränä. Ohjauksen tavoitteena voi olla esimerkiksi systeemin pitäminen tietyllä toimintakäyrällä tai halutun lopputilan saavuttaminen. Klusteroitu regressiosäätäjä soveltuu tilanteeseen, jossa systeemin pitää pystyä toistamaan samaa toimintaa useaan kertaan, eli koko toiminta on kuvattavissa yhdellä toimintakäyrällä. Kävelyliikkeessä kävelijä toistaa samaa liikesykliä joka askeleella. Sekä ohjaussignaali y(k) että systeemin mitattu tila u(k) 1 toistuvat vakio-olosuhteissa syklisesti, jolloin liikkeestä vakionäytteenottotaajuudella kerätty data muodostaa yhdistetyssä ohjaus-tila-avaruudessa umpinaisen toimintakäyrän. Koska kävelijän askeleet ovat oikean ja vasemman jalan suhteen symmetrisiä, myös tämä käyrä koostuu kahdesta symmetrisestä osasta ja tarkastelussa voidaan keskittyä vain toiseen näistä osista. Jos kävelyssä on pientä vaihtelua, sijaitsevat datapisteet satunnaisesti keskimääräisen toimintakäyrän ympärillä. Klusteroidussa regressiosäätäjässä mallitetaan systeemin toimintakäyrä siten, että kun tiedetään systeemin nykyinen tila u(k), antaa säätäjä estimaatin ŷ(k) tilaan liittyvälle ohjaukselle y(k). Edellä esitettyyn paikallisen oppimiseen verrattuna nyt keskitytään koko käänteisen dynamiikan mallintamisen sijaan vain tiettyyn toimintakäyrään, jolloin mallin koko on huomattavasti pienempi. Samoin syötteenä kuvaukselle on vain systeemin tila (muuttujat ja niiden aikaderivaatat), eikä kiihtyvyyksiä tarvita. Tärkein ero säätöratkaisujen välillä on kuitenkin se, että klusteroidun regressiosäätäjän antama ohjaussignaali saadaan suoraan opitun mallin antamasta 1 Merkinnät on valittu säätäjän näkökulmasta siten, että systeemin tila u(k) on säätäjän syöte ja ohjaus y(k) säätäjän vaste. 30

35 ohjausestimaatista. Näin paikallisessa oppimisessa käytettyjä erillistä myötäkytkettyä säätäjää ja referenssisignaaleita ei tarvita, vaan haluttu liikerata on sisäänrakennettuna mallissa. Tämä tietenkin rajoittaa systeemin toiminnan vain yhteen liikerataan, mikä esimerkiksi juuri kävelyssä riittää yhdenlaisen kävelysyklin toteuttamiseen. Klusteroidussa regressiosäätäjässä mallitus perustuu systeemin toimintakäyrän jakamiseen toimintapisteisiin, joiden ympäristössä käyrä voidaan olettaa lineaariseksi. Jokaiseen toimintapisteeseen liitetään lokaali pääkomponenttiregressiomalli, joka muodostaa kuvauksen toimintapisteen dataklusterin syötteiden ja vasteiden välille. Mallituksessa datan dimensioita siis pienennetään lokaalisti samoin kuin joissakin paikallisen oppimisen sovelluksissa, jolloin oleelliset riippuvuudet saadaan paremmin esiin. 6.2 Lokaalien pääkomponenttiregressiomallien muodostus Toimintapisteen sisäinen regressiomalli muodostetaan toimintapisteeseen liittyvän dataklusterin perusteella. Merkitään toimintapisteiden lukumäärää N op ja toimintapisteeseen p liittyvän datan (u p, y p ) näytteiden määrää N p. Malli pisteessä p koostuu seuraavista opetusdatan tilastollisista ominaisuuksista: C p u: Säätimen syötedatan u p odotusarvovektori eli toimintapisteen sijainti tila-avaruudessa. C p y: Säätimen vastedatan y p odotusarvovektori eli toimintapisteen sijainti ohjausavaruudessa. P p xx: Piirredatan x p kovarianssimatriisin käänteismatriisi. R p xu: Piirre- ja syötedatan ristikovarianssimatriisi. R p yz: Ohjausdatan ja valkaistun piirredatan z p ristikovarianssimatriisi. 6.3 Ohjauksen laskenta Säätäjän ohjaus hetkellä k lasketaan systeemin tilan u(k) perusteella. Pääkomponenttiregression laskentaan käytetään liitteessä C esitetyn Hebbin ja anti- Hebbin periaatteeseen perustuvan pääkomponenttiregressioalgoritmin kaavoja tilanteessa, jossa regressiorakenteen kovarianssimatriisit ja odotusarvovektorit ovat konvergoituneet. 31

36 Jokaisella mallilla p lasketaan aluksi ohjauksen estimaatti pääkomponenttiregression kaavalla ŷ p (k) = R p yz P p xx1/2 P p xx R p xu (u(k) C p u) + C p y, (17) jossa on yhdistettynä kaavat (66) ja (71). Samoin kaikille toimintapisteille lasketaan kustannus J p (u(k)), joka kuvaa toimintapisteeseen liittyvän mallin sopivuutta näytteelle u(k). Kustannus on määritelty opetustilanteessa kaavalla (29) ja ohjaustilanteessa kaavalla (30). Parhaaksi toimintapisteeksi p valitaan se, joka antaa pienimmän kustannuksen. Koko säätäjän ohjausestimaatti muodostetaan kaikkien mallien estimaattien painotettuna keskiarvona ŷ(k) = Nop p=1 Kp (k)ŷ p (k) Nop, (18) p=1 Kp (k) missä painot K p (k) määräytyvät toimintapisteeseen liittyvästä kustannuksesta seuraavasti: ( ( J p K p (u(k)) J p (u(k)) ) ) 2 (k) = exp. (19) 2σ 2 Kustannuksen kasvaessa vastaavan toimintapisteen estimaatin paino siis pienenee Gaussin funktion mukaisesti. Jos klusterien sisäiset jakaumat oletetaan normaalijakaumiksi, joiden alkioiden varianssi yksinkertaisuuden vuoksi joka suuntaan on vakio σ 2, vastaa tilanne suurimman uskottavuuden estimaattia. Parametri σ 2 kertoo, kuinka paljon kaukaisemmat toimintapisteet vaikuttavat estimaatin arvoon. Jos varianssi on hyvin pieni, on siirtymä toimintapisteiden välillä askelmainen. Toisaalta isommalla varianssin arvolla usean lokaalin mallin estimaatit yhdistetään ja siirtymä saadaan toteutettua pehmeämmin. 6.4 Optimointi Opetettu klusteroitu regressiosäätäjä toistaa mallina käytettyä systeemin toimintaa. Yleensä haluttaisiin kuitenkin, että systeemi käyttäytyisi jossakin mielessä vaikkapa ohjaukseen käytetyn energian suhteen optimaalisella tavalla. Seuraavassa esitetään lyhyesti joitakin optimisäätöteorian perusteita, joita sitten verrataan klusteroidun regressiosäätimen optimointiperiaatteisiin Optimisäätö Optimisäädössä [25] tavoitteena on ohjata systeemiä siten, että se toimii halutussa mielessä optimaalisesti. Yleisesti diskreettiä epälineaarista dynaamista 32

37 systeemiä voidaan kuvata yhtälöllä ξ(k + 1) = f k (ξ(k), v(k)), (20) missä ξ(k) on systeemin tila ja v(k) ohjaus hetkellä k. Tilansiirtofunktio f k (ξ(k), v(k)) antaa hetken k tilan ja ohjauksen perusteella uuden tilavektorin arvon. Optimaalisen toiminnan määrittelemisessä käytetään tyypillisesti kustannuskriteeriä, joka on yleisimmillään muotoa T 1 J t = φ(t, ξ(t )) + L k (ξ(k), v(k)), (21) kun tarkasteltava aikaväli on k [t, T ]. Kustannuksen ensimmäinen termi ottaa huomioon lopputilan ja käytetyn ajan, toinen termi painottaa kaikkia käytettyjä ohjauksia ja tiloja. Optimaalinen ohjaus v ohjaa systeemiä tilojen ξ kautta siten, että kustannuskriteeri (21) minimoituu. Valitsemalla kustannuskriteerin muoto ja painotukset sopivasti voidaan kustannuksen minimissä saavuttaa haluttu optimaalinen käyttäytyminen. Tyypillisesti minimoidaan ohjauksessa käytettyä energiaa tai aikaa ja pyritään samalla pitämään systeemin toiminta halutunlaisena antamalla kustannuksessa painoa myös käytetyille tiloille. Yleisessä tapauksessa, jossa systeemin rakenteelle ei aseteta mitään rajoituksia, optimaalisen ohjauksen laskeminen ei tavallisesti suljetussa muodossa onnistu. Yleisen ratkaisun lausekkeet voidaan kuitenkin johtaa käsittelemällä tehtävää rajoitettuna optimointiongelmana ja soveltamalla siihen Lagrangen kertoimia. Kustannusfunktiota (21) minimoidaan siten, että jokaisella aikaindeksillä k pitää päteä lisäksi dynamiikkayhtälöstä saatava rajoitusehto. Näin minimoitava funktio ilman rajoituksia on k=t T 1 [ J t = φ(t, ξ(t )) + L k (ξ(k), v(k)) k=t +λ T (k + 1) (f k (ξ(k), v(k)) ξ(k + 1)) ]. Vektori λ(k) koostuu hetkellä k käytettävistä Lagrangen kertoimista. (22) Lopulliset iteratiiviset ratkaisukaavat ongelmalle on esitetty esimerkiksi viitteessä [25], mutta niiden ratkaiseminen onnistuu vain hyvin yksinkertaisissa tapauksissa Dynaaminen ohjelmointi Dynaaminen ohjelmointi (esim. [26]) perustuu Bellmanin optimaalisuusperiaatteeseen. Sen mukaan optimaalisen ohjauksen ominaisuus on, että hetkestä k 33

38 eteenpäin ohjauksen täytyy muodostaa optimaalinen ohjaus v riippumatta aikaisemmista ohjauksista ja tiloista. Hetkellä k valittavaan ohjaukseen ei siis vaikuta se, miten nykyiseen tilaan ξ(k) on päädytty, kunhan loppuosa ohjauksesta on optimaalinen. Tämä johtaa dynaamisen ohjelmoinnin algoritmiin, jossa optimointiongelmaa tarkastellaan ajan suhteen käänteisesti. Lähtemällä liikkeelle lopputilasta ξ(t ) ja etenemällä ajassa taaksepäin askel askeleelta saadaan laskettua optimaalinen ohjaus tilan funktiona koko ongelmalle. Optimaaliselle kustannukselle muodostuu iteratiivinen kaava J k(ξ(k)) = min v(k) [Lk (ξ(k), v(k)) + J k+1(ξ(k + 1))], (23) jossa alkuarvona JT (ξ(t )) käytetään lopputilan kustannusta φ(t, ξ(t )). Optimaaliseksi ohjaukseksi saadaan jokaisella askeleella se ohjaus v (k), jolla kustannus minimoituu. Minimoimalla siis kustannus lokaalisti jokaisella askeleella saadaan systeemi kokonaisuudessaan käyttäytymään optimaalisesti Klusteroidun regressiorakenteen optimointi Puhtaasti datapohjaisena menetelmänä klusteroidun regressiosäätäjän toiminta perustuu vain sen opetuksessa käytettyyn dataan. Ideana on lähteä liikkeelle helposti toteutettavasta malliohjauksesta, joka voi olla kaukanakin optimista. Kun tämä alkutila on opetettu säätäjälle, aletaan mallirakennetta päivittää uudella datalla, joka ohjaa toimintaa paremmin. Näin säätäjä vähitellen oppii paremman ohjauksen ja lähestyy haluttua optimia. Klusteroidussa regressiosäätäjässä optimointia voidaan käsitellä dynaamisen optimoinnin lähtökohdista: Jos viimeisessä toimintapisteessä ohjaus on optimaalista, riittää optimoida toiminta edellisessä pisteessä. Kun tämä on tehty, voidaan siirtyä jälleen edelliseen toimintapisteeseen ja jatkaa optimointia. Näin ajassa taaksepäin edeten saadaan koko toiminta paloittain optimaaliseksi. Jos lisäksi toimintapisteiden sijaintia päivitetään, yleinen optimiratkaisu on vähitellen saavutettavissa. Syklisessä toiminnassa, kuten juuri kävelyn ohjaamisessa, ei voida erottaa viimeistä toimintapistettä. Optimoinnin periaattena onkin päivittää vähitellen kaikkia toimintapisteitä sekä niiden sijaintia, jolloin säätäjään opetettu toimintakäyrä muuttaa muotoaan ja siirtyy tila-avaruudessa paremmin optimitoimintaa vastaavaksi. Datapohjaisessa lähestymistavassa opittuja malleja päivitetään hieman alkuperäisestä poikkeavalla datalla, jolloin säätäjän toiminta muuttuu uuden datan 34

39 suuntaan. Jotta adaptoituminen tapahtuisi haluttua optimia kohti, pitäisi uuden opetusdatan siis edustaa nykyistä parempaa toimintaa. Tämä saavutetaan yksinkertaisimmillaan yritys ja erehdys -periaatteella, joka käytännössä perustuu satunnaishakuun. Menetelmä voidaan esittää vaiheittain seuraavasti: 1. Opetetaan klusteroitu regressiosäätäjä optimoimattomasta käyttäytymisestä kerätyllä opetusdatalla. 2. Lasketaan ohjauksen alkuperäinen kustannus J opt (syklisessä toiminnassa keskimääräinen kustannus/sykli). 3. Tehdään satunnaisena ajanhetkenä ohjaukseen satunnainen muutos ja opetetaan näin saadulla uudella datapisteellä säätäjää. 4. Lasketaan päivitetyn toiminnan kustannus J opt ja verrataan sitä vanhaan kustannukseen. Jos J opt > J opt : hylätään uusi malli ja palataan vanhaan. J opt J opt : hyväksytään uusi malli ja päivitetään kustannusta J opt J opt. 5. Siirrytään takaisin kohtaan 3, kunnes selvää optimoitumista ei enää tapahdu tai haluttu määrä iteraatioita on suoritettu. Menetelmä siis kokeilee satunnaista muutosta ohjauksessa ja hyväksyy sen, jos tulos on valitun kustannuksen suhteen parempi. Näin päivitystä tehdään vain optimaalisemman toiminnan suuntaan. Satunnaishakupohjaisten menetelmien heikkoutena on niiden hitaus, eikä mikään estä toiminnan ajautumista kustannusfunktion lokaaliin minimiin. Toisaalta esitetty optimointialgoritmi toimii mahdollisimman yleispätevästi ja yksinkertaisesti. Optimoinnin kustannuskriteeri voidaan valita millaiseksi tahansa, kunhan sen laskeminen on mahdollista systeemistä kerätyn datan perusteella. Systeemin rakennetta ei tarvitse tarkemmin tuntea tai pystyä analysoimaan, kunhan vain sen simulointi tai oikean järjestelmän ohjaaminen ja datan kerääminen onnistuu. 6.5 Aikaisempia sovelluksia Klusteroitua regressiosäätäjää on sovellettu aikaisemmin kaksinivelisen robottikäsivarren ohjaamiseen nimellä Chunk control [1]. Säätäjässä käytetyt menetelmät erosivat hieman nyt esitellyistä, mutta perusajatus oli kuitenkin sama. Suurimpana erona oli se, että Chunk control -säätäjässä ei eroteltu tila- 35

40 ja ohjausdatoja, vaan pääkomponenttianalyysi kohdistui yhdistettyyn dataavaruuteen. Saadut tulokset olivat melko hyviä, sillä säätäjä pystyi toistamaan mallina käytetyn yksittäisten PID-säätäjien toiminnan ja säädön optimointi onnistui. Säädettävä prosessi oli kuitenkin rakenteeltaan hyvin yksinkertainen verrattuna tämän työn kävelevään systeemiin. 36

41 7 Klusteroidun regressiosäätäjän soveltaminen kävelijän ohjaamiseen Klusteroidun regressiosäätimen toiminnan perustan muodostaa säädettävän systeemin tila- ja ohjaussignaalien välisen kuvauksen mallinnus. Kuten luvussa 6 todettiin, mallinnetaan regressiosäätäjään vain systeemin yksi toimintakäyrä, jolloin säätäjä matkii aluksi käytettyä mielivaltaista mallisäätäjää ja toistaa opittua ohjausta. Näin erillisiä referenssisignaaleita ei tarvita, mutta systeemin toiminta on rajoittunut vain opitulle toimintakäyrälle. Klusteroidun regressiosäätimen soveltamisen tavoitteena on, että säätimen rakenteita voitaisiin päivittää jatkuvasti. Aluksi säädin seuraisi mallisäätimen toimintaa ja riittävästi opittuaan voisi itse ohjata systeemiä. Tämän jälkeen säädin adaptoituisi muuttuviin olosuhteisiin ja optimoisi kävelyä valitun kustannuskriteerin mukaisesti. Näin esimerkiksi kävelynopeuden suhde käytettyyn energiaan voitaisiin vähitellen maksimoida toiminnan edetessä. Tässä työssä klusteroidun regressiosäätimen käyttö jaettiin kuitenkin selvästi kahteen eri osaan. Ensimmäisessä vaiheessa säätimelle opetettiin alustava toimintakäyrä PD-säätäjien ohjaamasta systeemistä kerätyllä datalla. Toisessa vaiheessa tutkittiin säätäjän mallien päivitystä liitteessä C esitetyllä Hebbin ja anti-hebbin oppimiseen perustuvalla pääkomponenttiregressioalgoritmilla. Säätäjän opettamisessa käytetyt Matlab-lähdekoodit ja Simulink-mallit on esitelty tarkemmin viitteessä [16]. 7.1 Säätäjän Simulink-toteutus Klusteroidun regressiosäätäjän Simulink-toteutuksen rakenne pohjautuu aikaisemmissa sovelluksissa käytettyihin ratkaisuihin sekä erikoistyössä [27] kehitettyyn mallinsovituslohkoon. Koko säätäjän toiminnot koottiin yhteen lohkoon, jonka syötteenä on systeemin tilavektori ja vasteena opitun mallin antama ohjaus. Kuvassa 11 näkyy tämän lohkon rakenne, johon sisältyy säätimen syötesignaalin esikäsittely, varsinaisen ohjausrekonstruktion laskenta ja tulosten jälkikäsittely. Säätäjän tärkeimmän osan muodostaa Clustered regression -lohko. Opetettu malli annetaan tämän lohkon valintaikkunan parametriksi Matlabin structure array -tyyppisenä muuttujana, johon on koottu kaikkiin toimintapisteisiin liittyvät matriisit (ks. kohta 6.2). Lohkon rakenne päivittyy dynaamisesti mallirakenteen mukaiseksi siten, että jokaista toimintapistettä kohden lohko sisältää yhden PCR-alalohkon (kuva 12). Nämä alalohkot suorittavat kukin oman toimintapisteensä osalta tarvittavan pääkomponenttiregression ja kustannuk- 37

42 Kuva 11: Klusteroidun regressiosäätäjän Simulink-malli. sen laskennan. Lopuksi kaikista lohkoista saaduista rekonstruktioista lasketaan kaavan (18) mukainen painotettu keskiarvo, joka antaa varsinaisen mallin ulostulon. Kuva 12: Clustered regression -lohko sisältää automaattisesti toimintapisteitä vastaavan määrän regressionlaskentalohkoja. 38

43 Koska regressiolohkon rakenne on dynaaminen, pystytään säätäjää käyttämään helposti vaihtelevilla toimintapisteiden lukumäärillä eikä Simulink-mallin rakenteeseen tarvitse käsin tehdä muutoksia. PCR-lohkojen määrä päivittyy annetun mallirakenteen mukaiseksi aina simuloinnin alkaessa Clustered regression -lohkon maskin alustuskomennoilla. Lohkojen väliset kytkennät muodostetaan Simulinkin Goto- ja From-lohkoilla, jolloin erillisiä kytkentäviivoja ei tarvita. Samoin kuin PD-säädössä, myös klusteroidussa regressiosäätäjässä jalkojen signaalit pitää vaihtaa keskenään joka toisella askeleella. Tämä johtuu siitä, että lohko ohjaa vuorotellen vasemmalla ja oikealla jalalla askelia ottavaa kävelijää, mutta malliin on opetettu vain askel, jossa vasen jalka heilahtaa ja oikea toimii tukijalkana. Vaihtoa ohjaa Switch-signaali, joka muuttuu nollasta ykköseen tai päinvastoin aina kaksoistukivaiheen alkaessa. Syötesignaalit vaihdetaan Switch legs -lohkossa ja ohjaussignaalit Switch controls -lohkossa (kuva 11). 7.2 Opetusdata Opetusvaiheessa lähtökohtana käytettiin PD-ohjatusta kävelystä kerättyä dataa. Ennen varsinaista mallien laskentaa sekä tila- että ohjausdata nollakeskiarvoistettiin ja kaikkien komponenttien varianssit skaalattiin ykkösiksi. Tämä on perusteltua sikäli, että syötedata sisältää mm. kulma-arvoja ja kulmanopeuksia, joiden varianssit ja keskiarvot saattavat vaihdella huomattavasti. Syötteen sensoriarvoja ei esikäsitelty lainkaan, ja ne jätettiin pois käytöstä lokaaleita malleja laskettaessa. Merkitään seuraavassa simuloinnista hetkellä k saatua tilavektoria u real (k) = [x 0 (k), y 0 (k), α(k), β L (k), β R (k), γ L (k), γ R (k), ẋ 0 (k), ẏ 0 (k), α(k), β L (k), β R (k), γ L (k), γ R (k), s L (k), s R (k)] T. (24) Ennen regressiomallin käyttöä tilavektorista poistetaan x 0 -koordinaatti ja komponentit nollakeskiarvoistetaan ja skaalataan siten, että niiden varianssit ovat ykkösiä. Merkitään näin saatua tilavektoria u(k). Edelleen syötevektoria, josta lisäksi sensoriarvot on poistettu, merkitään ũ(k). Ohjaussignaali eli säätimen vaste puolestaan koostuu systeemin momenteista: y real (k) = [M L1 (k), M R1 (k), M L2 (k), M R2 (k)] T. (25) Merkitään nollakeskiarvoista ja skaalattua ohjaussignaalia y(k). 39

44 7.3 Datan klusterointi Opetusvaiheessa toimintapisteet piti sijoittaa datan perusteella systeemin toimintakäyrälle sopivasti, jotta sisäiset mallirakenteet saataisiin muodostettua. Jokaiseen toimintapisteeseen liitettiin sitä lähimpänä sijaitsevat datapisteet. Tavoitteena oli, että näin syntyneet toimintapisteklusterit jakautuisivat toimintakäyrälle järjestyksessä ja säätäjä pystyisi mahdollisimman hyvin rekonstruoimaan opetetun käyttäytymisen. Aluksi opetusdatassa esiintyneet askeleet jaettiin ajan suhteen yhtä pitkiin jaksoihin, joiden keskiarvokohdat valittiin toimintapisteiksi. Tällä menetelmällä jokaiseen klusteriin saatiin yhtä paljon opetusaineistoa ja toimintapisteet sijaitsivat tasaisesti toimintakäyrällä. Simuloinneissa osoittautui kuitenkin, että tasainen jako ei tuottanut hyvää rekonstruktiotulosta. Tämä johtui siitä, että toimintakäyrä oletettiin lineaariseksi kunkin toimintapisteen alueella. Kuitenkin käyrässä todellisuudessa on jyrkkiäkin mutkia, joiden lähelle toimintapisteitä pitäisi sijoittaa tiheämmin, jotta lineaarisuusoletus pätisi riittävällä tarkkuudella. Toisaalta joissakin osissa kävelysykliä toiminta on laajemmillakin alueilla lineaarista, jolloin toimintapisteitä voisi olla harvemmassa. Parempaa toimintapisteiden sijoittelua koetettiin toteuttaa käyttämällä itseorganisoituvan kartan [28] tapaista kilpailuoppimiseen perustuvaa opetusalgoritmia pisteiden paikkojen laskemiseen. Menetelmässä toimintapisteet liitetään yksiulotteiseksi nauhaksi numerojärjestyksessä ja algoritmi käy läpi opetusdataa näyte kerrallaan satunnaisessa järjestyksessä. Jokaisella iteraatiokierroksella k suoritetaan seuraavat vaiheet: 1. Valitaan opetusnäytettä u(k), y(k) parhaiten vastaava toimintapiste p kustannuksen J p (u(k), y(k)) suhteen. 2. Talletetaan opetusnäytteen indeksi k parhaan toimintapisteen p klusteriin. 3. Lasketaan unohduskertoimet λ p (k) = 1 (1 λ 0 )h n (p, p ), p = 1,..., N op (26) 4. Päivitetään kaikkien toimintapisteiden sijainteja kaavoilla { C p u(k + 1) = λ p (k)c p u(k) + (1 λ p (k))u(k) C p y(k + 1) = λ p (k)c p y(k) + (1 λ p (k))y(k). (27) Koko iteroinnin jälkeen toimintapisteet siirretään niihin liittyvien dataklustereitten keskiarvopisteisiin. Kaavassa (26) Gaussinen naapuruusfunktio ( ) p p h n (p, p 2 ) = exp (28) 2σ 2 n 40

45 antaa suuren arvon, kun toimintapisteet p ja p sijaitsevat lähellä toisiaan indeksiavaruudessa. Toisaalta pisteiden sijaitessa kaukana toisistaan on funktion arvo pieni. Parametri σ 2 n määrittää naapuruston leveyden. Pienimmän kustannuksen J p (u(k), y(k)) antanutta toimintapistettä päivitetään alkuperäisellä unohduskertoimella λ 0, mutta muiden yksiköiden unohduskerroin lähestyy ykköstä, kun kustannus J p (u(k), y(k)) suurenee. Algoritmin naapuruusefekti pyrkii vetämään yksiköitä toisiaan kohti, mutta toisaalta eri puolilla sijaitseva data levittää yksiköitä laajemmalle. Näin toimintapisteet asettuvat algoritmin konvergoiduttua datan mukaisesti siten, että runsaammin dataa sisältävillä alueilla on enemmän yksiköitä kuin harvoilla alueilla. Kustannukseksi J p (u(k), y(k)) valittiin painotettu summa opetusnäytteen ja tarkasteltavan toimintapisteen p euklidisten etäisyyksien neliöistä syöte- ja vasteavaruudessa: J p (u(k), y(k)) = (u(k) Cu(k)) p T H 1 (u(k) Cu(k)) p +(y(k) Cy(k)) p T H 2 (y(k) Cy(k)). p (29) Painomatriiseilla H 1 ja H 2 voidaan vaikuttaa eri komponenttien merkittävyyksiin kustannusta laskettaessa. Säätäjän opetuksessa käytettiin 4000 näytteen opetusdataa, joka oli kerätty PD-ohjatusta kävelystä. Data esitettiin toimintapisteiden paikat laskevalle algoritmille 20 kertaa satunnaisessa järjestyksessä. Käytetyt parametrit on esitetty taulukossa 3, missä merkintä I n tarkoittaa n n -kokoista yksikkömatriisia ja 0 n vastaavaa nollamatriisia. Taulukko 3: Toimintapisteiden sijoittelussa käytetyt parametrit. Parametri Arvo Datapisteiden lukumäärä N 4000 Datan esityskertojen lukumäärä 20 Naapuruusfunktion varianssi σn 2 0,8 Alkuperäinen unohduskerroin λ 0 0,995 I 6 Painomatriisi H Painomatriisi H 2 5 I 4 Toimintapisteiden sijoittelussa otettiin siis voimakkaimmin huomioon ohjauskomponentit ja yleistetyt koordinaatit. Koordinaattien nopeusarvot jätettiin käyttämättä, koska ne vaikuttivat sisältävän runsaasti häiritseviä värähtelyjä. Algoritmin konvergoitumista seurattiin laskemalla opetuksen aikana summa voittajatoimintapisteiden kustannuksista kaikkien opetusnäytteiden yli. Aina I 2 41

46 uutta näytteiden esityskertaa aloitettaessa summan arvo piirrettiin ja nollattiin. Näin saatiin kuvaaja, jonka käyttäytymisestä voitiin päätellä algoritmin konvergoitumisen edistyminen. Kuvassa 13 on esitetty tyypillinen konvergoitumiskäyrä. Kuva 13: Toimintapisteiden sijoittelualgoritmin konvergoitumista tarkasteltiin voittajayksiköiden kustannusten summien avulla. Kuvassa 14 näkyy klusteroitu opetusdata projisoituna kolmelle tilamuuttujalle. Klusterien keskipisteet eli toimintapisteet on kuvattu eri sävyisillä ympyröillä, ja niihin kuuluvat datapisteet vastaavan sävyisinä pisteinä. Jokaisen klusterin keskipisteeseen on lisäksi liitetty kuva systeemin tilasta kyseisessä toimintapisteessä. Opetusdatan sijoittumisesta nähdään selvästi systeemin toimintakäyrän muoto projisoidussa avaruudessa. Kävelysyklissä olevien nopeiden liikkeiden aikana kävelijän tila muuttuu yhden näytevälin kuluessa niin paljon, että peräkkäiset datapisteet sijaitsevat kaukana toisistaan. Koska mallikävelyn diskreettien referenssisignaalien ja ohjausten näyteväli on sama kuin datan keräämisessä käytetty näyteväli, kerääntyy opetusdataa aina samoilta kohdilta kävelyliikettä. Tämä näkyy kuvassa 14 rinnakkaisina pistejoukkoina, jotka levittyvät toimintakäyrän etenemissuuntaa vasten kohtisuorasti. Klusterointialgoritmi on jakanut toimintapisteet melko tasaisesti koko toimintakäyrän matkalle, ja joka askeleella käyrä kulkee kaikkien pisteiden kautta. Vain viimeisten neljän toimintapisteen alueella data ei näytä jakautuneen siististi klustereihin, mutta tämä johtunee valitusta projektiosta. 42

47 Kuva 14: Klusteroitu opetusdata projisoituna kolmelle tilamuuttujalle, toimintapistejako sekä systeemin tila toimintapisteissä. 7.4 Toimintapisteiden ja piirremuuttujien lukumäärien valinta Toimintapisteiden lukumäärä vaikuttaa teoriassa suoraan klusteroidun regressiosäätäjän antaman ohjauksen tarkkuuteen. Jos toimintapisteitä on enemmän, lineaarisuusoletus niiden sisällä pätee yleisesti paremmin ja opetettu kuvaus systeemin tiloilta ohjauksille saadaan mallinnettua tarkemmin. Toisaalta käytettäessä liian montaa toimintapistettä opetusdataa ei välttämättä riitä jokaiselle yksikölle tarpeeksi regressiomallin muodostamiseksi. Samoin ohjauksen laskentaan kuluva aika kasvaa toimintapisteiden määrän lisääntyessä. Vastaavasti piirremuuttujien määrä kertoo suoraan, kuinka tarkasti opetusdatan riippuvuudet otetaan huomioon. Tavoitteena on, että mallissa käytettäisiin vain datan sisältämä oleellinen informaatio ja kohinan osuus jäisi mallintamatta. Mitä enemmän piirremuuttujia käytetään, eli mitä enemmän pääkomponentteja regressiokuvaukseen otetaan mukaan, sitä tarkemmin opetusdata optimitilanteessa pystytään rekonstruoimaan. Kuvassa 15 on esitetty säätäjää opetettaessa kuvaukseen jäänyt suhteellinen 43

48 neliöllinen rekonstruktiovirhe eri toimintapisteiden ja piirremuuttujien määrillä. Virheet on laskettu opetuksessa käytetyn klusterointijaon perusteella summaamalla kaikkien opetusdatapisteiden neliölliset rekonstruktiovirheet. Kuva 15: Opetusdatan ohjauksen normalisoitu neliöllinen rekonstruointivirhe toimintapisteiden ja piirremuuttujien määrien funktiona. Kuvan 15 perusteella ei sopivia toimintapisteiden ja piirremuuttujien määriä kuitenkaan voida valita, koska käytännössä säädin ei pysty esitettyyn estimointitarkkuuteen. Tämä johtuu pääosin siitä, että ohjausta laskettaessa ei oikeaa toimintapistettä pystytä valitsemaan yhtä hyvin kuin opetusvaiheessa, sillä kustannuksia laskettaessa ei ole käytössä ohjauskomponenttien todellisia arvoja. Ohjausvaiheessa toimintapisteen valinnassa käytettiin muuten opetusvaiheen kustannuksen (29) kaltaista lauseketta, mutta ohjaustermi jätettiin pois, eli asetettiin H 2 = 0 4 : J p (u(k)) = (u(k) C p u) T H 1 (u(k) C p u). (30) Tämä osoittautui toimivimmaksi ja helpoimmaksi tavaksi korvata ohjaustermin puuttuminen. Käytännössä keskimääräistä rekonstruktiotarkkuutta tärkeämpää tuntuu olevan, missä kohdassa kävelysykliä virheet esiintyvät ja minkä tyyppisiä ne ovat. Kriittisellä hetkellä sattuva epätarkkuus väärään suuntaan voi ajaa systeemin 44

Kävelevän robottimallin kehittäminen sekä sen datapohjainen mallitus ja säätö

Kävelevän robottimallin kehittäminen sekä sen datapohjainen mallitus ja säätö TEKNILLINEN KORKEAKOULU Sähkö- ja tietoliikennetekniikan osasto Olli Haavisto Kävelevän robottimallin kehittäminen sekä sen datapohjainen mallitus ja säätö Diplomityö, joka on jätetty opinnäytteenä tarkastettavaksi

Lisätiedot

Dynaamisten systeemien teoriaa. Systeemianalyysilaboratorio II

Dynaamisten systeemien teoriaa. Systeemianalyysilaboratorio II Dynaamisten systeemien teoriaa Systeemianalyysilaboratorio II 15.11.2017 Vakiot, sisäänmenot, ulostulot ja häiriöt Mallin vakiot Systeemiparametrit annettuja vakioita, joita ei muuteta; esim. painovoiman

Lisätiedot

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä.

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä. MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä. Antti Rasila Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Kevät 2016

Lisätiedot

TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio. Mat Systeemien Identifiointi. 4. harjoitus

TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio. Mat Systeemien Identifiointi. 4. harjoitus TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio Mat-2.4129 Systeemien Identifiointi 4. harjoitus 1. a) Laske valkoisen kohinan spektraalitiheys. b) Tarkastellaan ARMA-prosessia C(q 1 )y = D(q 1 )e,

Lisätiedot

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme KJR-C1001 Statiikka ja dynamiikka Luento 16.3.2016 Susanna Hurme Päivän aihe: Translaatioliikkeen kinetiikka (Kirjan luvut 12.6, 13.1-13.3 ja 17.3) Oppimistavoitteet Ymmärtää, miten Newtonin toisen lain

Lisätiedot

Dynaamiset regressiomallit

Dynaamiset regressiomallit MS-C2128 Ennustaminen ja Aikasarja-analyysi, Lauri Viitasaari Matematiikan ja systeemianalyysin laitos Perustieteiden korkeakoulu Aalto-yliopisto Syksy 2016 Tilastolliset aikasarjat voidaan jakaa kahteen

Lisätiedot

Harjoitustyö 3. Heiluri-vaunusysteemin parametrien estimointi

Harjoitustyö 3. Heiluri-vaunusysteemin parametrien estimointi Aalto-yliopiston perustieteiden korkeakoulu Systeemianalyysin laboratorio Mat-2.4129 Systeemien identifiointi Harjoitustyö 3 Heiluri-vaunusysteemin parametrien estimointi Yleistä Systeemianalyysin laboratoriossa

Lisätiedot

Numeeriset menetelmät TIEA381. Luento 12. Kirsi Valjus. Jyväskylän yliopisto. Luento 12 () Numeeriset menetelmät / 33

Numeeriset menetelmät TIEA381. Luento 12. Kirsi Valjus. Jyväskylän yliopisto. Luento 12 () Numeeriset menetelmät / 33 Numeeriset menetelmät TIEA381 Luento 12 Kirsi Valjus Jyväskylän yliopisto Luento 12 () Numeeriset menetelmät 25.4.2013 1 / 33 Luennon 2 sisältö Tavallisten differentiaaliyhtälöiden numeriikasta Rungen

Lisätiedot

Mat Dynaaminen optimointi, mallivastaukset, kierros Vaimennetun heilurin tilanyhtälöt on esitetty luennolla: θ = g sin θ r θ

Mat Dynaaminen optimointi, mallivastaukset, kierros Vaimennetun heilurin tilanyhtälöt on esitetty luennolla: θ = g sin θ r θ Mat-48 Dynaaminen optimointi, mallivastaukset, kierros Vaimennetun heilurin tilanyhtälöt on esitetty luennolla: θ = g sin θ r θ L ẋ = x ẋ = g L sin x rx Epälineaarisen systeemin tasapainotiloja voidaan

Lisätiedot

Yleistä. Aalto-yliopisto Perustieteiden korkeakoulu Matematiikan ja systeemianalyysin laitos

Yleistä. Aalto-yliopisto Perustieteiden korkeakoulu Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Perustieteiden korkeakoulu Matematiikan ja systeemianalyysin laitos MS-E2129 Systeemien identifiointi 3. Harjoitustyö Heiluri-vaunusysteemin parametrien estimointi Yleistä Systeemianalyysin

Lisätiedot

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme KJR-C1001 Statiikka ja dynamiikka Luento 15.3.2016 Susanna Hurme Päivän aihe: Translaatioliikkeen kinematiikka: asema, nopeus ja kiihtyvyys (Kirjan luvut 12.1-12.5, 16.1 ja 16.2) Osaamistavoitteet Ymmärtää

Lisätiedot

Johdatus tekoälyn taustalla olevaan matematiikkaan

Johdatus tekoälyn taustalla olevaan matematiikkaan Johdatus tekoälyn taustalla olevaan matematiikkaan Informaatioteknologian tiedekunta Jyväskylän yliopisto 2. luento 10.11.2017 Keinotekoiset neuroverkot Neuroverkko koostuu syöte- ja ulostulokerroksesta

Lisätiedot

Säätötekniikkaa. Säätöongelma: Hae (mahdollisesti ulostulon avulla) ohjaus, joka saa systeemin toimimaan halutulla tavalla

Säätötekniikkaa. Säätöongelma: Hae (mahdollisesti ulostulon avulla) ohjaus, joka saa systeemin toimimaan halutulla tavalla Säätötekniikkaa Säätöongelma: Hae (mahdollisesti ulostulon avulla) ohjaus, joka saa systeemin toimimaan halutulla tavalla servo-ongelma: ulostulon seurattava referenssisignaalia mahdollisimman tarkasti,

Lisätiedot

Fysiikan perusteet. Voimat ja kiihtyvyys. Antti Haarto

Fysiikan perusteet. Voimat ja kiihtyvyys. Antti Haarto Fysiikan perusteet Voimat ja kiihtyvyys Antti Haarto.05.01 Voima Vuorovaikutusta kahden kappaleen välillä tai kappaleen ja sen ympäristön välillä (Kenttävoimat) Yksikkö: newton, N = kgm/s Vektorisuure

Lisätiedot

Numeeriset menetelmät TIEA381. Luento 8. Kirsi Valjus. Jyväskylän yliopisto. Luento 8 () Numeeriset menetelmät / 35

Numeeriset menetelmät TIEA381. Luento 8. Kirsi Valjus. Jyväskylän yliopisto. Luento 8 () Numeeriset menetelmät / 35 Numeeriset menetelmät TIEA381 Luento 8 Kirsi Valjus Jyväskylän yliopisto Luento 8 () Numeeriset menetelmät 11.4.2013 1 / 35 Luennon 8 sisältö Interpolointi ja approksimointi Funktion approksimointi Tasainen

Lisätiedot

Värähdysliikkeet. q + f (q, q, t) = 0. q + f (q, q) = F (t) missä nopeusriippuvuus kuvaa vaimenemista ja F (t) on ulkoinen pakkovoima.

Värähdysliikkeet. q + f (q, q, t) = 0. q + f (q, q) = F (t) missä nopeusriippuvuus kuvaa vaimenemista ja F (t) on ulkoinen pakkovoima. Torstai 18.9.2014 1/17 Värähdysliikkeet Värähdysliikkeet ovat tyypillisiä fysiikassa: Häiriö oskillaatio Jaksollinen liike oskillaatio Yleisesti värähdysliikettä voidaan kuvata yhtälöllä q + f (q, q, t)

Lisätiedot

Numeeriset menetelmät TIEA381. Luento 6. Kirsi Valjus. Jyväskylän yliopisto. Luento 6 () Numeeriset menetelmät / 33

Numeeriset menetelmät TIEA381. Luento 6. Kirsi Valjus. Jyväskylän yliopisto. Luento 6 () Numeeriset menetelmät / 33 Numeeriset menetelmät TIEA381 Luento 6 Kirsi Valjus Jyväskylän yliopisto Luento 6 () Numeeriset menetelmät 4.4.2013 1 / 33 Luennon 6 sisältö Interpolointi ja approksimointi Polynomi-interpolaatio: Vandermonden

Lisätiedot

Mekaniikan jatkokurssi Fys102

Mekaniikan jatkokurssi Fys102 Mekaniikan jatkokurssi Fys10 Kevät 010 Jukka Maalampi LUENTO 1 Jäykän kappaleen pyöriminen Knight, Ch 1 Jäykkä kappale = kappale, jonka koko ja muoto eivät muutu liikkeen aikana. Jäykkä kappale on malli.

Lisätiedot

Numeeriset menetelmät TIEA381. Luento 5. Kirsi Valjus. Jyväskylän yliopisto. Luento 5 () Numeeriset menetelmät / 28

Numeeriset menetelmät TIEA381. Luento 5. Kirsi Valjus. Jyväskylän yliopisto. Luento 5 () Numeeriset menetelmät / 28 Numeeriset menetelmät TIEA381 Luento 5 Kirsi Valjus Jyväskylän yliopisto Luento 5 () Numeeriset menetelmät 3.4.2013 1 / 28 Luennon 5 sisältö Luku 4: Ominaisarvotehtävistä Potenssiinkorotusmenetelmä QR-menetelmä

Lisätiedot

Luento 13: Periodinen liike. Johdanto Harmoninen värähtely Esimerkkejä F t F r

Luento 13: Periodinen liike. Johdanto Harmoninen värähtely Esimerkkejä F t F r Luento 13: Periodinen liike Johdanto Harmoninen värähtely Esimerkkejä θ F t m g F r 1 / 27 Luennon sisältö Johdanto Harmoninen värähtely Esimerkkejä 2 / 27 Johdanto Tarkastellaan jaksollista liikettä (periodic

Lisätiedot

Mekaniikan jatkokurssi Fys102

Mekaniikan jatkokurssi Fys102 Mekaniikan jatkokurssi Fys10 Syksy 009 Jukka Maalampi LUENTO 1 Jäykän kappaleen pyöriminen Knight, Ch 1 Jäykkä kappale = kappale, jonka koko ja muoto eivät muutu liikkeen aikana. Jäykkä kappale on malli.

Lisätiedot

x = ( θ θ ia y = ( ) x.

x = ( θ θ ia y = ( ) x. Aalto-yliopiston Perustieteiden korkeakoulu Matematiikan systeemianalyysin laitos Mat-2429 Systeemien Identifiointi 5 harjoituksen ratkaisut Esitetään ensin systeemi tilayhtälömuodossa Tiloiksi valitaan

Lisätiedot

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme KJR-C1001 Statiikka ja dynamiikka Luento 23.2.2016 Susanna Hurme Tervetuloa kurssille! Mitä on statiikka? Mitä on dynamiikka? Miksi niitä opiskellaan? Päivän aihe: Voiman käsite ja partikkelin tasapaino

Lisätiedot

Voima F tekee työtä W vaikuttaessaan kappaleeseen, joka siirtyy paikasta r 1 paikkaan r 2. Työ on skalaarisuure, EI vektori!

Voima F tekee työtä W vaikuttaessaan kappaleeseen, joka siirtyy paikasta r 1 paikkaan r 2. Työ on skalaarisuure, EI vektori! 6.1 Työ Voima F tekee työtä W vaikuttaessaan kappaleeseen, joka siirtyy paikasta r 1 paikkaan r 2. Työ on skalaarisuure, EI vektori! Siirtymä s = r 2 r 1 Kun voiman kohteena olevaa kappaletta voidaan kuvata

Lisätiedot

Kognitiivinen mallintaminen Neuraalimallinnus, luento 1

Kognitiivinen mallintaminen Neuraalimallinnus, luento 1 Kognitiivinen mallintaminen Neuraalimallinnus, luento 1 Nelli Salminen nelli.salminen@helsinki.fi D433 Neuraalimallinnuksen osuus neljä luentokertaa, muutokset alla olevaan suunnitelmaan todennäköisiä

Lisätiedot

Mekaniikan jatkokurssi Fys102

Mekaniikan jatkokurssi Fys102 Mekaniikan jatkokurssi Fys102 Kevät 2010 Jukka Maalampi LUENTO 2-3 Vääntömomentti Oletus: Voimat tasossa, joka on kohtisuorassa pyörimisakselia vastaan. Oven kääntämiseen tarvitaan eri suuruinen voima

Lisätiedot

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme KJR-C1001 Statiikka ja dynamiikka Luento 17.3.2016 Susanna Hurme Päivän aihe: Energian, työn ja tehon käsitteet sekä energiaperiaate (Kirjan luku 14) Osaamistavoitteet: Osata tarkastella partikkelin kinetiikkaa

Lisätiedot

Numeeriset menetelmät

Numeeriset menetelmät Numeeriset menetelmät Luento 6 To 22.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 6 To 22.9.2011 p. 1/38 p. 1/38 Ominaisarvotehtävät Monet sovellukset johtavat ominaisarvotehtäviin Yksi

Lisätiedot

Harjoitus 6: Simulink - Säätöteoria. Syksy 2006. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1

Harjoitus 6: Simulink - Säätöteoria. Syksy 2006. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoitus 6: Simulink - Säätöteoria Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Tutustuminen säätötekniikkaan Takaisinkytkennän

Lisätiedot

Voiman momentti M. Liikemäärä, momentti, painopiste. Momentin määritelmä. Laajennettu tasapainon käsite. Osa 4

Voiman momentti M. Liikemäärä, momentti, painopiste. Momentin määritelmä. Laajennettu tasapainon käsite. Osa 4 Osa 4 Liikemäärä, momentti, painopiste Voiman momentti M Voiman vääntövaikutusta mittaava suure on momentti. Esim. automerkkien esitteissä on mainittu moottorin momentti ("vääntö"). Moottorin antama voima

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

Dynaamiset regressiomallit

Dynaamiset regressiomallit MS-C2128 Ennustaminen ja Aikasarja-analyysi, Heikki Seppälä Matematiikan ja systeemianalyysin laitos Perustieteiden korkeakoulu Aalto-yliopisto Syksy 2015 Viikko 6: 1 Kalmanin suodatin Aiemmin käsitellyt

Lisätiedot

Kon Simuloinnin Rakentaminen Janne Ojala

Kon Simuloinnin Rakentaminen Janne Ojala Kon 16.4011 Simuloinnin Rakentaminen Janne Ojala Simulointi käytännössä 1/3 Simulaatiomalleja helppo analysoida Ymmärretään ongelmaa paremmin - Opitaan ymmärtämään koneen toimintaa ja siihen vaikuttavia

Lisätiedot

TEEMU ROOS (KALVOT MUOKATTU PATRIK HOYERIN LUENTOMATERIAALISTA)

TEEMU ROOS (KALVOT MUOKATTU PATRIK HOYERIN LUENTOMATERIAALISTA) JOHDATUS TEKOÄLYYN TEEMU ROOS (KALVOT MUOKATTU PATRIK HOYERIN LUENTOMATERIAALISTA) KONEOPPIMISEN LAJIT OHJATTU OPPIMINEN: - ESIMERKIT OVAT PAREJA (X, Y), TAVOITTEENA ON OPPIA ENNUSTAMAAN Y ANNETTUNA X.

Lisätiedot

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5. 2. MS-A4/A6 Matriisilaskenta 2. Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 5.9.25 Tarkastellaan esimerkkinä lineaarista yhtälöparia { 2x x 2 = x + x 2

Lisätiedot

Tilayhtälötekniikasta

Tilayhtälötekniikasta Tilayhtälötekniikasta Tilayhtälöesityksessä it ä useamman kertaluvun differentiaaliyhtälö esitetään ensimmäisen kertaluvun differentiaaliyhtälöryhmänä. Jokainen ensimmäisen kertaluvun differentiaaliyhtälö

Lisätiedot

SÄÄTÖJÄRJESTELMIEN SUUNNITTELU

SÄÄTÖJÄRJESTELMIEN SUUNNITTELU ENSO IKONEN PYOSYS 1 SÄÄTÖJÄRJESTELMIEN SUUNNITTELU Enso Ikonen professori säätö- ja systeemitekniikka http://cc.oulu.fi/~iko Oulun yliopisto Teknillinen tiedekunta Systeemitekniikan laboratorio Jan 2019

Lisätiedot

Algoritmit 2. Luento 12 To Timo Männikkö

Algoritmit 2. Luento 12 To Timo Männikkö Algoritmit 2 Luento 12 To 3.5.2018 Timo Männikkö Luento 12 Geneettiset algoritmit Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Algoritmit 2 Kevät 2018 Luento 12 To 3.5.2018 2/35 Algoritmien

Lisätiedot

SÄÄTÖJÄRJESTELMIEN SUUNNITTELU

SÄÄTÖJÄRJESTELMIEN SUUNNITTELU ENSO IKONEN PYOSYS 1 SÄÄTÖJÄRJESTELMIEN SUUNNITTELU Enso Ikonen professori säätö- ja systeemitekniikka http://cc.oulu.fi/~iko Oulun yliopisto Älykkäät koneet ja järjestelmät / Systeemitekniikka Jan 2019

Lisätiedot

Ei välttämättä, se voi olla esimerkiksi Reuleaux n kolmio:

Ei välttämättä, se voi olla esimerkiksi Reuleaux n kolmio: Inversio-ongelmista Craig, Brown: Inverse problems in astronomy, Adam Hilger 1986. Havaitaan oppositiossa olevaa asteroidia. Pyörimisestä huolimatta sen kirkkaus ei muutu. Projisoitu pinta-ala pysyy ilmeisesti

Lisätiedot

Mekaniikan jatkokurssi Fys102

Mekaniikan jatkokurssi Fys102 Mekaniikan jatkokurssi Fys10 Kevät 010 Jukka Maalampi LUENTO 7 Harmonisen värähdysliikkeen energia Jousen potentiaalienergia on U k( x ) missä k on jousivakio ja Dx on poikkeama tasapainosta. Valitaan

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 30.4.2019 Timo Männikkö Luento 13 Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Ositus ja rekursio Rekursion toteutus Algoritmit 2 Kevät 2019 Luento 13 Ti 30.4.2019

Lisätiedot

Johdatus tekoälyn taustalla olevaan matematiikkaan

Johdatus tekoälyn taustalla olevaan matematiikkaan Johdatus tekoälyn taustalla olevaan matematiikkaan Informaatioteknologian tiedekunta Jyväskylän yliopisto 3. luento 17.11.2017 Neuroverkon opettaminen (ohjattu oppiminen) Neuroverkkoa opetetaan syöte-tavoite-pareilla

Lisätiedot

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme KJR-C1001 Statiikka ja dynamiikka Luento 22.3.2016 Susanna Hurme Päivän aihe: Rotaatioliikkeen kinematiikka: kulmanopeus ja -kiihtyvyys (Kirjan luvut 12.7, 16.3) Osaamistavoitteet Osata analysoida jäykän

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

Säätötekniikkaa. Säätöongelma: Hae (mahdollisesti ulostulon avulla) ohjaus, joka saa systeemin toimimaan halutulla tavalla

Säätötekniikkaa. Säätöongelma: Hae (mahdollisesti ulostulon avulla) ohjaus, joka saa systeemin toimimaan halutulla tavalla Säätötekniikkaa Säätöongelma: Hae (mahdollisesti ulostulon avulla) ohjaus, joka saa systeemin toimimaan halutulla tavalla servo-ongelma: ulostulon seurattava referenssisignaalia mahdollisimman tarkasti,

Lisätiedot

Fysiikan valintakoe 10.6.2014, vastaukset tehtäviin 1-2

Fysiikan valintakoe 10.6.2014, vastaukset tehtäviin 1-2 Fysiikan valintakoe 10.6.2014, vastaukset tehtäviin 1-2 1. (a) W on laatikon paino, F laatikkoon kohdistuva vetävä voima, F N on pinnan tukivoima ja F s lepokitka. Kuva 1: Laatikkoon kohdistuvat voimat,

Lisätiedot

MAB3 - Harjoitustehtävien ratkaisut:

MAB3 - Harjoitustehtävien ratkaisut: MAB3 - Harjoitustehtävien ratkaisut: 1 Funktio 1.1 Piirretään koordinaatistoakselit ja sijoitetaan pisteet: 1 1. a) Funktioiden nollakohdat löydetään etsimällä kuvaajien ja - akselin leikkauspisteitä.

Lisätiedot

STATIIKKA. TF00BN89 5op

STATIIKKA. TF00BN89 5op STATIIKKA TF00BN89 5op Sisältö: Statiikan peruslait Voiman resultantti ja jako komponentteihin Voiman momentti ja voimapari Partikkelin ja jäykän kappaleen tasapainoyhtälöt Tukivoimat Ristikot, palkit

Lisätiedot

SIMULINK 5.0 Harjoitus. Matti Lähteenmäki 2004 www.tpu.fi/~mlahteen/

SIMULINK 5.0 Harjoitus. Matti Lähteenmäki 2004 www.tpu.fi/~mlahteen/ SIMULINK 5.0 Harjoitus 2004 www.tpu.fi/~mlahteen/ SIMULINK 5.0 Harjoitus 2 Harjoitustehtävä. Tarkastellaan kuvan mukaisen yhden vapausasteen jousi-massa-vaimennin systeemin vaakasuuntaista pakkovärähtelyä,

Lisätiedot

Mat Työ 1: Optimaalinen lento riippuliitimellä

Mat Työ 1: Optimaalinen lento riippuliitimellä Mat-2.132 Työ 1: Optimaalinen lento riippuliitimellä Miten ohjaan liidintä, jotta lentäisin mahdollisimman pitkälle?? 1 työssä Konstruoidaan riippuliitimen malli dynaamisen systeemin tilaesitys Simuloidaan

Lisätiedot

on radan suuntaiseen komponentti eli tangenttikomponentti ja on radan kaarevuuskeskipisteeseen osoittavaan komponentti. (ks. kuva 1).

on radan suuntaiseen komponentti eli tangenttikomponentti ja on radan kaarevuuskeskipisteeseen osoittavaan komponentti. (ks. kuva 1). H E I L U R I T 1) Matemaattinen heiluri = painottoman langan päässä heilahteleva massapiste (ks. kuva1) kuva 1. - heilurin pituus l - tasapainoasema O - ääriasemat A ja B - heilahduskulma - heilahdusaika

Lisätiedot

LASKENNALLISEN TIETEEN OHJELMATYÖ: Diffuusion Monte Carlo -simulointi yksiulotteisessa systeemissä

LASKENNALLISEN TIETEEN OHJELMATYÖ: Diffuusion Monte Carlo -simulointi yksiulotteisessa systeemissä LASKENNALLISEN TIETEEN OHJELMATYÖ: Diffuusion Monte Carlo -simulointi yksiulotteisessa systeemissä. Diffuusio yksiulotteisessa epäjärjestäytyneessä hilassa E J ii, J ii, + 0 E b, i E i i i i+ x Kuva.:

Lisätiedot

Määritelmä Olkoon T i L (V i, W i ), 1 i m. Yksikäsitteisen lineaarikuvauksen h L (V 1 V 2 V m, W 1 W 2 W m )

Määritelmä Olkoon T i L (V i, W i ), 1 i m. Yksikäsitteisen lineaarikuvauksen h L (V 1 V 2 V m, W 1 W 2 W m ) Määritelmä 519 Olkoon T i L V i, W i, 1 i m Yksikäsitteisen lineaarikuvauksen h L V 1 V 2 V m, W 1 W 2 W m h v 1 v 2 v m T 1 v 1 T 2 v 2 T m v m 514 sanotaan olevan kuvausten T 1,, T m indusoima ja sitä

Lisätiedot

1. Osoita, että joukon X osajoukoille A ja B on voimassa toinen ns. de Morganin laki (A B) = A B.

1. Osoita, että joukon X osajoukoille A ja B on voimassa toinen ns. de Morganin laki (A B) = A B. HY / Avoin yliopisto Johdatus yliopistomatematiikkaan, kesä 2015 Harjoitus 3 Ratkaisuehdotuksia Tehtäväsarja I Seuraavissa tehtävissä harjoitellaan muun muassa kahden joukon osoittamista samaksi sekä joukon

Lisätiedot

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme KJR-C1001 Statiikka ja dynamiikka Luento 30.3.2016 Susanna Hurme Yleisen tasoliikkeen kinetiikka (Kirjan luku 17.5) Osaamistavoitteet Osata ratkaista voimia ja niiden aiheuttamia kiihtyvyyksiä tasoliikkeessä

Lisätiedot

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI 1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI 1 1.1 Funktion optimointiin perustuvat klusterointialgoritmit Klusteroinnin onnistumista mittaavan funktion J optimointiin perustuvissa klusterointialgoritmeissä

Lisätiedot

Derivoimalla kerran saadaan nopeus ja toisen kerran saadaan kiihtyvyys Ña r

Derivoimalla kerran saadaan nopeus ja toisen kerran saadaan kiihtyvyys Ña r Vuka HT 4 Tehtävä. Lyhyenä alustuksena tehtävään johdetaan keskeiskiihtyvyys tasaisessa pyörimisessä. Meillä on ympyräradalla liikkuva kappale joka pyörii vakiokulmanopeudella ω dϕ säteellä r origosta.

Lisätiedot

Luento 4: Liikkeen kuvausta, differentiaaliyhtälöt

Luento 4: Liikkeen kuvausta, differentiaaliyhtälöt Luento 4: Liikkeen kuvausta, differentiaaliyhtälöt Digress: vakio- vs. muuttuva kiihtyvyys käytännössä Kinematiikkaa yhdessä dimensiossa taustatietoa Matlab-esittelyä 1 / 20 Luennon sisältö Digress: vakio-

Lisätiedot

Identifiointiprosessi

Identifiointiprosessi Alustavia kokeita Identifiointiprosessi Koesuunnittelu, identifiointikoe Mittaustulosten / datan esikäsittely Ei-parametriset menetelmät: - Transientti-, korrelaatio-, taajuus-, Fourier- ja spektraalianalyysi

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

Suorien ja tasojen geometriaa Suorien ja tasojen yhtälöt

Suorien ja tasojen geometriaa Suorien ja tasojen yhtälöt 6. Suorien tasojen geometriaa 6.1. Suorien tasojen yhtälöt 55. Osoita, että yhtälöt x = 3 + τ y = 1 3τ esittävät samaa tason suoraa. Yhteinen piste 1,5) suunta i 3j. x = 1 6τ y = 5 + 9τ 56. Määritä suoran

Lisätiedot

Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä:

Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä: Frégier n lause Simo K. Kivelä Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä: Suorakulmaisen kolmion kaikki kärjet sijaitsevat paraabelilla y = x 2 ; suoran kulman

Lisätiedot

Kimppu-suodatus-menetelmä

Kimppu-suodatus-menetelmä Kimppu-suodatus-menetelmä 2. toukokuuta 2016 Kimppu-suodatus-menetelmä on kehitetty epäsileiden optimointitehtävien ratkaisemista varten. Menetelmässä approksimoidaan epäsileitä funktioita aligradienttikimpulla.

Lisätiedot

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI 1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI 1 1.1 Funktion optimointiin perustuvat klusterointialgoritmit Klusteroinnin onnistumista mittaavan funktion J optimointiin perustuvissa klusterointialgoritmeissä

Lisätiedot

4.0.2 Kuinka hyvä ennuste on?

4.0.2 Kuinka hyvä ennuste on? Luonteva ennuste on käyttää yhtälöä (4.0.1), jolloin estimaattori on muotoa X t = c + φ 1 X t 1 + + φ p X t p ja estimointivirheen varianssi on σ 2. X t }{{} todellinen arvo Xt }{{} esimaattori = ε t Esimerkki

Lisätiedot

(s 2 + 9)(s 2 + 2s + 5) ] + s + 1. s 2 + 2s + 5. Tästä saadaan tehtävälle ratkaisu käänteismuuntamalla takaisin aikatasoon:

(s 2 + 9)(s 2 + 2s + 5) ] + s + 1. s 2 + 2s + 5. Tästä saadaan tehtävälle ratkaisu käänteismuuntamalla takaisin aikatasoon: TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio Mat-2429 Systeemien Identifiointi 2 harjoituksen ratkaisut Yhtälö voitaisiin ratkaista suoraankin, mutta käytetään Laplace-muunnosta tehtävän ratkaisemisessa

Lisätiedot

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti Luku 6 Dynaaminen ohjelmointi Dynaamisessa ohjelmoinnissa on ideana jakaa ongelman ratkaisu pienempiin osaongelmiin, jotka voidaan ratkaista toisistaan riippumattomasti. Jokaisen osaongelman ratkaisu tallennetaan

Lisätiedot

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme KJR-C1001 Statiikka ja dynamiikka Luento 24.2.2016 Susanna Hurme Päivän aihe: Voiman momentin käsite (Kirjan luvut 4.1-4.6) Mikä on voiman momentti? Määritetään momentti skalaari- ja vektorimuodossa Opitaan

Lisätiedot

Kanta ja Kannan-vaihto

Kanta ja Kannan-vaihto ja Kannan-vaihto 1 Olkoon L vektoriavaruus. Äärellinen joukko L:n vektoreita V = { v 1, v 2,..., v n } on kanta, jos (1) Jokainen L:n vektori voidaan lausua v-vektoreiden lineaarikombinaationa. (Ts. Span(V

Lisätiedot

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme KJR-C1001 Statiikka ja dynamiikka Luento 24.3.2016 Susanna Hurme Rotaatioliikkeen liike-energia, teho ja energiaperiaate (Kirjan luku 18) Osaamistavoitteet Ymmärtää, miten liike-energia määritetään kiinteän

Lisätiedot

Luento 5: Käyräviivainen liike. Käyräviivainen liike Heittoliike Ympyräliike Kulmamuuttujat θ, ω ja α Yhdistetty liike

Luento 5: Käyräviivainen liike. Käyräviivainen liike Heittoliike Ympyräliike Kulmamuuttujat θ, ω ja α Yhdistetty liike Luento 5: Käyräviivainen liike Käyräviivainen liike Heittoliike Ympyräliike Kulmamuuttujat θ, ω ja α Yhdistetty liike 1 / 29 Luennon sisältö Käyräviivainen liike Heittoliike Ympyräliike Kulmamuuttujat

Lisätiedot

2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio

2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio x = x 2 = 5/2 x 3 = 2 eli Ratkaisu on siis x = (x x 2 x 3 ) = ( 5/2 2) (Tarkista sijoittamalla!) 5/2 2 Tämä piste on alkuperäisten tasojen ainoa leikkauspiste Se on myös piste/vektori jonka matriisi A

Lisätiedot

2. kierros. 2. Lähipäivä

2. kierros. 2. Lähipäivä 2. kierros 2. Lähipäivä Viikon aihe Vahvistimet, kohina, lineaarisuus Siirtofunktiot, tilaesitys Tavoitteet: tietää Yhden navan vasteen ekvivalentti kohinakaistaleveys Vastuksen terminen kohina Termit

Lisätiedot

KULJETUSSUUREET Kuljetussuureilla tai -ominaisuuksilla tarkoitetaan kaasumaisen, nestemäisen tai kiinteän väliaineen kykyä siirtää ainetta, energiaa, tai jotain muuta fysikaalista ominaisuutta paikasta

Lisätiedot

MAB3 - Harjoitustehtävien ratkaisut:

MAB3 - Harjoitustehtävien ratkaisut: MAB - Harjoitustehtävien ratkaisut: Funktio. Piirretään koordinaatistoakselit ja sijoitetaan pisteet:. a) Funktioiden nollakohdat löydetään etsimällä kuvaajien ja - akselin leikkauspisteitä. Funktiolla

Lisätiedot

Sovellettu todennäköisyyslaskenta B

Sovellettu todennäköisyyslaskenta B Sovellettu todennäköisyyslaskenta B Antti Rasila 22. marraskuuta 2007 Antti Rasila () TodB 22. marraskuuta 2007 1 / 17 1 Epäparametrisia testejä (jatkoa) χ 2 -riippumattomuustesti 2 Johdatus regressioanalyysiin

Lisätiedot

SÄÄTÖJÄRJESTELMIEN SUUNNITTELU

SÄÄTÖJÄRJESTELMIEN SUUNNITTELU ENSO IKONEN PYOSYS 1 SÄÄTÖJÄRJESTELMIEN SUUNNITTELU Enso Ikonen professori säätö- ja systeemitekniikka http://cc.oulu.fi/~iko Oulun yliopisto Teknillinen tiedekunta Älykkäät koneet ja järjestelmät, Systeemitekniikka

Lisätiedot

9. Tila-avaruusmallit

9. Tila-avaruusmallit 9. Tila-avaruusmallit Aikasarjan stokastinen malli ja aikasarjasta tehdyt havainnot voidaan esittää joustavassa ja monipuolisessa muodossa ns. tila-avaruusmallina. Useat aikasarjat edustavat dynaamisia

Lisätiedot

SaSun VK1-tenttikysymyksiä 2019 Enso Ikonen, Älykkäät koneet ja järjestelmät (IMS),

SaSun VK1-tenttikysymyksiä 2019 Enso Ikonen, Älykkäät koneet ja järjestelmät (IMS), SaSun VK1-tenttikysymyksiä 2019 Enso Ikonen, Älykkäät koneet ja järjestelmät (IMS), 5.2.2019 Tentin arvosteluperusteita: o Kurssin alku on osin kertausta SäAn ja prosessidynamiikkakursseista, jotka oletetaan

Lisätiedot

Oletetaan ensin, että tangenttitaso on olemassa. Nyt pinnalla S on koordinaattiesitys ψ, jolle pätee että kaikilla x V U

Oletetaan ensin, että tangenttitaso on olemassa. Nyt pinnalla S on koordinaattiesitys ψ, jolle pätee että kaikilla x V U HY / Matematiikan ja tilastotieteen laitos Vektorianalyysi II, syksy 018 Harjoitus 4 Ratkaisuehdotukset Tehtävä 1. Olkoon U R avoin joukko ja ϕ = (ϕ 1, ϕ, ϕ 3 ) : U R 3 kaksiulotteisen C 1 -alkeispinnan

Lisätiedot

Kuva 1: Funktion f tasa-arvokäyriä. Ratkaisu. Suurin kasvunopeus on gradientin suuntaan. 6x 0,2

Kuva 1: Funktion f tasa-arvokäyriä. Ratkaisu. Suurin kasvunopeus on gradientin suuntaan. 6x 0,2 HY / Matematiikan ja tilastotieteen laitos Vektorianalyysi I, syksy 018 Harjoitus Ratkaisuehdotukset Tehtävä 1. Olkoon f : R R f(x 1, x ) = x 1 + x Olkoon C R. Määritä tasa-arvojoukko Sf(C) = {(x 1, x

Lisätiedot

Kun järjestelmää kuvataan operaattorilla T, sisäänmenoa muuttujalla u ja ulostuloa muuttujalla y, voidaan kirjoittaa. y T u.

Kun järjestelmää kuvataan operaattorilla T, sisäänmenoa muuttujalla u ja ulostuloa muuttujalla y, voidaan kirjoittaa. y T u. DEE-00 Lineaariset järjestelmät Harjoitus, ratkaisuehdotukset Järjestelmien lineaarisuus ja aikainvarianttisuus Kun järjestelmää kuvataan operaattorilla T, sisäänmenoa muuttujalla u ja ulostuloa muuttujalla

Lisätiedot

VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA SÄHKÖTEKNIIKKA. Lauri Karppi j82095. SATE.2010 Dynaaminen kenttäteoria DIPOLIRYHMÄANTENNI.

VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA SÄHKÖTEKNIIKKA. Lauri Karppi j82095. SATE.2010 Dynaaminen kenttäteoria DIPOLIRYHMÄANTENNI. VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA SÄHKÖTEKNIIKKA Oskari Uitto i78966 Lauri Karppi j82095 SATE.2010 Dynaaminen kenttäteoria DIPOLIRYHMÄANTENNI Sivumäärä: 14 Jätetty tarkastettavaksi: 25.02.2008 Työn

Lisätiedot

4 Matemaattinen induktio

4 Matemaattinen induktio 4 Matemaattinen induktio Joidenkin väitteiden todistamiseksi pitää näyttää, että kaikilla luonnollisilla luvuilla on jokin ominaisuus P. Esimerkkejä tällaisista väitteistä ovat vaikkapa seuraavat: kaikilla

Lisätiedot

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme KJR-C1001 Statiikka ja dynamiikka Luento 31.3.2016 Susanna Hurme Dynamiikan välikoe 4.4.2016 Ajankohta ma 4.4.2016 klo 16:30 19:30 Salijako Aalto-Sali: A-P (sukunimen alkukirjaimen mukaan) Ilmoittautuminen

Lisätiedot

Keskipisteen lisääminen 2 k -faktorikokeeseen (ks. Montgomery 9-6)

Keskipisteen lisääminen 2 k -faktorikokeeseen (ks. Montgomery 9-6) Mat-.3 Koesuunnittelu ja tilastolliset mallit kevät Keskipisteen lisääminen k -faktorikokeeseen (ks. Montgomery 9-6) Esim (Montg. ex. 9-, 6-): Tutkitaan kemiallisen prosessin saannon Y riippuvuutta faktoreista

Lisätiedot

Värähtelevä jousisysteemi

Värähtelevä jousisysteemi Mathematican version 8 mukainen. (5.10.01 SKK) Värähtelevä jousisysteemi Jousen puristumista ja venymistä voidaan kuvata varsin yksinkertaisella matemaattisella mallilla m d x k x, d t missä x on jousen

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

Luvun 5 laskuesimerkit

Luvun 5 laskuesimerkit Luvun 5 laskuesimerkit Esimerkki 5.1 Moottori roikkuu oheisen kuvan mukaisessa ripustuksessa. a) Mitkä ovat kahleiden jännitykset? b) Mikä kahleista uhkaa katketa ensimmäisenä? Piirretäänpä parit vapaakappalekuvat.

Lisätiedot

PID-sa a timen viritta minen Matlabilla ja simulinkilla

PID-sa a timen viritta minen Matlabilla ja simulinkilla PID-sa a timen viritta minen Matlabilla ja simulinkilla Kriittisen värähtelyn menetelmä Tehtiin kuvan 1 mukainen tasavirtamoottorin piiri PID-säätimellä. Virittämistä varten PID-säätimen ja asetettiin

Lisätiedot

Kertaus. Integraalifunktio ja integrointi. 2( x 1) 1 2x. 3( x 1) 1 (3x 1) KERTAUSTEHTÄVIÄ. K1. a)

Kertaus. Integraalifunktio ja integrointi. 2( x 1) 1 2x. 3( x 1) 1 (3x 1) KERTAUSTEHTÄVIÄ. K1. a) Juuri 9 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty 5.5.6 Kertaus Integraalifunktio ja integrointi KERTAUSTEHTÄVIÄ K. a) ( )d C C b) c) d e e C cosd cosd sin C K. Funktiot F ja F ovat saman

Lisätiedot

3. kierros. 2. Lähipäivä

3. kierros. 2. Lähipäivä 3. kierros. Lähipäivä Viikon aihe (viikko /) Takaisinkytketyt vahvistimet Takaisinkytkentä, suljettu säätöluuppi Nyquistin kriteeri, stabiilisuus Taajuusanalyysi, Boden ja Nyquistin diagrammit Systeemin

Lisätiedot

Regressioanalyysi. Kuusinen/Heliövaara 1

Regressioanalyysi. Kuusinen/Heliövaara 1 Regressioanalyysi Kuusinen/Heliövaara 1 Regressioanalyysin idea ja tavoitteet Regressioanalyysin idea: Oletetaan, että haluamme selittää jonkin selitettävän muuttujan havaittujen arvojen vaihtelun joidenkin

Lisätiedot

Koska ovat negatiiviset. Keskihajontoja ei pystytä laskemaan mutta pätee ¾.

Koska ovat negatiiviset. Keskihajontoja ei pystytä laskemaan mutta pätee ¾. 24.11.2006 1. Oletetaan, että kaksiulotteinen satunnaismuuttuja µ noudattaa kaksiulotteista normaalijakaumaa. Oletetaan lisäksi, että satunnaismuuttujan regressiofunktio satunnaismuuttujan suhteen on ݵ

Lisätiedot

. Kun p = 1, jono suppenee raja-arvoon 1. Jos p = 2, jono hajaantuu. Jono suppenee siis lineaarisesti. Vastaavasti jonolle r k+1 = r k, suhde on r k+1

. Kun p = 1, jono suppenee raja-arvoon 1. Jos p = 2, jono hajaantuu. Jono suppenee siis lineaarisesti. Vastaavasti jonolle r k+1 = r k, suhde on r k+1 TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio Mat-.39 Optimointioppi Kimmo Berg 8. harjoitus - ratkaisut. a)huomataan ensinnäkin että kummankin jonon raja-arvo r on nolla. Oletetaan lisäksi että

Lisätiedot

763306A JOHDATUS SUHTEELLISUUSTEORIAAN 2 Ratkaisut 2 Kevät 2017

763306A JOHDATUS SUHTEELLISUUSTEORIAAN 2 Ratkaisut 2 Kevät 2017 763306A JOHDATUS SUHTEELLISUUSTEORIAAN 2 Ratkaisut 2 Kevät 207. Nelinopeus ympyräliikkeessä On siis annettu kappaleen paikkaa kuvaava nelivektori X x µ : Nelinopeus U u µ on määritelty kaavalla x µ (ct,

Lisätiedot

MS-A0305 Differentiaali- ja integraalilaskenta 3 Luento 3: Vektorikentät

MS-A0305 Differentiaali- ja integraalilaskenta 3 Luento 3: Vektorikentät MS-A0305 Differentiaali- ja integraalilaskenta 3 Luento 3: Vektorikentät Antti Rasila Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Syksy 2016 Antti Rasila (Aalto-yliopisto) MS-A0305 Syksy 2016

Lisätiedot

Harjoitus 5: Simulink

Harjoitus 5: Simulink Harjoitus 5: Simulink Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Tutustuminen Simulinkiin Differentiaaliyhtälöiden

Lisätiedot