# gazebo_RoIS_tanacchi [![build status](https://inohira.mns.kyutech.ac.jp/git/tanacchi/gazebo_RoIS_tanacchi/badges/master/build.svg)](https://inohira.mns.kyutech.ac.jp/git/tanacchi/gazebo_RoIS_tanacchi/commits/master) Gazebo (meta) package for RoIS ## 導入方法 $ ROS 環境の構築 $ `mkdir gazebo_RoIS_ws` $ `cd gazebo_RoIS_ws` $ `git clone https://inohira.mns.kyutech.ac.jp/git/tanacchi/gazebo_RoIS_tanacchi.git src` $ `cd src` $ `catkin_init_workspace` $ `cd -` $ `catkin_make` $ `echo "source ${PWD}/devel/setup.bash" >> ~/.bashrc` # 必要ならば ## ディレクトリ構成 ```txt gazebo_RoIS_tanacchi // 当該パッケージ ├── rois_2dnav_gazebo // 2Dナビゲーション用の設定および launch ファイル ├── rois_bringup // 統括的 launch ファイル ├── rois_description // robot, world のモデル ├── rois_gazebo // Gazeboの設定および launch ファイル └── route_guidance_ros // RoIS コンポーネント,エンジン,サービス,テスト用のファイル ``` ## 動作例 ### Gazebo の起動,キーボードによる操作 1. teleop_twist_keyboard を起動. 操作方法は標準出力もしくはROS公式ドキュメントを参照のこと. $ `roslaunch rois_gazebo teleop_keybaord.launch` 2. 別のターミナルで,Gazebo を起動 $ `roslaunch rois_gazebo setup_gazebo.launch` ### GMapping による地図生成 1. 上の「Gazebo の起動,キーボードによる操作」に沿ってGazebo, teleop_twist_keyboard を起動する 2. 別のターミナルで,rosbag の収録を開始 $ `rosbag record -O hoge --all`(`-O` の直後は生成されるファイルの名前) 3. Gazebo 上のロボットを気の済むまで走らせる 4. rosbag をキルする 5. Gazebo, teleop_twist_keyboard をキルする 6. bag ファイルをもとに 2D マップを生成する $ `roslaunch rois_2dnav_gazebo generate_2dmap.launch bagfile:=` 7. (rosbag play が終了したら別ターミナルで) 2D マップをファイルに保存 $ `rosrun map_server map_saver -f ` ### ナビゲーションの起動 1. $ `roslaunch rois_bringup navigation.launch` 末尾に `use_multi_robot:=false` を付けるとロボットの台数が1台になる ### 道案内などのRoISサービスの起動 1. Navigationの起動 `roslaunch rois_bringup navigation.launch` 2. 別ターミナルで `python3 test_main_engine_with_service.py` を実行. このファイルは `src/route_guidance_ros/script` 内にある.