AS Automaatio- ja systeemitekniikan projektityöt Väliraportti

Samankaltaiset tiedostot
AS Automaatio- ja systeemitekniikan projektityöt - Projektisuunnitelma

AS Automaatio- ja systeemitekniikan projektityöt Loppuraportti

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

A14-11 Potilaan mittaustiedon siirtäminen matkapuhelimeen

Electric power steering

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

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

Projektityö

S09 04 Kohteiden tunnistaminen 3D datasta

Automaatio- ja systeemitekniikan projektityöt 2013

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

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

Siimasta toteutettu keinolihas

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

Projektisuunnitelma Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus

Electric power steering

MUISTILANGAT. Position Control of Shape Memory Alloy Muscles for Robotics. Pia Lindqvist Joni Leppänen Alexander Kokka

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

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

Hybridivalvomon tilatiedon hallinnan kehittäminen

Projektisuunnitelma. Radio-ohjattavan pienoismallin mekatroniikan ja ohjelmiston kehitys

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

Mikrokontrollerikitit - väliraportti

S Portaalinosturi AS Projektisuunnitelma Oleg Kovalev

Hybridivalvomon tilatiedon hallinnan kehittäminen

Power Steering for ATV

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

Lego Mindstorms anturit

Mat Operaatiotutkimuksen projektityöseminaari. Dynaaminen kimppakyytijärjestelmä Uudellamaalla. Väliraportti

Toteutusvaihe T2 Edistymisraportti

Mallintarkistus ja sen

AS Automaatio- ja systeemitekniikan projektityöt

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

58160 Ohjelmoinnin harjoitustyö

Jyrki Kullaa ohjaava opettaja. Mika Miettinen puheenjohtaja

Toteutusvaihe T3 Digi-tv: Edistymisraportti

Ylläpitodokumentti. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Tehokkaiden strategioiden identifiointi vakuutusyhtiön taseesta

A15 - Inertial Measurement Unit

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

Väliraportti: Vesipistekohtainen veden kulutuksen seuranta, syksy Mikko Kyllönen Matti Marttinen Vili Tuomisaari

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

AS Automaatio- ja systeemitekniikan projektityöt

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori

Projektisuunnitelma. Projektin tavoitteet

Työn ositusmalleista. Luennon tavoitteista. Motivointia. Walker Royce, Software Project Management, A Unified Framework

LAATURAPORTTI Iteraatio 1

T Projektikatselmus

T Testiraportti - integraatiotestaus

Santeri Saarinen Korjattu testaustasoja ja tehty tarkennuksia I1-testaukseen

Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti

A09-05 OSGi IRC Bot For Coffee Maker

SEPA päiväkirja. BetaTeam. Juho Mäkinen, 57796V, Jari Leppä, 42710V, Versio Pvm Tekijä Kuvaus

Automaattinen yksikkötestaus

Ylläpitodokumentti Mooan

Projektisuunnitelma. Laitteiston ja kalusteiden hankinta, versio WEB MAGIA OY Laatija Oula Kangas

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

dokumentin aihe Dokumentti: Testausraportti_I1.doc Päiväys: Projekti : AgileElephant

Projekti A: iskunvaimennindynamometri

A4.1 Projektityö, 5 ov.

Nosturirobotti. robotin tarkoitus. mikä on robotin tehtävä. Kurssin robottiohjelmointi, kesä 2011 harjoitustyö

AS Automaatio- ja systeemitekniikan projektityöt

2009 Mat Operaatiotutkimuksen Projektityöseminaari L

Määrittelydokumentti

Mat Operaatiotutkimuksen projektityöseminaari Viestiverkon toimintaluotettavuuden arviointi Väliraportti

Ohjelmiston testaus ja laatu. Testaustasot

T Testiraportti - järjestelmätestaus

Convergence of messaging

Mitä on konvoluutio? Tutustu kuvankäsittelyyn

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

SIMULINK 5.0 Harjoitus. Matti Lähteenmäki

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset. Riskienhallinta DTV projektissa

Testaussuunnitelma Labra

521365S Tietoliikenteen simuloinnit ja työkalut: Advanced Design System ADS

Akkujen aktiivinen balansointi

Kurssin tavoitteista uennot. 4.1 Projektityö, 5 ov. Esitietovaatimukset

AS Automaatio- ja systeemitekniikan projektityöt

Ohjelmoinnin perusteet Y Python

11. PALAVERIN PÖYTÄKIRJA. Jyväskylän Yliopisto Tietotekniikan laitos CONCEPT-projekti Paikka ja aika

Subversion-ohje. Linux Traffic Control-käyttöliittymä Ryhmä paketti2

Tieverkon kunnon stokastinen ennustemalli ja sen soveltaminen riskienhallintaan

Projektiryhmä Tete Work-time Attendance Software. Henkilökohtainen SE harjoitus: loppuraportti

ZigBee-ohjaus kuorma-autolle

AS Automaatio- ja systeemitekniikan projektityöt. Projektisuunnitelma. Peltorobotin akselimoduulin ohjain

Lääkintähelikopterikaluston mallintaminen

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3

Vapaapäivien optimointi

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

Testaussuunnitelma PULSU. Syksy 2008 Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Project group Tete Work-time Attendance Software

Harjoitustyö Case - HelpDesk

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

TIETOJENKÄSITTELYTIETEIDEN LAITOS

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2016

Projektisuunnitelma Nero-ryhmä

Yhteenvetodokumentti. myva. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

CUDA. Moniydinohjelmointi Mikko Honkonen

IT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA LUONNOS

Sisäilman laadun mittausjärjestelmän rakentaminen ZigBee-verkon avulla

Opinnäytetyön prosessikuvaus

Transkriptio:

AS-0.3200 Automaatio- ja systeemitekniikan projektityöt Väliraportti PiccSIM - TrueTime integrointi Henri Öhman 21.3.2012

1. Projektityön tavoite PiccSIM on Aalto-yliopistolla kehitetty simulointiympäristö, joka on tarkoitettu langattomien säätöjärjestelmien mallintamiseen. PiccSIM-ympäristöön kuuluu Matlab/Simulink-lohkokirjasto ja Ns- 2 verkkosimulaattori. Verkkosimulaattori kykenee simuloimaan dataa tietoliikenneverkossa paketin tarkkuudella ottaen huomioon mm. reitityksen, siirtoprotokollan ja langattoman signaalin vaimenemisen. Simulink-kirjasto mahdollistaa säätöjärjestelmän ja tiedonsiirtoverkon yhteisvaikutusten mallintamisen ja simuloinnin. Lundin yliopistolla Ruotsissa on kehitetty vastaavanlainen simulointiympäristö, TrueTime, joka on toteutettu kokonaan Simulinkissä. TrueTimen vahvuus on mikrokontrollerin ja säätöjärjestelmän hyvä simulointi, kun taas PiccSIMin vahvuutena on tutkimuksessa laajassa käytössä olevan verkkosimulaattorin hyödyntäminen tiedonsiirtoverkon tarkassa mallintamisessa. Tässä työssä tavoitteena on yhdistää simulaatiotyökalut niin, että saadaan käyttöön molempien vahvuudet. TrueTimen mikrokontrolleripohjaisen säätöjärjestelmän mallinnuksen Simulink-osuus liitetään PiccSIMiin, johon lisätään myös tarvittavat lohkot PiccSIM-TrueTime-Ns2 kommunikaatiota varten. Projektin tuloksena syntyy siis seuraavaa: - PiccSIM-kirjaston versio, jossa on TrueTimen kernel-ominaisuudet mukana. - Uusia ominaisuuksia havainnollistamaan laaditaan simulointiesimerkki. - Projektin aikana syntyy kolme dokumenttia: suunnitelma, väliraportti ja loppudokumentaatio. Tehdyt muutokset ja ohjeet kirjaston kääntämiseksi myös dokumentoidaan PiccSIMin manuaaliin. Projektityön aloituspalaverissa sovittiin projektityön laajuudeksi 3 op eli n. 81 tuntia työtä. Viikottaiseksi työpanokseksi saadaan 16 viikon kestoiselle projektille n. 5 tuntia. 1.1. Väliraportti 21.3.2012 Muutokset alkuperäisessä suunnitelmassa Projektin aikataulutusta muutettiin radikaalisti alkuperäisen suunnitelman laatimisen jälkeen. Muutoksen syynä oli päätös yrittää saada simulointiympäristöjen integroinnista ja vertailusta tehtyä artikkeli Vaasan yliopiston järjestämään langattoman kommunikoinnin ja sovellusten workshopiin. Työt jaettiin siten, että projektityön ohjaaja, Mikael Björkbom, otti päävastuun artikkelin kirjoitamisesta ja projektityön tekijä, Henri Öhman, sai vastuulleen simulointiympäristöjen integroinnin ohjelmoimisen kiihdytetyllä aikataululla tasolle, jolla voitaisiin suorittaa artikkelin vaatimat simuloinnit ennen artikkelin ensimmäistä deadlinea. 2

Vaasan yliopisto halusi ensimmäisen version paperista 19.3.2012 mennessä. Valmis paperi pitää olla lähetettynä 5.4.2012 mennessä. Paperin hyväksymisestä tulee päätös 30.3.2012 mennessä ensimmäisen lähetetyn version perusteella. Lisätietoja: 3rd Workshop on Wireless Communication and Applications (WoWCA 2012) Wireless Automation & Tactical Communication Systems http://cs.uwasa.fi/wowca2012/index.html 2. Tehtävät projektissa 2.1. PiccSIM TrueTime integraation implementointi Tehtävä pitää sisällään selvitysvaiheen, implementaation ja testauksen. Selvitysvaiheessa perehdytään simulointijärjestelmän osiin, PiccSIM:iin, TrueTimeen ja ns-2 verkkosimulaattoriin sekä konfiguroidaan kehitys- ja testausympäristö projektia varten. Selvitysvaihe pitää sisällään myös TrueTimen ohjelmakoodiin syventymisen ja muutosten suunnittelun alustavalla tasolla. Implementointivaiheessa toteutetaan selvitysvaiheessa täsmentyneen suunnitelman pohjalta itse integraatio kooditasolla. Implementoinnin aikana muutoksien toimivuutta pyritään testaamaan pienissä osissa. Integraation viimeinen vaihe on kokonaisjärjestelmän toimivuuden testaus mahdollisimman kattavasti. Tässä vaiheessa pyritään testaamaan, että kaikki tehdyt muutokset toimivat yhdessä. Integraatiovaihe on luultavasti projektin aikaa vievin osuus, joten sille varataan suurin osa ajasta projektisuunnitelmassa. 2.2. Käyttöliittymän päivittäminen PiccSIM:ssä Projekti sovittiin alun perin tehtäväksi 3 op laajuisena, jolloin käyttöliittymän päivittämiselle jää vähemmän aikaa. Vähimmäisenä vaatimuksena on kuitenkin Simulink-käyttäjärajapinnan toteuttaminen integroiduille TrueTime-lohkoille. Tähän vaiheeseen voidaan keskittyä tarkemmin, mikäli implementaatio valmistuu etuajassa. 2.3. Simulointiesimerkki Projektissa laaditaan simulointiesimerkki, jolla pyritään havainnollistamaan PiccSIM TrueTime integroinnin tuomaa tarkentunutta simulointia. Esimerkissä pyritään demonstroimaan PiccSIM:iin 3

tuodut ominaisuudet mahdollisimman kattavasti. Esimerkin yhteydessä on luontevaa esittää käyttöohjeet integroiduille ominaisuuksille projektin dokumentaation puolella. 2.4. Projektin dokumentointi Projektia dokumentoidaan kolmessa iteraatiossa. Ennen implementaation aloittamista laaditaan projektisuunnitelma, jossa määritellään työvaiheet ja alustava aikataulu sekä arvioidaan riskejä. Projektin puolivälissä tehdään väliraportti, jossa selvitetään projektin etenemistä. Viimeiseksi laaditaan lopullinen dokumentaatio, joka tulee sisältämään työselostuksen, simulaatioesimerkin selostuksineen sekä TrueTime-kirjastoon tehtyjen muutosten selostuksen periaatetasolla. PiccSIMin dokumentaatioon päivitetään tehdyt muutokset, sekä lisätään ohjeet TrueTimesta integroitujen lohkojen kääntämiseen. 2.5. Väliraportti 21.3.2012 Työn tilanne Väliraporttia kirjoitettaessa ensimmäinen versio PiccSIM-TrueTime integraatioon liittyvästä artikkelista on lähetetty eteenpäin. Artikkelissa tehtiin simulointeja ensin molemmilla simulointijärjestelmillä, PiccSIM:llä ja TrueTimella, erikseen ja sen jälkeen käyttäen mallia, jossa käytettiin projektissa ohjelmoitua yhdistettyä simulointijärjestelmää. Simulointeja vertailtiin toisiinsa. Alkuperäisessä suunnitelmassa asetettujen osatehtävien valmiusastetta tarkastellaan seuraavien alaotsikoiden alla. 2.5.1 PiccSIM TrueTime integraation implementointi Integroinnin toteutus on hyvällä mallilla. Kaikki päätoiminnot ovat ohjelmoitu ja toimivalla tasolla. TrueTimeen on ohjelmoitu funktiot, jotka mahdollistavat kommunikoinnin ns-2 verkkosimulaattorilla käyttäen PiccSIM:in määrittelemää UDP-pakettiformaattia. Integraatiota on testattu erilaisilla Simulink-malleilla, algoritmeja (esim. tavujen pakkaaminen ja purkaminen) on testattu erikseen pienemmillä testiohjelmilla. Aikasynkronointi simulointiajan ja simuloitavan ns-2 askelen välillä hoidetaan PiccSIM:n synkronointilohkolla. Lisätyt TrueTime-kernelistä kutsuttavat mex-funktiot: ttaddns2node(node_number, ip) Rekisteröi verkkosolmun ja ns-2 simulaattorin ip-osoitteen. Käytetään TrueTime kernelin initialisointiskriptissä. ttattachns2handler(node_number, handler_name) 4

Liittää keskeytysten käsittelijään verkkokeskeytyksen ns-2:lta. Mahdollistaa tapahtumapohjaisen simuloinnin vastaanotettujen viestien pohjalta. Käytetään TrueTime kernelin initialisointiskriptissä, jossa ensin luodaan keskeytysten käsittelijä TrueTimen omalla käskyllä ttcreatehandler(handler_name). Keskeytyspohjaista viestien vastaanottoa varten on lisätty kernelin keskeytysrutiineihin ns- 2 verkkokeskeytyksen pollaus. ttsendns2(receiver_node, sender_node, data_type, timestamp, bytes, *data) Lähettää mielivaltaisen datarakenteen vastaanottajasolmuun. Datan voi tyypittää käyttäjän antamalla kokonaisluvulla, kuten PiccSIM:issä. Tällä hetkellä lähettäminen on toteutettu alustavana versiona vain yhdelle tietotyypille (double). Tämä laajennetaan tukemaan mielivaltaista dataa. Käyttäjän pitää tietää datan koko, kuten PiccSIM:in lohkoissakin. ttrecvns2(node_number, bytes) Vastaanottaa verkkosolmuun lähetetyn tunnetun kokoisen viestin. Funktion paluuarvona tulevat lähettäjäsolmu, datatyyppi, aikaleima sekä itse data. 2.5.2 Käyttöliittymän päivittäminen PiccSIM:ssä Käyttöliittymään ei ole tehty muutoksia. TrueTimen ohjelmointiin on kulunut sen verran paljon aikaa, että tätä PiccSIM:in graafista käyttöliittymää (Toolchain) ei todennäköisesti ehditä parantelemaan tähän projektiin varatun ajan puitteissa. 2.5.3 Simulointiesimerkki Workshop-artikkelia varten on laadittu simulointiesimerkki, jota käytetään pohjana, kun laaditaan simulointiesimerkki 2.5.4 Projektin dokumentointi Erillistä dokumentointia ei ole vielä aloitettu. Ohjelmakoodia on kommentoitu. 5

Tunnit AS-0.3200 Automaatio- ja systeemitekniikan projektityöt 3. Aikataulu Projektin aikataulu laadittiin alun perin s.e. projektia työstettäisiin tasaisella viikkotahdilla. Kuitenkin langattomien järjestelmien workshopia varten simulointijärjestelmän piti olla toimivassa kunnossa viikon 11 loppuun mennessä. Tavoitteeseen päästiin, tosin näyttää siltä, että projektityö menee ylitöiksi alkuperäiseen mitoitukseen nähden (81 h). Taulukossa 1 on esitetty alkuperäinen aikataulusuunnitelma, toteutunutta ajankäyttöä on verrattu suunniteltuun kuvassa 1. 90 Ajankäyttö 80 70 60 50 40 30 20 10 0 Kuva 1. Ajankäytön seuranta; suunniteltu ajankäyttö punaisella, toteutunut ajankäyttö virheällä. 6

Taulukko 1. Projektin aikataulun suunnitelma Viikko Työvaihe Kurssin tapahtumat 3 Selvitysvaihe + suunnittelu Aiheiden jako, projektin aloituspalaveri 4 5 Dokumentointi Projektisuunnitelman DL ja demotilaisuus 6 7 Implementointi 8 (TrueTime-integrointi) 9 10 11 12 Dokumentointi Väliraportin DL ja demotilaisuus 13 Implementointi 14 Testaus 15 16 Simulointiesimerkki 17 Dokumentointia 18 19 Projektin demotilaisuus 20 (Dokumentointi) 21 Dokumentaation DL Selvitysvaihe Implementointivaihe Testaus Dokumentointi 7

4. Riskinhallinta Tässä osiossa listataan joitain mahdollisia riskejä projektin onnistumiselle. Koska työ on puhtaasti ohjelmistoprojekti, ei aikataulu riipu kovikaan vahvasti ulkoisista tekijöistä esim. osien tilailemisesta ja odottelusta. Riskit liittyvät enemmän projektin aikataulutukseen ja organisointiin. Väliraportti 21.3.2012: Riskeistä lähimpänä toteutumista oli ehkä listatuista riskeistä ensimmäinen. TrueTimen ohjelmakoodiin tutustuminen vei paljon aikaa, mikä loi paineita myös aikataulun pitämisen suhteen, varsinkin kun aikataulua oli tiivistetty alkuperäisestä. Riski: TrueTime osoittautuu hirviöksi ja harhaudutaan tavoitteesta Mikä on riskin toteutumisen todennäköisyys? Alustavan katselmoinnin perusteella koodi näyttää hyvin kommentoidulta ja dokumentaatiota on riittävästi. Toisaalta suunnitelman kirjoitushetkellä TrueTime on vielä musta laatikko, eikä implementaation yksityiskohtiin ole ehditty paneutua huolellisesti. Riskin vaara on olemassa. Miten riskin mahdollisuus voidaan minimoida? Tutustutaan ensin huolellisesti koodiin, minkä jälkeen suunnitellaan tehtävät muutokset. Ennen implementoinnin aloittamista hyväksytetään tehtävät muutokset ohjaajalla. Mitä tehdään, jos riski toteutuu? Otetaan yhteyttä ohjaajaan / korkeampiin voimiin. Riski: Aikataulu uhkaa levitä projektin loppua kohti Mikä on riskin toteutumisen todennäköisyys? On mahdollista, että suunniteltu aikataulu ei kohtaa tehtävän vaatimuksien kanssa. Riskin todennäköisyys on keskisuuri. Miten riskin mahdollisuus voidaan minimoida? Tarkastellaan suunnitelmassa pysymistä esim. viikkotasolla, ja päivitetään suunnitelmaa tarvittaessa. Mitä tehdään, jos riski toteutuu? Allokoidaan projektia varten lisää tunteja. 8

Riski: Sairastuminen / muu yllättävä tekijä Mikä on riskin toteutumisen todennäköisyys? Riskin todennäköisyys on pieni. Allekirjoittanut sairastelee harvoin. Miten riskin mahdollisuus voidaan minimoida? Työstetään projektia tasaisella tahdilla suunnitellun aikataulun mukaisesti. Aikataulu on suunniteltu siten, että siinä on liikkumavaraa mahdollisten odottamattomien tilanteiden varalle. Mitä tehdään, jos riski toteutuu? Jos ei pää irtoa, voi projektia työstää tavalla tai toisella pienessä flunssassakin. 9