Newer
Older
[![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)
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公式ドキュメントを参照のこと.
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:=</path/to/bagfile>`
7. (rosbag play が終了したら別ターミナルで) 2D マップをファイルに保存
$ `rosrun map_server map_saver -f <map_filename>`
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` 内にある.