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.