前回見せたビデオでは内部的には
ルンバへの指令は
速度と回転半径で与えていました。
ROSは全方位移動台車を持つPR2のために、速度をTwistというメッセージ(geometry_msgsパッケージ)で与えるようになっていますので、
ルンバもこのインタフェースで動かせるようにしたいです。
そもそもなぜ、速度と回転半径にしたかというと、
Roombaは基本的に速度を
速度と回転半径
で与えるようになっています(DRIVEコマンド)。
なのでシンプルにそのまま使いました。
しかし、実はもう一つ操作方法があって、
左車輪速度と右車輪速度
というインタフェースのコマンド(DIRECT DRIVEコマンド)もあります。
今回は直接的にうごかすDIRECT DRIVEコマンドを利用して、
Twistメッセージを受け取ることができるようにしました。
といっても、
Twist.linear.xとTwist.angular.zしか使っていないですし、
うーん、挙動がちょっと間違っていますね。
今後自律移動プログラムを作っていくことになるので、
そっちが見通しついてからまた考えます。
0 件のコメント:
コメントを投稿