Egy spoonBot tesztelése#

A spoonBot egy egyszerű differenciálhajtású robot, amelyhez egy szervóhoz csatlakoztatott kanál van rögzítve, amely lehetővé teszi a pásztázást (pan) és döntést (tilt). A spoonBot építéséről szóló információért lásd a spoonBot-Construction oldalt. A legújabb cc3 disztribúcióval érkező mintaprogram olyan mintakódot tartalmaz, amely bemutatja, hogyan mozgassa a spoonBotot, valamint hogyan futtassa a spoonBot Demó módot. A spoonBot Demó mód hasonló a CMUcam2 demó módhoz, csak a spoonBotot használja a pásztázáshoz és döntéshez.

A spoonBot kalibrálása#

A spoonBot használata előtt kalibrálnia kell a szervóbeállításait. Ez a main tetején található alábbi adatszerkezet beállításával történik:

// 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);
  • Flashelje a cmucam2 emulációs firmware-t a kamerára

  • Nyissa meg vagy a CMUcam3 Frame Grabbert, vagy egy terminálprogramot

    • A Frame Grabber használatával menjen a „Settings” panelre, és húzza a szervócsúszkákat az értékek megváltoztatásához

    • Egy terminálban gépelje be a „sv <servo-id> <servo-value>” parancsot a szervók beállításához, például:

      :sv 0 77
      ACK
      
  • Keresse meg a 0. és 1. szervó középső pozícióját úgy, hogy addig állítja őket, amíg a kerekek meg nem állnak

    • my_cal.left_mid = <a 0. szervó értéke>

    • my_cal.righ_mid = <az 1. szervó értéke>

  • Most meg kell találnia az irányok előjelét

    • A spoonBotot hátulról nézve (a kanál Ön felé) próbálja meg csökkenteni a 0. szervó számát, amelynek a bal keréknek kell lennie

      • ha a szervó az óramutató járásával megegyezően / hátrafelé (Ön felé) forog, akkor a left_dir értékét 1-re kell állítani

      • ha a szervó az óramutató járásával ellentétesen forog, a left_dir értékét -1-re kell állítani

    • Ismételje meg az 1. szervónál (amelynek a spoonBot nézőpontjából a jobb keréknek kell lennie)

      • ha a szervó az óramutató járásával megegyezően / hátrafelé (Ön felé) forog, akkor a right_dir értékét 1-re kell állítani

      • ha a szervó az óramutató járásával ellentétesen forog, a right_dir értékét -1-re kell állítani

    • Általában az egyik szervót negatívra kell állítani!

  • Most keresse meg a Min, Middle és Max kanálpozíciókat a 2. szervó beállításával

    • A Min a legkisebb olyan érték legyen, amely lenyomja a kanalat, és így előrebillenti a spoonBotot

      • Állítsa be a spoon_down értékét ennek megfelelően

    • A Max általában 255, és a spoonBotot úgy kell pozicionálnia, hogy a lehető legmagasabbra nézzen

      • Állítsa be a spoon_up értékét ennek megfelelően

    • A Middle az az érték, amely vízszintesbe állítja a szervót

      • Állítsa be a spoon_mid értékét ennek megfelelően

    • Ha a Min és a Max fordítottnak tűnik, változtassa meg a spoon_dir értékét -1-re

Miután a kalibrálás elkészült, fordítsa újra a projektet, és FLASHelje a CMUcam3-at. A spoonBot először végigmegy egy előre megírt mozgássorozaton, hogy megbizonyosodjon a szervók helyes beállításáról. Ezután a spoonBot egy gombnyomásra vár, hogy elkezdjen követni egy színt. A soros porton szöveg jelenik meg, amely értesíti Önt a működés különböző szakaszairól.

A megírt mozgásnak a következőnek kell lennie:

  • Maradjon nyugton

  • Lefelé nézés

  • Felfelé nézés

  • Vissza a középső pozícióba

  • Forgatás az óramutató járásával megegyezően (felülről nézve)

  • Forgatás az óramutató járásával ellentétesen

  • A piros LED kikapcsol, amíg a kamera felkészül

  • A piros LED bekapcsol, amikor kész a követésre

Ha ez helyesnek tűnik, akkor próbáljon meg egy élénk színű tárgyat néhány centiméterrel a kamera elé tartani, majd nyomja meg a gombot. Ahogy elhúzza a tárgyat, a spoonBotnak felé kell fordulnia. Használjon élénk színű tárgyakat, amelyek színe a lehető legegyenletesebb. Egy tárgy, például egy élénkpiros ruhadarab jól működne, mivel nagyon kevés fényt ver vissza (a tiszta piroson kívül). Győződjön meg róla, hogy elegendő fény van a szobában. Próbáljon meg rögzíteni egy képkockát, hogy lássa, milyenek a körülmények.

Megjegyzés: Ha a szervókat anélkül szeretné letiltani, hogy kihúzná őket, húzza ki a szervó-tápellátás-jumpert.