2010年4月15日木曜日

Roombaのインタフェースを変える

前回見せたビデオでは内部的には
ルンバへの指令は
速度と回転半径で与えていました。

ROSは全方位移動台車を持つPR2のために、速度をTwistというメッセージ(geometry_msgsパッケージ)で与えるようになっていますので、
ルンバもこのインタフェースで動かせるようにしたいです。


そもそもなぜ、速度と回転半径にしたかというと、
Roombaは基本的に速度を

速度と回転半径

で与えるようになっています(DRIVEコマンド)。
なのでシンプルにそのまま使いました。


しかし、実はもう一つ操作方法があって、

左車輪速度と右車輪速度

というインタフェースのコマンド(DIRECT DRIVEコマンド)もあります。

今回は直接的にうごかすDIRECT DRIVEコマンドを利用して、
Twistメッセージを受け取ることができるようにしました。
といっても、
Twist.linear.xとTwist.angular.zしか使っていないですし、
うーん、挙動がちょっと間違っていますね。

今後自律移動プログラムを作っていくことになるので、
そっちが見通しついてからまた考えます。

0 件のコメント:

コメントを投稿