ブログパーツUL5

簡単なフローチャートを作成

 簡単なフローチャートを作成してみました。この通りできるかは疑問ですが、今後の奮戦によるでしょう。

 そろそろRZ-1にどのように格納するかの検討もしないと実装回路の問題や実装部品の選定もあります。3つのマイクの格納場所と実装方法も検討する必要があります。

 そろそろマイクも購入しなければなりませんが、7月にセミナーで東京に行くので、その時に購入してこようと思います。

 今週は、ROBOZAKが送られてこないので、このような検討をしています。図書館から「二足歩行ロボット製作超入門」という本のうち、サーボコントロールの所の参考にしようと借りてきました。

0

    サーボモータの初の制御テスト

     今回は、サーボモーターをコントロールできるかテストプログラムを組んでみてテストしました。当初は、ワンショットパルスでいくつもりでしたが、テストしてみたところPWMモードでないとうまく動作しませんでした。このV850ボードで、はじめてサーボを動かすことができました。これで、要素技術のテストはテストボード上で出来たことになります。そこで、サーボの角度コントロールがちゃんとできるかも同時にテストを行いました。

    【サーボの仕様】
     90°→2100µs
      0°→1500µs
    −90°→ 900µs

    【V850のPWMテストプログラムの一部】
    */************ PWM出力モード (抜粋)************
    void TMP3_Init(void)
    {
    int msec;
    TP3CE = 0; /* TP3CTL0.7:TMP3動作禁止 */
    /* port register setting */
    PFC9L.4 = 0; /* TOP31端子に設定(PWM出力) */
    PFCE9L.4 = 1;
    PMC9L.4 = 1;
    /* timer register setting */
    TP3CTL0 = 0x06; /* 内部カウント・クロック設定:fxx */
    TP3CTL1 = 0x04; /* PWM出力モード */
    TP3IOC0 = 0x04; /* TOP31出力許可 TOP31ハイ・アクティブ */
    TP3CCR0 = (20000*20/256) - 1; /* 周期:20ms */
    TP3CCR1 = (1500*20/256) - 1; /* 1500us(TP3CCR0設定値 > TP3CCR1設定値)*/
    }
    */***************************************

    */************ Main.c (抜粋)************

    TMP3_Init(); /* TMP3 initiate */
    TP3CE = 1; /* PWM出力(TMP3)動作許可 */
    while(1){
    ;
    }

    */***************************************

     InterfaceにV850ボードが付属していた時に、無料の開発ソフトもありましたので、PM+とデバッグを利用して開発を行います。フラッジュへの書き込みソフトもあるので、PCのUSBから書き込みできるので、簡単である。

     次に、サーボコントロールは1つだけを考えており、首のサーボだけをコントロールするだけですから、複雑なことはしません。リモコン操作でなく、音に反応して首の向くようにしますので、マイク入力による音量で方向を決まるように演算が必要です。

    【音方向の検知】
     3つマイク出力をどのように演算するかの検討をして見ました。
    (左側のマイク出力=VL、右側のマイク出力=VR、後側のマイク出力=VB)

    (1)前面の音と後側の音の比較(音が後の場合)
       √(VL^2+VR^2)がVBよりも小さい時
       ・VL>VRの場合、左真横
       ・VL≦VRの場合、右真横
    (2)左側の音と右側の音の比較(音が前の場合)
       VL/(VL+VB)=係数K
       ・K=0.5 で真正面(頭部向きのオフセット調整)
       ・1.0≦K<0.5 で左側に、角度⇒180*(K-0.5)
       ・0.5<K≦0  で右側に、角度⇒180*(K-0.5)
       パルス幅は、1500+180*(K-0.5)*20/3 µs
    このようになるか、MEMSのマイクを購入したらテストする予定。
    0

      音がする方に首を回す

       音のする方向に首を回すことを考えてみました。まず、方向を決められるように、右、左、後ろの3つの向きにマイクを内蔵して音をいます。このマイクはシリコンマイクといってMEMS技術を使ってSiチップで出来ていて隣にアンプも内蔵しているのでノイズにも強く、電気信号に変えてくれます。そのアナログ信号の出力をそのままCPUボードのA/D端子に接続すれば、音の大きさのデータが採れて、その値から音の方向を計算して求めルことが出来るはずです。

       アナログ入力は、3軸加速度センサーでテスト済みですからプログラムグラムもそのまま利用できます。新規に作らなければいけないは、その値からサーボのか回転角度を求め、それをサーボ駆動のためのパルス幅にしなければなりません。電位はCPU電源の3.3Vでもサーボはコントロールできそうなので、レベルシフト回路は省きます。
      サーボ角度と駆動パルス幅
      −90°→ 900us
        0°→1500us
      +90°→2100us
      上記の範囲で変化させます。首は他の所のサーボと違い、一度、動けば次の信号が来るまでお休みしていていいはずですから、ワンショットパルスで十分といことになります。その方が貴重な消費電流の節約になります。

       RZ-1にV850ボードをどのように格納するかという大きな問題もあります。一応、胸に格納するつもりですが、胸のカバーは別途、作製しなければなりません。

      米国Atmel社製Atmega128にはA/D変換ポートが8CHありますので、V850を諦めても、この動作を搭載できることはソフトさえできれば、可能だと考えています。V850で勉強してテストしてから、Atmega128に追加するのもありかな。
      0

        V850ボードをどう使うか

         ここまでいろいろと検討してきましたが、そろそろV850ボードをどのように活用するか概要仕様をまとめようと考えています。

         右側のボードがUSB学習リモコンで、すでに、動作確認できていますので、フラッシュにソフトを書き込んで、ケースに収めれば出来上がりです。但し、テストした3軸加速度センサーは外して、もう1つのボードに移します。

         左側のボードは音声出力ができるようになっています。そこで、このボードには次の機能を要求仕様として開発しようと思います。参考書が全くないV850のソフト開発ができるか、不安ですができるかな?
        (1)各センサーとアナログ入力
         ・3つのマイクアンプを追加して、音の方向がわかるようにします。
         ・3軸加速度センサーを追加して、姿勢の向きがわかるようにします。
         ・光センサーを追加して、明るさがわかるようにします。
          (アナログ入力は12chあるので、残り5Chです)
        (2)出力はまずは出来る範囲の動作
         ・音声出力(上記に対応した6種類ぐらいの短い音声を内臓します)
         ・音に反応して首を回すサーボへのパルス出力
          (ワンショットパルスにして、消費電力を稼ぐ予定です)
         ・暗い時に、RZ-1の手から懐中電灯(白LED)で照らす
          (手の中に、LEDを内蔵させる)
        0

          RZ-1に頭脳が出来る

           RZ-1の背中に、マイコンボードを取り付けたところです。ボードの上部端子部分には、透明な端子カバーが被せてありました。マイコンボードの回路図ぐらいはほしい所ですね。また、LEDはコネクター合わせてを交換する予定です。

           マイコンボードは予想したよりも小型で小さく感じます。残念ながら電源がありませんので、動作出来るようになるのは当分先のようです。

           V850ボードの活用方法の検討も本格的にしなければと、通勤電車の中で考えています。RZ-1の改造は最小限とする条件にして、ドキッとする動きにしたいという現在の構想は、V850にはMIC Ampを搭載して音声/音の方向を感知して、首が音の方向に回り、「何か御用ですか?」または「お呼びですか?」と話しかけてくるという動きをさせようと考えています。これなら自律動作なので、リモコンも関係なく、ソフトもあまり苦労しないで出来そうです。

           もう1つのV850ボードはUSB学習リモコンとしてPCからのコントロールができるようにすることにしました。これは雑誌に出ていたものそのままで、ケースに格納すれば、出来上がりです。後は、リモコンが供給されるのを待つだけです。その時に、リモコン信号を学習して出来上がりとなります。

           USB学習リモコンすれば、リモコンのコマンドの連続送信をして動作の組み合わせが容易にかつプログラムの可能性も出ます。

          0

            21、22号がキタ〜

             RZ-1の頭脳となるマイコンボードが22号で、やっと来ました。

            【21号部品一覧】
            A.『RZ-1 モーションCD-ROM 2』×1
            B.H型ブラケット×1
            C.M3x5mmサポートピン×4
            D.M3x4mmタッピングネジ×4
            E.M2x5mmタッピングネジ×2

            【22号部品一覧】
            A.マイコンボード×1

             今回は、左足の太もも部分の組立ですぐ終わります。そのほかに、マイコンボードとモーションの追加データがありました。
            【組立-21】
             H型ブラケットを組立てるのは初めてですから、サーボモータを取付けるのにH型ブラケットの向きがるので確認しましょう。次に、マイコンボードを取付けるサポートピンをRZ-1の背中の決まった位置に付けます。ペンチなどで少し堅く締めておきます。

            0

              1

              カレンダ

                   12
              3456789
              10111213141516
              17181920212223
              24252627282930
              << June 2007 >>