Laboratoriotyö 1. Laitteisto 1.1 Kamera Järjestelmän kamerassa (Hitachi, VK-C77E) on CCD -kenno ja mahdollisuus kuvan asynkroniseen päivitykseen. Kamerassa on sarjaliitäntä, jonka kautta voidaan ohjata kameran toimintaa: zoomin asentoa, suljinaikaa, tarkennusta joko automaattisesti tai manuaalisesti ym. Kameran videosignaali on PAL -standardin mukainen. 1.2 Kuvankaappauskortti Tietokoneeseen asennettu kortti (Matrox Meteor -II) edustaa yleisimpiä kuvankaappauskorttien ominaisuuksia. Siihen on mahdollista kytkeä useampi kamera (max. 8), antaa liipaisusignaaleja kameralle ja mahdollisuus kommunikointiin sarjaväylän avulla. 1.3 Kuvankäsittelyohjelma Kuvankäsittelyohjelmalla (Matrox Inspector) voidaan käyttää yleisimpiä konenäössä käytettyjä menetelmiä. Ohjelmalla on myös mahdollista tehdä nopeasti konenäkösovelluksia käyttäen sen omia ohjelmointi (scripting) kieliä, jotka perustuvat VBA - (Visual Basic for Applications) -kieleen. 1.4 Robotti Robotti (Mitsubishi Movemaster) koostuu viiden vapausasteen robottikäsivarresta, ohjausyksiköstä (drive unit), opetuslaatikosta (teaching box) ja sarjaväyläliitännästä.
Kuva 1. Robotti, ohjausyksikkö, opetuslaatikko ja PC Robottia ohjatataan sarjaväyläliitännän kautta mikrotietokoneella tai opetuslaatikolla. Sarjaväylän ylitse robottia ohjataan lähettämällä sille käskyjä. Opetuslaatikon avulla ei voida käyttää robotin kaikkia käskyjä ja se onkin tarkoitettu lähinnä toiminta- tai liikeradan pisteiden opettamiseen. Käskyt ovat muutamista kirjaimista (lyhennelmiä englannikielisistä sanoista) ja parametreista koostuvia tekstinpätkiä. Käskyillä voidaan komentaa robottia tai pyytää robotilta tietoja. (Liite: robotin komennot) 1.5 Ohjausjärjestelmä Ohjausjärjestelmänä toimii kuvankäsittelyohjelman VBA -kielellä kirjoitettu ohjausohjelma. Ohjausohjelma käyttää kuvankäsittelyohjelman toimintoja kuvan analysointiin ja käskyttää robottia saadun informaation perusteella sarjaportin kautta.
Kuva 2. Ohjausohjelman käyttöliittymä Jotta robotti voi noutaa kameran edessä olevat kappaleet, on niiden paikka saatava selville. Kuvankäsittelyllä saadaan selville kappaleiden paikka kuvassa (pikseleinä). Kamera on kalibroitava ja paikannettava, jotta kuvankäsittelyllä saadut pikseleiden arvot voidaan muuntaa todellisiksi mitoiksi (millimetreiksi). Tähän käytetään Inspector -ohjelman kalibrointiominaisuuksia. Kameran eteen asetetaan erillinen kalibrointiruudukko, jonka perusteella ohjelma laskee kameran paikan (ja käänteisesti myös kappaleiden paikan kameran edessä). Kalibroinnin tuloksena saadaan tiedosto, jota käytetään ohjausohjelmassa.
Kuva 3. Kameran paikannus kalibrointiruudukon avulla Ohjausohjelmassa on lisäksi tarkistusrutiini, jolla varmistetaan ettei niitä kappaleita poimita, jotka ovat robotin toimintasäteen ulkopuolella. Ohjelmaa voidaan käyttää kappaleiden poimimiseen kahdella tavalla: Kappaleiden ominaisuuksia analysoidaan kuvankäsittelyllä ja ne kappaleet, jotka täyttävät vaaditut ominaisuudet robotti käy hakemassa. Tällöin käytetään erillistä Inspector -ohjelmalla tehtyä "luokkatiedostoa" (*.cls), jossa on määritelty halutut ominaisuudet. Poimittavaa kappaletta yritetään tunnistaa mallin perusteella (pattern matching) ja tunnistuksen onnistuessa kappale poimitaan. Malli tehdään Inspector -ohjelmalla. 2. Käyttöohje Ennen käyttöä varmista, että: 1. Robotin ja tietokoneen välinen sarjakaapeli on paikallaan 2. Robotin opetuslaatikko on OFF -asennossa 3. Robotin toiminta-alueella ei ole esineitä tai ihmisiä 4. Kameraan ja robottiin on kytketty virtajohto 5. Voit käynnistää robotin Kameran kalibrointi: Tarkista, että kamera on päällä ja se on kytkettynä kuvankaappauskortin johtoviuhkan punaiseen syöttöjohtoon. Käynnistä Inspector -ohjelma Kaappaa kuvaa jatkuvasti ruudulle (continuous grab) Aseta ruudukko siten, että ruudukon kaikki pisteet ovat näkyvissä kameran näkökentässä. Zoomaa kameraa tarvittaessa. Pysäytä kaappaus.
Valitse Options Calibration New from Grid Syötä avautuvan dialogin syöttökenttiin arvot kuvan (Kuva 9) mukaisesti ja paina OK Valitse Options Calibration Save ja tallenna tiedosto haluamallasi nimellä. Kuva 4. Kalibrointiruudukon asetukset 3. Laboratoriotyön suoritus 3.1 Esiselvitystehtävät Laadi robotille komentosarja, jolla voidaan noutaa kuvankäsittelyohjelmiston tunnistamia kappaleita ohjelmiston ilmoittamista koordinaateista. Tehty komentosarja liitetään ohjausohjelmaan ja sitä käytetään laboratorioharjoituksen aikana robotin ohjaukseen. Kirjoita komentosarja tekstitiedostoon ja ota se mukaan laboratoriotyöhön (levyke, USB tikku, URL, yms). Tekstitiedoston voi lähettää myös sähköpostilla assistentille. Käyttäkää tällöin viestin otsikkoa muodossa: 'LAB3C <ryhmän numero>' ja liittäkää komentosarjatiedosto liitetiedostona mukaan.
Komentosarjaa tehdessäsi voit olettaa että sinulla on jo tiedossa kuvankäsittelyllä saadut kappaleen koordinaatit x- ja y- tasossa, sekä kappaleen kiertymä Z-akselin suhteen. (ks. Liite robotin ja työalustan koordinaatistosta). Käytä seuraavia nimiä kuvaamaan kappaleen koordinaatteja ja kiertymää. robotxint robotyint robotangleint kappaleen koordinaatti x-akselilla kappaleen koordinaatti y-akselilla kappaleen kiertymä Tehtävässä ei käytetä robotille erikseen opetettuja pisteitä, vaan pudotuspaikka määritellään koordinaateissa. Pudotuspaikan koordinaatit annetaan muuttujissa: dropcoords.x dropcoords.y dropcoords.z pudotuspisteen koordinaatti x-akselilla pudotuspisteen koordinaatti y-akselilla pudotuspisteen koordinaatti y-akselilla Komentosarja tehdään Visual Basic muotoon ja käytössäsi on funktio: SendCommand( komento ) Muuttujat liitetään komentoon muodossa: SendCommand("SP " & speed & ", H") josta tulokseksi tulee: SendCommand("SP 9, H") Komentosarjan suorituksessa on otettava huomioon seuraavat asiat: Alussa robotti on kappaleiden pudotuspisteessä. Kun robotti lähestyy nuodettavaa kappaletta, sen nopeus on 9. Robotti komennetaan 50 millimetriä pöytäpinnasta noudettavan kappaleen yläpuolelle. Kun robotti tarttuu kappaleeseen, sen on lähestyttävä kappaletta nopeudella 6. Kappaleeseen tartutaan 5 mm pöytäpinnan yläpuolella ja se nostetaan takaisin lähestymiskorkeuteen 50 mm. Kappale viedään pudotuspisteeseen ja tarttuja avataan. (Edelleen 50mm pöydän pinnan yläpuolella) Ota myös huomioon, että robotin tarttuja pidetään aina suorassa kulmassa (-90 ) pöytätasoon nähden. Liitteet: Robotin manuaali ja ohjauskomennot sekä robotin ja pöytätason koordinaatistot 3.2 Laboratorioharjoitus
Laboratoriotyön aikana tehdään seuraavat tehtävät Kamera kalibroidaan ja paikannetaan Testataan esiselvitystyön komentosarjan toimivuus. Selvitetään kappaleiden tunnistamiseen ja lajittelemiseen vaadittavat kriteerit ja ohjelmoidaan ja ohjelmoidaan ne (käyttäen Inspector -ohjelmaa) Tutustutaan hahmontunnistukseen käyttäen Inspector -ohjelmaa Tehdään poimintoja ohjelmistolla käyttäen 'standardeja' (helppoja) kappaleita. Tehdään muutamia poimintoja 'epästandardeilla' kappaleilla.
LIITE Robotin koordinaatisto ja kuvankäsittelyohjelmalta saatavat kappaleen koordinaatit.