ルンバで地図をつくってみました その4(Gazebo worldを作る)

Roomba

前回ルンバで作成した地図からシミュレータGazeboで使うWorldを作成してみました。

今回は shilohc/map2gazebo使っています。

元となるSLAMで作成した地図はこちらです。

Roomba_slam_2022-03-06_15-01-35.png

map2gazeboのインストール

map2gazeboのREADME.mdにしたがってインストールします。

1. 必要なpythonパッケージをインストールする。

pip install --user trimesh
pip install --user numpy

2. catkin_wsにcloneする。

cd ~/catkin_ws/src
git clone https://github.com/shilohc/map2gazebo.git

3. ビルドする。

catkin build map2gazebo
source ~/.bashrc

Gazebo worldの作成

1. roscoreを動かします。

roscore

2. 先日取得した2D MAPをmap_serverで配信します。

rosrun map_server map_server my_map3.yaml

3. map2gazeboを実行します。

roslaunch map2gazebo map2gazebo.launch

4. 処理が終了すると Exported STL. You can shut down this node now と表示されますので、指示通りにctrl-cで終了します。

5. 生成したWorldをGazeboで表示します。

roslaunch map2gazebo gazebo_world.launch

以下のようにWorldが表示されれば成功です。

map2world_otafab1.png

これで実際の地図をもとにしてGazeboである程度のシミュレーションができそうです。

map2world_otafab1_rviz_slam.png

もう少しmapの精度を良くしてworldを作成してみます。

タイトルとURLをコピーしました