2018年10月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

カテゴリー

ブログパーツ

無料ブログはココログ

« コーヒーブレイク(ノートパソコンへのROS導入とかね) | トップページ | Packageを作る »

2012年11月19日 (月)

XBee WiFiでRoombaをリモコンしよう

花岡ちゃんのウィークエンド:RoombaのWiFiリモコン

これまで、ウィークエンドの小実験で、Roombaの外部制御やXBee WiFiの使い勝手などをやってきましたが、今回はそのまとめとして、RoombaのWiFiリモコンに挑戦してみたいと思います。
以前に投稿したRoombaの外部制御については、こここここの投稿、Xbee WiFiについてはおなじくこここの投稿をご覧ください。

今回のシステムは図のように家庭用WiFiルーターの無線LANネットワークにRoombaを接続し、同じルーターにつながったパソコンから専用ソフトでリモコンするものです。

Photo

最初にRoomba側を準備します。下の回路図のようにRoombaとXBee WiFiを接続します。Roombaの外部インターフェィスには元々その機能はないのでフロー制御は行っていません。XBeeやZigBeeの通信方式に比べ無線LANは高速なので、この程度の通信量なら特に問題はなさそうです。
電源は3.3V /500mAくらい供給できるモノを用意します。僕は手持ちのDC-DCコンバータとアルカリ単三4本で作りましたが、3端子レギュレータでも大丈夫だと思います。Roombaのロジック系は5Vなので、XBeeの入力は分圧して過大入力にならないようにしています。出力はHレベルで3V弱、一応5V系のスレショルドは越えているのでなにもしていません。

Roombawifi
【後日追加】上記回路図の100uFの電解は220uF以上に変更してください。電源によっては起動しない場合があります。

これをブレットボードに組み立てて、無線ネットワークのSSIDとパスワードを設定したXBee WiFiを搭載します。ボーレートをRoombaのデフォルト、115200bpsに設定するのをお忘れなく。電源を入れると二つのLEDが点灯し、数秒後にAssociateが点滅し始めればルーターへの接続はOKです。

Dscn2362

次はパソコンソフトです。毎度ながらVisual C# 2010で製作しました。TCPで通信するだけの単純なもので、インターフェィス画面はこのようになっています。

Roobawifi_2

使用方法は下記の通りです。

1:RoombaとXBee WiFiの電源を入れる。Associateが点滅するのを確認。

2:パソコンソフトでXBee WiFiのIPアドレスとポート番号(8081がおすすめ)を入力した後、CONNECTボタンをクリック。数秒後青い文字でConnectedと表示されればRoombaとの接続完了。

3:Start + Safeボタンをクリック(Fullよりこちらがおすすめ)

4:FWDで前進、BKDで後退、STOPで停止。RFD・LFDは右・左へのカーブ(回転半径300mm)RT・LTはその場回転。

5:センサーパケットIDを入力してSensorsボタンをクリックすると、対応したセンサーの内容をボックスに表示。

6:終わるときはPassiveクリックするか、Roombaを持ち上げでパッシブ(通常)モードにもどし、Roombaの電源を切る。

ご自宅のRoombaがラジコンカーに早変わりです。VC#2010のプロジェクトファイルを下記に公開します。とても簡単なプログラムなので自分好みに改造するのも面白いでしょう。

「RoombaRemote.zip」をダウンロード

これで、Roombaをリモートブレイン化する準備は整いました。いずれ別カテゴリーでやっているROSベースのシステムで動かしてみたいと思っています。

【後日追加】この仕組みを使ってiPhoneからも動かしてみました。こちらのページです。

« コーヒーブレイク(ノートパソコンへのROS導入とかね) | トップページ | Packageを作る »

花岡ちゃんのウィークエンド」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1140145/47884714

この記事へのトラックバック一覧です: XBee WiFiでRoombaをリモコンしよう:

« コーヒーブレイク(ノートパソコンへのROS導入とかね) | トップページ | Packageを作る »