2014年12月9日火曜日

7.5 Twistメッセージを実機ロボットに送る

Twistメッセージはロボットに移動速度を与えるメッセージであり、頻繁に使用されます。
Terminal画面で以下のように実行すると詳細が表記されます。
$ rosmsg show geometry_msgs/Twist

6つのパラメータの前半3つは並進方向、後半3つは回転方向の速度を指示するように使い、
それぞれ、x軸方向の並進速度、y軸方向の並進速度、z軸方向の並進速度、
x軸回りの回転速度、y軸回りの回転速度、z軸回りの回転速度のように使います。

以前の記事で、シミュレータ上のロボットを動かすために以下のようなコマンドを実行しました。
この時使ったのがTwistメッセージです。
以下のコマンドでは、秒速0.5ラジアンで回転しながら、秒速0.2mの速度で前に進んでいるはずです。
$rostopic pub -r 10 /cmd_vel geometry_msgs/Twist '{linear: {x: 0.2, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0.5}}'

ここでは実機ロボット(Kobuki)に直接、Twistメッセージを送り、Kobukiが移動するのを確認します。

記事に順番が逆になりますが、「7.10.1 キーボートを使った実機ロボットの操縦」を読んで、Kobukiのパッケージやドライバーをインストールしておいてください。


$ roslaunch kobuki_node minimal.launch
Kobukiの制御ノードを立ち上げ、以下のようにTwistメッセージを送ります。

$rostopic pub -r 10 /cmd_vel geometry_msgs/Twist '{linear: {x: 0.2, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0.5}}'
Kobukiを止めたい時は、Ctl+cキーを押して、以下のコマンドを入力してください。
$rostopic pub -1 /cmd_vel geometry_msgs/Twist '{}'

0 件のコメント:

コメントを投稿