シミュレーションを使ってみる
試しにシミュレーション上のTurtlebot2を動かして見ます。
参考にしたサイトはこれです。
にそ民メモ: ROS hydroでTurtlebot2(シュミレータ上で)を動かしてみる 1(インストール&表示編)
http://nisot0710.blogspot.jp/2014/12/ros-hydroturtlebot-1.html
まずはGazeboを起動します。下の画面が出てきます。
roslaunch turtlebot_gazebo turtlebot_world.launch
このままだとTurtlebot2が動かないので、キーボードの矢印ボタンでシミュレーション上のTurtlebot2を動かします。
roslaunch kobuki_keyop keyop.launch
Rvizを使う
Gazeboに加えてRvizも一緒に使ってみます。
参考にしたサイト
turtlebot_simulator/Tutorials/hydro/Explore the Gazebo world - ROS Wiki
http://wiki.ros.org/turtlebot_simulator/Tutorials/hydro/Explore%20the%20Gazebo%20world
Rvizもシミュレーションソフトですが、ロボットの状態を可視化するためのビューワーとして使えます。
また、RvizはGazeboと一緒に使うことができますし、実機を動かしている時に一緒に起動してビューワーとしても使えます。
今回はTurtlebot2にはKinectが付いているのでその画像をRvizに表示させて、Turtlebot2からはどのように見えているのかを確認します。
上のGazeboが起動している状態で下のコマンドでRvizを起動します。
roslaunch turtlebot_rviz_launchers view_robot.launch
次にKinectの画像を表示させてみます。
左下の"add"から"PointCloud2"を選んで追加します。
操作後、左の欄に"PointCloud2"が追加されました。
"PointCloud2"をダブルクリックすると設定できるようになるので、そこのtopicのところを
/camera/depth/points
に設定します。
そうすると、現在のシミュレーションの状態のKinectの画像が表示されました。
きちんとGazebo上のシミュレーション環境が反映されています。
加えて、上のkeyop.launchでTurtlebot2を動かしてみてもきちんと画像が反映されています。
Interactive MarkersでグラフィカルにTurtlebot2を動かす
kobuki_keyopを利用してキーボードでTurtlebot2を動かすこともできますが、
Interactive Markersで動かすこともできます。
turtlebot_interactive_markers/Tutorials/hydro/UsingTurtlebotInteractiveMarkers - ROS Wiki
http://wiki.ros.org/turtlebot_interactive_markers/Tutorials/hydro/UsingTurtlebotInteractiveMarkers
Gazebo, Rvizを起動したままでturtlebot_interactive_markersを追加で起動します。
roslaunch turtlebot_interactive_markers interactive_markers.launch
Rvizの左の欄のInteractiveMarkersにチェックを入れます。
その後に上のInteractを押すとTurtlebot2周辺に矢印が表示されます。
これを動かすことでTurtlebot2が動きます。
Mapをつくってみる
次はMapを作ってみます。
turtlebot_simulator/Tutorials/hydro/Make a map and navigate with it - ROS Wiki
http://wiki.ros.org/turtlebot_simulator/Tutorials/hydro/Make%20a%20map%20and%20navigate%20with%20it
Turtlebot関係のノードが起動していない状態で、
roslaunch turtlebot_gazebo turtlebot_world.launch
別の端末で、
roslaunch turtlebot_gazebo gmapping_demo.launch
また別の端末で、Rvizを起動します。
roslaunch turtlebot_rviz_launchers view_navigation.launch
Rvizが起動して、現在のKinectからの情報が表示されています。
では、kobuki_keyopをつかってTurtlebot2を動かしましょう。
動かすと、kinectからの情報がRvizに表示されていきます。