# 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 環境の構築後以下を実行 ```shell $ 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 $ sh install_packages.sh # masterブランチのinstall_packagesは不足がある。以下を追加でインストール(dockerブランチ参照) $ sudo apt install ros-melodic-xacro ros-melodic-rviz ros-melodic-robot-state-publisher rosbash $ 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_keyboard.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` 内にある.