| ロボットに「技」名を叫ばせよう! | |||||
![]() |
基本部品構成: 音声認識・音声再生モジュールSRM-1OP:ALPHA PROJECT (SRM-10P スターターキットは音声書き込みの為必要になります) PIC-BASIC:秋月電子通商 コネクタ: SRM-10P 受け側コネクタ×2 (SRM-10P スターターキットに付いてくる) 電源取得用:2ピンコネクタ ロボット・コントローラーとの接続用コネクタ: 左図では、4ピンコネクタになっています。 合計約70秒で128音声まで登録出来るので、自分が使用する音声の種類のピン数のコネクタを準備しましょう。 |
||||
| DOWNLOAD | PIC-BASIC側のプログラムソース:voiceout.pb (3kbye) | 4ピン:15音声版のソースになっています。 音声の種類を変更する場合の、ソースの修正点は、ソース内のコメントに記述してあります。 |
|||
| 使い方 | |||||
| HSWB-02RGの場合の記述を書きますと、単に音声を出すだけなら、以下のコマンドを実行します。 以下の例は、登録した一番目の音声を再生する場合です。
モーションを実行中の場合は、Wコマンド(待機コマンド)の代わりに、本来のモーションを実行を実行させて下さい。 そして、適当な時期に、デジタル出力を全てLowにしてください。 ここでいう「適当な時期」と言うのは、ごくごく短い時間なので、いろいろと試して見てください。 |
|||||
| 仕様 | |||||
| PIC-BASICが、HSWB-02RGからの音声再生の指示があるまで、ひたすら待ちます。 ここで、待ち状態となるのは、デジタル出力が全てLowレベルの場合は「指示無し」と見なします。 Highレベルがどこか1ピンでもある場合は、SRM-10Pに、要求のあった音声再生を要求します。 ここで再生する音声は、デジタル出力を2進数→10進数として、音声再生します。 PIC-BASICは、SRM-10Pに音声再生を要求後、応答待ちになります。 この間、HSWB-02RGの音声再生の指示はみていません。 SRM-1OPからの応答が帰ってきたら、再び、HSWB-02RGの音声再生の指示待ちになります。 ここで、使い方のところでも書いた「適当な時期」というのは、この「SRM-1OPからの応答待ち」時間と いうことです。 この時間内に全てLowレベルにしないと、また同じ音声が再生されるということになります。 逆に言えば、繰り返しの音声を使用する場合は、全てLowレベルにするのは、全てのモーションが終わってからにするということになります。 例えば、歩いている間、「よいしょ、よいしょ」という言葉を繰り返して言うのであれば、以下のようにします。 1.「よいしょ」という言葉と1言を登録する。 2.歩きはじめで、音声再生を指示。 3.歩きモーションを実行。この間、自動的に、「よいしょ」が繰り返される。 4.歩き終わった時に、全てをLow レベルに設定する。 というような使い方が出来ます。 |
|||||
| 回路の拡張 | |||||
| 先の回路図は、音声再生のための最小限の回路図になっています。 その為、PIC-BASICに書き込むためには、別の書き込むための書き込み用ボードが必要だったり、SRM-1OPへの音声登録も、スタータキットで書き込む必要があります。 ですが、ちょっとしたコネクタやスイッチ、部品の追加で、ボードから外さなくても、出来るようにすることは可能です。 この辺りの回路図は、そんなに、頻繁に書き換える内容でもないと思いますので、今は公開しません。 (私も、PIC-BASICだけ、書き込み用のコネクタとスイッチを追加しただけですし、SRM-10Pは多分、これで動くだろう程度なので・・・) |
|||||
| 回路を組み立てる際のちょっとしたお話 | |||||
| SRM-10Pの受け側コネクタ(11pin)は、スタータキットに3つ付いてきますが、今回、2つだけ使用します。 それと、1.5mmピッチのコネクタでは、通常の基板:2.54mmピッチには付かないように思われるかもしれませんが、今回使用するピンを取り付けるだけであれば、ちょっと曲げたり、広げたりすれば、以外と簡単につけることが出来ます。 でもって、自分のお試し取り付け基板は以下のような感じになっています。
|
|||||
| HSWB-02RG以外から使えるのか? | |||||
| 基本的には、デジタル出力出来て、PIC-BASICでHigh/Lowレベルの認識ができれば使えるはずです。 では、最近、よくロボットで使われているモーションプロセッサーは、一見するとデジタル出力がないようだけど、どうなのか? 正直、試していないので判りませんが、吉日ツアー内で話を聞いたところによると、「RedGainSetコマンド」で、Low/Highレベルの設定が出来ると聞いています。 ただ、いっしょに「POSSISON EDITOR」で、ゲイン設定(通常は「PWN」になってる)のを[LOW][HIGH]に出来るが、「POSSION LIST」に登録した際には、その設定した内容は保存されないらしい、とも聞いているので、使い方としてはどうなのかはよくわかりません。 もしかすると、起動時にホームポジションに設定した時には、「PWN」となっていて、パルスをしているかもしれませんので、PIC-BASIC側で、起動時に、少しだけ処理待ち時間を設けた方がよいかもしれません。 (現在のソースにも、1秒間だけ待ち時間を設けています。そういったロボット・コントローラ側の設定完了の待ち時間として) もし誰かデジタル出力で試された方がいらしたら、掲示板にでも教えて頂けると嬉しいです。 |
|||||