robo8080のブログ

ロボット製作や電子工作など。

アニマトロニクス(Animatronics)の実験(2)

2013年07月14日 | ロボット

今度は、マイコンボードにGR-SAKURAを使い、音声合成と連動させてみた。

音声合成には、秋月で買った「音声合成LSI ATP3011R4-PU(ロボ声)」を使用した。

 

スイッチサイエンスの”ABCプレート”にGR-SAKURAを載せてみた。ネジ位置ぴったり。

  

 

このArduino用音声合成LSIライブラリ、GR-SAKURAでも動くかな... 

[Arduino] AquesTalk ライブラリ | N.Yamazaki's blog

色々手を加えて無理やりGR-SAKURAのコンパイラでコンパイル通した。

修正は主にGR-SAKURAに無い"String"や"prog_char"に関する部分をコメントアウトしただけ。

 

ということで、Arduino用音声合成LSIライブラリはなんとかGR-SAKURAで動いた。

今度はアニマトロ二クスと連動させてみる。

 

 

(1)で作ったArduino+ProcessingのプログラムもGR-SAKURAに移植して、音声合成と口の動きを連動するようにした。

GR-SAKURAのSerialは勝手に改行コードを変換してしまうので、Arduinoのプログラムを移植するときにハマって、しばらく悩んだ後に思い出す。orz

(GR-SAKURAのライブラリV1.07では直っているようだ。)

裏側はこんな感じ。

 

音声と口の動きの連動は、音声合成LSIへ出力する文字列から母音を抜出し、それに応じて口の開き方を変えるだけの簡単な方法。

何となくそれっぽく見える...かな。

動画はこちら。 

サーボの音が大きすぎて音声合成の声がわかりずらい。orz

これはアンプを手抜きしてトランジスタ1個でやっているせい。(^^;)

 

・音声合成LSI「AquesTalk pico LSI」と口の動きを連動させる実験。
 GR-SAKURA + Processingで音声合成LSIとRCサーボを動かしている。

アニマトロニクス(Animatronics)の実験(3)

 

 

顔の表情も変えるようにしてみた。

アニマトロニクス(Animatronics)の実験(4)

 

 

今度は首のサーボを追加しようかな..


関連する記事

・ アニマトロニクス(Animatronics)の実験(1)

 


アニマトロニクス(Animatronics)の実験(1)

2013年06月23日 | ロボット

この動画を見て自分でも作りたくなったが、ちょっとレベルが高すぎ... 

・Animatronics Showreel 2011

 

色々調べていたらこんな動画が。これなら何とかなりそうな気がした。 

・Animatronic Face Completed - Testing Movements

しかもありがたいことに、作り方を解説してくださっている。

Animatronics How To DIY 

ということで、これを参考に作ってみることにした。

 


【使用したパーツ類】 

 段ボール紙をメインに、次ようなものを使用した。(段ボール紙はいつもAmazonが大量に供給してくれる(^^;) )

・RCサーボモータ

  

・ゴルフ練習用の発泡ポリエチレン製ボール(軽くて加工しやすい)

 

・針金

 

・工具類(カッター、両面テープ、接着剤、セロハンテープなど)

 

 


【本体の製作】

段ボール紙をこのように加工し、RCサーボモータを両面テープで固定。

 

目はちょうど良いパーツが揃わなかったので、上下軸は省略して、左右軸だけにした。 

  

RCサーボモータをArduinoにつないで本体は完成。

次は制御ソフトだ。

 

 


【制御回路と制御ソフト】

・制御用回路 : Arduino使用

 

・制御用ソフト : Processing使用

 

 

制御回路と制御ソフトは、以前作ったこれを流用した。(3軸->6軸に改造)

RCサーボモータをArduinoとProcessingでGUI制御

  


【動作確認】 

まず最初に各部の動作範囲を調べて、RCサーボモータの指令値に制限をかけるようにしておいた。

これでとりあえず試作1号機ができた。いずれwebカメラを使ったトラッキングやkinectのフェイストラッキングと組み合わせて遊んでみたい。

・アニマトロニクス(Animatronics)の実験(1)

 

ボタンを追加して、あらかじめ決められた動作パターンを割り当てられるようにした。

秋月の音声合成LSIの音声とでリップシンク出来たら面白いのだが…

・アニマトロニクス(Animatronics)の実験(2)

 


【参考】

なるほど~、この構造は参考になる。

・Robotic Eyes puppet and prop kit DIY by Luna's Puppets

 

 

これもすごいな~

・Interactive Robotic Head

 

 

(2)へ、づづく...


 

関連する記事

・アニマトロニクス(Animatronics)の実験(2) 

 


これまで作ったロボットの動画を集めてみた。(自律型編)

2012年10月10日 | ロボット

・車輪型ロボット

【1号機】

構成

ロボット制御部 : mbed NXP LPC1768

ロボット走行駆動 : PWM式RCサーボモータ(360°回転版)

無線LANカメラ : PLANEXの小型無線LANカメラCS-W07G-CY

画像処理部 : OpenCVのサンプル”CamShiftDemo”をベースに、C#(OpenCvSharp)に移植して使用

処理の流れ

 無線LANカメラ ―> PC(OpenCVで画像処理) ―> Bluetooth SPP(サーボ指令値) ―> mbed ―> サーボモータ

 

 

 

【2号機】

構成

 ロボット制御部 : mbed NXP LPC1768

 ロボット走行駆動 : TTLシリアルコマンド式サーボモータDynamixel AX-18A

 無線LANカメラ : PLANEXの小型無線LANカメラCS-W07G-CY

 カメラのPan,Tilt駆動 : PWM式RCサーボモータ

 画像処理部 : Processingで作成

処理の流れ

 無線LANカメラ -> PC(Processingで画像処理) -> 有線シリアル(サーボ指令値) -> mbed -> サーボモータ

 

ボールを追いかけるロボット

 

 

【2号機改】 2号機にアームを追加

構成

 ロボット制御部 : mbed NXP LPC1768

 ロボット走行駆動 : TTLシリアルコマンド式サーボモータDynamixel AX-18A

 ロボットアーム駆動 : TTLシリアルコマンド式サーボモータDynamixel AX-18A

 無線LANカメラ : PLANEXの小型無線LANカメラCS-W07G-CY

 カメラのPan,Tilt駆動 : PWM式RCサーボモータ

 画像処理部 : Processingで作成

処理の流れ

 無線LANカメラ -> PC(Processingで画像処理) -> 有線シリアル(サーボ指令値) -> mbed -> サーボモータ

 

一人でボール投げをして遊ぶ?ロボット

 

 

 ・多脚ロボット

【1号機】

構成

 ロボット : 近藤科学KMR-M6

 無線LANカメラ : PLANEXの小型無線LANカメラCS-W07G-CY

 画像処理部 : OpenCVのサンプル”CamShiftDemo”をベースに、C#(OpenCvSharp)に移植して使用

処理の流れ

 無線LANカメラ -> PC(OpenCVで画像処理) -> 有線シリアル(モーション再生指令) -> KMR-M6

 

 

 

【2号機】

構成

 ロボット : 近藤科学KMR-M6

 無線LANカメラ : PLANEXの小型無線LANカメラCS-W07G-CY

 カメラのPan,Tilt駆動 : 近藤科学KRS-2542HV

 画像処理部 : Processingで作成

処理の流れ

 無線LANカメラ -> PC(Processingで画像処理) -> Bluetooth SPP  -> KMR-M6

 

カメラ単独での追尾テスト

 

 

カメラでの追尾とロボットの歩行を連動して追尾

 

 

手動操縦と自動追尾を切り換えられるようにした

 

 

-以上ー


PS Vitaで操縦するロボットを作ってみた。

2012年05月30日 | ロボット

きっかけはこれ。

これを見て、自分も作ろうと...

Controlling a wifibot robot using SONY PSVITA with real time video feedback

 

で、さっそくPlayStation Suite SDKをダウンロードしてインストール。

PS Vita本体は持っていないので、とりあえずシミュレータでサンプルプログラムを動かしてみた。

 

シミュレータで"SoketSample"動かしてみた。

 

PlayStation Suite SDKのサンプルプログラムHttpSample、ImageSampleのソースを読む。

HttpSampleを改造して、PS Vitaシミュレータで無線LANカメラの画像を表示できるようにしてみた。

 

使用した無線LANカメラはこれ。残念ながらもう販売終了している。

 

とりあえず、ロボットに搭載予定の無線LANカメラの画像を表示する所は出来た。

まだVita本体は持っていないので当面シミュレータで。

 

SocketSampleのソースを読む。もっと単純なサンプルプログラムにしてくれれば良いのに...

いろいろやってみると、物理的にボタンやジョイスティックが付いている分、Android端末で作るより簡単かもしれない。

とりあえずシミュレータ上で mbedマイコンモジュール + RCサーボを動かせるようになった。

以下のサンプルプログラムを参考にさせてもらった。

・HttpSample : 無線LANカメラとの通信
・ImageSample : 無線LANカメラ画像の表示
・SocketSample : mbedとのTCP通信
・GamePadSample : Vitaのボタンとジョイスティック入力

予想外に簡単にできそうなのでシミュレータだけでは満足できず、Vita本体を発注してしまった。

 

PS Vitaは、Bluetooth SPP通信使えるのかな。

Bluetoothの仕様を調べてみるとダメっぽい。残念。

 

Vitaの実機が届いたので、今度は実機で試してみた。

動画はこちら。 

PlayStation Vitaで無線LANカメラの画像を表示してみた。

 

 

PlayStation Vita + mbedでRCサーボモータを制御してみた。

 

 

PS Vitaの実機が来たので今までシミュレータで動かしていたものを実機で試したが、全体的に動きがもっさりしている。

シミュレータの方がサクサク動くので少しがっかり。

 

これまで作ったものを統合して、無線LANカメラの画像を表示しつつ、ジョイスティックでRCサーボを動かせるようにした。

mbed側は、以前作ったこれを使用。

しかし、まだmbedとの通信が不安定。

 

 

動画はこちら。 

PlayStation Vitaで無線LANカメラの画像表示+RCサーボ制御

 

mbedとの通信のバグが取れた。単純ミスだった。

やっとOutOfMemoryのバグも取れた。

VitaがUSB給電中でも省電力設定をOFFできないのがデバックに不便。

デバッグ中の画面。

  

PlayStation Forumに自分の動画が紹介されていた。(RCサーボと無線LANの動画)

 

ときどきPS Suite Devがc2-128281-1で落ちる。エラーコードの詳細ってどこにあるのかな。

 

ロボットと組み合わせてデバッグ中。ロボット側は、以前作ったこれ

 

 

Vitaでロボットの操縦とロボットに搭載した無線LANカメラ画像の表示ができるようになった。

操縦性はまだ調整の余地あり。

動画はこちら。

PlayStation Vitaでロボット制御(1)

 

 

PlayStation Vitaでロボット制御(2)

 

-以上―