Malliprediktiivinen säädin konttinosturille

Samankaltaiset tiedostot
Malliprediktiivinen säädin konttinosturille. Väliraportti

Malliprediktiivinen säädin konttinosturille. Laboratoriotyön ohje. Olli Sjöberg Eero Vesaoja

S09 04 Kohteiden tunnistaminen 3D datasta

S11-04 Kompaktikamerat stereokamerajärjestelmässä. Projektisuunnitelma

AS Automaatio- ja systeemitekniikan projektityöt - Projektisuunnitelma

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

Säätötekniikan matematiikan verkkokurssi, Matlab tehtäviä ja vastauksia

A13-03 Kaksisuuntainen akkujen tasauskortti. Projektisuunnitelma. Automaatio- ja systeemitekniikan projektityöt AS-0.

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

Projektisuunnitelma. (välipalautukseen muokattu versio) Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus

MATLAB harjoituksia RST-säädöstä (5h)

Mallintarkistus ja sen

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

1. Projektin status. 1.1 Tavoitteiden päivitys. 1.2 Tulokset Mallinnus

AS Automaatio ja systeemitekniikan projektityöt A13 10 Radio ohjattavan pienoismallin ohjausjärjestelmän ja käyttöliittymän kehittäminen

2009 Mat Operaatiotutkimuksen Projektityöseminaari L

S11-04 Kompaktikamerat stereokamerajärjestelmässä. Väliraportti

AS Automaatio- ja systeemitekniikan projektityöt

SÄÄTÖJÄRJESTELMIEN SUUNNITTELU

LOPPURAPORTTI Paperikonekilta Versio 1.0

A11-02 Infrapunasuodinautomatiikka kameralle

Electric power steering

SOVELLUSPROJEKTIN ARVIOINTILOMAKE

Automaatiotekniikan laskentatyökalut (ALT)

Siimasta toteutettu keinolihas

Tieverkon kunnon stokastinen ennustemalli ja sen soveltaminen riskienhallintaan

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö

PID-sa a timen viritta minen Matlabilla ja simulinkilla

Dynaaminen allokaatio ja riskibudjetointi sijoitusstrategioissa

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

SÄÄTÖJÄRJESTELMIEN SUUNNITTELU

Uudelleenkäytön jako kahteen

Tietokoneavusteinen säätösuunnittelu (TASSU)

A14-11 Potilaan mittaustiedon siirtäminen matkapuhelimeen

Projektisuunnitelma Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus

SALAKIRJOITUKSEN VAIKUTUS SUORITUSKYKYYN UBUNTU käyttöjärjestelmässä -projekti

SIMO-pilotointi Metsähallituksessa. SIMO-seminaari

Projektisuunnitelma. Radio-ohjattavan pienoismallin mekatroniikan ja ohjelmiston kehitys

VÄLI- JA LOPPURAPORTOINTI

Optimaalisen tarkastusvälin määrittäminen suun terveydenhuollossa

Luku 8. Aluekyselyt. 8.1 Summataulukko

T Projektikatselmus

ZigBee-ohjaus kuorma-autolle

AS Automaation signaalinkäsittelymenetelmät. Tehtävä 1. Käynnistä fuzzy-toolboxi matlabin komentoikkunasta käskyllä fuzzy.

Asiakas ja tavoite. Tekninen toteutus

A09-05 OSGi IRC Bot For Coffee Maker

Automaatio- ja systeemitekniikan projektityöt 2013

Dynaamisten systeemien teoriaa. Systeemianalyysilaboratorio II

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2

Toteutusvaihe T3 Digi-tv: Edistymisraportti

. 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

Työn tavoitteita. Yleistä. opetella suunnittelemaan itsenäisesti mittaus kurssin teoriatietojen pohjalta

A13-03 Kaksisuuntainen akkujen tasauskortti. Väliaikaraportti. Automaatio- ja systeemitekniikan projektityöt AS Syksy 2013

Vastuu- ja tehtäväalueet sekä tiedonvälitys OSCu-kursseilla

Toteutusvaihe T2 Edistymisraportti

Akkujen aktiivinen balansointi

58160 Ohjelmoinnin harjoitustyö

TITANIC TEMPPU, vaan ei karille

Rahastosalkun faktorimallin rakentaminen

Opettajien ja oppilaiden kokemuksia projektityöskentelystä

Mat Systeemien identifiointi, aihepiirit 1/4

MINNO Metropolia Loppukatselmus. Kotisatama Järjestelmät

Mitä on konvoluutio? Tutustu kuvankäsittelyyn

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

Electric power steering

SÄÄTÖJÄRJESTELMIEN SUUNNITTELU

KOKONAISSUUNNITELMA KEHITTÄMISTEHTÄVÄLLE lomake 1

TYÖOHJEET VR-HYVINKÄÄ

Männyn laaturajojen integrointi runkokäyrän ennustamisessa. Laura Koskela Tampereen yliopisto

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

Eläkelaitoksen Optimointimallin Rakentaminen

AS Automaatio ja systeemitekniikan projektityöt Projektisuunnitelma Syksy 2009 A09 05 OSGi IRC Bot For Coffee Maker

1 Komparatiivinen statiikka ja implisiittifunktiolause

Power Steering for ATV

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

Teknologiaa kouluun -projekti

Ajatuksia arvioinnista. Marja Asikainen ja työpajaan osallistujat Yhteinen tuotos julkaistaan HYOL:n sivuilla

Automaattinen regressiotestaus ilman testitapauksia. Pekka Aho, VTT Matias Suarez, F-Secure

1 Kannat ja kannanvaihto

CHEM-A1400 Tulevaisuuden materiaalit (5 op) LABORATORIOTYÖN RAPORTTI

Mikrokontrollerikitit - väliraportti

A13-03 Kaksisuuntainen akkujen tasauskortti. Loppuraportti. Automaatio- ja systeemitekniikan projektityöt AS Syksy 2013

RAKE-vastaanotinsimulaatio. 1. Työn tarkoitus. 2. Teoriaa. 3. Kytkentä. Tietoliikennelaboratorio Versio

AS Automaatio- ja systeemitekniikan projektityöt

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Menetelmiä jatkuvaan opiskeluun kannustamiseen ja oppimisen seurantaan

Tehokkaiden strategioiden identifiointi vakuutusyhtiön taseesta

MATEMATIIKAN KOE, LYHYT OPPIMÄÄRÄ HYVÄN VASTAUKSEN PIIRTEITÄ

ADE Oy Hämeen valtatie TURKU. Tuotekonfigurointi. ADE Oy Ly Tunnus:

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

Projektisuunnitelma ja johdanto AS Automaatio- ja systeemitekniikan projektityöt Paula Sirén

Alkukartoitus Opiskeluvalmiudet

Data Envelopment Analysis (DEA) - menetelmät + CCR-DEA-menetelmä

FYSP101/K1 KINEMATIIKAN KUVAAJAT

PROSESSIMALLINNUKSEN HYÖDYNTÄMINEN KAKOLANMÄEN JÄTEVEDENPUHDISTAMON PROSESSIAJOSSA

Tietotekniikan valintakoe

Kon Simuloinnin Rakentaminen Janne Ojala

kertaa samat järjestykseen lukkarissa.

Projektisuunnitelma: Vesipistekohtainen veden kulutuksen seuranta, syksy Mikko Kyllönen Matti Marttinen Vili Tuomisaari

Oppimisprosessissa opiskelijoiden tukena analytiikan opiskelua yhdessä tehden

Transkriptio:

AS-0.3200 Automaatio- ja systeemitekniikan projektityöt, 3 op Malliprediktiivinen säädin konttinosturille Olli Sjöberg Eero Vesaoja

1. Suunnitelma 1.1. Tavoite, MPC:n käyttö Projektin päätavoitteena oli korvata konttinosturipienoismallissa käytettävä kaskadi PID- ja Fuzzysäätimet MPC-säätimellä. Aikaisempi säätöstrategia oli liian samankaltainen moniin muihin töihin verrattuna ja työn sisältö jäi lähinnä pinnalliseen PID:n ja Fuzzyn asioiden kertaamiseen sekä malliin tarkempaan tutustumiseen. Tarkoutus on, että valmiissa laboratoriotyssä opiskelijat pystyvät opiskelemaan, virittämään ja visualisoimaan MPC:n toimintaa simulaattorin sekä varsinaisen pienoismallin avulla. MPC-säädin on teollisuudessa käytetty tärkeä säädin, jonka teoriaa tai toteutusta ei opeteta juurikaan AS-laitoksella. Tämän vuoksi se haluttiin lisätä opetusohjelmaan. Alkuperäinen tarkoitus oli ohjelmoida säädin ensin simulaattorille, viedä säädin todelliseen prosessiin, ja toteuttaa käyttöliittymä sille. Kuitenkin projektin kesken saimme tiedon, että konttinosturin mittausjärjestelmään on tulossa suuria muutoksia, joiden takia ei ole tarpeen toteuttaa säädintä itse fyysiselle järjestelmälle tässä vaiheessa. Säädin ja käyttöliittymä saatiin toteutettua simulaattorille onnistuneesti. Säätimellä on paljon parametreja, joita voidaan muuttaa käyttöliittymän kautta. Erityisesti panostimme käyttöliittymässä visualisointiin, jotta säätimen toiminta tulisi hyvin esille. 1.2. Uuden materiaalin tuottaminen laboratoriotyöhön Toinen tehtävä säätimen toteutuksen lisäksi oli tuottaa samaiseen laboratoriotyöhön materiaaleja. Tämän osuuden laajuutta kasvatettiin vastaavasti, kun säätimen vienti prosessiin poistettiin. Tuotimme useita dokumenttejä laboratoriotyön suoritusta varten. Ne on kuvailtu tarkemmin kappaleessa 3. 1.3. Suunniteltu eteneminen ja aikataulu Teimme ensimmäisen suunnitelman projektin ajankäyttöön suunnitelma-dokumentin yhteydessä. Siinä arvioimme tarvittavia tunti ja viikkomääriä eri vaiheisiin. Työn oli tarkoitus alkaa opiskelulla ja suunnitelman tekemisellä. Malliin tutustumiseen ja alustavaan säätimen toteutukseen varattiin neljä viikkoa. Tenttiviikolle emme budjetoinneet lainkaan projektiin työtä. Väliraporttia ennen tarkotus oli saada säädin vietyä jo prosessille. Seuraavat neljä viikkoa oli varattu toiminnan optimointiin. Dokumentaatioon ja laboratoriotyö-ohjeiden tekoon varattiin viikko. Tarkempi erittely muutoksista ja toteutuneest aikataulusta on kappaleessa 4. Suunnitelman aikataulu (Työtunnit ilmoitettu henkilö kohden) VKO 3 Työn aloittaminen ja alustava tutustuminen (8h) VKO 4-5 Suunnitelman tekeminen ja tarkempi materiaaleihin tutustuminen (12h) VKO 6-9 Mallin käyttö, säätimen suunnittelu ja toteutus alustavasti (15h) VKO 10 Tenttiviikko (0h) VKO 11-12 Säätimen vienti järjestelmään, xpc:hen tutustuminen, väliraportti (15h) VKO 13-16 Säätimen toiminnan optimointi ja vikojen korjaus (20h) VKO 17-18 Viilausta, lopullisen raportin tekoa ja materiaalien tekoa labratyöhön (20h) VKO 19 Dokumentaation ja labratyön ohjeiden viimeitely (10h) 1.4. Riskit joihin varauduttiin Arvioimme työn alussa suurimmiksi riskeiksi oman kokemattomuutemme MPC:stä. Päätimme varata hyvin aikaa MPC:n teoriaan tutustumiseen ja opiskeluun. Emme pystyneet erottelemaan

millaisia käytännön ongelmia ohjelman toteutuksessa voisi tulla, mutta uskoimme, että alueen teorian hyvällä hallinnalla ohjelmointiin liittyvät riskit ovat voitettavissa. Toinen riski, jonka huomioimme, oli mielekkään laboratoriotyön aikaansaannin vaikeus. Yhden ohjelman käyttäminen ja sillä prosessin kokeilu ja simulointi eivät helposti ole riittävän laaja ja monipuolinen tehtävä kokonaiseksi laboratoriotyöksi. Tavoitteena oli kuitenkin tehdä työstä riittävän yksinkertainen, että asia on ymmärrettävissä, mutta kuitenkin kattava, että se olisi mielenkiintoinen. Kolmas arvioimamme riski liittyi säätimen vientiin xpc:lle, joka ei ole erityisen tuttu meille. Nämä riskit kuitenkin vältyivät, koska emme päässeet viemään säädin prosessille. 2. Säätimen ja mallin kehitys 2.1. Lähtökohdat, alkuperäinen malli Koska projektin tavoitteena oli tuottaa uutta sisältöä olemassaolevalle alustalle, siis konttinosturille, oli meillä käytettävissä jo valmiiksi paljon materiaalia. Meille annettiin kaksi eri mallia prosessista, yksinkertaisempi malli, jossa moottorien dynamiikka oli mallinnettu suoraviivaisesti sekä monimutkaisempi malli tarkoilla moottorien ja kitkojen mallinnuksella. Päätimme käyttää yksinkertaisempaa mallia, koska se ei sisältänyt hankalasti dokumentoituja erillisiä alilohkoja moottoreista, kitkoista tms. Lisäksi tulevan säätimen toteutukseen malli, joka on toteutettu suoraan normaaleilla Simulink-lohkoilla, on helpompi lähtökohta. Kuva 1: Käytetty prosessin malli Saimme myös esimerkkiohjelman MPC:n toteutuksesta. MPC oli laitettu siinä yksinkertaiseen kohinaiseen, viiveelliseen prosessiin, jossa käytettiin tarkkailijaa. Tärkeintä meille tässä oli kaksi funktiota: calculatecontrol ja calculatematrices. Niistä jälkimmäistä käytettiin LQ MPC:n tilansiirtomatriisien laskentaan ja ensimmäista koko säätimen lähtöjen laskentaan. Niissä oli kuitenkin melko suuria eroja tarvitsemiimme funktioihin. 2.2. Mallin kehittäminen ja linearisointi Aloitimme mallin kehittämisen sillä, että tutkimme mistä se on rakennettu ja mitä siinä on

huomioitu. Kokeilimme hieman erilaisia ajoja alkuperäisellä mallilla, jotta tietäisimme, mitä vaatia tulevalta säätimeltämme. Malli toimi ongelmitta ja sen toiminnan tutkimista varten saimme myös hyviä visualisointi-skriptejä. Ensimmäinen matemaattisempi tehtävä, jonka aloitimme oli epälineaarisen, kuusitilaisen MIMO-mallin linearisointi. Työ tehtiin yhdellä rupeamalla ja tulosten varmistamiseksi teimme kumpikin sen itsenäisesti ennen tulosten vertailua. Linearisoinnissa käytettiin jonkin verran apumuuttujia yksinkertaistamaan yhtälöitä. Hankalimpia termejä olivat eri ohjausten ja tilojen tulot, jotka näkyivät sekä A, että B matriisissa. Muutama virhe ensimmäisitä linearisoinneistamme löytyi, mutta saimme melko nopeasti linearioinnin toimimaan. Kuva 2: Linearisoinnin tulos Päätimme, että säätimen käyttämä linearisointi on tehtävä kussakin toimintapisteessä aina ennusteiden yhteydessä, mutta sitä ei päivitetä yhden ennusteen sisällä, koska tämä oli simulaatioidemme mukaan liian hidasta reaaliaikaiseen laskentaan. Linearisoidun mallin käyttäminen ennustamisessa tietenkin rajoittaa järkevää ennustushorisontin pituutta, koska malli muuttuu kesken ennusteen. Päätimme kuitenkin kokeilla tätä approksimaatiota, koska laskenta-ajat ovat hyvin tiukkoja xpc-koneella, eikä yllättäviä viiveitä saa tulla. 2.3. MPC säätimen toteutus Tutkimme aluksi Matlabin valmista MPC-säädintä mahdollisena ratkaisuna ongelmaamme. Päädyimme kuitenkin tekemään ratkaisumme manuaalisesti pääasiassa kahdesta syystä: halusimme oppia tarkkaan itse MPC:n toiminnan ja toteutuksen sekä tarvitsimme mahdollisimman paljon vapautta erilaisten parametrien hallintaan ja rakenteeseen. Näiden lisäksi oman säätimen tekeminen riittävän nopeaksi vaikutti helpommalta kuin valmiin käyttäminen, kun tiesimme tarkalleen mitä säätimemme tekee ja miten paljon se vie aikaa. Toisaalta emme halunneet antaa kuvaa, että MPC:tä varten on pakko omistaa erillinen Toolbox, koska laskenta lopulta ei ole niin monimutkaista. MPC-säätimen toteutus aloitettiin lohkokaaviotasolla. Teimme alkuperäiselle Simulink-mallille täyden uudistuksen informaation kulussa. Sen sijaan, että eri suuntaiset, x ja y, paikat menisivät eri säätimille, tai että kulman tieto vietäisiin erikseen heilahdustenesto säätimelle, kaikki informaatio päätettiin viedä yhteen datanyhdistys lohkoon. Tämän jälkeen tehtiin vielä kello ja muisti edellisestä lähdöstä, koska näitä säädin tarvitsee. Muistin, eli viiveen toteutuksessa oli aluksi ongelmia, koska prosessi on jatkuva-aikainen, mutta säädin diskreetti. Mallin tulee toimia eri diskretointiväleillä, eikä ulostulo saa muuttua kesken askelten. Myöskin muistissa olevan ohjeuksen täytyy säilyä synkronoituna. Lopulta päädyimme seuraavaan rakenteeseen:

Kuva 3: Prosessi ja säädin Itse säädin on toteuttettu Matlab-function lohkossa. Sen voidaan ajatella koostuvan kolmesta päävaiheesta. Ensin säädin linearisoi mallin senhetkisessä toimintapisteessä, kuten osassa 2 on kuvailtu. Sitten linearisoitu jatkuva-aikainen malli diskretoidaan. Diskretoinnin tekeminen käsin integroimalla oli hyvin haastavaa, joten päädyimme käyttämään valmiita Control-toolboxin funktioita. Valitettavasti ne eivät ole ehkä yhteensopivia kaikissa tapauksissa, etenkin, jos koodi pitää muuttaa vielä joskus embedded muotoon. Kuitenkin niiden avulla tilaesityksen diskretointi onnistui helposti seuraavasti: sysc = ss(a, B, C, zeros(2,2)); sysd = c2d(sysc, h, 'zoh'); A = sysd.a; B = sysd.b; C = sysd.c; Kun diskreetin järjestelmän tilaesityksen matriisit saatiin, voitiin mennä toiseen vaiheeseen. Siinä lasketaan matsiisit psii, gamma ja theta. Niiden muodostus on tarpeen LQ-teorian käyttöä varten. Ne kuvaavat prosessin ennustusta lineaarisen mallin avulla. Ensimmäinen kuvaa ulostuloja prosessin tilan autoregressiona, toinen kuvaa prosessin tilan muuttumista ohjauksen funktiona ja kolmas tulevien ohjausten muutosten funktiona. Ne yhdistämällä on saatavissa optimoinnin kannalta yksinkertainen muoto itse säätimen lähdön ratkaisua varten. Matriisien muodostus tehdään omassa calculatematrices funktiossa. Viimeinen vaihe säätimen ulostulon laskennassa on optimointi referenssi tavoitteena. Se saadaan näillä matriiseilla muutamalla kertolaskulla ja inverssillä. G = 2*eta'*Q*e; H = eta'*q*eta+r; du = 0.5*H\G; U = du(1:ms,:)+u; U on lopullinen ohjaussignaali.

2.4 Käyttöliittymän suunnittelu ja toteutus Työhön suunniteltiin yksinkertainen käyttöliittymä, jonka avulla käyttäjä voi asettaa säätimelle helposti eri parametreja, sekä tarkastella säätimen toimintaa asettamillaan parametreilla. Käyttöliittymä toteutettiin käyttämällä Matlabin käyttöliittymäkehitysympäristöä GUIDE:a. Käyttöliittymän suunnittelun periaatteina oli, että se olisi helppo käyttää, jotta laboratoriotyössä voidaan keskittyä säätimen toiminnan opetteluun käyttöliittymän opettelun sijaan. Käyttöliittymästä pystyy asettamaan helposti kaikki olennaiset parametrit säätimelle: ohjaushorisontin pituus, prediktiohorisontin alku- ja loppupiste, sekä kustannusfunktion painomatriisit ohjaukselle ja ulostulolle. Lisäksi painomatriisien arvot pystyy asettamaan joko lineaarisesti kasvaviksi tai väheneviksi. Uutena parametrina vanhaan järjestelmään verrattuna on myös taivoiteaika, jolla säätäjä pystyy asettamaan tavoitteellisen ajan kontin siirtämiseen. Myös virheidenkäsittelyä lisättiin käyttöliittymään, sillä simulointi epäonnistuu helposti, jos laittaa säätimelle huonot parametrit. Tällöin simuloinneissa ilmaantuu helposti äärettömyyksiä, jolloin Matlab antaa poikkeuksen. Tällöin ei ole mielekästä, että ohjelma kaatuu. Käyttöliittymä antaa sen sijaan kehoituksen muuttaa parametreja. Havainnollistavien näyttöjen tekeminen käyttöliittymään oli myös haastava tehtävä, mutta mielestämme onnistuimme siinä hyvin. Ylemmässä näytössä näkyy, miten kontti on simuloinnin aikana liikkunut suhteessa referenssiin. Alemmassa kuvassa sen sijaan näkyy kontin liike animoituna. Kontin lisäksi kuvassa näkyy kontin haluttu sijainti sekä säätimen tekemät ennusteet optimaalisesta trajektorista (Kuva 4). Kuva 4: Animointinäyttö 2.5. Kohdatut ongelmat Käytännössä suurimmat ongelmat kohdistuivat säätimen toimintaan liittyviin asioihin. Ensinnäkin mallin linearisoimisen jälkeen malliin oli jäänyt pieni virhe: linearisoinnissa ei oltu otettu huomioon, että konttiin vaikuttava vakiovoima (gravitaatio) katoaa linearisoinnin yhteydessä, jolloin käytetyn mallin antamat ennusteet optimaaliselle ohjaukselle olivat biasoituneita.

Toinen isompi ongelma tuli valmiiden osien integroimisessa kasaan. Meillähän oli käytettävissä valmis esimerkki MPC:stä, mutta tämä oli tehty SISO-järjestelmällä kun taas konttinosturi oli MIMO-järjestelmä. Vaikka saamamme valmiit MPC-toteutukset toimivat pääosin moitteettomasti, joissain kohdissa jouduttiin tekemään jotain muutoksia MIMO-järjestelmään siirryttäessä. Näiden jälkeen ongelmia aiheutti lähinnä aikataulussa pysyminen. Molemmilla oli paljon rinnakkaisia projekteja, jotka hidastivat työn etenemistä. Lisäksi käyttöliittymät toteutukseen kului enemmän aikaa kuin oli alunperin ajateltu. Tämä johtui osaksi jatkuvasti uusien ideoiden synnyttyä ja osaksi siitä, että painomatriisien asettamista päätettiin jossain vaiheessa muuttaa intuitiivisempaan suuntaan. 3. Materiaalit laboratoriotyöhön 3.1. Työohje Tärkein dokumentti opiskelijan kannalta laboratoriotyössä on työohje. Siinä on käytävä läpi koko työhön tarvittava teoria, poislukien perusteet, jotka oletetaan ennakkotietoina. Työohjeessa osa tekstistä on vanhaa ohjetta ja osa uutta, meidän tekemäämme, materiaalia. Koska laitteisto on säilynyt melko pitkälti samanlaisena, voidaan johdannossa käyttää samaa materiaalia kuin ennen. Samoin konttinosturin mekaaninesen mallin osuuteen ei tule muutoksia. Moottorin malli ja kitkamalli jätetään luultavasti pois työohjeesta, koska työn pääpaino siirtyy mallinnuksesta MPC -säätimeen. Säätöjärjestelmän yleinen kuvaus on uutta ja sen toteutamme, mutta siitä osa jäänee tulevaisuuteen, kun mittaukset uudistuva ja ne täytyy dokumentoida silloin. Suurin tuleva muutos työohjeeseen tulee MPC-säätimeen liittyen. Siinä kuvaillaan ensin säätimen yleinen toimintaperiaate ja sitten miten siinä työssä MPC:tä on käytetty: linearisointi ja LQ-teoria. Täydellinen tekninen dokumentaatio se ei tietenkään ole MPC:stä, koska työhön käytettävä aika on rajallinen. Se kuitenkin esittelee MPC:n yleisellä tasolla ensin niin, että sen edut tulevat esiin ja sitten hieman käytännöllisemmin, niin että miten sitä voidaan käyttää tietyssä ympäristössä. Työohje tehdään Latexilla, jotta saadaan siisti ja viimeistely dokumentti. Kirjoitimme työohjeesta seuraavat kappaleet osittain: 1. Johdanto, 3.1 Mekaaninen malli, Kirjoitimme työohjeesta seuraavat kappaleet kokonaan: 2. MPC säädin, 3.2 Mallin linearisointi, 3.3 Mallin diskretointi 4. Käyttöliittymä 3.2. Esitehtävät Myös esitehtävät muuttuvat lähes täysin työn sisällön muutoksen vuoksi. Suunnittelimme esitehtävät sen mukaan, että niiden tehtyä opiskelijalla on mahdollisuus ymmärtää työ kattavasti ja toivottavasti myös rohkeutta suunnitella tarpeen tullen oma säädin. Esitehtävät on jaettu kolmeen osa-alueeseen. Ensin kysytään konttinosturin mallista yleisiä asioita, joilla varmistetaan, että prosessin luonne ymmärretään. Sitten opiskelijat pääsevät laskemaan yhden linearisoinnin, jotta kävisi ilmi, miten säädin ennustaa prosessia. Toinen osuus esitehtävissä koskee MPC:n yleistä teoriaa. Siinä on muutama kysymys MPC:n perusteista. Kolmannessa osuudessa paneudutaan siihen, miten MPC on toteutettu tässä työssä. Perehdytään kustannusfunktioon ja katsotaan hieman psi, gamma ja theta-matriisien sisältöä. Kysymykset suunniteltiin melko sanallisiksi, koska itse työssä päästään sitten tekemään käytännössä samoja asioita. Lisäksi tavoitteena oli, että opiskelijoille tulee rakenteeltaan selkeä

kuva säätimestä, eikä yksittäisiä yhtälöitä tai työläitä derivointeja esimerkiksi painoteta liikaa. 3.3. Esikuulustelun kysymykset Suunnittelimme myös valmiiksi assistenteille esikuulustelukysymykset. Niiden pitäisi varmistaa, että kaikki opiskelijat ovat perehtyneet asiaan etukäteen. Kysymykset koskevat samoja alueita kuin esitehtävät, mutta ovat hieman helpompia. Kaikille kolmelle on yksi kysymys per alue ja yksi kysymys extraa, jos joku ei osaa kysymykseensä vastata tai vastaus tulee ilmi edellisen vastauksessa. Tämä on hyväksi havaittu malli esitenteissä. 4. Työnjako ja ajankäyttö 4.1. Muutokset suunnitelmaan Suurin muutos alkuperäiseen suunnitelmaan verrattuna on tietenkin se, että säädintä ei viety prosessille. Ajallisesti ennusteen alku osui melko hyvin kohdalleen. Tenttiviikolla kuitenkin tehtiin töitä toisin kuin ennustettiin. Toisaalta hieman sen jälkeen osui molemmille tekijöille toisia aikarajoja niin paljon, että työ ei edennyt silloin juurikaan. Toinen suuri muutos suunnitelmaan oli käyttöliittymän toteutuksen ajankäyttö. Sitä ei ollut eritelty lainkaan ensimmäisessä suunnitelmassa, mutta se paljastui yhdeksi työläimmistä osista. Käyttöliittymään otettiin enemmän ominaisuuksia, kuin aluksi osasimme kuvitella ja siihen tehtiin myös useampia näyttöjä kuvaamaan prosessia. Siihen kului useampi viikko. Lisäksi dokumentointiin ja materiaalien tuottoon kaavailtu ajankäyttö oli riittämätöntä. Vaikka dokumenttiä on kirjoitettu hieman työn ohessa jatkuvasti, etenkin ennen väliraportin palautusta, ei dokumentoinnin viimeistely onnistunut ajoissa vaan jäi myöhempään kuin alkuperäisessä suunnitelmassa. Myös materiaalien tuottaminen kesti odotettua kauemmin. Näitä poikkeuksia lukuunottamatta suunnitelma toteutui melko hyvin. Työtunnit täsmäsivät, vaikka sisällöt hieman muuttuivat. Projekti myöhästyi hieman odotetusta, koska materiaalit ja dokumentaatio eivät olleet valmiit vielä esityksessä, kuten oletettiin vaan ne jäivät osittain viimeiselle viikolle. 4.2. Päävastuualueet Projektin alussa työt tehtiin melko pitkälti yhdessä. Kumpikin tutustui kuitenkin materiaaleihin erikseen toki. Malliin tutustuminen ja linearisointi tehtiin yhdessä. Sen jälkeen työt jaettiin aina sen mukaan, kummalla oli aikaa niitä toteuttaa. Kun säädin oli saatu toimimaan alustavasti, jaettiin työt niin, että Olli rupesi kehittämään pääasiassa GUI:tä ja Eero taas tekemään materiaaleja laboratoriotyöhön ja projektin palautettavia materiaaleja. Jatkuvaa keskustelua ja palautteen vaihtoa kuitenkin pidettiin yllä. 4.3. Toteutunut ajankäyttö Projektin ajankäyttö toteutui seuraavanlaisesti: Viikko 4: Projektisuunnitelman teko 6h Viikko 5: Projektikokous 2h Projektin suunnitelman esitys 3h Viikko 6: Materiaaleihin tutustuminen 3h Viikko 7:

Mallin linearisointi 3h Kirjan (Maciejowski) lukeminen 2h Viikko 8: Mallin linearisoinnin parantaminen 1h Säätimen rakentaminen ja mfilejen päivittäminen 2h Viikko 9: Säätimen korjailu ja mallin korjailu 3h Viikko 10: Säätimen toimintaan saattamista 6h Viikko 11: Kalvojen tekeminen esitykseen 2h Mallin korjailu, säätimen korjailu ja diskretoinnin teko 6h Raportin kirjottaminen ja tarkastaminen 2h Projektikokous 2h Viikko 12: Esityksen pitäminen ja siihen valmistautuminen 6h Viikko 13: GUIn testaus 2h GUIn kehitys 5h Bugien etsintä 1h viikko 14: Projektitapaaminen 2h viikko 15: Aika kului muiden projektien parissa. 0h Viikko 16: GUIn refaktorointi ja kehitys 4h Testaus 2h Parametrien asettamisen muuttaminen 8h Viikko 17: Labratyön esitehtävien ja esikuulustelun kysymysten suunnittelu 3h Viikko 18: Laboratoriotyön ohjeen ja raportin suunnittelu 3h Tavoitepaikan lisääminen alempaan kuvaan 3h Tavoiteajan lisääminen 3h Embeddedin kokeilu 3h Viikko 19: Ennusteiden lisääminen alempaan kuvaan 2h palaveria ja suunnittelua 2h Projektidokumentti 3h Työohje 4h Tehtävien puhtaaksikirjoitus 1h Viikko 20: Viimeistely n. 3h Tarkempi ajankäytön erittely suunnitelman ja toteutuneen välillä on vielä kuvassa 5:

Kuva 5: Suunniteltu ja toteutunut ajankäyttö