AS-0.3200 Automaatio- ja systeemitekniikan projektityöt A10-14 Automaattinen pesäpallolukkari Dani Anttila Olli Mäentaka Reidar Udd 10/31/2010 Projektisuunnitelma päivitetty sisältämään tietoa projektin etenemisestä lokakuussa, sekä muutoksista tähän mennessä.
1. Väliraportin rakenteesta Tämä väliraportti pohjautuu projektisuunnitelmaan. Alkuperäiseen suunnitelmaan ei ole tehty muutoksia, vaan sen eri kohtiin on lisätty tietoa projektin edistymisestä. Lisäykset on merkitty lihavoidulla fontilla. 2. Projektin tavoite Projektin tavoitteena on rakentaa toimiva pesäpallon syöttörobotti. Syöttörobotin tärkeimmät osat ovat laboratoriossa aikaisemmin käytetyt Maxon sähkömoottori ja sitä ohjaava Elmo MC Cello servosäädin. Moottorin akseliin kiinnitetään noin 0,5 m pitkä varsi jonka päässä on palloa pitelevä kauha. Robotti saa signaalin esimerkiksi jalkanapista, jonka jälkeen varren heilautus saa pallon lentämään suoraan ylöspäin ja tippumaan halkaisijaltaan 60 cm lautaselle. Syötön korkeus on ideaalisesti noin 3 metriä, mutta tästä joudutaan todennäköisesti tinkimään. Tämä johtuu käytettävissä olevasta moottori-vaihteistoyhdistelmästä joka ei mahdollista tarpeeksi suurta kulmanopeutta. Projektityö toteutetaan kolmen hengen ryhmässä niin, että kukin tekee 80 tuntia töitä. Tämä vastaa kolmea opintopistettä. Projekti on edistynyt aikataulun mukaisesti. Kaikki projektin vaiheet, jotka oli suunniteltu tehtäväksi väliraporttiin mennessä, on tehty. Työtunteja on käytetty keskimäärin noin 45 tuntia per henkilö. Loppuaika käytetään iterointiin, jossa vuorotellen testataan ja parannetaan toteutusta. Muutamia asioita on muutettu. Aikaisemmin käytetty moottori-vaihteisto-yhdistelmä oli tehoton ja hidas. Lisäksi vaihteistossa oli jonkinlainen vaurio joka ilmeni välyksenä ( glappina ) ja sitä kautta puutteelliseen tarkkuuteen. Käytössä on nyt suurempi moottori, joka tosin on edellistä hitaampi. Vaihteiston suuren välityssuhteen vuoksi käytämme nyt noin 1,5 metriä pitkää vartta. Vaatimuksista korkeudelle ja tarkkuudelle pidetään kiinni. 3. Organisointi ja aikataulu Työ jakautuu useaan osa-alueeseen, jotka usein voidaan toteuttaa samanaikaisesti. Tärkeimmät osa-alueet on kuvattu alla. Tarkempi tehtäväverkko aikavaatimuksineen löytyy liitteestä 1. 3.1. Alkutoimenpiteet Alkutoimenpiteisiin kuuluvat seuraavat välivaiheet: - aiheeseen ja laitteistoon perehtyminen, - fysiikan selvittäminen, - johdotuksien valmistaminen ja - projektisuunnitelman tekeminen. Kaikki edellä mainitut ovat tätä luettaessa tehty. 3.2. Moottoriohjaimen konfigurointi + testaus ja viritys Seuraavassa vaiheessa kytketään Elmo MC Cello servo-ohjain ja sähkömoottori USB-sarjaportti sovittimella tietokoneeseen. Cellon pitäisi pystyä automaattisesti kalibroimaan itsensä, eli määrittämään PI-säätimen parametrit.
Tähän mennessä olemme onnistuneet luomaan yhteyden tietokoneen ja Cellon väille, mutta säätimen automaattisissa säädöissä on puutteita. Ainoa tapa saada korkea nopeus moottorista tällä hetkellä on ohjata moottoria virran kautta. Moottorin ohjaaminen paikka- ja nopeussäädöllä johtaa hyvin pieneen pyörimisnopeuteen. Koska tämä on kriittinen vaihe projektin etenemisen kannalta, pyrimme ratkaisemaan tämän ongelmaan ennen viikkoa 41. Kun ohjaimen säätöön liittyvät ongelmat on ratkaistu, siirrytään ohjelmoimaan servo-ohjaimen käskyt pesäpallon heittämiseksi ilmaan. Tässä otetaan huomioon varsinkin pehmeä hidastus syötön jälkeen, jotta järjestelmään ei kohdistuisi liian suuria rasituksia. Konfigurointi, testaus ja viritys ovat tehty. Raja-arvot kiihtyvyydelle ja hidastuvuudelle kuormitettuna pitää vielä tehdä. Ensin käytimme laboratorion 24V DC-virtalähdettä tehonlähteenä, mutta vaihdettuamme isompaan moottoriin meidän piti kytkeä niitä sarjain jotta tarvittava jännite saavutettaisiin. Tällä konfiguraatiolla meillä oli kuitenkin ongelmia suorituskyvyn suhteen, koska teholähteiden virtaraja oli harmillisen matala, 2.5 A. Hidastumisen kanssa oli eniten ongelmia, koska silloin moottori yritti syöttää virtaa takaisinpäin, jolloin ohjain kaatui koska teholähteet eivät voineet ottaa sitä vastaan. Tällä hetkellä meillä on kahden teholähteen rinnalla kolme 12V akkua, jotka toimivat hienona puskurina sekä kiihdyttäessä että hidastaessa 3.3. Konelukkarin rakentaminen Seuraavat vaiheet; konelukkarin rakentaminen, moottorinohjaimen ohjelmointi ja konelukkarin testaaminen muodostavat silmukan. Jokaisella iteraatiolla pyrimme pääsemään lähemmäs haluttua lopputulosta. Konelukkarin rakentamiseen kuuluvat seuraavat osat: - varsi jonka päässä on palloa pitelevä kauha, - kehikko, johon itse moottori ja moottorinohjain kiinnitetään, - moottoriin tai kehikkoon kiinnitettävä rajakytkin, - jalkanappi jonka antaa signaalin pallon heittämiseksi ilmaan ja - jousi tai pehmuste joka auttaa moottorin hallitussa hidastamisessa vaihteiston säästämiseksi. Halutaan rakentaa liitteiden 2 ja 3 mukainen mekaniikka. Moottoriin on jo kiinnitetty pidike, johon varren voi kiinnittää. Varsi rakennetaan esimerkiksi akryylistä, joka on kevyt ja jäykkä materiaali. Varren päähän kiinnitetään palloa pitelevä kauha, joka ostetaan esimerkiksi Ikeasta tai valmistetaan itse. Alustavasti olemme miettineet varren pituudeksi noin 0,5 m, joka on kompromissi tarkkuuden ja syötön lähtönopeuden välillä. Tämä on kuitenkin kokeiltava. Kokeilua varten olisi kätevää, jos varren pituutta voisi säätää. Varren yhteyteen rakennetaan toiselle puolelle rajakytkin, joka ilmoittaa milloin varsi on alkutilassa ja valmis heittämään pallon ilmaan. Toiselle puolelle puolestaan rakennetaan esimerkiksi jousi tai pehmuste joka auttaa moottorin hallitussa hidastamisessa sen jälkeen kun pallo on irronnut kauhasta.
Moottoria ja servo-ohjainta kannattelevasta kehikosta sekä jalkanapista tehdään mahdollisimman yksinkertaiset. Koska mekaniikasta tulee verrattain yksinkertainen, se pyritään saamaan valmiiksi viikolla 43. Osaston asennushallista löytyy lasikuituputkea, jota käytämme vartena. Osaston mekaanikko Tapio Leppänen rakensi meille moottorin akseliin kiinnityspalan, johon varren voi kiinnittää. Kiinnitys on sellainen, että varren pituutta on mahdollista säätää. Kehikkona toimii vanerilevy ja pari lautaa. Nämä ja sähkömoottori kiinnitetään pöytätasoon kahdella ruuvipuristimella. Halutessa ruuvipuristimet voidaan korvata ruuveilla. Rajakytkimet ja jalkanappi ovat vielä tekemättä. Rajakytkimissä tulee olla pitkä vipu jotta se ylettyy liikkuvaan varteen. Pitkän varren vuoksi voi olla, että pelaajan kannattaa operoida jalkanappia pesäpallomailalla. Tekemällä laukaisuviiveestä tarpeeksi pitkä, tämän ei pitäisi muodostua ongelmaksi. 3.4. Konelukkarin ohjelmointi ja testaaminen Kun mekaniikka on rakennettu, siirrytään ohjelmoimaan servo-ohjainta ja testaamaan miten ohjelmointi vaikuttaa liikkeeseen. Testausvaiheen alussa tavoitteena on, että saamme pallon ilmaan. Tämän jälkeen pyritään vuorotellen ohjelmoimaan ja testaamaan kunnes ollaan tyytyväisiä tulokseen. Saattaa olla, että joudumme modifioimaan esimerkiksi varren pituutta haluttujen ominaisuuksien saavuttamiseksi. Itse ohjelman pitäisi olla hyvin yksinkertainen ja koostua suurin piirtein seuraavista komennoista: - jalkanapin signaali laukaisee syötön, - täyskiihdytys kunnes varsi on vaakasuorassa ja pallo lentää ilmaan, - pehmeä hidastus ja - rajakytkintä hyödyntäen paluu alkupisteeseen. Jos pallo ei lennä toivotulla tavalla, voimme muuttaa servosäätimen ohjausta ja säätimen parametreja. Jotta jäisi kunnolla aikaa ohjelman virittämiseen, tämä vaihe on oltava valmiina viikolla 45. Olemme tehneet moottoriohjaimelle alustavan version lukkariohjelmasta. Ohjelma on todennäköisesti rakenteeltaan hyvin lähellä lopullista versiota, esimerkiksi kaikki suunniteltujen funktioiden rajapinnat on jo toteutettu. Kaikki funktiot eivät tosin vielä toteuta niille määritetyt tehtävät; toiminnallisuutta lisätään tarpeen mukaan. Esimerkki: tällä hetkellä ohjain käskee moottoria heittämään palloja viiveellä ohjelman käynnistämisestä, koska käyttäjälle tarkoitettu rajakytkin on vielä tekemättä. Itse ajosekvenssi on jo toimiva, mutta lopullisia rajoja kiihtyvyydelle ja hidastuvuudelle joudutaan vielä etsimään kun varsi ja pallo ovat kiinnitettynä moottoriin. Nähdään kuitenkin jo nyt että moottoriohjain ohjaa moottoria tarkasti paikan suhteen, mutta nopeussäädössä tulee pieni ylitys. Kiihdytyksen jälkeen nopeudessa on enää pieniä vaihteluja, jotka kuitenkin saattavat merkitä hieman vaihteluja myös pallon lentorataan. Tämä pitää testata tarkasti lopullisella kokoonpanolla.
Moottoriohjainvalmistajan antaman käyttöohjeen avulla itse ohjelmointikieleen tutustuminen kävi varsin nopeasti (muistuttaa C:tä), ja itse ohjelmakin syntyi melko nopeasti. Eniten ongelmia meillä oli saada ohjelmaa ladattua ohjaimelle ja ajettua sitä. Tässä ongelmassa turvauduttiin valmistajaan, joka antoi hyviä vinkkejä ja kaikki saatiin toimimaan. Ajankäyttö ohjelmointimoduulissa tähän mennessä: 4 h Tutustumiseen 4 h Ohjelmoimiseen 8 h Yhteysongelmien selvittämiseen 3.5. Viimeiset vaiheet ja loppusilaus Aikaisempien vaiheiden jälkeen meillä tulee olla toimiva laite. Jos aikaa jää yli, lisätään systeemiin hienouksia kuten esimerkiksi putki josta pallot valuvat automaattisesti kauhaan heitettäväksi. Myös vaihteleva syötön korkeus ja valeheitot jossa robotti hämää pelaajaa ovat mahdollisia. Loppuraporttia pyritään päivittämään sitä mukaa kun vaiheita valmistuu. Työ esitellään luennolla joko 30.11 tai 7.12. 4. Riskien hallinta Tähän mennessä tunnistetut riskit projektin toteutuksessa ovat esitelty alla. Syöttö ei ole tarpeeksi korkea Syötön tarkkuus ja korkeus riippuvat suurilta osin käytetyistä laitteista, joihin tällä kertaa emme voineet vaikuttaa. Olemme laskuissamme todenneet, että syötön korkeus on parhaimmillaan noin puolet toivotusta kolmesta metristä. Tämä hyväksytään, sillä järjestelmään on helppo myöhemmin lisätä suurempi moottori tai toinen vaihteisto. Aika ei riitä toimivan ratkaisun rakentamiseksi Projektityön laajuus on 3 opintopistettä, ja aikataulu on laskettu sen mukaan. Koska emme ole aikaisemmin käyttäneet vastaavia liitäntöjä ja ohjelmistoja, arvioit aikataulusta voivat olla vääriä. Voi olla, että jäämme jumiin johonkin tiettyyn välivaiheeseen. Tässä tilanteessa tarvitsemme apua laitoksen henkilökunnalta, joka onkin tähän mennessä kiitettävästi auttanut ongelmatilanteissa. Laskuvirheet Lukkarin fysiikkaa mallintavissa laskelmissa saattaa olla virheitä. Moottori tai moottorinohjain on virheellinen Osat ovat peräisin automaattisesta soutulaitteesta, joten niiden toiminta ei välttämättä ole uudenveroista. Osia pitäisi tarpeen tullen olla useampia saatavana. Tunnistettujen riskien hallinta Riskit muuttuvat koko ajan kun päästään projektissa eteenpäin. Tämän takia riskit arvioidaan viikoittain. Mietitään miten tunnistetut riskit ovat kehittyneet, mikä on toteutuksen kannalta suurin riski ja onko uusia riskejä ilmaantunut. Huolestuttavista riskeistä ilmoitetaan valvojalle.
Tässä vaiheessa moottori ja moottorinohjain on todettu toimiviksi. Kriittiset vaiheet; konfigurointi, mekaniikan rakentaminen ja ohjelmointi on suurilta osin tehty. Näin ollen suurin tunnistettu riski on laskuvirheistä ja epäideaalisuuksista moottorin ja vaihteiston ominaisuuksissa johtuva riittämätön syötön korkeus ja tarkkuus. Lisäksi riskinä on laitteiston vaurioituminen testausvaiheessa. Liitteet (4 kpl) (alkuperäisessä suunnitelmassa) Liite 1 Janakaavio projektin vaiheista ja aikataulusta Liite 2 Liite 3 Liite 4 3D kuva lukkarista 2D kokoonpanokuva lukkarista Otos taulukkolaskelmasta jossa laskettu fysiikkaa