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はそれに向かって回転するはずです。できるだけ色が均一な、鮮やかな色の物体を使用してください。鮮やかな赤い布のような物体は、(純粋な赤以外の)光をほとんど反射しないため、うまく機能します。部屋に十分な照明があることを確認してください。フレームを取得して、条件がどのように見えるか確認してみてください。

注意:サーボを取り外さずに無効化したい場合は、サーボ電源ジャンパを外してください。