robo8080のブログ

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

GR-SAKURA+KRS-2542HVで移動ロボットを作ってみた。(その4)

2012年10月29日 | GR-SAKURA

引き続き、GR-SAKURA + XBee WiFi + PS Vitaのロボットデバッグ。

PS Vitaのアナログスティックでの操縦がワンテンポ遅れる。

mbed+無線LANコンバータの時は大丈夫だったから、XBee WiFiが原因かな...

動画はこちら。

 

 

Kinect SDK v1.6付属のサンプルプログラムを見ていたら、音声認識が簡単にできそうだったのでこれで移動ロボットを動かしてみた。

  

 

サンプルプログラム”SpeechBasics-WPF”を改造。

サンプルプログラムは英語の音声認識なのでこれを日本語化し、ついでに音声合成も付け加えた。

音声の命令で、カメが前後左右に動くので、これに合わせてロボットも動くようにした。

 

 

今度はロボットとPCの通信に、XBee シリーズ1を使用。(あまり意味はない。使ってみたかっただけ。)

 

 

実際にやってみると、ロボットの動作音を拾って誤認識することが結構ある。

音声認識の閾値を調整してやれば多少改善されるかも...

動画はこちら。

 

 

-以上―


GR-SAKURA+KRS-2542HVで移動ロボットを作ってみた。(その3)

2012年10月12日 | GR-SAKURA

カメラのPan,Tilt制御用サーボの固定方法を改良。上下から挟むようにした。

GR-SAKURAボードは相変わらず両面テープで固定。

この方がネジより付け外しが簡単。

 

 

今度は、GR-SAKURA + WBeeWiFiを、PS Vitaで操縦するようにしてみようかな。

搭載カメラの画像表示もVitaで。

カメラのパンチルト制御はKinectのフェイストラッキング。

 

PS Vitaでロボットを操縦するのは以前もmbedでやったから、GR-SAKURAでやるのも簡単なはず…

 

 

GR-SAKURAでいろいろ作りたいが、Webコンパイラの容量がもう残り少ない。orz

  

PS VitaでWiFiカメラ画像表示実験。

WebClientのOpenReadで画像を取ろうとしているがタイムアウトになって画像が途中までしか取れない。

Microsoft Visual C# だとタイムアウトにならずに表示できるんだが...

そういえば、PlayStation®Mobile SDK 0.99.20 がリリースされたんだな。

WebClientのOpenReadのタイムアウト直ってないかな...

   -> ダメだった。mbedでやった時と同じく”WebClient”は使わないことにする。

 

GR-SAKURA + XBee WiFiに、PS VitaをTCPで接続する実験うまくいった。

VitaにWiFiカメラ画像を表示するのもOK。”HttpWebRequest”をつかった。

今度はこれをロボットに搭載する。

 

 

GR-SAKURA + XBee WiFi + PS Vitaのロボットデバッグ。概ね動いた。

VitaとXBee WiFiの通信仕様をSBXBT + PS3コントローラに合わせたので、GR-SAKURA側の変更はほとんど無し。

Kinectのフェイストラッキングとの連動部分も変更なし。

 

動画を撮りたかったが、一人でロボットを操作しつつ撮影するのが大変なので保留。

その4へつづく... 


GR-SAKURAのUSB HOSTでBluetooth通信をやってみた。

2012年10月07日 | GR-SAKURA

GR-SAKURA-FULLにUSB HOST用のコネクタは付属するが、自分でハンダ付けする必要がある。

 

 

ハンダ付け完了。

 

 

@hrdakinori さんが、GR-SAKURAでBluetooth SPP通信する

  ”GR-SAKURAのUSB HOSTでBluetooth通信を

を公開してくださったので、試してみた。

ソースに添付されている"README.md"を参考にWebコンパイラにプロジェクトを作成。

@hrdakinoriさんのソースファイルのほかに、別途"btstack"のソースも必要。

入手先などは"README.md"を見ればわかる。

 

Webコンパイラでコンパイル&ダウンロードして、とりあえずPCとペアリングするところまでは出来た。

 

 

PC->GR-SAKURAでSPP通信ができるのを確認した。

気づいた点:GR-SAKURAのリセットボタンを何度か押さないとBluetoothの初期化がうまくいかないようだ。

 

SPP通信は動いたので、 つぎは @hrdakinori さんが GR-SAKURAに移植してくださった"btstack"を使って、いろいろなBluetoothデバイスをつないでみることにする。

 

SPPのClient側にするのはどうやるのかな。btstackのソースを読んでみる。

btstackのサンプルにWiiリモコンのサンプルもあるが、簡単には行きそうにないな。

 

"btstack"でBluetoothマウスの接続がうまくいった。

が、タイムラグがかなり大きくていまいち。

  -> usb_task()を修正して直した。

 

 

動作確認のためにRCサーボを動かしてみた。

動画はこちら。

がじぇるねGR-SAKURAにBluetoothマウスを接続する実験

 

 

 

BTマウス、BTキーボード、Zeemote、Wiiリモコンをざっくり試したが、今のところうまくいったのはBTマウスだけ。

btstackのサンプルソースをじっくり読んでみるかな。

 

GR-SAKURAのWebコンパイラ、間違って作業中のプロジェクトにZipファイルインポートしたら全部上書きされて、昨日の成果が全部消えた。

気が付いてキャンセルしたけど間に合わず。orz 

プロジェクトのバックアップをオフラインに取るのってどうやるの?

   -> ”右クリック更新履歴”を教えてもらった。とりあえず無事復元!

 

Wiiリモコン接続実験、まだうまくいかないが少しだけ進展。

Wiiリモコン接続実験、接続成功!!

ボタンのデータを取れるようになった。

だだ、GR-SAKURAからWiiリモコンにコマンドを部分がまだうまくいかない。

 

Wiiリモコン接続実験、接続成功!!

ボタンや加速度センサのデータを取れるようになった。

が、wiiリモコンのコマンドとデータを解説しているいつものサイトが無くなってる。orz

wiiリモコンのコマンドとデータの解説、

  -> ここにあった。wiiリモコンのpinコードはmacアドレスなのか。一つ疑問解決。

 

GR-SAKURAとWiiリモコンのBluetooth接続成功。

まだ、よくわからないエラーが出ているのを、無理やり殺して動かしている段階だが...

 

 

動作確認のためにRCサーボを動かしてみた。

動画はこちら。

がじぇるねGR-SAKURAにWiiリモコンを接続する実験(1)

 

 

Wiiリモコンの加速度センサーを使ってみた。

動画はこちら。

がじぇるねGR-SAKURAにWiiリモコンを接続する実験(2)

 

 

次は、Zeemoteの接続実験。

 

 

GR-SAKURAをSPPのClient側にするのが出来た。

これでやっとZeemoteとSPP接続できる。

 

やった、ZeemoteとSPP接続できた!!

ボタンとジョイスティックのデータが取れるようになった。

以前mbedでも同じようなことをやった。)

 

 

BTマウス、Wiiリモコン、Zeemoteは接続できるようになった。

あと、mbedでは使えてるPS3コントローラが繋がれば申し分ないのだが、これはちょっと手におえそうにない。

ランニングエレクトロニクスさんのPS3コントローラ版SBXBTモジュールを使うのが簡単。) 

 

Zeemoteを接続する実験、動作確認のためにRCサーボを動かしてみた。

動画はこちら。

がじぇるねGR-SAKURAにZeemoteを接続する実験

 

 

ついでにGR-SAKURA + Android端末の実験。

Android端末の加速度センサーのデータでカメラのPan、Tiltを制御してみた。

GR-SAKURAとAndroidは、Bluetooth SPPで接続している。

動画はこちら。

がじぇるねGR-SAKURA + Android端末の実験

 

 

 -以上― 


参考リンク

茶運び人形ロボのGR-SAKURAプログラム Ver.2 - 滴了庵日録

 


GR-SAKURA+KRS-2542HVで移動ロボットを作ってみた。(その2)

2012年10月01日 | GR-SAKURA

KRS-2542HVとのI/Fをシールドにした。

配線がすっきりした。

(写真撮影後、一箇所配線間違えてるのに気が付いた。orz)

  

  

 

次のステップは、いつものこれ。

カメラのパンチルト制御用サーボの固定方法がイマイチだな。

 

 

カメラのパンチルトをPS3コントローラで制御出来るようにした。

PS3コントローラを使うためにランニングエレクトロニクスさんのSBXBTモジュールを使用している。

動画はこちら。

GR-SAKURAで移動ロボットを作ってみた。(4)

 

  

次は、Bluetoothドングル二個同時使用の実験。うまくいった。

GR-SAKURAのUSB HOSTにBluetoothドングル装着でPCとSPP接続。(hrdakinoriさんのこれを使わせていただいた。)

GR-SAKURAのXBeeソケットにSBXBT装着でPS3コントローラを接続。

  

 

これを使って、ロボットに搭載しているカメラのパンチルト制御を、KinectのFaceTrackingに連動するようにしてみた。

やっていることは、以前やったこれと同じ。

PS3コントローラでロボットを操縦しつつ、顔の向きを変えると搭載カメラがその動きに追従する。

 

動画はこちら。

Kinect SDKのFacetrackingでWebCameraのPan,Tiltの制御をしてみた。(2)

 

 

動画撮影中に机上から転落事故。

ロボットがバラバラになってしまった。(T_T)

幸い両面テープで固定しているだけだから深刻な破損はなし。

 

その3へつづく...


GR-SAKURA+KRS-2542HVで移動ロボットを作ってみた。(その1)

2012年09月19日 | GR-SAKURA

近藤科学のサーボモータ、KRS-2542HVのバルク版を入手。

KRS-2542HVは車輪用の回転モードがあるらしいので遊んでみた。

 

 

まず、KRS-2542HVを動かすために、ICSコマンドの仕様シリアルサーボ制御方法(2)ICS編」を見てみた。

通信フォーマットを見るとチェックサム等がないしモータを動かすだけなら簡単そうだ。

 

KRS-2542HVの単体動作テスト完了。ここを参考にさせてもらった。

PCから C# で作ったテストプログラムで動作するのを確認。

 

いままでシリアルコマンド式のサーボは、Dynamixel AX-12A、フタバのRS304MD、近藤科学のKRS-2542の3つを使ってみた。

単純に位置を制御するだけだったらKRS-2542が一番簡単だった。

サーボモータのI/F回路は、これの回路例Bを参考にさせてもらった。

この回路ではDynamixel AX-12A、フタバのRS304MD、近藤科学のKRS-2542の3種類のサーボが動いた。

  

KRS-2542HVの車輪用回転モード使ってみたいのだが、これに簡単につけられる車輪がなかなか見つからない。

いろいろ探した結果、ちょっと加工すればこの組み合わせでうまくいきそうだ。

・Dynamixel AX-12+用タイヤ 

・近藤科学 ローハイトサーボホーン

このサーボホーンの出っ張りがタイヤの凹みにピッタリ。

ネジ穴が微妙にずれているので、ドリルで開けなおしてやる。

 

 

次はこれをGR-SAKURAボードにつなぐ。

GR-SAKURAでシリアルの偶数パリティ設定はこれで出来るという情報を頂いた。

GR-SAKURAでKRS-2542HVを動かす実験。うまくいった。

  

 

回転モードもうまくいった。さて車輪を作ろうかな。

  

KRS-2542HVの設定内容。

下図のようにIDを変更して、回転モードに設定。

あと、手抜きしてサーボからの応答は見ないので、スレーブにして応答を返さないようにしている。

 

 

近藤科学KRS-2542HVを回転モードで使う車輪が出来た。

  

 

回転モードで動かしてみた動画はこちら。

GR-SAKURAで近藤科学KRS-2542HVを動かす実験。

 

  

回転モードで使う車輪が2個出来た。

ちょうど良い長さのネジが無かったので見栄えは… あと、サーボの固定方法をどうするかが悩ましい。

  

 

車体が出来た。サーボはとりあえず両面テープで固定。

後輪はホームセンターで買ったキャスター。高さがちょうど良い。

  

 

車体全体を仮組してみた。

  

車体が完成したので次はソフトだ。

以前作った”Bluetooth+Wiiリモコン”で操縦できるようにしてみる。

 

GGR-SAKURAのUSB HOSTにUSB Bluetoothドングルを挿し、Wiiリモコンで操縦できるようにした。

(下の方で出てくるSBXBTモジュールを使った方が簡単かもしれない。)

動画はこちら。

GR-SAKURAで移動ロボットを作ってみた。(1)

 

 

今度はWiiリモコンの加速度センサーで動かしてみた。

GR-SAKURAで移動ロボットを作ってみた。(2)

 

 

KMR-M6のカメラ制御用にサーボを取られてしまったロボット。

このままではかわいそうなのでKRS-2542HVを追加発注した。

 

 

今度は、PS3コントローラで操縦できるようにする。

PS3コントローラを使うためにランニングエレクトロニクスさんのPS3コントローラ版SBXBTモジュールを使用することにした。

PS3コントローラ版ファームウェアはまだ開発中ということだったが、購入時にお願いして書き込んでおいて頂いた。

SBXBTモジュールにはWiiリモコン用ファームウェアもあるので、Wiiリモコンを使いたい場合はランニングエレクトロニクスさんに相談してみると良いかもしれない。

 

まず、XBeeエクスプローラUSBに付けて単体動作確認した。

特に問題なくサクッと繋がった。

使用したUSB Bluetoothドングルは、”PLANEX Ver3.0+EDR BT-Micro3E1XZ”。

こんどはGR-SAKURAにつないでみる。

  

 

GR-SAKURA+KRS-2542HVのロボットにPS3コントローラ版SBXBT取り付けた。

サーボを一個KMR-M6に取られてしまったのでまだ動かせない

XBee用のピンソケットが入手できたらGR-SAKURAに直接取り付ける予定。

GR-SAKURA上のXBee用ソケット使いたいのだがピンソケットの入手で悩む。

通販の送料の方がピンソケットより高くついてしまう。

 

 

SBXBTと通信実験をしてみた。SBXBTの通信速度は2400bps。

ぐぬぬ。GR-SAKURAのシリアルポートが2400bpsだと動かないっぽい。

試しに115200bpsで実験にしたらちゃんと動いた。

4800bps以下は設定出来ないバグがあるという情報を頂いた。

  -> 対策方法はこちらのルネサスのユーザーフォーラム。(ユーザ登録してログインしないと見れない?)

 

シリアルポートのバグ対策をして、やっとGR-SAKURAとPS3コントローラ版SBXBTの組み合わせが動いた。

注文していたKRS-2542HVが届いたので、もう一つの車輪も付けなければ…

 

 

車輪取付完了、PS3コントローラで操縦できるようになった。

動画はこちら。 

GR-SAKURAで移動ロボットを作ってみた。(3)

 

 

XBee用ピンソケットを入手したのでGR-SAKURAにハンダ付けして、SBXBTモジュールを載せてみた。

どこも干渉するところは無さそうだ。次は動作確認。

  

 

GR-SAKURA上のXBeeソケットにSBXBTモジュールを載せたバージョンできた。

特にトラブルもなくすんなり動いた。ちょうどいい長さのネジが無かったので見栄えが悪い...

 

 

(その2)へ、つづく...