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 ja optimoidaan mallin avulla liitoa tyynessä termiikissä (nouseva lämmin ilmavirtaus) Opitaan: matemaattista gray box -mallintamista dynaamisen optimointitehtävän (optimisäätötehtävän) formulointi, analysointi ja numeerinen ratkaiseminen epälineaarisen optimointitehtävän ratkaiseminen valmiilla optimointirutiinilla (MATLAB, Optimization Tool Box) 2
Dynaaminen optimointitehtävä, ratkaisuprosessi Hae paras mahdollinen tapa ohjata dynaamista systeemiä Systeemin malli - 1 kl. dy-systeemi - kiinnitetyt alku- ja lopputilat - sallitut ohjaukset - sallitut tilat Numeerinen ratkaisumenetelmä - epäsuora - suora - diskretointi ja NLP Ratkaisun visualisointi Mallintaminen Optimoitava kriteeri 3
Lentämisen teoriaa, voimat Lentävään lentolaitteeseen vaikuttaa neljä eri voimaa: Miten riippuliitimessä? G=massa m* gravitaatiokiihtyvyys g nostovoima = painovoima => vaakalento L=L(kohtauskulma a, nopeus v, korkeus h) - Nostovoimakerroin C L =C L (a) - Referenssipinta-ala S - Kineettinen paine q=q(h,v) työntövoima = vastusvoima => vakionopeus D=D(kohtauskulma a, nopeus v, korkeus h) - Kokonaisvastuskerroin C D =C D (a) - Referenssipinta-ala S - Kineettinen paine q=q(h,v) 4
Lentämisen teoriaa, kohtauskulma Lentolaitteen pituusakseli ja nopeusvektori erisuuntaisia => Nostovoima Kohtauskulma a = pituusakselin ja nopeusvektorin välinen kulma Nostovoimakerroin C L =C L (a) => Nostovoimaa säädetään kohtauskulmalla Riippuliitimen mallissa C L ohjausmuuttujaksi! 5
Riippuliitimen malli Siirtymisdynamiikka (ei pyörimisdynamiikkaa) Lento pystytasossa Tilamuuttujat: x-koordinaatti, korkeus, nopeus, ratakulma Ohjausmuuttuja: Nostovoimakerroin Vapaakappalekuva F=ma, v=dx/dt yms. => tilaesitys Mallin validointi simuloimalla, parametrien vaikutus Sakkaaminen? 6
Sakkaaminen (http://vfinn.fsnordic.net/) Yläilmavirta kulkee tasaisesti Kohtauskulma kasvaa Yläilmavirta muuttuu pyörteiseksi Siiven nostovoima pienenee nopeasti Sakkausnopeudessa suurin mahdollinen nostovoima alittaa vaakalennossa painovoiman 7
Liidon optimointi Etsi ohjaus siten, että liidetään x-koordinaatin suunnassa mahdollisimman pitkälle menetettyä korkeusyksikköä kohden korkeus x(0) = 0 h(0) = h 0 v(0) = v 0 γ(0) = γ 0 Etsi C L h(t f ) = h f v(t f ) > v f γ(t f ) = vapaa Maksimoi x(t f ) t f vapaa X-koordinaatti 8
Optimointitehtävät Saattinen optimointitehtävä: max x/- h, kerrotaan t/ t ja t fi 0, joten max?? yksinkertaistetaan tilaesitystä minimoidaan C L :n suhteen todennetaan: suurin mahdollinen matka korkeusyksikköä kohden liidetään, kun kokonaisvastuskerroin C D / nostovoimakerroin C L on mahdollisimman pieni Vapaan loppuajan dynaaminen optimointitehtävä max x(t f ).. voidaan esittää muissakin muodoissa Ratkaisuiden vertaileminen 9
Dynaamisen optimointitehtävän ratkaisemisesta Haetaan avoimen ohjauksen ratkaisua Epäsuorat menetelmät: johda (ks. Mat-2.148 materiaali) ja ratkaise optimiradan välttämättömät ehdot monen pisteen reuna-arvotehtävä esim. monipisteammuntamenetelmä (ks. oheismateriaali) (Suorat menetelmät) Äärellisulotteiset suorat menetelmät diskretointi + epälineaarinen ohjelmointi Ratkaisumenetelmien vertaileminen (ks. oheismateriaali) 10
Diskretointimenetelmien jaottelu Diskretoidaan ohjaus tilayhtälöt integroidaan eksplisiittisesti control parameterization, direct shooting Diskretoidaan sekä tila että ohjaus implisiittinen integrointi, enemmän päätösmuuttujia Euler, Runge-Kutta, suora kollokaatio (ks. oheismateriaali) direct transcription Diskretoidaan tilat ohjaukset eliminoidaan diskretoitu tila saavutettavissa edellisestä tilasta difference inclusion 11
Diskretoinnin etuja ja haittoja Ei välttämättömien ehtojen johtamista ei alkuarvausta liittotiloille ei tarvita ratkaisun kytkentärakennetta etukäteen Valmiita epälineaarisen ohjelmoinnin optimointirutiineja karkea alkuarvaus riittää (ks. Matlab-pohja) Ratkaisemisen automatisointi Ratkaisu approksimaatio, tarkkuus riippuu diskretoinnin kertaluvusta ja T:stä korkeampi kertaluku => lisää rajoituksia pienempi T => lisää päätösmuuttujia, lisää rajoituksia Ratkaisun tarkentaminen adaptiiviset ei-tasaväliset pisteistöt (=> arvio virheelle) kontinuaatio pisteiden lukumäärän suhteen (ks. Matlab-pohja) Rajoitukset toteutuvat vain pisteittäin 12
Diskreettiaikaisen dynaamisen optimointitehtävän ratkaiseminen Diskretointi => Epälineaarinen rajoitettu optimointitehtävä SQP (toistettu neliöllinen ohjelmointi) (ks. Mat-2.139 materiaali) eniten käytetty ratkaisumenetelmä diskretoituihin dyn. opt.tehtäviin NPSOL, NAG, FSQP, LANCELOT MATLABin constr-rutiini (ks. Matlab-pohja) - Muuttujien skaalaus! useissa toteutukissa numeeriset gradientit automaattisesti Optimointitehtävän matriisit harvoja helpottaa oleellisesti laskentaa suurissa tehtävissä 13
Optimiratkaisuiden analysointi ja vertailu Staattinen vs. dynaaminen tehtävä tyynessä Suora kollokaatio vs. monipisteammuntamenetelmä referenssiratkaisu annettu Lagrangen kertoimet approksimoivat liittotiloja Dynaaminen tehtävä termiikissä ilmavirran nousunopeus annetaan x-koordinaatin funktiona muokataan tilayhtälöitä, v x ja v h tilamuuttujiksi ratkaiseminen suoralla kollokaatiolla ja SQP:llä valmiit Matlab-pohjat 14
Laaditaan raportin muotoon kappalejaot Työselostus kuviin kuvatekstit ja viittaukset tekstiin sisältö tärkeä, ei viimeistelty ulkoasu sujuvasti luettava, järkevä rakenne Johdanto työn tausta ja tarkoitus Vastaukset työohjeessa esitettyihin kysymyksiin sopiva määrä kuvia simuloinneista ja optimiratkaisuista Yhteenveto ja pohdintaa kommentteja käytetyistä malleista ja menetelmistä kommentteja työstä ja parannusehdotuksia 15