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.