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

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

AS Automaatio- ja systeemitekniikan projektityöt

Electric power steering

ZigBee-ohjaus kuorma-autolle

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

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

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

Peltorobotin akselimoduulin kontrolleri

S Portaalinosturi AS Projektisuunnitelma Oleg Kovalev

Electric power steering

Projektisuunnitelma. Radio-ohjattavan pienoismallin mekatroniikan ja ohjelmiston kehitys

AS Automaatio- ja systeemitekniikan projektityöt - Projektisuunnitelma

Mikrokontrollerikitit - väliraportti

A11-02 Infrapunasuodinautomatiikka kameralle

AS Automaatio- ja systeemitekniikan projektityöt

Power Steering for ATV

Peltorobottikilpailu Joonas Ryynänen (C) Perttu Heikkilä Ville Matikainen Mikko Vihlman

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

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

TKT224 KOODIN KOON OPTIMOINTI

S14-09 Sisäpeltorobotti

A14-11 Potilaan mittaustiedon siirtäminen matkapuhelimeen

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

Agenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi

Elektroniikka II lopputyön ohje

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

AS Automaatio- ja systeemitekniikan projektityöt

Projektisuunnitelma Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus

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

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

Siimasta toteutettu keinolihas

AS Automaatio- ja systeemitekniikan projektityöt

Projektisuunnitelma Viulu

AS Automaatio- ja systeemitekniikan projektityöt

Raportti TESP 2013 kurssista Sendaissa Elektroniikan ja sähkötekniikan koulutusohjelma Olli Törmänen,

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

A09-05 OSGi IRC Bot For Coffee Maker

JOHDATUS ELEKTRONIIKKAAN. Oppitunti 2 Elektroniikan järjestelmät

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

Projektityöt. Sami Alaiso, Jyri Lujanen 30. marraskuuta 2009

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

SIMULOINTIYMPÄRISTÖJEN SOVELTAMINEN OPETUKSESSA SIMULOINNILLA TUOTANTOA KEHITTÄMÄÄN-SEMINAARI TIMO SUVELA

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

A11-02 Infrapunasuodinautomatiikka kameralle

LUMA SUOMI -kehittämisohjelma LUMA FINLAND -utvecklingsprogram LUMA FINLAND development programme Ohjelmointia Arduinolla

OPISKELUTYÖN MITOITUS Opetuksen suunnittelun työväline, jolla arvioidaan opiskelijan työmäärää suhteessa 1 PERUSTIEDOT

S13-02 Linear motor controller for CAN-bus

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

////// VENETIETO.FI \\\\\\ //// Autopilotti 2014 \\\\ //-PID säätimellä. #include <EEPROM.h> #include <SoftwareSerial.h>

Robottikerhon suunnitelma syksylle 2015

Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.

OHJELMISTOKEHITYS -suuntautumisvaihtoehto

Projektisuunnitelma. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

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

Lego Mindstorms NXT. OPH oppimisympäristöjen kehittämishanke (C) 2012 Oppimiskeskus Innokas! All Rights Reserved 1

SÄHKÖKÄYTÖN EMULOINTI SIMULINK-DSPACE-M1 -YMPÄRISTÖSSÄ

58160 Ohjelmoinnin harjoitustyö

Power Steering for ATV

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

AS Automaatio- ja systeemitekniikan projektityöt. Väliraportti. A10-14 Automaattinen pesäpallolukkari

digitalisaation mahdollisuudet

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

Projekti A: iskunvaimennindynamometri

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

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

Etälukija PR Käyttäjäopas. Global Safety & Security Solutions Oy info@globalsafety.fi. PR1000v.2

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

Toteutusvaihe T3 Digi-tv: Edistymisraportti

Tärkeää: Nähdäksesi täydentäviä ohjeita, katso yksityiskohtaisempi käyttöohje (97711) osoitteessa

Robottialustan instrumentointi ja käyttöönotto

Hyvinvointiteknologiaan painottuva koulutusohjelma- /osaamisalakokeilu TUTKINNON PERUSTEET KOKEILUA VARTEN

LOPPURAPORTTI S13-12 PROSESSIAUTOMAATION TEHTÄVIÄ LUKIOLAISILLE 3OP

Agenda. Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali Harjoitustyöt Demoharjoitus Tentti ja arvostelu Muuta?

TITANIC TEMPPU, vaan ei karille

Arduino. Kimmo Silvonen (X)

1 YLEISTÄ. Taitaja2002, Imatra Teollisuuselektroniikkatyö Protorakentelu 1.1 PROJEKTIN TARKOITUS

AS Automaatio- ja systeemitekniikan projektityöt. Projektisuunnitelma. A10-14 Automaattinen pesäpallolukkari

Akkujen aktiivinen balansointi

Harjoitustyö - Mikroprosessorit Liikennevalot

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

DC-moottorin pyörimisnopeuden mittaaminen back-emf-menetelmällä

Projektisuunnitelma. Projektin tavoitteet

AS Automaatio- ja systeemitekniikan projektityöt

P I C A X E O H J E L M O I N T I

Omahoitopolut.fi Toteutuksen tilannekatsaus

Arduino ohjelmistokehitys

S09 04 Kohteiden tunnistaminen 3D datasta

8/20: Luokat, oliot ja APIt

Alatunniste

Arduino. Kimmo Silvonen (X)

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

Automaattinen yksikkötestaus

ELEC-C1210 Automaatio 1 ELEC-C1220 Automaatio 2. Kurssien esittely lukukausi

AS Automaatio- ja systeemitekniikan projektityöt A13 12 Online-mittausten kunnonvalvonta vedenpuhdistusprosessissa (6 op)

A4.1 Projektityö, 5 ov.

Vapaapäivien optimointi

Kauko-ohjain. HUOMAA: Äänenvoimakkuussäädöt välittyvät laitteelle aina riippumatta siitä, mikä ohjelmalähde on valittu.

EUREFin vaikutukset organisaatioiden tietojärjestelmiin

GSRELE ohjeet. Yleistä

Hybridivalvomon tilatiedon hallinnan kehittäminen

Transkriptio:

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

1. Projektin tavoitteet Projektin tavoitteena on toteuttaa ohjelmisto sisäpeltorobottiin seuraavien vuosien peltorobottikilpailuryhmien opetuskäyttöön. Robotin olisi tarkoitus pystyä liikkumaan kapeaa käytävää pitkin hyödyntäen ultraääni ja infrapuna etäisyysantureita, sekä yaw gyroskooppia hyväksikäyttäen kääntymään 180 astetta uudelle käytävälle. Robotti antaa käyttäjille visuaalinen signaali LED valojen avulla, mitkä osoittavat robotin senhetkisen tilan. Robotin on tarkoitus kulkea suoraan eteenpäin ja havaittuaan päädyn kääntyä viereiselle linjalle ja jatkaa matkaa vastakkaiseen suuntaan. Sillä on siis kaksi ajomoodia: suoraan ja käännös. Äänimerkein summeria käyttäen on tarkoitus kuvata tilan vaihtumista toiseen. Robotti on rakennettu RC auton pohjalle. Ohjelmisto toteutetaan mikrokontrollerille, AVR ATMEGA 128, sekä tietokoneelle, ebox 3350. Mikrokontrolleriin on toteutetaan RS232 sarjaporttirajapinta antureita varten, PWM (Pulse Width Modulation) nopeusohjaus kääntymistä ohjaaville servoille sekä sähkömoottorille, moottorin enkooderi, summeri, LCD näyttö sekä 4 ohjausnappia ja 4 LED merkkivaloa. Lisäksi työn toisessa osassa kerätään anturitietoa etäisyysantureilta ebox tietokoneelle käyttäen sarjaportin RS485 protokollaa ja gyroskoopilta puolestaan RS232 protokollalla. Tietokoneelle ohjelmoidaan ajuri mikrokontrollerille, sekä tehdään demo ohjelma, minkä avulla voidaan robotin eri ominaisuuksia hyödyntää sekä mikrokontrollerin kautta ohjata esimerkiksi moottorien nopeuksia. Robotista ei ole tällä hetkellä vielä kaikkia mekaniikka sekä elektroniikka suunnitteluja sekä toteutuksia tehty täysin valmiiksi, mutta työn ohjaaja Timo Oksanen on luvannut huolehtia näistä osioista. Projektin kokonaispituuden olisi tarkoitus olla kummallekin ryhmäläiselle 3 op verran. Tässä on kuitenkin joustovaraa, mikäli työn toteuttaminen osoittautuu oletettua hankalammaksi ja vaatii tästä syystä enemmän aikaa. Lisäksi on mahdollista, että projekti edistyy edellä aikataulua, jolloin päätämme tehdä hieman alkuperäisestä suunnitelmasta poikkeavaa lisätyötä, kuten piirilevyjen suunnittelua. Tällöinkin on mahdollista, että opintopistemäärää korotetaan. Väliraportti: Vaikka alkuperäisessä suunnitelmassa sitä ei oltu mainittu, on robotin nopeuden ohjaaminen tarkoitus toteuttaa 2 eri moodissa. Ensimmäine on open loop ohjaus, missä robotin sähkömoottorin arvo on suoraan sisään tulevan ohjausarvon suuruus. Toinen on closed loop ohjaus, missä mikrokontrollerille toteutettu PID säädin ohjaa sähkömoottoria.

Kuva 1. Robotin pohjan rakenne.

2. Työn rakenne Työn toteutuksen tarkoituksena on aloittaa mikrokontrollerin ohjelmoinnista. Molemmilla ryhmäläisillä on pientä kokemusta mikrokontrollerien ohjelmoimisesta lähinnä Automaatio 1 kurssilta, mutta alussa on varattu aikaa asioiden kertaamiselle. Nappien, LED valojen sekä LCD näytön ohjelmoimiseen ei pitäisi kulua kovinkaan paljon aikaa, mutta PWM moottorinohjauksen sekä RS232 rajapintojen toteuttaminen vaatii tässä enemmän aikaa. Antilla on jonkin verran kokemusta PWM toteutuksesta, mutta sekin hyvin rajallista ja RS232 sarjaportin rajapinnan toteuttamisesta kummallakaan ei vielä toistaiseksi ole mitään tietoa. Kun mikrokontrollerin toteutus on saatu hyvälle mallille ja sitä pystytään lähteä testaamaan, on tarkoituksena aloittaa robotin mukana olevalle tietokoneelle tulevan mikrokontrolleri ajurin toteuttaminen. Tästäkään kummallakaan meillä ei ole vielä tarkkaa tietoa, joten työmäärän arvioiminen on kohtalaisen hankalaa. Ajurin rajapinnan kautta olisi tarkoitus pystyä ohjaamaan mikrokontrollerin toimintaa tietokoneelta käsin. Työssä on tämän lisäksi tarkoitus toteuttaa demo ohjelma, jonka avulla robotin eri toiminnot ovat käytettävissä. Tämän harjoitustyön pääpaino on kuitenkin mikrokontrollerin sekä mikrokontrollerin ja tietokoneen välisen rajapinnan toteuttamisessa huolellisesti, ja vasta niiden jälkeen tehdä demo ohjelma, mikäli aikaa jää riittävästi. Demo ohjelma kuitenkin tarvitaan, jos laitteistoa halutaan testata. Väliraportti: Kommunikaatio eboxin ja mikrokontrollerin välillä noudattaa erityistä peltorobottiprotokollaa, myös gyroskooppi ja etäisyysmittarit, joka on luotu juuri tätä käyttötarkoitusta varten. Viestien lukemista ja lähettämistä varten onkin jouduttu tekemään omat sovellukset.

Kuva 2. Robotin eri osien välinen kommunikaatio. 3. Ajanhallinta ja vastuun jako Alla esitetyssä taulukossa 1 on työn toteutuksen alustava aikataulu ja arvio kunkin osion kestosta. Koska projektissamme on vain kaksi henkilöä eikä kumpikaan ole erityisemmin erikoistunut aihepiiriin, toteutamme projektia pääsääntöisesti yhdessä. Molemmilla lähtökohtana projektin tekemiselle onkin uusien hyödyllisten asioiden oppiminen ja haluamme siksi kummatkin osallistua kaikkien osien tekemiseen. Projektin edetessä on mahdollista, että mietimme vastuunjakoa uudestaan, jos sille tulee tarvetta. Alustavien aika arvioiden perusteella eri osiin olisi tarkoitus käyttää aikaa seuraavalla tavalla eli kolmen opintopisteen verran kahdelta opiskelijalta, yhteensä noin (2 x 3 x 27 h =162h) : Mikrokontrollerin ohjelmoiminen 40 50 h Tietokoneen mikrokontrolleri ajurin ohjelmoiminen 40 60 h Demo ohjelman tekeminen 30 h Testaaminen 30 h Raportointi 20 h Huomioitavaa kuitenkin on, että nämä ajat ovat hyvin karkeita arvioita ja jotkin osiot voivat viedä huomattavasti vähemmän aikaa ja toiset huomattavasti enemmän. Tavoitteena kuitenkin olisi, että työmäärä pysyy 3 op suuruisena.

Väliraportti: Toistaiseksi olemme pysyneet kohtalaisen hyvin aikataulussa. Alkuun oli vaikeuksia c ohjelmoinnin kanssa, mutta kun sitä oli saanut palautettua paremmin muistiin, niin saimme kirittyä aikataulua. Tavoitteenamme oli, että tähän mennessä on projektin mikrokontrolleri puoli valmiina ja siihen olemme lähes päässeet. Tosin joitakin osia vielä jää puuttumaan. Esimerkiksi moottorinohjauksen PID säädin toteutetaan myöhemmin, mutta toisaalta sitä emme olleet tajunneet suunnitelmaan ottaa edes huomioon. Lisäksi moottorinohjauksen moodirakenne on vasta runkona ja sen viimeistelemme myöhemmin. Myös parametreille täytyy lisätä, omat alkuarvonsa, mutta ne tiedetään vasta, kun pääsemme robottia testaamaan. Summeria emme ole vielä saaneet toimimaan. Emme tiedä, onko syy viallisessa summerissa vaiko väärissä pinneissä koodissa. Taulukossa 1 on alkuperäinen aikataulu ja siinä on värikoodeilla esitettynä projektin eteneminen seuraavilla värikoodeilla: Aikataulussa / tehty Myöhässä / työn alla Tekemättä

Taulukko 1. Työn aikataulu ja rakenne. Tehtävä\Viikko 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Suunnitelma Mikrokontrolleri ohjelmoinnin kertaaminen RS232 sarjaporttirajapinnan toteutus Enkooderi PWM nopeusohjaus moottoreille LCD näytön ohjelmointi LED valojen ohjelmointi Summerin ohjelmointi Väliraportin tekeminen Mikrokontrollerin ja tietokoneen rajapinnan ohjelmointi Ultraääni ja infrapuna etäisyysantureiden lukeminen Simulink koodigeneroinnin opettelu Demo ohjelma Laitteiston systemaattinen testaus Loppudemo Loppuraportin kirjoittaminen

4. Riskienhallinta Olemme varanneet projektin alkuun aikaa opetella ja palauttaa mieleen mikrokontrollerin ohjelmointia. Lisäksi olemme varautuneet siihen, että työn kuluessa vastaan tulee asioita, joihin paneutuminen vaatii enemmän aikaa. Yksi riski siis on, että olemme aliarvioineet johonkin työsuoritteeseen kuluvan ajan tai emme ole huomioineet, jonkin vastaan tulevan uuden asian opetteluun menevää aikaa. Projektin edetessä vastaan voi tulla myös laitteiston odottamaton bugi eli laite ei toimikaan toivotulla tavalle. Sen vuoksi on mahdollista, että joudumme poikkeamaan alkuperäisestä suunnitelmastamme tai käyttämään enemmän aikaa johonkin työvaiheeseen, jotta saamme bugin korjattua. Viivästymisä saattaa tulla myös robotin rakenteen valmistuksessa, mikäli ohjaaja ei ehdi saada tarvittavia osia ajoissa valmiiksi. Myös jotkin robotin osat voivat rikkoutua, jolloin joudumme käyttämään ylimääräistä aikaa osan korjaamiseen tai odottamaan uuden osan saapumista, koska joitakin osia voi joutua tilaamaan ulkomailta, jolloin toimitusajat voivat olla huomattavan pitkiä projektin kestoon nähden. Kuitenkin monia osia on valmiiksi varastossa koulun puolesta, joten pitkät tilaukset ovat epätodennäköisiä. Sairastuminen on myös mahdollista. Esimerkiksi normaalin flunssan hoitoon voi helposti mennä useita päivä tai jopa viikko. Tästä sairastumisen takia muidenkin kurssien suorittamisesta voi kertyä tekemättömiä töitä, mikä voi vaikuttaa projektin tekemiseen käytettävään aikaan. Aikataulussamme on kuitenkin liikkumavaraa, joten pienten yllätysten ei pitäisi viivästyttää projektia mahdottomasti. On myös mahdollista, ettei jokin robotin suunniteltu osa tulee valmiiksi aikataulussa tai jotain suunniteltua ei osata toteuttaa, mikä voi viivästyttää projektiamme. Väliraportti: Vaikka on ilmennyt sairasteluja sekä lomamatkoja, olemme silti pystyneet suhteuttamaan tämän omaan aikatauluun, eikä sen vuoksi ole suurempia haittavaikutuksia ilmennyt.