diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index ced77ada..d49c366e 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -1,11 +1,17 @@
name: build
-on: [push, pull_request]
-jobs:
+on:
+ pull_request:
+ push:
+ branches: [ main ]
- ros2:
- runs-on: ubuntu-20.04
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ docker_image: ['ros:humble-ros-base']
container:
- image: docker://ros:galactic-ros-base-focal
+ image: ${{ matrix.docker_image }}
steps:
- name: non-ros-deps
run: |
@@ -15,9 +21,9 @@ jobs:
wget https://packages.osrfoundation.org/gazebo.key -O - | apt-key add -
sudo apt update && sudo apt install \
git cmake python3-vcstool curl \
- qt5-default \
+ clang clang-tools lld \
python3-shapely python3-yaml python3-requests \
- ignition-edifice python3-pip -y
+ python3-pip -y
pip3 install flask-socketio fastapi uvicorn
- name: create-ws
run: |
@@ -34,13 +40,16 @@ jobs:
- name: ros-deps
run: |
export DEBIAN_FRONTEND=noninteractive
+ colcon mixin add default https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml
+ colcon mixin update default
cd rmf_demos_ws
rosdep update
- rosdep install --from-paths src --ignore-src --rosdistro galactic -yr
+ rosdep install --from-paths src --ignore-src --rosdistro humble -yr
- name: build
shell: bash
run: |
cd rmf_demos_ws
- source /opt/ros/galactic/setup.bash
- colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release -DNO_DOWNLOAD_MODELS=True
-
\ No newline at end of file
+ source /opt/ros/humble/setup.bash
+ export CXX=clang++
+ export CX=clang
+ colcon build --mixin lld --cmake-args -DNO_DOWNLOAD_MODELS=True
diff --git a/.github/workflows/style.yml b/.github/workflows/style.yml
index 3c28d72f..f91e9ddb 100644
--- a/.github/workflows/style.yml
+++ b/.github/workflows/style.yml
@@ -1,10 +1,16 @@
name: style
-on: [push, pull_request]
+on:
+ pull_request:
+ push:
+ branches: [ main ]
jobs:
- build:
- runs-on: ubuntu-20.04
+ linter:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ docker_image: ['ros:humble-ros-base']
container:
- image: docker://ros:galactic-ros-base-focal
+ image: ${{ matrix.docker_image }}
steps:
- uses: actions/checkout@v2
- name: deps
diff --git a/README.md b/README.md
index 381d576a..45d7f233 100644
--- a/README.md
+++ b/README.md
@@ -40,7 +40,7 @@ Full web application of Open-RMF: [rmf-web](https://github.com/open-rmf/rmf-web)
In order to interact with the default configuration of the web application, the `server_uri` launch parameter will need to be changed to `ws://localhost:8000/_internal`, for example,
```bash
-ros2 launch rmf_demos_ign office.launch.xml server_uri:="ws://localhost:8000/_internal"
+ros2 launch rmf_demos_gz office.launch.xml server_uri:="ws://localhost:8000/_internal"
```
By specifying `server_uri`, the fleetadapter will update `rmf-web` `api-server` with the latest task and robot states. User can then monitor on-going states and initiate rmf task with an interactive web dashboard.
@@ -55,9 +55,9 @@ By specifying `server_uri`, the fleetadapter will update `rmf-web` `api-server`
* [Manufacturing & Logistics World](#Manufacturing-&-Logistics-World)
> Note: When running the demos on Ubuntu 18.04 (not officially supported), you are required to explicitly supply gazebo_version launch argument. Eg:
-ros2 launch rmf_demos_gz office.launch.xml gazebo_version:=9
+ros2 launch rmf_demos_gz_classic office.launch.xml gazebo_version:=9
-> To run the demos using Ignition instead of Gazebo, change the commands from `ros2 launch rmf_demos_gz [...]` to `ros2 launch rmf_demos_ign [...]`
+> To run the demos using Ignition instead of Gazebo, change the commands from `ros2 launch rmf_demos_gz_classic [...]` to `ros2 launch rmf_demos_gz [...]`
**RMF Panel**

@@ -77,7 +77,7 @@ There are two main modes of submitting tasks to Open-RMF via the Panel:
`task_state_uptates` are now published via websocket. To display task states on `rmf-panel`, specify `server_uri:="ws://localhost:7878"` during ros2 launch. Example:
```
-ros2 launch rmf_demos_gz office.launch.xml server_uri:="ws://localhost:7878"
+ros2 launch rmf_demos_gz_classic office.launch.xml server_uri:="ws://localhost:7878"
```
This will let Open-RMF (websocket clients) to publish their states to port `7878`. In this case, rmf-panel's `api_simple_server` is the websocket server.
@@ -97,10 +97,10 @@ To launch the world and the schedule visualizer,
```bash
source ~/rmf_ws/install/setup.bash
-ros2 launch rmf_demos_gz hotel.launch.xml
+ros2 launch rmf_demos_gz_classic hotel.launch.xml
# Or, run with ignition simulator
-ros2 launch rmf_demos_ign hotel.launch.xml
+ros2 launch rmf_demos_gz hotel.launch.xml
```
Here, we will showcase 2 types of Tasks: **Loop** and **Clean**
@@ -131,10 +131,10 @@ An indoor office environment for robots to navigate around. It includes a bevera
```bash
source ~/rmf_demos_ws/install/setup.bash
-ros2 launch rmf_demos_gz office.launch.xml
+ros2 launch rmf_demos_gz_classic office.launch.xml
# Or, run with ignition simulator
-ros2 launch rmf_demos_ign office.launch.xml
+ros2 launch rmf_demos_gz office.launch.xml
```
Now we will showcase 2 types of Tasks: **Delivery** and **Loop**
@@ -172,7 +172,7 @@ In the airport world, we introduce a new task type to rmf: `Clean`. To launch th
```bash
source ~/rmf_ws/install/setup.bash
-ros2 launch rmf_demos_gz airport_terminal.launch.xml
+ros2 launch rmf_demos_gz_classic airport_terminal.launch.xml
```
Open [RMF Panel](https://open-rmf.github.io/rmf-panel-js/). Load the [airport_terminal_tasks.json](https://github.com/open-rmf/rmf_demos/blob/main/rmf_demos_panel/task_lists/airport_terminal_tasks.json) list and click submit to begin a collection of loop, delivery and cleaning tasks.
@@ -186,7 +186,7 @@ ros2 run rmf_demos_tasks dispatch_clean -cs zone_3 --use_sim_time
To see crowd simulation in action, enable crowd sim by:
```bash
-ros2 launch rmf_demos_gz airport_terminal.launch.xml use_crowdsim:=1
+ros2 launch rmf_demos_gz_classic airport_terminal.launch.xml use_crowdsim:=1
```
Non-autonomous vehicles can also be integrated with Open-RMF provided their positions can be localized in the world. This may be of value at facilities where space is shared by autonomous robots as well as manually operated vehicles such as forklifts or transporters. In this demo, we can introduce a vehicle (caddy) which can be driven around through keyboard/joystick teleop. In Open-RMF nomenclature, this vehicle is classified as a `read_only` type, ie, Open-RMF can only infer its position in the world but does not have control over its motion. Here, the goal is to have other controllable robots avoid this vehicle's path by replanning their routes if needed. The model is fitted with a plugin which generates a prediction of the vehicle's path based on its current heading. It is configured to occupy the same lanes as the `tinyRobot` robots. Here, a `read_only_fleet_adapter` submits the prediction from the plugin to the Open-RMF schedule.
@@ -199,7 +199,7 @@ Run `teleop_twist_keyboard` to control the `caddy` with your keyboard:
ros2 run teleop_twist_keyboard teleop_twist_keyboard
# if launched with the Ignition simulator
-ros2 launch rmf_demos_ign airport_terminal_caddy.launch.xml
+ros2 launch rmf_demos_gz airport_terminal_caddy.launch.xml
```

@@ -219,7 +219,7 @@ To launch the world and the schedule visualizer,
```bash
source ~/rmf_ws/install/setup.bash
-ros2 launch rmf_demos_gz clinic.launch.xml
+ros2 launch rmf_demos_gz_classic clinic.launch.xml
```
Open [RMF Panel](https://open-rmf.github.io/rmf-panel-js/). Load the [clinic_tasks.json](https://github.com/open-rmf/rmf_demos/blob/main/rmf_demos_panel/task_lists/clinic_tasks.json) list and click submit to begin a collection of loop and delivery tasks.
@@ -251,7 +251,7 @@ To launch the world and the schedule visualizer,
```bash
source ~/rmf_ws/install/setup.bash
-ros2 launch rmf_demos_ign campus.launch.xml
+ros2 launch rmf_demos_gz campus.launch.xml
ros2 run rmf_demos_tasks dispatch_patrol -p room_5 campus_4 -n 10 --use_sim_time
ros2 run rmf_demos_tasks dispatch_patrol -p campus_5 room_3 -n 10 --use_sim_time
@@ -296,20 +296,20 @@ Open-RMF can also manage fleets whose API or fleet managers only offer pause and
#### Triple-H scenario:
```bash
-$ ros2 launch rmf_demos_gz triple_H.launch.xml
+$ ros2 launch rmf_demos_gz_classic triple_H.launch.xml
(new terminal) $ ros2 launch rmf_demos the_pedigree.launch.xml
```
#### Battle Royale Scenario:
```bash
-$ ros2 launch rmf_demos_gz battle_royale.launch.xml
+$ ros2 launch rmf_demos_gz_classic battle_royale.launch.xml
(new terminal) $ ros2 launch rmf_demos battle_go.launch.xml
```
#### Office Scenario:
Note that `tinyRobot1` is a standard "full control" robot, while `tinyRobot2` "traffic light" robot.
```bash
-$ ros2 launch rmf_demos_gz office_mock_traffic_light.launch.xml
+$ ros2 launch rmf_demos_gz_classic office_mock_traffic_light.launch.xml
(new terminal) $ ros2 launch rmf_demos office_traffic_light_test.launch.xml
```
@@ -322,7 +322,7 @@ $ ros2 launch rmf_demos_gz office_mock_traffic_light.launch.xml
- Command lines:
```bash
# run hotel world with lift_watch_dog enabled
- ros2 launch rmf_demos_gz hotel.launch.xml enable_experimental_lift_watchdog:=1
+ ros2 launch rmf_demos_gz_classic hotel.launch.xml enable_experimental_lift_watchdog:=1
## On a separate terminal, set lift as crowded
ros2 launch rmf_demos experimental_crowded_lift.launch.xml
diff --git a/docs/secure_office_world.md b/docs/secure_office_world.md
index 52efc2d9..086bae2f 100644
--- a/docs/secure_office_world.md
+++ b/docs/secure_office_world.md
@@ -77,7 +77,7 @@ Gazebo needs the environment variables to locate files, and set up communication
```bash
echo 'export GAZEBO_MODEL_PATH=~/rmf_demos_ws/install/rmf_demos_maps/share/rmf_demos_maps/maps/office/models:~/rmf_demos_ws/install/rmf_demos_assets/share/rmf_demos_assets/models:/usr/share/gazebo-11/models
export GAZEBO_RESOURCE_PATH=~/rmf_demos_ws/install/rmf_demos_assets/share/rmf_demos_assets:/usr/share/gazebo-11
-export GAZEBO_PLUGIN_PATH=~/rmf_demos_ws/install/rmf_robot_sim_gazebo_plugins/lib:~/rmf_demos_ws/install/building_gazebo_plugins/lib/
+export GAZEBO_PLUGIN_PATH=~/rmf_demos_ws/install/rmf_robot_sim_gz_classic_plugins/lib:~/rmf_demos_ws/install/building_gazebo_plugins/lib/
export GAZEBO_MODEL_DATABASE_URI=""' > gazebo_environment.sh
```
diff --git a/rmf_demos/sros2/office_deploy.bash b/rmf_demos/sros2/office_deploy.bash
index a96ae65b..f120b1ca 100644
--- a/rmf_demos/sros2/office_deploy.bash
+++ b/rmf_demos/sros2/office_deploy.bash
@@ -84,7 +84,7 @@ sleep 2
echo "export GAZEBO_MODEL_PATH=$WORKSPACE/install/rmf_demos_maps/share/rmf_demos_maps/maps/office/models:$WORKSPACE/install/rmf_demos_assets/share/rmf_demos_assets/models:/usr/share/gazebo-11/models
export GAZEBO_RESOURCE_PATH=$WORKSPACE/install/rmf_demos_assets/share/rmf_demos_assets:/usr/share/gazebo-11
-export GAZEBO_PLUGIN_PATH=$WORKSPACE/install/rmf_robot_sim_gazebo_plugins/lib:$WORKSPACE/install/rmf_building_sim_gazebo_plugins/lib/
+export GAZEBO_PLUGIN_PATH=$WORKSPACE/install/rmf_robot_sim_gz_classic_plugins/lib:$WORKSPACE/install/rmf_building_sim_gz_classic_plugins/lib/
export GAZEBO_MODEL_DATABASE_URI=\"\"" > $WORKSPACE/gazebo_environment.bash
tmux send-keys -t 8 "source $WORKSPACE/sros2_environment.bash" Enter
diff --git a/rmf_demos_fleet_adapter/README.md b/rmf_demos_fleet_adapter/README.md
index 88d9decf..43946757 100644
--- a/rmf_demos_fleet_adapter/README.md
+++ b/rmf_demos_fleet_adapter/README.md
@@ -1,9 +1,9 @@
# rmf_demos_fleet_adapter
-This is an implementation of the python based [fleet adapter template](https://github.com/open-rmf/fleet_adapter_template) on selected RMF demo worlds: Hotel, Office, Airport Terminal and Clinic.
+This is an implementation of the python based [fleet adapter template](https://github.com/open-rmf/fleet_adapter_template) on selected RMF demo worlds: Hotel, Office, Airport Terminal and Clinic.
This fleet adapter integration relies on a fleet manager and a fleet adapter:
-- The **fleet manager** comprises of specific endpoints that help relay commands to the fleet's robots. It communicates with the robots over internal ROS 2 messages, while interfacing with the adapter via an API chosen by the user. For this demo fleet adapter implementation, we are using REST API with FastAPI framework.
+- The **fleet manager** comprises of specific endpoints that help relay commands to the fleet's robots. It communicates with the robots over internal ROS 2 messages, while interfacing with the adapter via an API chosen by the user. For this demo fleet adapter implementation, we are using REST API with FastAPI framework.
- The **fleet adapter** receives commands from RMF and interfaces with the fleet manager to receive robot state information, as well as send task and navigation commands to the robots
## Getting Started
@@ -21,7 +21,7 @@ You can interact with the endpoints with FastAPI's automatic documentation. Firs
Launch the Office world:
```bash
source ~/rmf_ws/install/setup.bash
-ros2 launch rmf_demos_gz office.launch.xml
+ros2 launch rmf_demos_gz_classic office.launch.xml
```
Then, visit http://127.0.0.1:22011/docs in your browser to interact with the endpoints.
diff --git a/rmf_demos_gz/CHANGELOG.md b/rmf_demos_gz/CHANGELOG.md
index ac5b0592..38261107 100644
--- a/rmf_demos_gz/CHANGELOG.md
+++ b/rmf_demos_gz/CHANGELOG.md
@@ -1,5 +1,9 @@
## Changelog for package rmf_demos_gz
+2.0.0 (2022-XX-XX)
+------------------
+* Renamed to rmf_demos_gz
+
1.3.1 (2021-11-30)
------------------
* Added `diff_drive` plugin dependencies for caddy (#111)
@@ -7,5 +11,4 @@
1.3.0 (2021-09-08)
------------------
-* Provides launch files for running various demonstrations in gazebo
-
+* Provides launch files for running various demonstrations in ignition-gazebo
diff --git a/rmf_demos_gz/QUALITY_DECLARATION.md b/rmf_demos_gz/QUALITY_DECLARATION.md
index 38d11ed5..891055d0 100644
--- a/rmf_demos_gz/QUALITY_DECLARATION.md
+++ b/rmf_demos_gz/QUALITY_DECLARATION.md
@@ -114,32 +114,27 @@ This quality declaration has not been externally peer-reviewed and is not regist
`rmf_demos_gz` has the following runtime ROS dependencies.
-#### rmf_building_sim_gazebo_plugins
+#### rmf_building_sim_gz_plugins
-`rmf_building_sim_gazebo_plugins` is at [**Quality Level 4**](https://github.com/open-rmf/rmf_simulation/blob/main/rmf_building_sim_gazebo_plugins/QUALITY_DECLARATION.md).
+`rmf_building_sim_gz_plugins` is at [**Quality Level 4**](https://github.com/open-rmf/rmf_simulation/blob/main/rmf_building_sim_gz_plugins/QUALITY_DECLARATION.md).
-#### rmf_robot_sim_gazebo_plugins
+#### rmf_robot_sim_gz_plugins
-`rmf_robot_sim_gazebo_plugins` is at [**Quality Level 4**](https://github.com/open-rmf/rmf_simulation/blob/main/rmf_robot_sim_gazebo_plugins/QUALITY_DECLARATION.md).
+`rmf_robot_sim_gz_plugins` is at [**Quality Level 4**](https://github.com/open-rmf/rmf_simulation/blob/main/rmf_robot_sim_gz_plugins/QUALITY_DECLARATION.md).
-#### gazebo_ros_pkgs
+#### teleop_twist_keyboard
-`gazebo_ros_pkgs` does not declare a Quality Level.
-It is assumed to be at least **Quality Level 4** based on its widespread use.
-
-#### joy
-
-`joy` does not declare a Quality Level.
+`teleop_twist_keyboard` does not declare a Quality Level.
It is assumed tobe at **Quality Level 4** based on its widespread use.
-#### teleop_twist_joy
+#### launch_xml
-`teleop_twist_joy` does not declare a Quality Level.
+`launch_xml` does not declare a Quality Level.
It is assumed tobe at **Quality Level 4** based on its widespread use.
-#### launch_xml
+#### ros_ign_bridge
-`launch_xml` does not declare a Quality Level.
+`ros_ign_bridge` does not declare a Quality Level.
It is assumed tobe at **Quality Level 4** based on its widespread use.
### Optional Direct Runtime ROS Dependencies [5.ii]
diff --git a/rmf_demos_gz/launch/airport_terminal.launch.xml b/rmf_demos_gz/launch/airport_terminal.launch.xml
index d20bf381..4ce82be2 100644
--- a/rmf_demos_gz/launch/airport_terminal.launch.xml
+++ b/rmf_demos_gz/launch/airport_terminal.launch.xml
@@ -1,20 +1,22 @@
-
+
+
+
-
+
diff --git a/rmf_demos_gz/launch/battle_royale.launch.xml b/rmf_demos_gz/launch/battle_royale.launch.xml
index a0348524..caaf96db 100644
--- a/rmf_demos_gz/launch/battle_royale.launch.xml
+++ b/rmf_demos_gz/launch/battle_royale.launch.xml
@@ -1,18 +1,20 @@
-
+
+
+
-
+
diff --git a/rmf_demos_gz/launch/campus.launch.xml b/rmf_demos_gz/launch/campus.launch.xml
index 409fae55..8a34a88b 100644
--- a/rmf_demos_gz/launch/campus.launch.xml
+++ b/rmf_demos_gz/launch/campus.launch.xml
@@ -1,20 +1,22 @@
-
+
+
+
-
+
diff --git a/rmf_demos_gz/launch/clinic.launch.xml b/rmf_demos_gz/launch/clinic.launch.xml
index 98757c29..6113d9d0 100644
--- a/rmf_demos_gz/launch/clinic.launch.xml
+++ b/rmf_demos_gz/launch/clinic.launch.xml
@@ -1,20 +1,22 @@
-
+
+
+
-
+
diff --git a/rmf_demos_gz/launch/hotel.launch.xml b/rmf_demos_gz/launch/hotel.launch.xml
index 1cdeabf8..d1e3d695 100644
--- a/rmf_demos_gz/launch/hotel.launch.xml
+++ b/rmf_demos_gz/launch/hotel.launch.xml
@@ -1,19 +1,21 @@
-
+
+
+
-
+
diff --git a/rmf_demos_gz/launch/include/airport_terminal/airport_terminal_caddy.launch.xml b/rmf_demos_gz/launch/include/airport_terminal/airport_terminal_caddy.launch.xml
index 83c7c1ad..71ebfd17 100644
--- a/rmf_demos_gz/launch/include/airport_terminal/airport_terminal_caddy.launch.xml
+++ b/rmf_demos_gz/launch/include/airport_terminal/airport_terminal_caddy.launch.xml
@@ -2,15 +2,13 @@
-
+
-
-
-
-
-
-
-
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/rmf_demos_gz/launch/office.launch.xml b/rmf_demos_gz/launch/office.launch.xml
index 37589168..b1837130 100644
--- a/rmf_demos_gz/launch/office.launch.xml
+++ b/rmf_demos_gz/launch/office.launch.xml
@@ -1,20 +1,22 @@
-
+
+
+
-
+
diff --git a/rmf_demos_gz/launch/office_mock_traffic_light.launch.xml b/rmf_demos_gz/launch/office_mock_traffic_light.launch.xml
index 0d132779..c601725e 100644
--- a/rmf_demos_gz/launch/office_mock_traffic_light.launch.xml
+++ b/rmf_demos_gz/launch/office_mock_traffic_light.launch.xml
@@ -1,18 +1,20 @@
-
+
+
+
-
+
diff --git a/rmf_demos_gz/launch/simulation.launch.xml b/rmf_demos_gz/launch/simulation.launch.xml
index ce19d37d..bd6ce4ea 100644
--- a/rmf_demos_gz/launch/simulation.launch.xml
+++ b/rmf_demos_gz/launch/simulation.launch.xml
@@ -4,30 +4,45 @@
+
+
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/rmf_demos_gz/launch/triple_H.launch.xml b/rmf_demos_gz/launch/triple_H.launch.xml
index a0015161..7196fa20 100644
--- a/rmf_demos_gz/launch/triple_H.launch.xml
+++ b/rmf_demos_gz/launch/triple_H.launch.xml
@@ -1,18 +1,20 @@
-
+
+
+
-
+
diff --git a/rmf_demos_gz/package.xml b/rmf_demos_gz/package.xml
index 5927b486..5c37f0f3 100644
--- a/rmf_demos_gz/package.xml
+++ b/rmf_demos_gz/package.xml
@@ -5,20 +5,21 @@
1.4.0
Launch files for RMF demos using the Gazebo simulator
Yadunund
+ Luca Della Vedova
Marco A. GutiƩrrez
Apache License 2.0
ament_cmake
rmf_demos
+ rmf_building_sim_gz_plugins
+ rmf_robot_sim_gz_plugins
- rmf_building_sim_gazebo_plugins
- rmf_robot_sim_gazebo_plugins
-
- joy
- teleop_twist_joy
+ teleop_twist_keyboard
launch_xml
- gazebo_plugins
+ ignition-fortress
+
+ ros_ign_bridge
ament_cmake
diff --git a/rmf_demos_ign/CHANGELOG.md b/rmf_demos_gz_classic/CHANGELOG.md
similarity index 51%
rename from rmf_demos_ign/CHANGELOG.md
rename to rmf_demos_gz_classic/CHANGELOG.md
index 48cc5e83..f04c515e 100644
--- a/rmf_demos_ign/CHANGELOG.md
+++ b/rmf_demos_gz_classic/CHANGELOG.md
@@ -1,4 +1,8 @@
-## Changelog for package rmf_demos_ign
+## Changelog for package rmf_demos_gz_classic
+
+2.0.0 (2022-XX-XX)
+------------------
+* Renamed to rmf_demos_gz_classic
1.3.1 (2021-11-30)
------------------
@@ -7,5 +11,4 @@
1.3.0 (2021-09-08)
------------------
-* Provides launch files for running various demonstrations in ignition-gazebo
-
+* Provides launch files for running various demonstrations in gazebo
diff --git a/rmf_demos_ign/CMakeLists.txt b/rmf_demos_gz_classic/CMakeLists.txt
similarity index 83%
rename from rmf_demos_ign/CMakeLists.txt
rename to rmf_demos_gz_classic/CMakeLists.txt
index 1eb4b92c..c01eb3f7 100644
--- a/rmf_demos_ign/CMakeLists.txt
+++ b/rmf_demos_gz_classic/CMakeLists.txt
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.5)
-project(rmf_demos_ign)
+project(rmf_demos_gz_classic)
find_package(ament_cmake REQUIRED)
diff --git a/rmf_demos_gz_classic/QUALITY_DECLARATION.md b/rmf_demos_gz_classic/QUALITY_DECLARATION.md
new file mode 100644
index 00000000..411f2b15
--- /dev/null
+++ b/rmf_demos_gz_classic/QUALITY_DECLARATION.md
@@ -0,0 +1,161 @@
+This document is a declaration of software quality for the `rmf_demos_gz_classic` package, based on the guidelines in [REP-2004](https://www.ros.org/reps/rep-2004.html).
+
+# `rmf_demos_gz_classic` Quality Declaration
+
+The package `rmf_demos_gz_classic` claims to be in the **Quality Level 4** category.
+The main rationale for this claim its its status as a collection of demonstration launch files.
+
+Below are the detailed rationales, notes, and caveats for this claim, organized by each requirement listed in the [Package Requirements for Quality Level 3 in REP-2004](https://www.ros.org/reps/rep-2004.html).
+
+## Version Policy [1]
+
+### Version Scheme [1.i]
+
+`rmf_demos_gz_classic` uses `semver` according to the recommendation for ROS Core packages in the [ROS 2 Developer Guide](https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#versioning).
+
+### Version Stability [1.ii]
+
+`rmf_demos_gz_classic` is at a stable version, i.e. `>= 1.0.0`.
+The current version can be found in its [package.xml](package.xml), and its change history can be found in its [CHANGELOG](CHANGELOG.rst).
+
+### Public API Declaration [1.iii]
+
+`rmf_demos_gz_classic` does not have a public API.
+
+### API Stability Policy [1.iv]
+
+`rmf_demos_gz_classic` does not have a public API.
+
+### ABI Stability Policy [1.v]
+
+`rmf_demos_gz_classic` does not have a public API.
+
+### API and ABI Stability Within a Released ROS Distribution [1.vi]
+
+`rmf_demos_gz_classic` does not have a public API.
+
+## Change Control Process [2]
+
+`rmf_demos_gz_classic` follows the recommended guidelines for ROS Core packages in the [ROS 2 Developer Guide](https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#package-requirements).
+
+### Change Requests [2.i]
+
+`rmf_demos_gz_classic` requires that all changes occur through a pull request.
+
+### Contributor Origin [2.ii]
+
+`rmf_demos_gz_classic` uses DCO as its confirmation of contributor origin policy. More information can be found in [CONTRIBUTING](../CONTRIBUTING.md).
+
+### Peer Review Policy [2.iii]
+
+All pull requests must have at least 1 peer review.
+
+### Continuous Integration [2.iv]
+
+All pull requests must pass CI on all platforms supported by RMF.
+The CI checks only that the package builds.
+The most recent CI results can be seen on [the workflow page](https://github.com/open-rmf/rmf_demos/actions).
+
+### Documentation Policy [2.v]
+
+All pull requests must resolve related documentation changes before merging.
+
+## Documentation [3]
+
+### Feature Documentation [3.i]
+
+`rmf_demos_gz_classic` is documented in the [parent repository's README.md file](../README.md).
+
+### Public API Documentation [3.ii]
+
+`rmf_demos_gz_classic` does not have a public API.
+
+### License [3.iii]
+
+The license for `rmf_demos_gz_classic` is Apache 2.0, the type is declared in the [package.xml](package.xml) manifest file, and a full copy of the license is in the repository level [LICENSE](../LICENSE) file.
+
+There are no source files that are currently copyrighted in this package so files are not checked for abbreviated license statements.
+
+### Copyright Statement [3.iv]
+
+There are no copyrighted source files in this package.
+
+### Quality declaration document [3.v]
+
+This quality declaration is linked in the [README file](README.md).
+
+This quality declaration has not been externally peer-reviewed and is not registered on any Level 3 lists.
+
+## Testing [4]
+
+### Feature Testing [4.i]
+
+`rmf_demos_gz_classic` is a package providing strictly launch files and therefore does not require associated tests.
+
+### Public API Testing [4.ii]
+
+`rmf_demos_gz_classic` is a package providing strictly launch files and therefore does not require associated tests.
+
+### Coverage [4.iii]
+
+`rmf_demos_gz_classic` is a package providing strictly launch files and therefore does not require associated tests.
+
+### Performance [4.iv]
+
+`rmf_demos_gz_classic` is a package providing strictly launch files and therefore does not require associated tests.
+
+### Linters and Static Analysis [4.v]
+
+`rmf_demos_gz_classic` does not use the [standard linters and static analysis tools](https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#linters).
+
+## Dependencies [5]
+
+### Direct Runtime ROS Dependencies [5.i]
+
+`rmf_demos_gz_classic` has the following runtime ROS dependencies.
+
+#### rmf_building_sim_gz_classic_plugins
+
+`rmf_building_sim_gz_classic_plugins` is at [**Quality Level 4**](https://github.com/open-rmf/rmf_simulation/blob/main/rmf_building_sim_gz_classic_plugins/QUALITY_DECLARATION.md).
+
+#### rmf_robot_sim_gz_classic_plugins
+
+`rmf_robot_sim_gz_classic_plugins` is at [**Quality Level 4**](https://github.com/open-rmf/rmf_simulation/blob/main/rmf_robot_sim_gz_classic_plugins/QUALITY_DECLARATION.md).
+
+#### gazebo_ros_pkgs
+
+`gazebo_ros_pkgs` does not declare a Quality Level.
+It is assumed to be at least **Quality Level 4** based on its widespread use.
+
+#### joy
+
+`joy` does not declare a Quality Level.
+It is assumed tobe at **Quality Level 4** based on its widespread use.
+
+#### teleop_twist_joy
+
+`teleop_twist_joy` does not declare a Quality Level.
+It is assumed tobe at **Quality Level 4** based on its widespread use.
+
+#### launch_xml
+
+`launch_xml` does not declare a Quality Level.
+It is assumed tobe at **Quality Level 4** based on its widespread use.
+
+### Optional Direct Runtime ROS Dependencies [5.ii]
+
+`rmf_demos_gz_classic` does not have any optional direct runtime ROS dependencies.
+
+### Direct Runtime non-ROS Dependency [5.iii]
+
+`rmf_demos_gz_classic` does not have any runtime non-ROS dependencies.
+
+## Platform Support [6]
+
+As a pure message and service definitions package, `rmf_demos_gz_classic` supports all of the tier 1 platforms as described in [REP-2000](https://www.ros.org/reps/rep-2000.html#support-tiers), but does not currently test each change against all of them.
+
+## Security [7]
+
+### Vulnerability Disclosure Policy [7.i]
+
+This package conforms to the Vulnerability Disclosure Policy in [REP-2006](https://www.ros.org/reps/rep-2006.html).
diff --git a/rmf_demos_ign/README.md b/rmf_demos_gz_classic/README.md
similarity index 50%
rename from rmf_demos_ign/README.md
rename to rmf_demos_gz_classic/README.md
index 64ac162a..3a81298d 100644
--- a/rmf_demos_ign/README.md
+++ b/rmf_demos_gz_classic/README.md
@@ -1,6 +1,6 @@
-# rmf_demos_ign
+# rmf_demos_gz_classic
-This package provides top level launch files using the Ignition Gazebo simulator demonstrating how to build and start systems using RMF.
+This package provides top level launch files using the Gazebo-classic simulator demonstrating how to build and start systems using RMF.
## Quality Declaration
diff --git a/rmf_demos_ign/launch/airport_terminal.launch.xml b/rmf_demos_gz_classic/launch/airport_terminal.launch.xml
similarity index 62%
rename from rmf_demos_ign/launch/airport_terminal.launch.xml
rename to rmf_demos_gz_classic/launch/airport_terminal.launch.xml
index cec5aeb8..b9afa00a 100644
--- a/rmf_demos_ign/launch/airport_terminal.launch.xml
+++ b/rmf_demos_gz_classic/launch/airport_terminal.launch.xml
@@ -1,22 +1,20 @@
+
-
-
-
-
+
-
+
diff --git a/rmf_demos_ign/launch/battle_royale.launch.xml b/rmf_demos_gz_classic/launch/battle_royale.launch.xml
similarity index 56%
rename from rmf_demos_ign/launch/battle_royale.launch.xml
rename to rmf_demos_gz_classic/launch/battle_royale.launch.xml
index 12d21d4c..3af2084a 100644
--- a/rmf_demos_ign/launch/battle_royale.launch.xml
+++ b/rmf_demos_gz_classic/launch/battle_royale.launch.xml
@@ -1,20 +1,18 @@
+
-
-
-
-
+
-
+
diff --git a/rmf_demos_ign/launch/campus.launch.xml b/rmf_demos_gz_classic/launch/campus.launch.xml
similarity index 61%
rename from rmf_demos_ign/launch/campus.launch.xml
rename to rmf_demos_gz_classic/launch/campus.launch.xml
index 4df4862d..abab13a5 100644
--- a/rmf_demos_ign/launch/campus.launch.xml
+++ b/rmf_demos_gz_classic/launch/campus.launch.xml
@@ -1,22 +1,20 @@
+
-
-
-
-
+
-
+
diff --git a/rmf_demos_ign/launch/clinic.launch.xml b/rmf_demos_gz_classic/launch/clinic.launch.xml
similarity index 60%
rename from rmf_demos_ign/launch/clinic.launch.xml
rename to rmf_demos_gz_classic/launch/clinic.launch.xml
index 2fb605a2..92b5bdc0 100644
--- a/rmf_demos_ign/launch/clinic.launch.xml
+++ b/rmf_demos_gz_classic/launch/clinic.launch.xml
@@ -1,22 +1,20 @@
+
-
-
-
-
+
-
+
diff --git a/rmf_demos_ign/launch/hotel.launch.xml b/rmf_demos_gz_classic/launch/hotel.launch.xml
similarity index 61%
rename from rmf_demos_ign/launch/hotel.launch.xml
rename to rmf_demos_gz_classic/launch/hotel.launch.xml
index cd0670bf..1f65a7a8 100644
--- a/rmf_demos_ign/launch/hotel.launch.xml
+++ b/rmf_demos_gz_classic/launch/hotel.launch.xml
@@ -1,21 +1,19 @@
+
-
-
-
-
+
-
+
diff --git a/rmf_demos_gz_classic/launch/include/airport_terminal/airport_terminal_caddy.launch.xml b/rmf_demos_gz_classic/launch/include/airport_terminal/airport_terminal_caddy.launch.xml
new file mode 100644
index 00000000..83c7c1ad
--- /dev/null
+++ b/rmf_demos_gz_classic/launch/include/airport_terminal/airport_terminal_caddy.launch.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/rmf_demos_ign/launch/office.launch.xml b/rmf_demos_gz_classic/launch/office.launch.xml
similarity index 61%
rename from rmf_demos_ign/launch/office.launch.xml
rename to rmf_demos_gz_classic/launch/office.launch.xml
index 59afe61f..23e7fbfd 100644
--- a/rmf_demos_ign/launch/office.launch.xml
+++ b/rmf_demos_gz_classic/launch/office.launch.xml
@@ -1,22 +1,20 @@
+
-
-
-
-
+
-
+
diff --git a/rmf_demos_ign/launch/office_mock_traffic_light.launch.xml b/rmf_demos_gz_classic/launch/office_mock_traffic_light.launch.xml
similarity index 56%
rename from rmf_demos_ign/launch/office_mock_traffic_light.launch.xml
rename to rmf_demos_gz_classic/launch/office_mock_traffic_light.launch.xml
index 081f53d8..65c429ec 100644
--- a/rmf_demos_ign/launch/office_mock_traffic_light.launch.xml
+++ b/rmf_demos_gz_classic/launch/office_mock_traffic_light.launch.xml
@@ -1,20 +1,18 @@
+
-
-
-
-
+
-
+
diff --git a/rmf_demos_gz_classic/launch/simulation.launch.xml b/rmf_demos_gz_classic/launch/simulation.launch.xml
new file mode 100644
index 00000000..15055296
--- /dev/null
+++ b/rmf_demos_gz_classic/launch/simulation.launch.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/rmf_demos_ign/launch/triple_H.launch.xml b/rmf_demos_gz_classic/launch/triple_H.launch.xml
similarity index 55%
rename from rmf_demos_ign/launch/triple_H.launch.xml
rename to rmf_demos_gz_classic/launch/triple_H.launch.xml
index df46ecba..925f8dc3 100644
--- a/rmf_demos_ign/launch/triple_H.launch.xml
+++ b/rmf_demos_gz_classic/launch/triple_H.launch.xml
@@ -1,20 +1,18 @@
+
-
-
-
-
+
-
+
diff --git a/rmf_demos_ign/package.xml b/rmf_demos_gz_classic/package.xml
similarity index 56%
rename from rmf_demos_ign/package.xml
rename to rmf_demos_gz_classic/package.xml
index bdb53ce7..c15c8c16 100644
--- a/rmf_demos_ign/package.xml
+++ b/rmf_demos_gz_classic/package.xml
@@ -1,25 +1,24 @@
- rmf_demos_ign
+ rmf_demos_gz_classic
1.4.0
- Launch files for RMF demos using the Ignition simulator
+ Launch files for RMF demos using the Gazebo-classic simulator
Yadunund
- Luca Della Vedova
Marco A. GutiƩrrez
Apache License 2.0
ament_cmake
rmf_demos
- rmf_building_sim_ignition_plugins
- rmf_robot_sim_ignition_plugins
- teleop_twist_keyboard
- launch_xml
- ignition-fortress
+ rmf_building_sim_gz_classic_plugins
+ rmf_robot_sim_gz_classic_plugins
- ros_ign_bridge
+ joy
+ teleop_twist_joy
+ launch_xml
+ gazebo_plugins
ament_cmake
diff --git a/rmf_demos_ign/QUALITY_DECLARATION.md b/rmf_demos_ign/QUALITY_DECLARATION.md
deleted file mode 100644
index 9fc9f48a..00000000
--- a/rmf_demos_ign/QUALITY_DECLARATION.md
+++ /dev/null
@@ -1,156 +0,0 @@
-This document is a declaration of software quality for the `rmf_demos_ign` package, based on the guidelines in [REP-2004](https://www.ros.org/reps/rep-2004.html).
-
-# `rmf_demos_ign` Quality Declaration
-
-The package `rmf_demos_ign` claims to be in the **Quality Level 4** category.
-The main rationale for this claim its its status as a collection of demonstration launch files.
-
-Below are the detailed rationales, notes, and caveats for this claim, organized by each requirement listed in the [Package Requirements for Quality Level 3 in REP-2004](https://www.ros.org/reps/rep-2004.html).
-
-## Version Policy [1]
-
-### Version Scheme [1.i]
-
-`rmf_demos_ign` uses `semver` according to the recommendation for ROS Core packages in the [ROS 2 Developer Guide](https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#versioning).
-
-### Version Stability [1.ii]
-
-`rmf_demos_ign` is at a stable version, i.e. `>= 1.0.0`.
-The current version can be found in its [package.xml](package.xml), and its change history can be found in its [CHANGELOG](CHANGELOG.rst).
-
-### Public API Declaration [1.iii]
-
-`rmf_demos_ign` does not have a public API.
-
-### API Stability Policy [1.iv]
-
-`rmf_demos_ign` does not have a public API.
-
-### ABI Stability Policy [1.v]
-
-`rmf_demos_ign` does not have a public API.
-
-### API and ABI Stability Within a Released ROS Distribution [1.vi]
-
-`rmf_demos_ign` does not have a public API.
-
-## Change Control Process [2]
-
-`rmf_demos_ign` follows the recommended guidelines for ROS Core packages in the [ROS 2 Developer Guide](https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#package-requirements).
-
-### Change Requests [2.i]
-
-`rmf_demos_ign` requires that all changes occur through a pull request.
-
-### Contributor Origin [2.ii]
-
-`rmf_demos_ign` uses DCO as its confirmation of contributor origin policy. More information can be found in [CONTRIBUTING](../CONTRIBUTING.md).
-
-### Peer Review Policy [2.iii]
-
-All pull requests must have at least 1 peer review.
-
-### Continuous Integration [2.iv]
-
-All pull requests must pass CI on all platforms supported by RMF.
-The CI checks only that the package builds.
-The most recent CI results can be seen on [the workflow page](https://github.com/open-rmf/rmf_demos/actions).
-
-### Documentation Policy [2.v]
-
-All pull requests must resolve related documentation changes before merging.
-
-## Documentation [3]
-
-### Feature Documentation [3.i]
-
-`rmf_demos_ign` is documented in the [parent repository's README.md file](../README.md).
-
-### Public API Documentation [3.ii]
-
-`rmf_demos_ign` does not have a public API.
-
-### License [3.iii]
-
-The license for `rmf_demos_ign` is Apache 2.0, the type is declared in the [package.xml](package.xml) manifest file, and a full copy of the license is in the repository level [LICENSE](../LICENSE) file.
-
-There are no source files that are currently copyrighted in this package so files are not checked for abbreviated license statements.
-
-### Copyright Statement [3.iv]
-
-There are no copyrighted source files in this package.
-
-### Quality declaration document [3.v]
-
-This quality declaration is linked in the [README file](README.md).
-
-This quality declaration has not been externally peer-reviewed and is not registered on any Level 3 lists.
-
-## Testing [4]
-
-### Feature Testing [4.i]
-
-`rmf_demos_ign` is a package providing strictly launch files and therefore does not require associated tests.
-
-### Public API Testing [4.ii]
-
-`rmf_demos_ign` is a package providing strictly launch files and therefore does not require associated tests.
-
-### Coverage [4.iii]
-
-`rmf_demos_ign` is a package providing strictly launch files and therefore does not require associated tests.
-
-### Performance [4.iv]
-
-`rmf_demos_ign` is a package providing strictly launch files and therefore does not require associated tests.
-
-### Linters and Static Analysis [4.v]
-
-`rmf_demos_ign` does not use the [standard linters and static analysis tools](https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#linters).
-
-## Dependencies [5]
-
-### Direct Runtime ROS Dependencies [5.i]
-
-`rmf_demos_ign` has the following runtime ROS dependencies.
-
-#### rmf_building_sim_ignition_plugins
-
-`rmf_building_sim_ignition_plugins` is at [**Quality Level 4**](https://github.com/open-rmf/rmf_simulation/blob/main/rmf_building_sim_ignition_plugins/QUALITY_DECLARATION.md).
-
-#### rmf_robot_sim_ignition_plugins
-
-`rmf_robot_sim_ignition_plugins` is at [**Quality Level 4**](https://github.com/open-rmf/rmf_simulation/blob/main/rmf_robot_sim_ignition_plugins/QUALITY_DECLARATION.md).
-
-#### teleop_twist_keyboard
-
-`teleop_twist_keyboard` does not declare a Quality Level.
-It is assumed tobe at **Quality Level 4** based on its widespread use.
-
-#### launch_xml
-
-`launch_xml` does not declare a Quality Level.
-It is assumed tobe at **Quality Level 4** based on its widespread use.
-
-#### ros_ign_bridge
-
-`ros_ign_bridge` does not declare a Quality Level.
-It is assumed tobe at **Quality Level 4** based on its widespread use.
-
-### Optional Direct Runtime ROS Dependencies [5.ii]
-
-`rmf_demos_ign` does not have any optional direct runtime ROS dependencies.
-
-### Direct Runtime non-ROS Dependency [5.iii]
-
-`rmf_demos_ign` does not have any runtime non-ROS dependencies.
-
-## Platform Support [6]
-
-As a pure message and service definitions package, `rmf_demos_ign` supports all of the tier 1 platforms as described in [REP-2000](https://www.ros.org/reps/rep-2000.html#support-tiers), but does not currently test each change against all of them.
-
-## Security [7]
-
-### Vulnerability Disclosure Policy [7.i]
-
-This package conforms to the Vulnerability Disclosure Policy in [REP-2006](https://www.ros.org/reps/rep-2006.html).
diff --git a/rmf_demos_ign/launch/include/airport_terminal/airport_terminal_caddy.launch.xml b/rmf_demos_ign/launch/include/airport_terminal/airport_terminal_caddy.launch.xml
deleted file mode 100644
index 71ebfd17..00000000
--- a/rmf_demos_ign/launch/include/airport_terminal/airport_terminal_caddy.launch.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/rmf_demos_ign/launch/simulation.launch.xml b/rmf_demos_ign/launch/simulation.launch.xml
deleted file mode 100644
index 5cc1aa03..00000000
--- a/rmf_demos_ign/launch/simulation.launch.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/rmf_demos_panel/README.md b/rmf_demos_panel/README.md
index 82fbc03d..f60d4a32 100644
--- a/rmf_demos_panel/README.md
+++ b/rmf_demos_panel/README.md
@@ -1,6 +1,6 @@
## RMF Demos Panel
Here we describe additional details of `rmf_demos_panel`. This package uses a simple web server
-to expose the essential RMF topics/services to users as web endpoints. Currently, this lite implementation is
+to expose the essential RMF topics/services to users as web endpoints. Currently, this lite implementation is
useful for task submission and observing status of on-going tasks and robots in RMF.
**For a full-proof web application of RMF, please refer to [rmf-web](https://github.com/open-rmf/rmf-web).**
@@ -19,12 +19,12 @@ python3 -m pip install flask-socketio
colcon build --packages-select rmf_demos_panel
```
-## Run
+## Run
Test Run with office world
1. Start Office World
```bash
-ros2 launch rmf_demos_gz office.launch.xml
+ros2 launch rmf_demos_gz_classic office.launch.xml
```
#### Simple CURL Test
@@ -33,7 +33,7 @@ ros2 launch rmf_demos_gz office.launch.xml
# Submit Task (POST)
curl -X POST http://localhost:8083/submit_task \
-d '{"task_type":"Loop", "start_time":0, "description": {"start_name": "coe", "finish_name": "pantry", "num_loops":1}}' \
--H "Content-Type: application/json"
+-H "Content-Type: application/json"
# Get Task List (GET)
curl http://localhost:8083/task_list
@@ -41,7 +41,7 @@ curl http://localhost:8083/task_list
#### rmf-panel-js
-
+
A front end dashboard, [rmf-panel-js](https://github.com/open-rmf/rmf-panel-js) is also provided.
This will will be the client for the rmf_demos's api server.
@@ -66,8 +66,8 @@ Endpoints | Type | Parameters | Description
## Run Sample Tasks
**Submit a list of tasks***
-On the right side column of the panel, users are able to select a file which consists of a list of
-tasks. Example. for office world, load `rmf_demos_tasks/rmf_demos_tasks/office_tasks.json`.
+On the right side column of the panel, users are able to select a file which consists of a list of
+tasks. Example. for office world, load `rmf_demos_tasks/rmf_demos_tasks/office_tasks.json`.
Once the tasks are populated in the box, hit submit!
More details on the format for the `.json` file is presented below.