2014年11月21日金曜日

6.2 Arbotixシミュレータのテスト

いよいよシミュレータでロボットを動かします。
ROS by ExampleのサンプルはTurtlebotです。

一つ目のTerminalを開いて、roscore を実行します。この本では、 各章のサンプルでコマンドをコピペすれば動くのですが、roscoreを実行しなければいけないことを説明していないので注意して下さい。

(注意)Terminalを開いたら、以下のコマンドを忘れないで下さい。
ターミナルウィンドウは Ctrl+Alt+t キーで開きます。

$ cd ~/catkin_ws
$ source devel/setup.bash
 一つ目のTerminalで
$ roscore
二つ目のTerminalで
$roslaunch rbx1_bringup fake_turtlebot.launch
もし別のロボット(Pi Robot)で実行したいなら、二つ目のTerminalで
$roslaunch rbx1_bringup fake_pi_robot.launch
可視化ツールのrvizで表示します
$rosrun rviz rviz -d `rospack find rbx1_nav`/sim.rviz

ここまでで、Arbotixシミュレータが起動し、指定したロボットが rvizで表示されていると思います。
次に、シミュレータ上のロボットを動かします。
三つ目のTerminalで以下のコマンドを入力して下さい。
$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}}'
少し長いコマンドですが、スペースの部分でタブキーを押すと以下の候補が表示されるので、入力が楽になります。


ロボットを止めるには以下のコマンドを入力します。
$rostopic pub -1 /cmd_vel geometry_msgs/Twist '{}'
ここでロボットを動かした rostopic コマンドは、指定したトピックにメッセージをパブリッシュするコマンドで頻繁に使うコマンドです。
詳しくは、後ほど説明しようと思います。

ここでは、「/cmd_vel  というトピックに geometry_msgs/Twist  という型のメッセージを送るとロボットが動く」、と覚えておいてください。


0 件のコメント:

コメントを投稿