ロボットに「技」名を叫ばせよう!
基本部品構成:
音声認識・音声再生モジュールSRM-1OPALPHA PROJECT
(SRM-10P スターターキットは音声書き込みの為必要になります)

PIC-BASIC:秋月電子通商

コネクタ:
SRM-10P 受け側コネクタ×2
(SRM-10P スターターキットに付いてくる)

電源取得用:2ピンコネクタ

ロボット・コントローラーとの接続用コネクタ:
左図では、4ピンコネクタになっています。
合計約70秒で128音声まで登録出来るので、自分が使用する音声の種類のピン数のコネクタを準備しましょう。
DOWNLOAD PIC-BASIC側のプログラムソース:voiceout.pb (3kbye) 4ピン:15音声版のソースになっています。
音声の種類を変更する場合の、ソースの修正点は、ソース内のコメントに記述してあります。
使い方
HSWB-02RGの場合の記述を書きますと、単に音声を出すだけなら、以下のコマンドを実行します。

以下の例は、登録した一番目の音声を再生する場合です。
OLLLLLLLH
W10
OLLLLLLLL

モーションを実行中の場合は、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ピッチには付かないように思われるかもしれませんが、今回使用するピンを取り付けるだけであれば、ちょっと曲げたり、広げたりすれば、以外と簡単につけることが出来ます。

でもって、自分のお試し取り付け基板は以下のような感じになっています。
この白いコネクタが、SRM-10Pの受け側コネクタ(11pin)です。
で、使用しないピンであっても、取り付けることが出来る部分であれば基板につけましょう。
基盤の抜き差しの時に、コネクタをがっちり固定する為につけるのです。
ちなみに、上が、J2コネクタ側、下がJ1コネクタ側です。
HSWB-02RG以外から使えるのか?
基本的には、デジタル出力出来て、PIC-BASICでHigh/Lowレベルの認識ができれば使えるはずです。
では、最近、よくロボットで使われているモーションプロセッサーは、一見するとデジタル出力がないようだけど、どうなのか?

正直、試していないので判りませんが、吉日ツアー内で話を聞いたところによると、「RedGainSetコマンド」で、Low/Highレベルの設定が出来ると聞いています。
ただ、いっしょに「POSSISON EDITOR」で、ゲイン設定(通常は「PWN」になってる)のを[LOW][HIGH]に出来るが、「POSSION LIST」に登録した際には、その設定した内容は保存されないらしい、とも聞いているので、使い方としてはどうなのかはよくわかりません。

もしかすると、起動時にホームポジションに設定した時には、「PWN」となっていて、パルスをしているかもしれませんので、PIC-BASIC側で、起動時に、少しだけ処理待ち時間を設けた方がよいかもしれません。
(現在のソースにも、1秒間だけ待ち時間を設けています。そういったロボット・コントローラ側の設定完了の待ち時間として)

もし誰かデジタル出力で試された方がいらしたら、掲示板にでも教えて頂けると嬉しいです。

TOPページへ