NXT Infrapuna-sensori Joissakin tilanteissa on hyödyllistä, jos robotti tunnistaa ympäristöstä tulevaa infrapunavaloa. Tämä tieto on välttämätön esim. RCJ:n robottijalkapallossa. Tässä esitellään vain HiTechinc in infrapuna-sensorin (NSK1042 IRSeeker V2 ) toimintaa, koska Lego on hyväksynyt käytettäväksi sitä NXT robottien kanssa. Miten HiTehcnic in infrapuna-sensori toimii? HiTechnic`sin Infrapunasensori sisältää viisi infrapunatunnistinta, jotka on sijoitettu sensorissa eri suuntiin. Tunnistimet ovat asennettu oheisessa kuvassa olevien numeroiden suuntiin: 1, 3, 5, 7, ja 9. Sensori tunnistaa, mistä suunnista 1 9 voimakkain ja lähin infrapunavalo tulee. HUOM! Sensorin yhden tunnistimen arvo ei vielä kerro, kuinka kaukana infrapunavalolähde on, mutta se on mahdollista saada selville käyttämällä useamman tunnistimen arvoa yhdessä (ks. alla). Infrapuna sensorin liittäminen robottiin HiTechnic`sin Infrapuna sensori toimii parhaiten vaakasuorassa asennossa. Näin se voi lukea pallon lähettämää infrapunavaloa parhaiten. Infrapuna -sensorin käyttäminen NXT-G ohjelmassa HiTechnic`in Infrapuna -sensorin käyttö NXT-G -ohjelmassa edellyttää erillisen ohjelmapalan lataamista. Ohjelmapalan saa mm. osoitteesta: http://www.hitechnic.com/downloadnew.php?category=13 (HUOM! Tässä esitelty ohjelmapala on: HiTechnic IRSeekerV2 Sensor Block for Mindstorms NXT Software, julkaistu 7.5.2009) Ohjelma on ns. zip -tiedosto, joka tulisi purkaa lataamisen jälkeen (onnistuu hiiren oikealla painikkeella). Tämän jälkeen tulisi avata NXT-ohjelma ja edetä siinä normaaliin aloitustyöpöytätilaan (ks. alla). NXT ohjelman TOOLS valikosta (1.) saa avattua kohdan Block Import and Export Wizard, jolla puretun ohjelmatiedoston voi ladata ohjelmaan. Etsi selaimen Browse ( 2.) avulla ohjelmatiedosto. Se tulee näkyville ikkunaan Name kohtaan ( 3.) ja voit valita latauspaikaksi esim. Advanced" (4. ja 6.). Tämän jälkeen lataa ohjelma kohdasta Import (5.)
1. 2. 3. 4. 5. 6. NXT infrapunasensorin testaaminen Kun NXT-ohjelma on päivitetty, tee oheinen testausohjelma. Ohjelman avulla pystyt näkemään Infrapuna sensorin lukemat NXT yksikön omassa näytössä. Infrapuna -sensorin ohjauspaneli (ylhäällä olevista ohjelmapalikoista vasemman puoleisin) näyttää tältä. Sensori on kytketty porttiin 1 ja sensorin ohjelmapalikka on säädetty lukemaan ns. mukautettua infrapunavaloa. Mukautetussa (AC)-tilassa - sensori tunnistaa infrapunavaloa, jota mm. RCJ 05 pallo ( pulssipallo ) tai jotkin infrapuna -kaukosäätimet lähettävät. Tässä tilassa sensori suodattaa pois useimmat muut infrapunavalon lähteet ja näin vähentää valaistuksen ja auringon paisteen häiriöitä. Tarvittaessa tästä kohdasta voi muuttaa sensorin lukemaan myös ns. mukauttamatonta infrapunavaloa (=DC). Tässä tilassa sensori tunnistaa mm. vanhaa mallisen infrapunapallon ja auringonvalon.
"Numeron muunto tekstiksi" palikan ohjauspaneli (keskimmäinen kolmesta ohjelmapalikasta) näyttää tältä: Näyttö ohjelmapalikan ohjauspaneli (oikean puoleisin kolmesta ohjelmapalikasta) tulisi muuttaa näyttämään tältä: Yhdistä ohjelmapalikat toisiinsa kuvan osittamalla tavalla käyttämällä hiiren vasenta painiketta. Kun lataat tämän ohjelman NXT-yksikköön ja käynnistät sen, näet NXT -yksikön näytöstä Infrapuna sensorin antamat numeroarvot ( 1-9). Tämä numero osoittaa sensorin aistiman lähimmän oletetun infrapunavalolähteen suunnan. Infrapuna sensorin ohjelmapalikan kytkennät Klikkaa ohjelmapalikan alaosaa, niin se avautuu: 1. (Tästä kohdasta voidaan yhdistää sensori oikeaan porttiin.) 2. Tästä kohdasta saadaan ulos suunta-arvon. 3. Tästä kohdasta valitaan sensorin toimintatila (mode), 0= muokattu (AC), 2= muokkaamaton (DC). 4. Tästä kohdasta saadaan ulos ns. havaittu looginen arvo. 5. Tästä kohdasta saadaan ulos kanava 1. signaalin voimakkuus. 6. Tästä kohdasta saadaan ulos kanava 2. signaalin voimakkuus. 7. Tästä kohdasta saadaan ulos kanava 3. signaalin voimakkuus. 8. Tästä kohdasta saadaan ulos kanava 4. signaalin voimakkuus. 9. Tästä kohdasta saadaan ulos kanava 5. signaalin voimakkuus. Jokainen sensorin tunnistimista 1, 3, 5, 7 ja 9 on suunnattu erisuuntiin. Sensori huomioi myös suuntien 2, 4, 6 ja 8 arvot laskemalla ne tunnistimien suunta-arvojen perusteella (interpolointi).
Jos haluat selvittää kaikkien yhdeksän suunnan saamat infrapuna arvot käytä seuraava ohjetta: Suunta valittavat kanavalähteet 1 kanava 1 2 kanavat 1 ja 2 3 kanava 2 4 kanavat 2 ja 3 5 kanava 3 6 kanavat 3 ja 4 7 kanava 4 8 kanavat 4 ja 5 9 kanava 5 Infrapuna -sensorin käyttö RCJ -lajeissa Robottijalkapallo Tässä on RCJ jalkapallo. Siinä on sisällä monia pieniä Infrapunavaloa lähettäviä diodeja. Pallon kuori on kovaa, läpinäkyvää muovia. Avaamalla pallon muovikuoren pyörittämällä vastapäivään, voit säätä pallon lähettämään infrapunavaloa pulsseittain (MODE A) pallon sisällä olevasta säätimestä. Tässä esitelty HiTechnic`in infrapuna sensori tunnistaa pulsseittain lähettävää infrapunavaloa. Robottijalkapallossa on välttämätöntä tietää missä suunnassa pallo on. Oheisella testiohjelmalla saa selville, kuinka robotti tunnistaa pallon lähettämän infrapunavalon eri suunnista. Seuraavaksi tulee miettiä, millä periaatteella robotti kääntyy pallon suuntaan. Yksi tapa voisi olla: Sijoita infrapuna sensori robotin etuosaan osoittamaan suoraan eteenpäin. Kun infrapuna sensorin antama lukema on tasan 5, niin robotin pitäisi olla kohti palloa. Ohjelmoi robotti kääntymään vasemmalle tai oikealle niin kauan, että lukema on 5. Esimerkiksi voisi tehdä seuraavanlaisen ohjelman: Ip-sensori Vertaa Moottori B Moottori C
Infrapuna sensorin säätöpaneli näyttää tältä (Huom. sensori on kiinnitettynä 1- porttiin, mikä muu portti tahansa on myös mahdollinen) Vertaa ohjelmapalikan säästöpaneli tulee muuttaa näyttämään tältä: Moottori B:n säätöpaneli voisi näyttää tältä: Moottori C:n säätöpaneli voisi näyttää tältä: Infrapuna ja Vertaa ohjelmapalikan välille muodostetaan kytkentä hiiren vasemmalla painikkeella. Samoin Vertaa ja Silmukka ohjelmapalikan välille muodostetaan kytkentä hiiren vasemmalla painikkeella. Tässä tapauksessa sensorin antama suunta välitetään keltaisen kytkennän kautta Vertaa - ohjelmapalikkaan. Tämän jälkeen moottorit liikkuvat niin että robotti kääntyy hitaasti haluttuun suuntaan. Niin kauan kuin välitetty suunta on tasan 5 (="Tosi"), tieto välitetään edelleen silmukka ohjelmapalikkaan vihreällä kytkennällä ja ohjelman suorittaminen jatkuu. Kun suunta on tasan 5, ohjelma pysähtyy. Onko robotti nyt kohti palloa vai tuleeko ohjelmaan tehdä vielä säätöä?
Toiminta strategiat Kun selvität edellisen ongelman, on vielä paljon muita ratkaistavia asioita. Haluatko, että robotti löydettyään pallon, työntää sitä, toivoen, että se menee kohti vastustajan maalia? Vai toimiiko tämä robotti maalivahtina niin, että se asettuu pallon ja oman maalin väliin torjuntaan. Ratkaisevan tärkeää robotin toimintastrategiassa on, kummassa roolissa robotti toimii: hyökkääjänä vai maalivahtina. Tärkeä seikka on myös se, kuinka kaukana robotti on vastustajan maalista saadessaan pallon haltuun. Olisiko ultraäänisensorille käyttöä? Tietysti tärkeää on myös se, missä suunnassa vastustajan maali on silloin, kun robotti saa pallon haltuun. Kompassisensorista olisi tässä hyötyä. Entä mitä pitäisi tehdä, jos pallo on oman robotti ja oman maalin välissä? Tässä riittää haastetta!! Lähde: http://www.hitechnic.com/cgi-bin/commerce.cgi?preadd=action&key=nsk1042 ja http://www.drgraeme.net/drgraeme-free-nxt-g-tutorials/ch104/ch104v1g/default.htm