NXT -kompassisensori NXT -roboteihin on saatavilla kahdenlaisia kompasseja: Wiltronics kompassit (tilaukset: http://www.wiltronics.com.au/) ja HiTechnic kompassit (NMC1034 Compass) (tilaukset: http://www.hitechnic.com/products). Tässä ohjeessa käytämme jälkimmäistä, koska Lego on hyväksynyt niitä käytettäväksi NXT -robottien kanssa. (Ohje Wiltronics in sensorille löytyy mm. osoitteesta: http://www.wiltronics.com.au/datasheets/ro256pn2dc6v1.pdf) Mitä HiTechnic -kompassisensori tekee? HiTechnic -kompassi sisältää digitaalisen magneettikompassin, joka mittaa maapallon magneettikentän ja laskee sen 1 tarkkuudella ja lähettää tiedon NXT-yksikköön 100 kertaa sekunnissa. HiTechnic -kompassisensorin rakentaminen robottiin. HiTechnic -kompassisensori toimii oikein vain vaakasuorassa asennossa. On myös erittäin toivottavaa, että kompassi on vähintään 15 cm päässä moottoreista ja 10 cm päässä NXT -yksiköstä. Tämä sen takia, koska NXT -yksikkö ja NXT -moottorit tuottavat magneettikentän, joka muuttaa kompassisensorin lukemia. HiTechnic -kompassisensorin käyttäminen NXT-G -ympäristössä Kompassisensorin käyttö NXT-G -ohjelmassa edellyttää erillisen ohjelmapalan lataamista. Ohjelmapalan saa mm. osoitteesta: http://www.hitechnic.com/downloadnew.php?category=13 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.) Nyt NXT-ohjelma tunnistaa kompassisensorin ja ohjelmapalikka löytyy Advanced painikkeen takaa.
1. 2. 3. 4. 6. Advanced -painike 5. HiTechnic -kompassisensorin käyttäminen NXT-G -ympäristössä Kun NXT-ohjelma on päivitetty, tee seuraava testausohjelma. Ohjelman avulla pystyt näkemään kompassilukemat NXT yksikön omassa näytössä. Säädä kompassipalikan ohjauspaneelia (ylhäällä vasemmalla oleva ohjelmapalikka) niin, että se näyttää seuraavalta:
"Numeron muunto tekstiksi" palikan ohjauspaneeli (keskimmäinen kolmesta ohjelmapalikasta) pitäisi näyttää seuraavalta: Näyttö palikan ohjauspaneelin (oikean puoleisin kolmesta ohjelmapalikasta) tulisi muuttaa näyttämään tältä: Kun yllä olevan ohjelman lataa NXT -yksikköön ja käynnistät ohjelman, näytössä näkyy kompassisensorin antama lukema asteina (0⁰ - 360⁰). Voit pyörittää robottia ympäri ja todeta, miten lukema muuttuu. Kokeile muuttuko lukema, jos kompassisensoria kallistetaan suuntaan tai toiseen. Kompassisensorin käyttö RCJ-lajeissa Robottijalkapallo Robottijalkapallossa on hyödyllistä, jos robotti erottaa kumpi on oma maalipääty ja kumpi vastustajan. Tämä voidaan saada selville kompassisensorilla. Miten kompassisensori toimii? Testausohjelman avulla saat selville esim. mitkä ovat vastustajan maalin kulmien suunnat. Oikeita suuntia kannattaa tutkia niin, että sijoittaa robotin eri puolille kenttää. Kirjoita kaikki suuntalukemat muistiin. Oletetaan, että testausohjelmaa käyttäen sait selville vastustajan maalin kulmien (keskimääräisiksi) suunniksi kompassilukemat 90 ja 100. Tuolloin kompassiohjelmapalikan säätöpaneeli voisi olla alla olevan näköinen:
Jos robotti pelissä saisi kompassilukemat 90 tai 100, kompassiohjelmapalikka ohjaisi ohjelmaa toimimaan alla olevan taulukon tavalla: A B Vaihtelualue (Range) Kompassilukema Kompassi sensorin arvo: TOSI tai EPÄTOSI? 85 95 sisäpuoli (Inside Range) 90 Tosi 85 95 sisäpuoli 100 EPÄTOSI 85 95 ulkopuoli (Outside Range) 90 EPÄTOSI 85 95 ulkopuoli 100 Tosi Kompassiohjelmapalikan käyttäminen NXT- jalkapallo-ohjelmassa. Testattuasi kompassisensorin toiminnan ja saatuasi selville halutut kompassisuunnat (vastustajan maali), voit tehdä alla olevan kaltaisen ohjelman ohjaamaan robotin liikkeitä: Esimerkkiohjelmassa robotti etenee vastustajan maalia kohti jos kompassilukemat ovat sisäpuolisella välillä 90-180. Jos robotin saamat kompassilukemat ovat ns. ulkopuolisella välillä 180-360 - 0-90, tällöin robotti pyörii ympäri ja etsii oikeaa suuntaa. Katso ohjauspaneelit alla. Kompassisensorin ohjauspaneeli:
Alempi moottorin ohjauspaneeli (asteilla 180-360 - 0-180 ): Vinkki: Kun robotti etsii oikeaa suuntaa tai palloa pyörien ei pyörimisnopeus saa olla liian suuri? Hyvä jalkapallo-strategia? Edellä oleva ohjelma on yksi tapa ohjelmoida jalkapallo-robottiin kompassisensoria. Tämä ei ole tietysti ainoa tapa ratkaista asia. Keksitkö paremmat tavan käyttää kompassisensoria? Mitä pitäisi tehdä jos pallo on robottisi ja vastustajan maalin välillä? Entä silloin, jos pallo on robottisi ja oman maalisi välissä? Milloin pallo kannattaa laukaista maalia kohti? Lähde: http://www.drgraeme.net/drgraeme-free-nxt-g-tutorials/ch104/ch104v1g/default.htm