Turtlebot2/Tutorial_Simulation

Last-modified: 2015-07-26 (日) 18:39:28

シミュレーションを使ってみる

試しにシミュレーション上のTurtlebot2を動かして見ます。

参考にしたサイトはこれです。
にそ民メモ: ROS hydroでTurtlebot2(シュミレータ上で)を動かしてみる 1(インストール&表示編)
http://nisot0710.blogspot.jp/2014/12/ros-hydroturtlebot-1.html

まずはGazeboを起動します。下の画面が出てきます。

roslaunch turtlebot_gazebo turtlebot_world.launch

gazebo_0.jpg

このままだと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

rviz.jpg

次にKinectの画像を表示させてみます。
左下の"add"から"PointCloud2"を選んで追加します。
操作後、左の欄に"PointCloud2"が追加されました。
"PointCloud2"をダブルクリックすると設定できるようになるので、そこのtopicのところを
/camera/depth/points
に設定します。
そうすると、現在のシミュレーションの状態のKinectの画像が表示されました。

rviz_kinect_img.jpg

きちんと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が動きます。
turtlebot2_rviz_interactive_markers.jpg

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に表示されていきます。
 50%