spoonBot のテスト#
spoonBot は、パンとチルトを可能にするサーボに接続されたスプーンを備えた、シンプルな差動駆動ロボットです。spoonBot の組み立てに関する情報については spoonBot-Construction ページを参照してください。最新の cc3 ディストリビューションに付属するサンプルプログラムには、spoonBot を動かす方法と spoonBot デモモードを実行する方法を示すサンプルコードが含まれています。spoonBot デモモードは CMUcam2 のデモモードに似ていますが、パンとチルトに spoonBot を使用する点が異なります。
spoonBotの調整#
spoonBotを使用する前に、サーボ設定を調整する必要があります。これは、mainの先頭で以下のデータ構造を設定することで行います:
// 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);
cmucam2エミュレーションファームウェアをカメラにフラッシュします
CMUcam3 Frame Grabberまたはターミナルプログラムのいずれかを開きます
Frame Grabber を使って「Settings」パネルに移動し、サーボバーをドラッグして値を変更します
ターミナルで、サーボを設定するには例えば "sv <servo-id> <servo-value>" と入力します:
:sv 0 77 ACK
ホイールが停止するまで調整して、サーボ0と1の中間位置を見つけます
my_cal.left_mid = <サーボ0からの値>
my_cal.righ_mid = <サーボ1からの値>
次に、方向の符号を見つける必要があります
spoonBotを後ろから見て(スプーンをあなたの方に向けて)、左のホイールであるはずのサーボ0の番号を下げてみてください
サーボが時計回り/後方(自分の方)に回転する場合は、left_dir を 1 に設定する必要があります
サーボが反時計回りに回転する場合は、left_dir を -1 に設定する必要があります
サーボ1(spoonBotの視点からは右のホイールであるはず)についても繰り返します
サーボが時計回り/後方(自分の方)に回転する場合は、right_dir を 1 に設定する必要があります
サーボが反時計回りに回転する場合は、right_dir を -1 に設定する必要があります
通常、一方のサーボは負に設定する必要があります!
次に、Servo 2を調整して、スプーンのMin、Middle、Maxの位置を見つけます
Minは、スプーンを押し下げ、それによってspoonBotを前方に傾ける最小の値であるべきです
spoon_down をそれに合わせて設定します
Maxは通常255で、spoonBotをできるだけ上を向くように位置づけるはずです
spoon_up をそれに合わせて設定します
Middleは、サーボを水平にする値です
spoon_mid をそれに合わせて設定します
MinとMaxが逆になっているように見える場合は、spoon_dir を-1に変更します
キャリブレーションが完了したら、プロジェクトを再コンパイルしてCMUcam3をFLASHします。spoonBotはまず、サーボが正しくセットアップされていることを確認するために、一連のスクリプト化された動作を実行します。その後、spoonBotはボタンが押されるのを待って、色のトラッキングを開始します。動作のさまざまな段階を通知するテキストがシリアルポート経由で表示されます。
スクリプト化された動きは次のようになるはずです:
静止
下を向く
上を向く
中間位置に戻る
時計回りに回転(上から見て)
反時計回りに回転
カメラが準備している間、赤色LEDはオフ
トラッキングの準備ができると赤色LEDが点灯します
これが正しく見える場合は、鮮やかな色の物体をカメラの数インチ前に持って、ボタンを押してみてください。物体を引き離すと、spoonBotはそれに向かって回転するはずです。できるだけ色が均一な、鮮やかな色の物体を使用してください。鮮やかな赤い布のような物体は、(純粋な赤以外の)光をほとんど反射しないため、うまく機能します。部屋に十分な照明があることを確認してください。フレームを取得して、条件がどのように見えるか確認してみてください。
注意:サーボを取り外さずに無効化したい場合は、サーボ電源ジャンパを外してください。