A11-07 Measurements with machine vision Projektisuunnitelma

Samankaltaiset tiedostot
A11-07 Measurements with machine vision (3 op) Loppuraportti

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

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

AS Automaatio- ja systeemitekniikan projektityöt

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

Projektisuunnitelma Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus

Laboratoriotyö. 1. Laitteisto. 1.1 Kamera

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

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

Harjoitustyö 3. Heiluri-vaunusysteemin parametrien estimointi

A14-11 Potilaan mittaustiedon siirtäminen matkapuhelimeen

Stereopaikannusjärjestelmän tarkkuus (3 op)

AS Automaatio- ja systeemitekniikan projektityöt - Projektisuunnitelma

S09 04 Kohteiden tunnistaminen 3D datasta

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

Matterport vai GeoSLAM? Juliane Jokinen ja Sakari Mäenpää

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

805324A (805679S) Aikasarja-analyysi Harjoitus 6 (2016)

Luento 3: 3D katselu. Sisältö

A09-05 OSGi IRC Bot For Coffee Maker

Palauta jokainen funktio-tiedosto. Esitä myös funktiot vastauspaperissasi.

Malleja ja menetelmiä geometriseen tietokonenäköön

Jyrki Kullaa ohjaava opettaja. Mika Miettinen puheenjohtaja

AS Automaatio- ja systeemitekniikan projektityöt S09-18 Langaton anturijärjestelmä rakenteiden kunnonvalvontaan

OULA TelemArk - arkkitehtuuri

Mallintarkistus ja sen

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

Liikehavaintojen estimointi langattomissa lähiverkoissa. Diplomityöseminaari Jukka Ahola

Siimasta toteutettu keinolihas

Sovellettu todennäköisyyslaskenta B

Agenda. Johdanto Säätäjiä. Mittaaminen. P-, I-,D-, PI-, PD-, ja PID-säätäjä Säätäjän valinta ja virittäminen

A11-02 Infrapunasuodinautomatiikka kameralle

4. Tietokoneharjoitukset

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

Paikantaminen paikantamismerkein. Ohjeiden tarkennus liikenteenohjaukselle

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

4. Tietokoneharjoitukset

SÄÄTÖJÄRJESTELMIEN SUUNNITTELU

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

Laskuharjoitus 9, tehtävä 6

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

Luento 6: 3-D koordinaatit

Electric power steering

Korko-optioiden volatiliteettirakenteen estimointi

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Connexx 6 Siemens-kuulokojeiden sovitusohjelma.

AS Automaatio- ja systeemitekniikan projektityöt

AS Automaatio- ja systeemitekniikan projektityöt

Oulun kaupungin nuorten työpajatoiminnan ja ammatillisen koulutuksen välinen yhteistyö Anu Anttila

Electric power steering

Kohdeyleisö: toisen vuoden teekkari

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

Pörisevä tietokone. morsetusta äänikortilla ja mikrofonilla

Menetelmä Markowitzin mallin parametrien estimointiin (valmiin työn esittely)

Mat Operaatiotutkimuksen projektityöseminaari Viestiverkon toimintaluotettavuuden arviointi Väliraportti

Kohti jatkuvatoimista koneistutusta. Veli-Matti Saarinen Heikki Hyyti Tiina Laine Markus Strandström

Seurantalaskimen simulointi- ja suorituskykymallien vertailu (valmiin työn esittely) Joona Karjalainen

Webinaariin liittyminen Skype for

SÄÄTÖJÄRJESTELMIEN SUUNNITTELU

Uudelleenkäytön jako kahteen

Tik projektityö digitaalisten efektien työpaja * johdantoluento * Tassu Takala 1

3 Yleistä estimointiteoriaa. Olemme perehtuneet jo piste-estimointiin su-estimoinnin kautta Tässä luvussa tarkastellaan piste-estimointiin yleisemmin

Metsäkoneiden sensoritekniikka kehittyy. Heikki Hyyti, Aalto-yliopisto

Projektityö

Mitä on konvoluutio? Tutustu kuvankäsittelyyn

Harjoitustyö - Mikroprosessorit Liikennevalot

Tik projektityö Installaatiotyöpaja * johdantoluento * Tassu Takala 1

Projekti A: iskunvaimennindynamometri

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


Lisää pysähtymisaiheisia ongelmia

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

BORIS-peruskurssi - Harjoitukset

1. STEREOKUVAPARIN OTTAMINEN ANAGLYFIKUVIA VARTEN. Hyvien stereokuvien ottaminen edellyttää kahden perusasian ymmärtämistä.

Spektrin sonifikaatio

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

Vapaa-asennon automaattikytkennän aktivointi. Yleistä

Dynaamiset regressiomallit

Power Steering for ATV

Signaalien tilastollinen mallinnus T (5 op) Syksy 2006 Harjoitustyö

Inversio-ongelmien laskennallinen peruskurssi Luento 4

AS Automaatio- ja systeemitekniikan projektityöt

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

Tutustu REMUC:illa ohjattavan laitteen käyttö-, huolto- ja turvaohjeisiin

Visma Fivaldi -käsikirja Tehtävienhallinta- ohje käyttäjälle

PROJEKTISUUNNITELMA. FotMana17

TT00AA Ohjelmoinnin jatko (TT10S1ECD)

IoT ON DIGITALLE ARKIPÄIVÄÄ

Hybridivalvomon tilatiedon hallinnan kehittäminen

Oleelliset vaikeudet OT:ssa 1/2

LÄNNEN-MONITOIMIKONEEN TEKNOLOGISIA OMINAISUUKSIA

Tero Mononen / Kumppanuuskampus

Hybridivalvomon tilatiedon hallinnan kehittäminen

Luku 14 Kuluttajan ylijäämä

TIE Tietorakenteet ja algoritmit 1. TIE Tietorakenteet ja algoritmit

JOITAKIN KOMMENTTEJA JA LISÄEHDOTUKSIA TIETEEN METODIIKKA MODUULIN YHTEISEEN KURSSILISTAAN Esitys KK

Automaatio- ja systeemitekniikan projektityöt 2013

A11-02 Infrapunasuodinautomatiikka kameralle

Kuva Suomen päätieverkko 1 Moottoritiet on merkitty karttaan vihreällä, muut valtatiet punaisella ja kantatiet keltaisella värillä.

Windows 10 käyttöjärjestelmän helppokäyttötoiminnot ja asetukset

Transkriptio:

AS-0.3200 Automaatio- ja systeemitekniikan projektityöt A11-07 Measurements with machine vision Projektisuunnitelma Niko Nyrhilä 25.9.2011

Niko Nyrhilä 2 1 Projektityön tavoite Projektityön tavoitteena on määrittää itsenäisen vaunun paikka ja orientaatio, eli sillä on kuusi vapausastetta. Voidaan kuitenkin olettaa että maasto on melko tasainen, eli kärryn suurimmat rotaatiot tapahtuvat pystyakselin ympäri. Tämä oletus auttaa paikannettavan mallin suunnittelussa, koska olisi suotava ettei yksi markkeri voisi estää muita näkymästä. Projekti on tarkoitus suorittaa yhden opiskelijan voimin kolmen opintopisteen laajuisena. Laitteistona käytetään Microsoft LiveCam HD-5000 webkameraa ja jonkinlaisia paikannettavia "markkereita". Projektissa on kaikkiaan neljä päätavoitetta. 1. Tutkia erilaisia mahdollisia markkereita, kuten ledejä ja värillisiä palloja. On tärkeää että markkerit on helppo havaita kuvasta myös vaihtelevissa valaistusolosuhteissa. 2. Suunnitella ja rakentaa markkereista kolmiulotteinen konfiguraatio, jonka paikka ja orientaatio voidaan tarkasti estimoida yhten webkameran kuvan perusteella reaaliajassa. 3. Toteuttaa konenäköalgoritmi joka paikantaa markkerit kuvasta, ja estimoi niiden perusteella kolmiulotteisen mallin paikan ja orientaation. 4. Toteuttaa peräkärryn ohjausalgoritmi, jossa säädön takaisinkytkentä saadaan peräkärryn paikan ja asennon estimaateista. Esimerkki paikannettavasta rakennelmasta nähdään kuvassa 1. Markkereina toimivat vihreät ja punaiset pallot, jotka on yhtistetty toisiinsa puutikuilla. Punainen pallo on vihreitä palloja taaempana, joten mallin pienikin kierto pystyakselin ympäri nähdään punaisen pallon suurena liikkeenä vihreisiin palloihin nähden. Kuva 1: Paikannettavan rakennelman prototyyppi.

Niko Nyrhilä 3 2 Projektityön rakenne 2.1 Suunnitteluvaihe Tässä vaiheessa tarkennetaan mitä projektin aikana on tarkoitus tutkia ja saavuttaa. Lisäksi tutustutaan mahdollisiin markkereihin ja kolmiulotteisiin paikannettaviin rakenteisiin, ja varmistetaan että kameran kuva saadaan kehitysympäristöön. On myös hyvä tuntea perusteet konenäön piirteidenetsintäalgoritmeista, jotta voidaan valita helposti havaittavat markkerit. Ainakin alkuvaiheessa koodia kehitetään Matlab ympäristössä käyttäen Matlab-skriptikieltä, mutta myöhemmin on mahdollista siirtyä käyttämään C++:aa ja OpenCV kirjastoa. Edellytykset: Työmäärä: 10 h Deadline: 2.10. 2.2 Paikannettavan mallin rakentaminen Suunnitteluvaiheessa ilmenneiden seikkojen perusteella valitaan markkerit ja kolmiulotteinen rakenne, ja rakennetaan mallista kestävä prototyyppi. On tärkeää ettei rakenteesta tule liian joustava, koska tällöin kalibrointivaiheessa voi ilmetä ongelmia. Lisäksi malli tulisi olla mahdollista kiinnittää esimerkiksi kamerajalustaan, koska tällöin sen paikkaa ja asentoa voidaan säätää tarkasti ja melko mielivaltaisesti kokeita ja kalibrointia varten. Edellytykset: Taustatutkimus tehty Työmäärä: 10 h Deadline: 9.10. 2.3 Markkerien paikannusalgoritmin kehittäminen Kun markkierien tyyppi on valittu, voidaan ryhtyä kehittämään algoritmia markkerien löytämiseksi. Tässä vaiheessa on hyvä luoda syvempi katsaus tieteellisiin julkaisuihin, ja arvioida mitä menetelmiä kannattaisi kokeilla käytännössä. Paikantamisen haastetta lisäävät värimuutoksia aiheuttavat vaihtelevat valaistusolosuhteet, ja hämärässä valaistuksessa kuvassa ilmenevä kohina. Edellytykset: Markkerit valittu Deadline: 16.10. 2.4 Kameran kalibrointi ja mallin paikantaminen Kun paikannettava prototyyppi on rakennettu, voidaan ryhtyä kalibroimaan kameran parametrejä. Tämä tapahtuu asettamalla malli tunnettuun paikkaan ja asentoon, ja tarkastelemalla missä kohdissa kameran kuvaa markkerit näkyvät. Tähän tehdään oma kalibrointialgoritmi, joka sovittaa parametrit pienimmän neliösumman menetelmällä.

Niko Nyrhilä 4 Malli olisi mahdollista paikantaa aina kameran koordinaatistossa, mutta tällöin etäisyyksien tarkka mittaaminen kalibrointia varten on hieman haasteellista. Siksi olisi hyödyllistä määrittää koordinaatit maailmankoordinaatistossa. Myöhemmin toteutusvaiheessa peräkärryn paikka ja asento voidaan helposti ilmoittaa ohjaavaan ajoneuvoon sidottuun koordinaatiston nähden. Tällöin kuitenkin kameran kiinnitys ajoneuvoon tulee olla erittäin jämäkkä. Edellytykset: Paikannettava rakennelma valmis Deadline: 30.10. 2.5 Estimoitujen tilamuuttujien suodattaminen Kameran kuvan perusteella estimoituun mallin paikkaan ja asentoon liittyy aina kohinaa. Kärry on kuitenkin melko hidasliikkeinen paikannusalgoritmin nopeuteen nähden, joten estimaatteja olisi erittäin hyödyllistä suodattaa esimerkiksi Kalman-suotimen avulla. Suodin kuitenkin perustuu myös ohjaussuureiden tuntemiseen, joten ei ole vielä tiedossa soveltuuko se käytettäväksi tässä harjoitustyössä. Edellytykset: Mallin paikantava algoritmi valmis Työmäärä: 15 h Deadline: 13.11. 2.6 Kärryn ohjausjärjestelmän suunnitteleminen Mikäli mallin paikannus osoittautuu tarpeeksi tarkaksi, sen avulla voidaan toteuttaa peräkärryn automaattinen peruutusjärjestelmä. Tällöin peräkärry ei olisi mekaanisesti kytkettynä autoon, vaan siinä olisi oma moottori joka liikuttelee kärryä. Webkamera kiinnitetään autoon ja suunnataan taaksepäin, ja viesti autossa olevalle ohjausjärjestelmälle kärryn sijainnin. Autosta lähetettäisiin langattomasti ohjauskomennot kärryn moottoreille, ja kärry saadaan vaivattomasti ohjattua haluttuun paikkaan. Helpompi sovelluskohde olisi ohjata kärry ainoastaan seuraamaan autoa, auton ajaessa eteenpäin. Tällöin kärryn reitin suunnitteleminen olisi huomattavasti helpompaa, koska auton ohjaajan ei tarvitse eksplisiittisesti viestiä reitinhakualgoritmia suorittavalle koneelle että mihin ollaan menossa. Edellytykset: Mallin paikantava algoritmi valmis, estimaattien suodatus valmis 2.7 Siirtyminen Matlab-skriptikielestä C++:aan Mikäli projekti etenee vauhdikkaasti, ajan puitteissa voisi olla mahdollista siirtyä käyttämään Matlabin sijaan C++ kieltä ja OpenCV kirjastoa. Tämä helpottaisi projektin hyödyntämistä muissa tulevissa projekteissa. Tämä on kuitenkin hyvin aikaavievä vaihe, ennenkuin kaikki menetelmät toimivat C++ koodina. Edellytykset: Mallin paikantava algoritmi valmis, estimaattien suodatus valmis Työmäärä: 40 h

Niko Nyrhilä 5 2.8 Dokumentointi Projektiin sisältyy kolme kirjallista dokumenttia: suunnitelman esittely, väliraportointi ja loppuseminaari. Lopuksi työn kulusta ja tuloksista kirjoitetaan loppuraportti. Dokumentteja kirjoitetaan aikataulun puitteissa sitä mukaa kun projekti etenee ja osa-alueita saadaan valmiiksi. Edellytykset: 3 Riskinhallinta Projektin vaiheet tukeutuvat vahvasti aina edellisistä vaiheista saatuihin tuloksiin. Siksi onkin tärkeä tunnistaa projektin kriittiset kohdat, joissa on mahdollista törmätä ongelmiin. 3.1 Markkereiden paikantaminen Suurin riski projektissa on, että markkereita ei kyetä paikantamaan tarpeeksi luotettavasti vaihtelevissa valaistusolosuhteissa. Onneksi kyseessä on kuitenkin melko kypsä tieteenala, ja aiheesta on saatavilla runsaasti tutkimusmateriaalia. Olisi hyvä jos webkameran ei annettaisi muuttaa asetuksia kuten värilämpötilaa ja valotusaikaa, koska näiden jatkuva muuttuminen tekee paikannusalgoritmin parametrien valitsemisesta erittäin vaikeaa. Lisäksi olisi hyvä ymmärtää käytetyn kameran rajoitukset, ja käyttää sellaisia markkereita jotka pyrkivät välttämään ne. Useimmissa sovelluksissa suoraviivainen ratkaisu olisi käyttää kirkasta lisävaloa, joka takaa hyvän kuvanlaadun myös hämärässä. Lisäksi se vähentäisi ympäröivän valon vaikutusta kameran havaitsemiin väreihin. Paikannusalgoritmin tulisi toimia reaaliajassa normaalilla pöytäkoneella, koska jos paikkaestimaatissa on liikaa viivettä, sitä on vaikeampi hyödyntää kärryn moottorien säätämiseen. Kuvasta pitäisi siis filtteröidä turhat tiedot pois melko tehokkaasti. 3.2 Kameran paikan ja polttovälin valitseminen Kärryn toiminta-alue ei ole vielä tarkkaan tiedossa, joten vielä ei ole varmaa miten laajan alueen kameran tulisi kyetä havaitsemaan. Kameran kuva-ala tulisi kuitenkin käyttää mahdollisimman tehokkaasti hyödyksi, koska kamera tarjoaa melko pienen pikselimäärän analysoitavaksi. Mallin paikan ja asennon estimoinnissa olisi ensiarvoisen tärkeää, että markkereiden paikat kameran kuvassa voidaan estimoida mahdollisimman tarkasti. Mitä laajemman alueen kamera näkee, sitä epätarkempia estimaatit ovat. 3.3 Siirtyminen Matlab-skriptikielestä C++:aan Projektin jatkokehityksen ja hyödyllisyyden kannalta olisi toivottavaa että lopullinen projekti toteutettaisiin C++ ohjelmointikielellä, esimerkiksi OpenCV kirjastoa käyttäen. Tällöin kaikki algoritmit täytyy toteuttaa uusiksi, ja täytyy myös varmistaa että käytetyt Matlabin valmiit funktiot (kuten pienimmän neliösumman sovitus) löytyvät käytetyistä kirjastoista.