spoonBotin testaus#
spoonBot on yksinkertainen differentiaalivetoinen robotti, jossa on servoon liitetty lusikka, joka mahdollistaa panoroinnin ja kallistuksen. Katso spoonBot-Construction -sivulta tietoja spoonBotin rakentamisesta. Uusimman cc3-jakelun mukana tuleva esimerkkiohjelma sisältää esimerkkikoodia, joka havainnollistaa, kuinka spoonBotia liikutetaan ja kuinka ajetaan spoonBot Demo -tila. spoonBot Demo -tila on samankaltainen kuin CMUcam2:n esittelytila, paitsi että se käyttää spoonBotia panorointiin ja kallistukseen.
spoonBotin kalibrointi#
Ennen spoonBotin käyttöä sinun on kalibroitava servoasetuksesi. Tämä tehdään asettamalla seuraava tietorakenne main-funktion alkuun:
// SpoonBot Calibration Points
// Assume Left = Servo 0
// Assume Right = Servo 1
// Assume Spoon = Servo 2
my_cal.left_mid = 71;
my_cal.right_mid = 77;
my_cal.spoon_down = 100;
my_cal.spoon_mid = 202;
my_cal.spoon_up = 255;
my_cal.left_dir = 1;
my_cal.right_dir = -1;
my_cal.spoon_dir = 1;
// Set the calibration points
spoonBot_calibrate (my_cal);
Ohjelmoi cmucam2-emulointilaiteohjelmisto kameraan
Avaa joko CMUcam3 Frame Grabber tai pääteohjelma
Frame Grabberia käyttäen siirry ”Settings”-paneeliin ja vedä servopalkkeja muuttaaksesi arvoja
Aseta servot kirjoittamalla päätteeseen ”sv <servo-id> <servo-value>”, esimerkiksi:
:sv 0 77 ACK
Etsi servojen 0 ja 1 keskiasento säätämällä niitä, kunnes pyörät pysähtyvät
my_cal.left_mid = <arvo servolta 0>
my_cal.righ_mid = <arvo servolta 1>
Nyt sinun on löydettävä suuntien etumerkki
Katsoessasi spoonBotia takaa (lusikka sinua kohti) kokeile laskea servon 0 numeroa, jonka pitäisi olla vasen pyörä
jos servo pyörii myötäpäivään / taaksepäin (sinua kohti), niin left_dir tulisi asettaa arvoon 1
jos servo pyörii vastapäivään, left_dir tulisi asettaa arvoon -1
Toista servolle 1 (jonka pitäisi olla oikea pyörä spoonBotin näkökulmasta)
jos servo pyörii myötäpäivään / taaksepäin (sinua kohti), niin right_dir tulisi asettaa arvoon 1
jos servo pyörii vastapäivään, right_dir tulisi asettaa arvoon -1
Yleensä yksi servo tulisi asettaa negatiiviseksi!
Etsi nyt lusikan Min-, Middle- ja Max-asennot säätämällä servoa 2
Min pitäisi olla pienin arvo, joka työntää lusikkaa alas ja siten kallistaa spoonBotia eteenpäin
Aseta spoon_down vastaavasti
Max on yleensä 255, ja sen pitäisi asettaa spoonBot katsomaan mahdollisimman ylös
Aseta spoon_up vastaavasti
Middle on arvo, joka asettaa servon vaakatasoon
Aseta spoon_mid vastaavasti
Jos Min ja Max näyttävät olevan väärinpäin, muuta spoon_dir arvoksi -1
Kun kalibrointi on tehty, käännä projekti uudelleen ja ohjelmoi (FLASH) CMUcam3. spoonBot käy ensin läpi sarjan skriptattuja liikkeitä varmistaakseen, että servot on asetettu oikein. Sitten spoonBot odottaa painikkeen painallusta aloittaakseen värin seurannan. Sarjaportin kautta näytetään tekstiä, joka ilmoittaa sinulle eri toimintavaiheista.
Skriptatun liikkeen tulisi olla seuraava:
Pysy paikallaan
Katso alas
Katso ylös
Takaisin keskiasentoon
Käännä myötäpäivään (ylhäältä katsottuna)
Käännä vastapäivään
Punainen LED sammuu kameran valmistautuessa
Punainen LED syttyy, kun valmis seuraamaan
Jos tämä näyttää oikealta, kokeile pitää kirkkaanväristä kohdetta muutaman tuuman päässä kameran edessä ja paina sitten painiketta. Kun vedät kohteen pois, spoonBotin pitäisi kääntyä sitä kohti. Käytä kirkkaanvärisiä kohteita, jotka ovat väriltään mahdollisimman tasaisia. Kirkkaanpunaisen kankaan kaltainen kohde toimisi hyvin, koska se heijastaa hyvin vähän valoa (muuta kuin puhdasta punaista). Varmista, että huoneessa on riittävästi valaistusta. Kokeile kaapata ruutu nähdäksesi, miltä olosuhteet näyttävät.
Huomaa: Jos haluat poistaa servot käytöstä irrottamatta niitä, irrota servo-power-jumper.