ルンバで作成した環境空間(Gazebo World)でシミュレーションしてみました
前回まではルンバでSLAMを行い環境地図を作成し、その環境地図からGazebo Worldを作成しました。
今回は作成したGazebo Worldの上でシミュレーションしてみます。
ルンバのROSパッケージは以下のものを使用しています。
作成したworldモデルでgmapping-SLAMを行う
1.map2worldで生成されたWorldモデルをgazebo環境にコピーする。
cp -p ~/catkin_ws/src/map2gazebo/worlds/map.sdf ~/catkin_ws/src/create_autonomy/ca_gazebo/worlds/map.world
cp -rp ~/catkin_ws/src/map2gazebo/models/map ~/catkin_ws/src/create_gazebo_models/models/
2.launchファイルを作成する。
cd ~/catkin_ws/src/create_autonomy/ca_gazebo/launch
vi create_otafab1.launch
<launch>
<include file="$(find ca_gazebo)/launch/create_empty_world.launch">
<arg name="env" value="map"/>
<arg name="pose1_x" value="2"/>
<arg name="pose1_y" value="2"/>
<arg name="pose1_Y" value="0"/>
<arg name="pose2_x" value="1"/>
<arg name="pose2_y" value="1"/>
<arg name="pose2_Y" value="0"/>
</include>
</launch>
3.SLAMモードでgazeboを起動する。
export LOCALIZATION=slam
export RVIZ=true
export NUM_ROBOTS=1
export LASER=rplidar
roslaunch ca_gazebo create_otafab1.launch
これで取り込んだWorldモデルでSLAMができる状態になります。
SLAM実行中のrqt_graphです。
作成したworldモデルでNavigation(自律走行)を行う
1. Navigationを行う場合は以下のディレクトリにmap.pgm、map.yamlをコピーします。
~/catkin_ws/src/create_autonomy/navigaton/ca_move_base/maps/
2. Navigationモードでgazeboを起動します。
export LOCALIZATION=amcl
export RVIZ=true
export LASER=rplidar
roslaunch ca_gazebo create_otafab1.launch
Navigationの様子
Navigationを行っている様子をYouTubeにアップしておきました。
Navigation実行中のrqt_graphです。
次はルンバ実機で試してみます。