2023年4月
            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            

カテゴリー

ブログパーツ

無料ブログはココログ

« ロボット開発プラットフォームについて | トップページ | RoombaをVisual C#で制御する(その2) »

2012年10月 8日 (月)

RoombaをVisual C#で制御する(その1)

花岡ちゃんのウィークエンド:ルンバを試す

今回のウィークエンドは、おなじみのお掃除ロボットRoombaをパソコンにシリアル接続し、C#で動かしてみます。


Roomba500シリーズ以降は、本体上部の化粧パネルの下に7pinのminiDINソケットがあり、ここからシリアル通信でコマンドを送ることでモーターを動かしたり、センサを読み取ったりすることが出来ます。まずはこのパネルを外します。

化粧パネルは主に4箇所の爪で止まっています。後部にさらに2つ小さなフックがありますが、爪を全部外すと自然に外れます。4つの爪は最初の写真の付箋を貼った位置にあり、小さなマイナスドライバーを化粧パネルと本体の隙間に入れ、こじりながら化粧パネルを持ち上げると、比較的容易にパネルを外すことが出来ます。

Dscn2340  Dscn2339

Dscn2334  Dscn2343

7pinのminiDINですが、意外と入手困難です。ぶらりと秋葉に立ち寄ったついでにガード下で探したのですが、なかなか見つかりません。昔はこんなものどこにでもあったのですが、さすが21世紀、こういうアナログな部品は見つけにくいようです。結局、マルツで発見しました。結構いいお値段です。
ハウジングがかなり大きいのでピン部分だけを使います。こんな感じです。

Dscn2333

シリアル通信の結線はこのようにします。MAX232の電源電圧が電池4本だとちょっと高めですが、これくらいなら問題ありません。

Rmbif_2

PDF版はこちらから。
「rommbaif.pdf」をダウンロード


Roombaのシリアルは5Vのロジックレベルなのでパソコンのシリアルポートに接続するには、このようにレベル変換が必要です。また、シリアルケーブルは普通のヘッドホンなどに使う2芯シールド線を使い、GND,TXD,RXDの3本だけを接続します。柔らかいし、ダイソーで売っている「ヘッドホン延長ケーブル」で簡単に延長できるので、移動ロボットの実験には最適です。ノイズの心配をする向きもありますが、普通の家庭の環境では115Kで通信しても何ら問題ありません。写真のものはネットタンサーの付属品ですが、自作も簡単です。

Dscn2328  Dscn2345

コマンド体系などについては、英文ですがこのドキュメント"iRobot Roomba 500 Open Interface(OI)Specification"があります。内容はそれほど難しくないので、試してみたい方はダウンロードしておくことをお勧めします。


続きは次の投稿にて。

« ロボット開発プラットフォームについて | トップページ | RoombaをVisual C#で制御する(その2) »

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

コメント

コメントを書く

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

トラックバック


この記事へのトラックバック一覧です: RoombaをVisual C#で制御する(その1):

« ロボット開発プラットフォームについて | トップページ | RoombaをVisual C#で制御する(その2) »