シミュレーション

TurtleBot3は、シミュレーションで仮想ロボットを使用してプログラムおよび開発できる開発環境をサポートします。
これを行うには2つの開発環境があります。1つは偽ノードと3D視覚化ツールRVizを使用し、もう1つは3DロボットシミュレーターGazeboを使用します。
フェイクノードメソッドは、ロボットモデルと動きのテストに適していますが、センサーを使用することはできません。
SLAMとナビゲーションをテストする必要がある場合は、シミュレーションでIMU、LDS、カメラなどのセンサーを使用できるGazeboの使用をお勧めします。

【 Fake Nodeを使用したTurtleBot3シミュレーション 】
turtlebot3_fake_node には、turtlebot3_simulation メタパッケージが必要です。次のコマンドのようにパッケージをインストールします。
turtlebot3_simulation メタパッケージには、前提条件として turtlebot3 メタパッケージと turtlebot3_msgs パッケージが必要です。
【リモートPC】
 $ cd ~/catkin_ws/src/
 $ git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
 $ cd ~/catkin_ws && catkin_make

仮想ロボットを起動するには、以下に示すようにパッケージ「turtlebot3_fake.launch」内のファイルを実行します。
「turtlebot3_fake」は、実際のロボットを持たずに実行することができ、非常に簡単なシミュレーションノードです。
遠隔操作ノードを使用して、RViz の 仮想 TurtleBot3 を制御することもできます

【リモートPC】
 $ export TURTLEBOT3_MODEL=${TB3_MODEL}  <これはすでに ~/.bashrc に宣言済み:burger>
 $ roslaunch turtlebot3_fake turtlebot3_fake.launch
【リモートPC】
 $ export TURTLEBOT3_MODEL=${TB3_MODEL}  <これはすでに ~/.bashrc に宣言済み:burger>
 $ roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

今回は、PC内での シミレーションなので、
 リモートPC:$ roscore
 リモートPC:$ ssh jun@192.168.1.100
 TURTLEBOT:$ roslaunch turtlebot3_bringup turtlebot3_robot.launch <実際はリモートPCよりSSH通信操作>
等は必要ありません。


キーボード操作で、Rviz 内の TURTLEBOT3 が動きます。


【 GazeboのROSパッケージ 】
<さまざまな世界でシミュレート>
<空の世界>
次のコマンドを使用して、gazeboの「empty world」デフォルト環境で仮想 TurtleBot3 をテストできます。
最初のコマンドでは、少しGAZEBOが表示されるまで時間がかかります。<1分程度>

 $ export TURTLEBOT3_MODEL=${TB3_MODEL}  <すでに ~/.bashrc で宣言済みの為、不要>
 $ roslaunch turtlebot3_gazebo turtlebot3_empty_world.launch



< TurtleBot3 World >
TurtleBot3 worldは、TurtleBot3シンボルの形状を構成する単純なオブジェクトで構成されるマップです。
TurtleBot3の世界は、主にSLAMやナビゲーションなどのテストに使用されます。

 $ export TURTLEBOT3_MODEL=${TB3_MODEL}     <すでに ~/.bashrc で宣言済みの為、不要>
 $ roslaunch turtlebot3_gazebo turtlebot3_world.launch


今回は、具体的にSLAMやナビゲーションなどのテストには使用しませんでした。
あくまで機能確認にとどめています。いずれ理解が深まった時点で上記の活用を考えてみます。まずは基本性能は成功でした。


【 TurtleBot3 House 】
TurtleBot3 House 家の図面で作られた地図です。より複雑なタスクのパフォーマンスに関連するテストに適しています。

 $ export TURTLEBOT3_MODEL=${TB3_MODEL}     <すでに ~/.bashrc で宣言済みの為、不要>
 $ roslaunch turtlebot3_gazebo turtlebot3_house.launch

図面が表示されるのに、かなり時間がかかるので、しばらく待ってください。(場合によっては数分かかります。)