diff --git a/.github/workflows/asan.yaml b/.github/workflows/asan.yaml index b207c6d..97df92c 100644 --- a/.github/workflows/asan.yaml +++ b/.github/workflows/asan.yaml @@ -2,20 +2,21 @@ name: asan on: pull_request: push: + branches: [ main ] schedule: - cron: '7 0 * * *' jobs: asan: name: asan - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest container: - image: rostooling/setup-ros-docker:ubuntu-focal-latest + image: rostooling/setup-ros-docker:ubuntu-jammy-latest steps: - name: deps - uses: ros-tooling/setup-ros@v0.3 + uses: ros-tooling/setup-ros@v0.4 with: - required-ros-distributions: galactic + required-ros-distributions: humble - name: install_clang run: sudo apt update && sudo apt install -y clang clang-tools lld - name: build_and_test @@ -24,15 +25,15 @@ jobs: CC: clang CXX: clang++ with: - target-ros2-distro: galactic + target-ros2-distro: humble # build all packages listed in the meta package package-name: | rmf_building_sim_common - rmf_building_sim_gazebo_plugins - rmf_building_sim_ignition_plugins + rmf_building_sim_gz_classic_plugins + rmf_building_sim_gz_plugins rmf_robot_sim_common - rmf_robot_sim_gazebo_plugins - rmf_robot_sim_ignition_plugins + rmf_robot_sim_gz_classic_plugins + rmf_robot_sim_gz_plugins vcs-repo-file-url: | https://raw.githubusercontent.com/open-rmf/rmf/main/rmf.repos colcon-defaults: | diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 75b7407..be19a6d 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -1,6 +1,7 @@ name: build on: push: + branches: [ main ] pull_request: schedule: - cron: '0 0 * * *' @@ -8,36 +9,31 @@ on: jobs: build_and_test: name: Build and test - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest container: - image: rostooling/setup-ros-docker:ubuntu-focal-latest - strategy: - matrix: - ros_distribution: - - foxy - - galactic + image: rostooling/setup-ros-docker:ubuntu-jammy-latest steps: - name: deps - uses: ros-tooling/setup-ros@v0.3 - env: - CC: clang - CXX: clang++ + uses: ros-tooling/setup-ros@v0.4 with: - required-ros-distributions: ${{ matrix.ros_distribution }} + required-ros-distributions: humble - name: install_clang run: sudo apt update && sudo apt install -y clang clang-tools lld - name: build uses: ros-tooling/action-ros-ci@v0.2 + env: + CC: clang + CXX: clang++ with: - target-ros2-distro: ${{ matrix.ros_distribution }} + target-ros2-distro: humble # build all packages listed in the meta package package-name: | rmf_building_sim_common - rmf_building_sim_gazebo_plugins - rmf_building_sim_ignition_plugins + rmf_building_sim_gz_classic_plugins + rmf_building_sim_gz_plugins rmf_robot_sim_common - rmf_robot_sim_gazebo_plugins - rmf_robot_sim_ignition_plugins + rmf_robot_sim_gz_classic_plugins + rmf_robot_sim_gz_plugins vcs-repo-file-url: | https://raw.githubusercontent.com/open-rmf/rmf/main/rmf.repos colcon-defaults: | diff --git a/.github/workflows/style.yaml b/.github/workflows/style.yaml new file mode 100644 index 0000000..763c668 --- /dev/null +++ b/.github/workflows/style.yaml @@ -0,0 +1,24 @@ +name: style +on: + pull_request: + push: + branches: [ main ] +defaults: + run: + shell: bash +jobs: + linter: + runs-on: ubuntu-latest + strategy: + matrix: + docker_image: ['ros:humble-ros-base'] + container: + image: ${{ matrix.docker_image }} + steps: + - name: checkout + uses: actions/checkout@v2 + - name: uncrustify + run: | + sudo apt update && sudo apt install wget + wget https://raw.githubusercontent.com/open-rmf/rmf_utils/main/rmf_utils/test/format/rmf_code_style.cfg + /ros_entrypoint.sh ament_uncrustify -c rmf_code_style.cfg . --language C++ \ No newline at end of file diff --git a/.github/workflows/tsan.yaml b/.github/workflows/tsan.yaml index 7ffad72..3001458 100644 --- a/.github/workflows/tsan.yaml +++ b/.github/workflows/tsan.yaml @@ -7,14 +7,14 @@ on: jobs: tsan: name: tsan - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest container: - image: rostooling/setup-ros-docker:ubuntu-focal-latest + image: rostooling/setup-ros-docker:ubuntu-jammy-latest steps: - name: deps - uses: ros-tooling/setup-ros@v0.3 + uses: ros-tooling/setup-ros@v0.4 with: - required-ros-distributions: galactic + required-ros-distributions: humble - name: install_clang run: sudo apt update && sudo apt install -y clang clang-tools lld - name: tsan_build_test @@ -24,15 +24,15 @@ jobs: CC: clang CXX: clang++ with: - target-ros2-distro: galactic + target-ros2-distro: humble # build all packages listed in the meta package package-name: | rmf_building_sim_common - rmf_building_sim_gazebo_plugins - rmf_building_sim_ignition_plugins + rmf_building_sim_gz_classic_plugins + rmf_building_sim_gz_plugins rmf_robot_sim_common - rmf_robot_sim_gazebo_plugins - rmf_robot_sim_ignition_plugins + rmf_robot_sim_gz_classic_plugins + rmf_robot_sim_gz_plugins vcs-repo-file-url: | https://raw.githubusercontent.com/open-rmf/rmf/main/rmf.repos colcon-defaults: | diff --git a/codecov.yml b/codecov.yml index 48bb687..f31e629 100644 --- a/codecov.yml +++ b/codecov.yml @@ -9,12 +9,11 @@ coverage: patch: off fixes: - "ros_ws/src/*/rmf_building_sim_common/::" - - "ros_ws/src/*/rmf_building_sim_gazebo_plugins/::" - - "ros_ws/src/*/rmf_building_sim_ignition_plugins/::" + - "ros_ws/src/*/rmf_building_sim_gz_classic_plugins/::" + - "ros_ws/src/*/rmf_building_sim_gz_plugins/::" - "ros_ws/src/*/rmf_robot_sim_common/::" - - "ros_ws/src/*/rmf_robot_sim_gazebo_plugins/::" - - "ros_ws/src/*/rmf_robot_sim_ignition_plugins/::" + - "ros_ws/src/*/rmf_robot_sim_gz_classic_plugins/::" + - "ros_ws/src/*/rmf_robot_sim_gz_plugins/::" comment: layout: "diff, flags, files" behavior: default - diff --git a/rmf_building_sim_common/include/rmf_building_sim_common/door_common.hpp b/rmf_building_sim_common/include/rmf_building_sim_common/door_common.hpp index 6f4f11b..0476cfa 100644 --- a/rmf_building_sim_common/include/rmf_building_sim_common/door_common.hpp +++ b/rmf_building_sim_common/include/rmf_building_sim_common/door_common.hpp @@ -225,9 +225,11 @@ std::shared_ptr DoorCommon::make( DoorCommon::DoorElement door_element; if (joint_name == right_door_joint_name) door_element = - DoorCommon::DoorElement{lower_limit, upper_limit, true}; + DoorCommon::DoorElement{lower_limit, upper_limit, true} + ; else if (joint_name == left_door_joint_name) - door_element = DoorCommon::DoorElement{lower_limit, upper_limit}; + door_element = DoorCommon::DoorElement{lower_limit, upper_limit} + ; doors.insert({joint_name, door_element}); } }; diff --git a/rmf_building_sim_common/package.xml b/rmf_building_sim_common/package.xml index ee15c2d..8ef2701 100644 --- a/rmf_building_sim_common/package.xml +++ b/rmf_building_sim_common/package.xml @@ -2,7 +2,7 @@ rmf_building_sim_common 1.3.1 - Common utility functions for Gazebo and ignition building plugins + Common utility functions for Gazebo-classic and Gazebo building plugins Morgan Quigley Michael Grey @@ -11,6 +11,7 @@ Brandon Ong Kevin Ma Rushyendra Maganty + Yadunund Morgan Quigley Marco A. GutiƩrrez Apache 2.0 diff --git a/rmf_building_sim_gazebo_plugins/README.md b/rmf_building_sim_gazebo_plugins/README.md deleted file mode 100644 index 8ca9c41..0000000 --- a/rmf_building_sim_gazebo_plugins/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# rmf\_building\_sim\_gazebo\_plugins - -This package provides Gazebo simulator plugins for allowing simulated building infrastructure to communicate with a ROS system. - -## Quality Declaration - -This package claims to be in the **Quality Level 4** category, see the [Quality Declaration](./QUALITY_DECLARATION.md) for more details. diff --git a/rmf_building_sim_gazebo_plugins/CHANGELOG.rst b/rmf_building_sim_gz_classic_plugins/CHANGELOG.rst similarity index 96% rename from rmf_building_sim_gazebo_plugins/CHANGELOG.rst rename to rmf_building_sim_gz_classic_plugins/CHANGELOG.rst index cba096e..930d930 100644 --- a/rmf_building_sim_gazebo_plugins/CHANGELOG.rst +++ b/rmf_building_sim_gz_classic_plugins/CHANGELOG.rst @@ -1,7 +1,11 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Changelog for package rmf_building_sim_gazebo_plugins +Changelog for package rmf_building_sim_gz_classic_plugins ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2.0.0 (2022-XX-XX) +------------------ +* Renamed to rmf_building_sim_gz_classic_plugins + 1.3.1 (2021-30-11) ------------------ * Making install location package specific to fix: `#100 `_ diff --git a/rmf_building_sim_gazebo_plugins/CMakeLists.txt b/rmf_building_sim_gz_classic_plugins/CMakeLists.txt similarity index 98% rename from rmf_building_sim_gazebo_plugins/CMakeLists.txt rename to rmf_building_sim_gz_classic_plugins/CMakeLists.txt index 49078da..9ffa144 100644 --- a/rmf_building_sim_gazebo_plugins/CMakeLists.txt +++ b/rmf_building_sim_gz_classic_plugins/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.5) -project(rmf_building_sim_gazebo_plugins) +project(rmf_building_sim_gz_classic_plugins) find_package(Qt5 COMPONENTS Widgets REQUIRED) set(CMAKE_AUTOMOC ON) diff --git a/rmf_building_sim_gazebo_plugins/QUALITY_DECLARATION.md b/rmf_building_sim_gz_classic_plugins/QUALITY_DECLARATION.md similarity index 58% rename from rmf_building_sim_gazebo_plugins/QUALITY_DECLARATION.md rename to rmf_building_sim_gz_classic_plugins/QUALITY_DECLARATION.md index 1996238..cd6adff 100644 --- a/rmf_building_sim_gazebo_plugins/QUALITY_DECLARATION.md +++ b/rmf_building_sim_gz_classic_plugins/QUALITY_DECLARATION.md @@ -1,8 +1,8 @@ -This document is a declaration of software quality for the `rmf_building_sim_gazebo_plugins` package, based on the guidelines in [REP-2004](https://www.ros.org/reps/rep-2004.html). +This document is a declaration of software quality for the `rmf_building_sim_gz_classic_plugins` package, based on the guidelines in [REP-2004](https://www.ros.org/reps/rep-2004.html). -# `rmf_building_sim_gazebo_plugins` Quality Declaration +# `rmf_building_sim_gz_classic_plugins` Quality Declaration -The package `rmf_building_sim_gazebo_plugins` claims to be in the **Quality Level 4** category. +The package `rmf_building_sim_gz_classic_plugins` claims to be in the **Quality Level 4** category. Below are the detailed rationales, notes, and caveats for this claim, organized by each requirement listed in the [Package Requirements for Quality Level 4 in REP-2004](https://www.ros.org/reps/rep-2004.html). @@ -10,40 +10,40 @@ Below are the detailed rationales, notes, and caveats for this claim, organized ### Version Scheme [1.i] -`rmf_building_sim_gazebo_plugins` 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). +`rmf_building_sim_gz_classic_plugins` 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_building_sim_gazebo_plugins` is at a stable version, i.e. `>= 1.0.0`. +`rmf_building_sim_gz_classic_plugins` 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_building_sim_gazebo_plugins` does not have a public API. +`rmf_building_sim_gz_classic_plugins` does not have a public API. ### API Stability Policy [1.iv] -`rmf_building_sim_gazebo_plugins` does not have a public API. +`rmf_building_sim_gz_classic_plugins` does not have a public API. ### ABI Stability Policy [1.v] -`rmf_building_sim_gazebo_plugins` does not have a public API. +`rmf_building_sim_gz_classic_plugins` does not have a public API. ### API and ABI Stability Within a Released ROS Distribution [1.vi] -`rmf_building_sim_gazebo_plugins` does not have a public API. +`rmf_building_sim_gz_classic_plugins` does not have a public API. ## Change Control Process [2] -`rmf_building_sim_gazebo_plugins` 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). +`rmf_building_sim_gz_classic_plugins` 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_building_sim_gazebo_plugins` requires that all changes occur through a pull request. +`rmf_building_sim_gz_classic_plugins` requires that all changes occur through a pull request. ### Contributor Origin [2.ii] -`rmf_building_sim_gazebo_plugins` uses DCO as its confirmation of contributor origin policy. +`rmf_building_sim_gz_classic_plugins` uses DCO as its confirmation of contributor origin policy. More information can be found in [CONTRIBUTING](../CONTRIBUTING.md). ### Peer Review Policy [2.iii] @@ -64,15 +64,15 @@ All pull requests must resolve related documentation changes before merging. ### Feature Documentation [3.i] -`rmf_building_sim_gazebo_plugins` does not provide feature documentation. +`rmf_building_sim_gz_classic_plugins` does not provide feature documentation. ### Public API Documentation [3.ii] -`rmf_building_sim_gazebo_plugins` does not have a public API. +`rmf_building_sim_gz_classic_plugins` does not have a public API. ### License [3.iii] -The license for `rmf_building_sim_gazebo_plugins` 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. +The license for `rmf_building_sim_gz_classic_plugins` 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. ### Copyright Statement [3.iv] @@ -88,29 +88,29 @@ This quality declaration has not been externally peer-reviewed and is not regist ### Feature Testing [4.i] -`rmf_building_sim_gazebo_plugins` does not have any tests. +`rmf_building_sim_gz_classic_plugins` does not have any tests. ### Public API Testing [4.ii] -`rmf_building_sim_gazebo_plugins` does not have a public API. +`rmf_building_sim_gz_classic_plugins` does not have a public API. ### Coverage [4.iii] -`rmf_building_sim_gazebo_plugins` does not track coverage statistics. +`rmf_building_sim_gz_classic_plugins` does not track coverage statistics. ### Performance [4.iv] -`rmf_building_sim_gazebo_plugins` does not have performance tests. +`rmf_building_sim_gz_classic_plugins` does not have performance tests. ### Linters and Static Analysis [4.v] -`rmf_building_sim_gazebo_plugins` does not use the standard linters and static analysis tools for its CMake code to ensure it follows the [ROS 2 Developer Guide](https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#linters). +`rmf_building_sim_gz_classic_plugins` does not use the standard linters and static analysis tools for its CMake code to ensure it follows the [ROS 2 Developer Guide](https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#linters). ## Dependencies [5] ### Direct Runtime ROS Dependencies [5.i] -`rmf_building_sim_gazebo_plugins` has the following direct runtime ROS dependencies. +`rmf_building_sim_gz_classic_plugins` has the following direct runtime ROS dependencies. #### rclcpp @@ -136,7 +136,7 @@ It is assumed to be at least **Quality Level 4** based on its widespread use. ### Optional Direct Runtime ROS Dependencies [5.ii] -`rmf_building_sim_gazebo_plugins` does not have any optional direct runtime ROS dependencies. +`rmf_building_sim_gz_classic_plugins` does not have any optional direct runtime ROS dependencies. ### Direct Runtime non-ROS Dependency [5.iii] @@ -162,8 +162,8 @@ Due to its wide use, documentation, and testing, it is assumed to be **Quality L ## Platform Support [6] -`rmf_building_sim_gazebo_plugins` does not support all of the tier 1 platforms as described in [REP-2000](https://www.ros.org/reps/rep-2000.html#support-tiers). -`rmf_building_sim_gazebo_plugins` supports ROS Eloquent and ROS Foxy. +`rmf_building_sim_gz_classic_plugins` does not support all of the tier 1 platforms as described in [REP-2000](https://www.ros.org/reps/rep-2000.html#support-tiers). +`rmf_building_sim_gz_classic_plugins` supports ROS Eloquent and ROS Foxy. ## Security [7] diff --git a/rmf_building_sim_gz_classic_plugins/README.md b/rmf_building_sim_gz_classic_plugins/README.md new file mode 100644 index 0000000..4dadf26 --- /dev/null +++ b/rmf_building_sim_gz_classic_plugins/README.md @@ -0,0 +1,7 @@ +# rmf\_building\_sim\_gz_classic\_plugins + +This package provides Gazebo-classic simulator plugins for allowing simulated building infrastructure to communicate with a ROS system. + +## Quality Declaration + +This package claims to be in the **Quality Level 4** category, see the [Quality Declaration](./QUALITY_DECLARATION.md) for more details. diff --git a/rmf_building_sim_gazebo_plugins/package.xml b/rmf_building_sim_gz_classic_plugins/package.xml similarity index 95% rename from rmf_building_sim_gazebo_plugins/package.xml rename to rmf_building_sim_gz_classic_plugins/package.xml index caf8871..151e858 100644 --- a/rmf_building_sim_gazebo_plugins/package.xml +++ b/rmf_building_sim_gz_classic_plugins/package.xml @@ -1,5 +1,5 @@ - rmf_building_sim_gazebo_plugins + rmf_building_sim_gz_classic_plugins 1.3.1 Gazebo plugins so that buildings generated by rmf_building_map_tools can diff --git a/rmf_building_sim_gazebo_plugins/src/crowd_simulator.cpp b/rmf_building_sim_gz_classic_plugins/src/crowd_simulator.cpp similarity index 100% rename from rmf_building_sim_gazebo_plugins/src/crowd_simulator.cpp rename to rmf_building_sim_gz_classic_plugins/src/crowd_simulator.cpp diff --git a/rmf_building_sim_gazebo_plugins/src/crowd_simulator.hpp b/rmf_building_sim_gz_classic_plugins/src/crowd_simulator.hpp similarity index 100% rename from rmf_building_sim_gazebo_plugins/src/crowd_simulator.hpp rename to rmf_building_sim_gz_classic_plugins/src/crowd_simulator.hpp diff --git a/rmf_building_sim_gazebo_plugins/src/door.cpp b/rmf_building_sim_gz_classic_plugins/src/door.cpp similarity index 92% rename from rmf_building_sim_gazebo_plugins/src/door.cpp rename to rmf_building_sim_gz_classic_plugins/src/door.cpp index 1773ff0..83ae993 100644 --- a/rmf_building_sim_gazebo_plugins/src/door.cpp +++ b/rmf_building_sim_gz_classic_plugins/src/door.cpp @@ -10,7 +10,7 @@ using namespace rmf_building_sim_common; -namespace rmf_building_sim_gazebo_plugins { +namespace rmf_building_sim_gz_classic_plugins { //============================================================================== class DoorPlugin : public gazebo::ModelPlugin @@ -32,7 +32,8 @@ class DoorPlugin : public gazebo::ModelPlugin void Load(gazebo::physics::ModelPtr model, sdf::ElementPtr sdf) override { - auto _ros_node = gazebo_ros::Node::Get(sdf); + const std::string& node_name = model->GetName() + "_node"; + auto _ros_node = gazebo_ros::Node::Get(sdf, node_name); _model = model; RCLCPP_INFO( @@ -107,4 +108,4 @@ class DoorPlugin : public gazebo::ModelPlugin GZ_REGISTER_MODEL_PLUGIN(DoorPlugin) -} // namespace rmf_building_sim_gazebo_plugins +} // namespace rmf_building_sim_gz_classic_plugins diff --git a/rmf_building_sim_gazebo_plugins/src/lift.cpp b/rmf_building_sim_gz_classic_plugins/src/lift.cpp similarity index 95% rename from rmf_building_sim_gazebo_plugins/src/lift.cpp rename to rmf_building_sim_gz_classic_plugins/src/lift.cpp index 8cdd8f1..2b8e4e7 100644 --- a/rmf_building_sim_gazebo_plugins/src/lift.cpp +++ b/rmf_building_sim_gz_classic_plugins/src/lift.cpp @@ -34,7 +34,8 @@ class LiftPlugin : public gazebo::ModelPlugin void Load(gazebo::physics::ModelPtr model, sdf::ElementPtr sdf) override { - _ros_node = gazebo_ros::Node::Get(sdf); + const std::string& node_name = model->GetName() + "_node"; + _ros_node = gazebo_ros::Node::Get(sdf, node_name); _model = model; RCLCPP_INFO(_ros_node->get_logger(), diff --git a/rmf_building_sim_gazebo_plugins/src/thumbnail_generator.cpp b/rmf_building_sim_gz_classic_plugins/src/thumbnail_generator.cpp similarity index 100% rename from rmf_building_sim_gazebo_plugins/src/thumbnail_generator.cpp rename to rmf_building_sim_gz_classic_plugins/src/thumbnail_generator.cpp diff --git a/rmf_building_sim_gazebo_plugins/src/toggle_charging.cpp b/rmf_building_sim_gz_classic_plugins/src/toggle_charging.cpp similarity index 100% rename from rmf_building_sim_gazebo_plugins/src/toggle_charging.cpp rename to rmf_building_sim_gz_classic_plugins/src/toggle_charging.cpp diff --git a/rmf_building_sim_gazebo_plugins/src/toggle_floors.cpp b/rmf_building_sim_gz_classic_plugins/src/toggle_floors.cpp similarity index 100% rename from rmf_building_sim_gazebo_plugins/src/toggle_floors.cpp rename to rmf_building_sim_gz_classic_plugins/src/toggle_floors.cpp diff --git a/rmf_building_sim_ignition_plugins/CHANGELOG.rst b/rmf_building_sim_gz_plugins/CHANGELOG.rst similarity index 96% rename from rmf_building_sim_ignition_plugins/CHANGELOG.rst rename to rmf_building_sim_gz_plugins/CHANGELOG.rst index 2783336..61b3d83 100644 --- a/rmf_building_sim_ignition_plugins/CHANGELOG.rst +++ b/rmf_building_sim_gz_plugins/CHANGELOG.rst @@ -1,7 +1,11 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Changelog for package rmf_building_sim_ignition_plugins +Changelog for package rmf_building_sim_gz_plugins ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2.0.0 (2022-XX-XX) +------------------ +* Renamed to rmf_building_sim_gz_plugins + 1.3.1 (2021-30-11) ------------------ * Making install location package specific to fix: `#100 `_ diff --git a/rmf_building_sim_ignition_plugins/CMakeLists.txt b/rmf_building_sim_gz_plugins/CMakeLists.txt similarity index 98% rename from rmf_building_sim_ignition_plugins/CMakeLists.txt rename to rmf_building_sim_gz_plugins/CMakeLists.txt index d43d32a..1a3e1a3 100644 --- a/rmf_building_sim_ignition_plugins/CMakeLists.txt +++ b/rmf_building_sim_gz_plugins/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.5) -project(rmf_building_sim_ignition_plugins) +project(rmf_building_sim_gz_plugins) set (CMAKE_AUTOMOC ON) diff --git a/rmf_building_sim_ignition_plugins/QUALITY_DECLARATION.md b/rmf_building_sim_gz_plugins/QUALITY_DECLARATION.md similarity index 71% rename from rmf_building_sim_ignition_plugins/QUALITY_DECLARATION.md rename to rmf_building_sim_gz_plugins/QUALITY_DECLARATION.md index d5aaed1..866d7a6 100644 --- a/rmf_building_sim_ignition_plugins/QUALITY_DECLARATION.md +++ b/rmf_building_sim_gz_plugins/QUALITY_DECLARATION.md @@ -1,8 +1,8 @@ -This document is a declaration of software quality for the `rmf_building_sim_ignition_plugins` package, based on the guidelines in [REP-2004](https://www.ros.org/reps/rep-2004.html). +This document is a declaration of software quality for the `rmf_building_sim_gz_plugins` package, based on the guidelines in [REP-2004](https://www.ros.org/reps/rep-2004.html). -# `rmf_building_sim_ignition_plugins` Quality Declaration +# `rmf_building_sim_gz_plugins` Quality Declaration -The package `rmf_building_sim_ignition_plugins` claims to be in the **Quality Level 4** category. +The package `rmf_building_sim_gz_plugins` claims to be in the **Quality Level 4** category. Below are the detailed rationales, notes, and caveats for this claim, organized by each requirement listed in the [Package Requirements for Quality Level 4 in REP-2004](https://www.ros.org/reps/rep-2004.html). @@ -10,40 +10,40 @@ Below are the detailed rationales, notes, and caveats for this claim, organized ### Version Scheme [1.i] -`rmf_building_sim_ignition_plugins` 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). +`rmf_building_sim_gz_plugins` 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_building_sim_ignition_plugins` is at a stable version, i.e. `>= 1.0.0`. +`rmf_building_sim_gz_plugins` 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_building_sim_ignition_plugins` does not have a public API. +`rmf_building_sim_gz_plugins` does not have a public API. ### API Stability Policy [1.iv] -`rmf_building_sim_ignition_plugins` does not have a public API. +`rmf_building_sim_gz_plugins` does not have a public API. ### ABI Stability Policy [1.v] -`rmf_building_sim_ignition_plugins` does not have a public API. +`rmf_building_sim_gz_plugins` does not have a public API. ### API and ABI Stability Within a Released ROS Distribution [1.vi] -`rmf_building_sim_ignition_plugins` does not have a public API. +`rmf_building_sim_gz_plugins` does not have a public API. ## Change Control Process [2] -`rmf_building_sim_ignition_plugins` 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). +`rmf_building_sim_gz_plugins` 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_building_sim_ignition_plugins` requires that all changes occur through a pull request. +`rmf_building_sim_gz_plugins` requires that all changes occur through a pull request. ### Contributor Origin [2.ii] -`rmf_building_sim_ignition_plugins` uses DCO as its confirmation of contributor origin policy. +`rmf_building_sim_gz_plugins` uses DCO as its confirmation of contributor origin policy. More information can be found in [CONTRIBUTING](../CONTRIBUTING.md). ### Peer Review Policy [2.iii] @@ -64,15 +64,15 @@ All pull requests must resolve related documentation changes before merging. ### Feature Documentation [3.i] -`rmf_building_sim_ignition_plugins` does not provide feature documentation. +`rmf_building_sim_gz_plugins` does not provide feature documentation. ### Public API Documentation [3.ii] -`rmf_building_sim_ignition_plugins` does not have a public API. +`rmf_building_sim_gz_plugins` does not have a public API. ### License [3.iii] -The license for `rmf_building_sim_ignition_plugins` 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. +The license for `rmf_building_sim_gz_plugins` 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. ### Copyright Statement [3.iv] @@ -88,29 +88,29 @@ This quality declaration has not been externally peer-reviewed and is not regist ### Feature Testing [4.i] -`rmf_building_sim_ignition_plugins` does not have any tests. +`rmf_building_sim_gz_plugins` does not have any tests. ### Public API Testing [4.ii] -`rmf_building_sim_ignition_plugins` does not have a public API. +`rmf_building_sim_gz_plugins` does not have a public API. ### Coverage [4.iii] -`rmf_building_sim_ignition_plugins` does not track coverage statistics. +`rmf_building_sim_gz_plugins` does not track coverage statistics. ### Performance [4.iv] -`rmf_building_sim_ignition_plugins` does not have performance tests. +`rmf_building_sim_gz_plugins` does not have performance tests. ### Linters and Static Analysis [4.v] -`rmf_building_sim_ignition_plugins` does not use the standard linters and static analysis tools for its CMake code to ensure it follows the [ROS 2 Developer Guide](https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#linters). +`rmf_building_sim_gz_plugins` does not use the standard linters and static analysis tools for its CMake code to ensure it follows the [ROS 2 Developer Guide](https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#linters). ## Dependencies [5] ### Direct Runtime ROS Dependencies [5.i] -`rmf_building_sim_ignition_plugins` has the following direct runtime ROS dependencies. +`rmf_building_sim_gz_plugins` has the following direct runtime ROS dependencies. #### rclcpp @@ -225,8 +225,8 @@ It is assumed to be at least **Quality Level 3** based on its history, use of CI ## Platform Support [6] -`rmf_building_sim_ignition_plugins` does not support all of the tier 1 platforms as described in [REP-2000](https://www.ros.org/reps/rep-2000.html#support-tiers). -`rmf_building_sim_ignition_plugins` supports ROS Eloquent and ROS Foxy. +`rmf_building_sim_gz_plugins` does not support all of the tier 1 platforms as described in [REP-2000](https://www.ros.org/reps/rep-2000.html#support-tiers). +`rmf_building_sim_gz_plugins` supports ROS Eloquent and ROS Foxy. ## Security [7] diff --git a/rmf_robot_sim_ignition_plugins/README.md b/rmf_building_sim_gz_plugins/README.md similarity index 51% rename from rmf_robot_sim_ignition_plugins/README.md rename to rmf_building_sim_gz_plugins/README.md index 37877fa..3fbeb9b 100644 --- a/rmf_robot_sim_ignition_plugins/README.md +++ b/rmf_building_sim_gz_plugins/README.md @@ -1,6 +1,6 @@ -# rmf\_robot\_sim\_ignition\_plugins +# rmf\_building\_sim\_gz\_plugins -This package provides Ignition simulator plugins for the robots used in the RMF demos. +This package provides Gazebo plugins for allowing simulated building infrastructure to communicate with a ROS system. ## Quality Declaration diff --git a/rmf_building_sim_ignition_plugins/package.xml b/rmf_building_sim_gz_plugins/package.xml similarity index 85% rename from rmf_building_sim_ignition_plugins/package.xml rename to rmf_building_sim_gz_plugins/package.xml index b70302b..6f6f8c3 100644 --- a/rmf_building_sim_ignition_plugins/package.xml +++ b/rmf_building_sim_gz_plugins/package.xml @@ -1,10 +1,11 @@ - rmf_building_sim_ignition_plugins + rmf_building_sim_gz_plugins 1.3.1 - Ignition gazebo plugins for building infrastructure simulation + Gazebo plugins for building infrastructure simulation Luca Della Vedova + Yadunund Kevin Ma Rushyendra Maganty Luca Della Vedova diff --git a/rmf_building_sim_ignition_plugins/src/crowd_simulator.cpp b/rmf_building_sim_gz_plugins/src/crowd_simulator.cpp similarity index 100% rename from rmf_building_sim_ignition_plugins/src/crowd_simulator.cpp rename to rmf_building_sim_gz_plugins/src/crowd_simulator.cpp diff --git a/rmf_building_sim_ignition_plugins/src/crowd_simulator.hpp b/rmf_building_sim_gz_plugins/src/crowd_simulator.hpp similarity index 100% rename from rmf_building_sim_ignition_plugins/src/crowd_simulator.hpp rename to rmf_building_sim_gz_plugins/src/crowd_simulator.hpp diff --git a/rmf_building_sim_ignition_plugins/src/door.cpp b/rmf_building_sim_gz_plugins/src/door.cpp similarity index 93% rename from rmf_building_sim_ignition_plugins/src/door.cpp rename to rmf_building_sim_gz_plugins/src/door.cpp index 7b1ee5c..80dabea 100644 --- a/rmf_building_sim_ignition_plugins/src/door.cpp +++ b/rmf_building_sim_gz_plugins/src/door.cpp @@ -17,7 +17,7 @@ using namespace ignition::gazebo; using namespace rmf_building_sim_common; -namespace rmf_building_sim_ignition_plugins { +namespace rmf_building_sim_gz_plugins { //============================================================================== @@ -96,12 +96,12 @@ class IGNITION_GAZEBO_VISIBLE DoorPlugin { continue; } - const auto *joint_axis = + const auto* joint_axis = ecm.Component(joint_entity); double lower_limit = -1.57; double upper_limit = 0.0; - if(joint_axis != nullptr) + if (joint_axis != nullptr) { lower_limit = joint_axis->Data().Lower(); upper_limit = joint_axis->Data().Upper(); @@ -109,10 +109,22 @@ class IGNITION_GAZEBO_VISIBLE DoorPlugin DoorCommon::DoorElement door_element; if (joint_name == right_door_joint_name) - door_element = - DoorCommon::DoorElement{lower_limit, upper_limit, true}; + { + door_element = DoorCommon::DoorElement{lower_limit, upper_limit, true}; + } else if (joint_name == left_door_joint_name) + { door_element = DoorCommon::DoorElement{lower_limit, upper_limit}; + } + else + { + RCLCPP_WARN( + _ros_node->get_logger(), + "Unsupported joint_name %s. Ignoring...", joint_name.c_str() + ); + continue; + } + doors.insert({joint_name, door_element}); } return doors; @@ -231,4 +243,4 @@ IGNITION_ADD_PLUGIN( IGNITION_ADD_PLUGIN_ALIAS(DoorPlugin, "door") -} // namespace rmf_building_sim_ignition_plugins +} // namespace rmf_building_sim_gz_plugins diff --git a/rmf_building_sim_ignition_plugins/src/lift.cpp b/rmf_building_sim_gz_plugins/src/lift.cpp similarity index 100% rename from rmf_building_sim_ignition_plugins/src/lift.cpp rename to rmf_building_sim_gz_plugins/src/lift.cpp diff --git a/rmf_building_sim_ignition_plugins/src/toggle_charging/toggle_charging.config b/rmf_building_sim_gz_plugins/src/toggle_charging/toggle_charging.config similarity index 100% rename from rmf_building_sim_ignition_plugins/src/toggle_charging/toggle_charging.config rename to rmf_building_sim_gz_plugins/src/toggle_charging/toggle_charging.config diff --git a/rmf_building_sim_ignition_plugins/src/toggle_charging/toggle_charging.cpp b/rmf_building_sim_gz_plugins/src/toggle_charging/toggle_charging.cpp similarity index 100% rename from rmf_building_sim_ignition_plugins/src/toggle_charging/toggle_charging.cpp rename to rmf_building_sim_gz_plugins/src/toggle_charging/toggle_charging.cpp diff --git a/rmf_building_sim_ignition_plugins/src/toggle_charging/toggle_charging.qml b/rmf_building_sim_gz_plugins/src/toggle_charging/toggle_charging.qml similarity index 100% rename from rmf_building_sim_ignition_plugins/src/toggle_charging/toggle_charging.qml rename to rmf_building_sim_gz_plugins/src/toggle_charging/toggle_charging.qml diff --git a/rmf_building_sim_ignition_plugins/src/toggle_charging/toggle_charging.qrc b/rmf_building_sim_gz_plugins/src/toggle_charging/toggle_charging.qrc similarity index 100% rename from rmf_building_sim_ignition_plugins/src/toggle_charging/toggle_charging.qrc rename to rmf_building_sim_gz_plugins/src/toggle_charging/toggle_charging.qrc diff --git a/rmf_building_sim_ignition_plugins/src/toggle_floors/toggle_floors.config b/rmf_building_sim_gz_plugins/src/toggle_floors/toggle_floors.config similarity index 100% rename from rmf_building_sim_ignition_plugins/src/toggle_floors/toggle_floors.config rename to rmf_building_sim_gz_plugins/src/toggle_floors/toggle_floors.config diff --git a/rmf_building_sim_ignition_plugins/src/toggle_floors/toggle_floors.cpp b/rmf_building_sim_gz_plugins/src/toggle_floors/toggle_floors.cpp similarity index 100% rename from rmf_building_sim_ignition_plugins/src/toggle_floors/toggle_floors.cpp rename to rmf_building_sim_gz_plugins/src/toggle_floors/toggle_floors.cpp diff --git a/rmf_building_sim_ignition_plugins/src/toggle_floors/toggle_floors.qml b/rmf_building_sim_gz_plugins/src/toggle_floors/toggle_floors.qml similarity index 100% rename from rmf_building_sim_ignition_plugins/src/toggle_floors/toggle_floors.qml rename to rmf_building_sim_gz_plugins/src/toggle_floors/toggle_floors.qml diff --git a/rmf_building_sim_ignition_plugins/src/toggle_floors/toggle_floors.qrc b/rmf_building_sim_gz_plugins/src/toggle_floors/toggle_floors.qrc similarity index 100% rename from rmf_building_sim_ignition_plugins/src/toggle_floors/toggle_floors.qrc rename to rmf_building_sim_gz_plugins/src/toggle_floors/toggle_floors.qrc diff --git a/rmf_building_sim_ignition_plugins/README.md b/rmf_building_sim_ignition_plugins/README.md deleted file mode 100644 index 56747eb..0000000 --- a/rmf_building_sim_ignition_plugins/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# rmf\_building\_sim\_ignition\_plugins - -This package provides Ignition plugins for allowing simulated building infrastructure to communicate with a ROS system. - -## Quality Declaration - -This package claims to be in the **Quality Level 4** category, see the [Quality Declaration](./QUALITY_DECLARATION.md) for more details. diff --git a/rmf_robot_sim_common/CMakeLists.txt b/rmf_robot_sim_common/CMakeLists.txt index 97dc1cc..2fbcabd 100644 --- a/rmf_robot_sim_common/CMakeLists.txt +++ b/rmf_robot_sim_common/CMakeLists.txt @@ -35,13 +35,14 @@ include(GNUInstallDirs) add_library(rmf_robot_sim_utils SHARED ${PROJECT_SOURCE_DIR}/src/utils.cpp) -ament_target_dependencies(rmf_robot_sim_utils - rclcpp - Eigen3 +target_link_libraries(rmf_robot_sim_utils + rclcpp::rclcpp + ${Eigen3_LIBRARIES} ) target_include_directories(rmf_robot_sim_utils PUBLIC + ${rclcpp_INCLUDE_DIRS} ${EIGEN3_INCLUDE_DIRS} $ $ @@ -53,7 +54,7 @@ target_include_directories(rmf_robot_sim_utils add_library(ingestor_common SHARED ${PROJECT_SOURCE_DIR}/src/ingestor_common.cpp) -ament_target_dependencies(ingestor_common +ament_target_dependencies(ingestor_common rmf_fleet_msgs rmf_building_map_msgs rmf_ingestor_msgs @@ -62,7 +63,7 @@ ament_target_dependencies(ingestor_common Eigen3 ) -target_include_directories(ingestor_common +target_include_directories(ingestor_common PUBLIC ${EIGEN3_INCLUDE_DIRS} $ @@ -84,7 +85,7 @@ ament_target_dependencies(dispenser_common Eigen3 ) -target_include_directories(dispenser_common +target_include_directories(dispenser_common PUBLIC ${EIGEN3_INCLUDE_DIRS} $ @@ -185,6 +186,7 @@ install( install( TARGETS rmf_robot_sim_utils EXPORT rmf_robot_sim_utils + RUNTIME DESTINATION lib/${PROJECT_NAME} LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) diff --git a/rmf_robot_sim_common/include/rmf_robot_sim_common/utils.hpp b/rmf_robot_sim_common/include/rmf_robot_sim_common/utils.hpp index 44a3e70..2af233b 100644 --- a/rmf_robot_sim_common/include/rmf_robot_sim_common/utils.hpp +++ b/rmf_robot_sim_common/include/rmf_robot_sim_common/utils.hpp @@ -1,3 +1,20 @@ +/* + * Copyright (C) 2020 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + #ifndef SRC__RMF_PLUGINS__UTILS_HPP #define SRC__RMF_PLUGINS__UTILS_HPP diff --git a/rmf_robot_sim_common/package.xml b/rmf_robot_sim_common/package.xml index fafee2a..438c0c6 100644 --- a/rmf_robot_sim_common/package.xml +++ b/rmf_robot_sim_common/package.xml @@ -2,7 +2,7 @@ rmf_robot_sim_common 1.3.1 - Common utility functions for Gazebo and ignition RMF plugins + Common utility functions for Gazebo-classic and Gazebo RMF plugins Aaron Chong Rushyendra Maganty diff --git a/rmf_robot_sim_common/src/dispenser_common.cpp b/rmf_robot_sim_common/src/dispenser_common.cpp index 5aabd55..6b3610c 100644 --- a/rmf_robot_sim_common/src/dispenser_common.cpp +++ b/rmf_robot_sim_common/src/dispenser_common.cpp @@ -1,3 +1,20 @@ +/* + * Copyright (C) 2020 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + #include using namespace rmf_plugins_utils; diff --git a/rmf_robot_sim_common/src/ingestor_common.cpp b/rmf_robot_sim_common/src/ingestor_common.cpp index 2894ee8..a894236 100644 --- a/rmf_robot_sim_common/src/ingestor_common.cpp +++ b/rmf_robot_sim_common/src/ingestor_common.cpp @@ -1,3 +1,20 @@ +/* + * Copyright (C) 2020 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + #include using namespace rmf_plugins_utils; diff --git a/rmf_robot_sim_common/src/readonly_common.cpp b/rmf_robot_sim_common/src/readonly_common.cpp index f23ab44..86bd41d 100644 --- a/rmf_robot_sim_common/src/readonly_common.cpp +++ b/rmf_robot_sim_common/src/readonly_common.cpp @@ -1,3 +1,20 @@ +/* + * Copyright (C) 2020 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + #include #include diff --git a/rmf_robot_sim_common/src/utils.cpp b/rmf_robot_sim_common/src/utils.cpp index 5d8deef..2f17e97 100644 --- a/rmf_robot_sim_common/src/utils.cpp +++ b/rmf_robot_sim_common/src/utils.cpp @@ -1,3 +1,20 @@ +/* + * Copyright (C) 2020 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + #include #include diff --git a/rmf_robot_sim_gazebo_plugins/CHANGELOG.rst b/rmf_robot_sim_gz_classic_plugins/CHANGELOG.rst similarity index 94% rename from rmf_robot_sim_gazebo_plugins/CHANGELOG.rst rename to rmf_robot_sim_gz_classic_plugins/CHANGELOG.rst index 7817a4f..8de4333 100644 --- a/rmf_robot_sim_gazebo_plugins/CHANGELOG.rst +++ b/rmf_robot_sim_gz_classic_plugins/CHANGELOG.rst @@ -1,7 +1,11 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Changelog for package rmf_robot_sim_gazebo_plugins +Changelog for package rmf_robot_sim_gz_classic_plugins ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2.0.0 (2022-XX-XX) +------------------ +* Renamed to rmf_robot_sim_gz_classic_plugins + 1.3.1 (2021-30-11) ------------------ * Making install location package specific to fix: `#100 `_ @@ -25,7 +29,7 @@ Changelog for package rmf_robot_sim_gazebo_plugins ------------------ * Support cross-compiling with ROS 2 Foxy and Eloquent. [#103](https://github.com/osrf/rmf_demos/pull/103) * TeleportIngestorPlugin uses rmf_ingestor_msgs. [#117](https://github.com/osrf/rmf_demos/pull/117) -* Modularized Readonly TeleportIngestorPlugin and TeleportDispenserPlugin to support both Gazebo and Ignition simulations. [#124, #134](https://github.com/osrf/rmf_demos/pull/124) +* Modularized Readonly TeleportIngestorPlugin and TeleportDispenserPlugin to support both Gazebo and Ignition simulations. [#124, #134](https://github.com/osrf/rmf_demos/pull/124) * Contributors: Aaron Chong, Boon Han, Michael X. Grey, Yadu, mrushyendra 1.0.0 (2020-06-24) diff --git a/rmf_robot_sim_gazebo_plugins/CMakeLists.txt b/rmf_robot_sim_gz_classic_plugins/CMakeLists.txt similarity index 98% rename from rmf_robot_sim_gazebo_plugins/CMakeLists.txt rename to rmf_robot_sim_gz_classic_plugins/CMakeLists.txt index e5fa498..bd34e21 100644 --- a/rmf_robot_sim_gazebo_plugins/CMakeLists.txt +++ b/rmf_robot_sim_gz_classic_plugins/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.5) -project(rmf_robot_sim_gazebo_plugins) +project(rmf_robot_sim_gz_classic_plugins) # Default to C99 if(NOT CMAKE_C_STANDARD) diff --git a/rmf_robot_sim_gazebo_plugins/QUALITY_DECLARATION.md b/rmf_robot_sim_gz_classic_plugins/QUALITY_DECLARATION.md similarity index 96% rename from rmf_robot_sim_gazebo_plugins/QUALITY_DECLARATION.md rename to rmf_robot_sim_gz_classic_plugins/QUALITY_DECLARATION.md index 1b304bb..89fe1e7 100644 --- a/rmf_robot_sim_gazebo_plugins/QUALITY_DECLARATION.md +++ b/rmf_robot_sim_gz_classic_plugins/QUALITY_DECLARATION.md @@ -1,6 +1,6 @@ -This document is a declaration of software quality for the `rmf_robot_sim_gazebo_plugins` package, based on the guidelines in [REP-2004](https://www.ros.org/reps/rep-2004.html). +This document is a declaration of software quality for the `rmf_robot_sim_gz_classic_plugins` package, based on the guidelines in [REP-2004](https://www.ros.org/reps/rep-2004.html). -# `rmf_robot_sim_gazebo_plugins` Quality Declaration +# `rmf_robot_sim_gz_classic_plugins` Quality Declaration This package claims to be in the **Quality Level 4** category. diff --git a/rmf_robot_sim_gz_classic_plugins/README.md b/rmf_robot_sim_gz_classic_plugins/README.md new file mode 100644 index 0000000..5021d08 --- /dev/null +++ b/rmf_robot_sim_gz_classic_plugins/README.md @@ -0,0 +1,12 @@ +# rmf\_robot\_sim\_gz_classic\_plugins + +![](https://github.com/open-rmf/rmf_simulation/workflows/build/badge.svg) +![](https://github.com/open-rmf/rmf_simulation/workflows/asan/badge.svg) +![](https://github.com/open-rmf/rmf_simulation/workflows/tsan/badge.svg) +![](https://github.com/open-rmf/rmf_simulation/workflows/style/badge.svg) + +This package provides Gazebo-classic simulator plugins for the robots used in the RMF demos. + +## Quality Declaration + +This package claims to be in the **Quality Level 4** category, see the [Quality Declaration](./QUALITY_DECLARATION.md) for more details. diff --git a/rmf_robot_sim_gazebo_plugins/package.xml b/rmf_robot_sim_gz_classic_plugins/package.xml similarity index 81% rename from rmf_robot_sim_gazebo_plugins/package.xml rename to rmf_robot_sim_gz_classic_plugins/package.xml index 4630c4c..9851dc6 100644 --- a/rmf_robot_sim_gazebo_plugins/package.xml +++ b/rmf_robot_sim_gz_classic_plugins/package.xml @@ -1,11 +1,11 @@ - rmf_robot_sim_gazebo_plugins + rmf_robot_sim_gz_classic_plugins 1.3.1 - ROS 2 Gazebo plugins for TeleportIngestors, TeleportDispensers and Readonly Objects + ROS 2 Gazebo-classic plugins for TeleportIngestors, TeleportDispensers and Readonly Objects Luca Della Vedova - Yadu + Yadunund Aaron Chong Rushyendra Maganty Luca Della Vedova diff --git a/rmf_robot_sim_gazebo_plugins/src/TeleportDispenser.cpp b/rmf_robot_sim_gz_classic_plugins/src/TeleportDispenser.cpp similarity index 95% rename from rmf_robot_sim_gazebo_plugins/src/TeleportDispenser.cpp rename to rmf_robot_sim_gz_classic_plugins/src/TeleportDispenser.cpp index 28924f5..ed261e2 100644 --- a/rmf_robot_sim_gazebo_plugins/src/TeleportDispenser.cpp +++ b/rmf_robot_sim_gz_classic_plugins/src/TeleportDispenser.cpp @@ -33,7 +33,7 @@ using namespace rmf_dispenser_common; using namespace rmf_plugins_utils; -namespace rmf_robot_sim_gazebo_plugins { +namespace rmf_robot_sim_gz_classic_plugins { class TeleportDispenserPlugin : public gazebo::ModelPlugin { @@ -195,8 +195,10 @@ void TeleportDispenserPlugin::Load(gazebo::physics::ModelPtr _parent, _model = _parent; _world = _model->GetWorld(); _dispenser_common->guid = _model->GetName(); + const std::string& node_name = _model->GetName(); - _dispenser_common->init_ros_node(gazebo_ros::Node::Get(_sdf)); + _dispenser_common->init_ros_node( + gazebo_ros::Node::Get(_sdf, node_name)); RCLCPP_INFO( _dispenser_common->ros_node->get_logger(), "Started TeleportDispenserPlugin node..."); @@ -219,6 +221,7 @@ void TeleportDispenserPlugin::Load(gazebo::physics::ModelPtr _parent, std::bind(&TeleportDispenserPlugin::on_update, this)); } -} // namespace rmf_robot_sim_gazebo_plugins +} // namespace rmf_robot_sim_gz_classic_plugins -GZ_REGISTER_MODEL_PLUGIN(rmf_robot_sim_gazebo_plugins::TeleportDispenserPlugin) +GZ_REGISTER_MODEL_PLUGIN( + rmf_robot_sim_gz_classic_plugins::TeleportDispenserPlugin) diff --git a/rmf_robot_sim_gazebo_plugins/src/TeleportIngestor.cpp b/rmf_robot_sim_gz_classic_plugins/src/TeleportIngestor.cpp similarity index 96% rename from rmf_robot_sim_gazebo_plugins/src/TeleportIngestor.cpp rename to rmf_robot_sim_gz_classic_plugins/src/TeleportIngestor.cpp index 99964d9..7b50ce7 100644 --- a/rmf_robot_sim_gazebo_plugins/src/TeleportIngestor.cpp +++ b/rmf_robot_sim_gz_classic_plugins/src/TeleportIngestor.cpp @@ -33,7 +33,7 @@ using namespace rmf_plugins_utils; using namespace rmf_ingestor_common; -namespace rmf_robot_sim_gazebo_plugins { +namespace rmf_robot_sim_gz_classic_plugins { class TeleportIngestorPlugin : public gazebo::ModelPlugin { @@ -207,7 +207,8 @@ void TeleportIngestorPlugin::Load(gazebo::physics::ModelPtr _parent, _ingested_model = nullptr; _ingestor_common->_guid = _model->GetName(); - _ingestor_common->init_ros_node(gazebo_ros::Node::Get(_sdf)); + const std::string& node_name = _model->GetName() + "_node"; + _ingestor_common->init_ros_node(gazebo_ros::Node::Get(_sdf, node_name)); RCLCPP_INFO(_ingestor_common->ros_node->get_logger(), "Started TeleportIngestorPlugin node..."); @@ -237,6 +238,7 @@ TeleportIngestorPlugin::~TeleportIngestorPlugin() rclcpp::shutdown(); } -} // namespace rmf_robot_sim_gazebo_plugins +} // namespace rmf_robot_sim_gz_classic_plugins -GZ_REGISTER_MODEL_PLUGIN(rmf_robot_sim_gazebo_plugins::TeleportIngestorPlugin) +GZ_REGISTER_MODEL_PLUGIN( + rmf_robot_sim_gz_classic_plugins::TeleportIngestorPlugin) diff --git a/rmf_robot_sim_gazebo_plugins/src/readonly.cpp b/rmf_robot_sim_gz_classic_plugins/src/readonly.cpp similarity index 94% rename from rmf_robot_sim_gazebo_plugins/src/readonly.cpp rename to rmf_robot_sim_gz_classic_plugins/src/readonly.cpp index 2a4702c..e5f84bb 100644 --- a/rmf_robot_sim_gazebo_plugins/src/readonly.cpp +++ b/rmf_robot_sim_gz_classic_plugins/src/readonly.cpp @@ -59,7 +59,8 @@ void ReadonlyPlugin::Load(gazebo::physics::ModelPtr model, sdf::ElementPtr sdf) _model = model; _readonly_common->set_name(_model->GetName()); _readonly_common->read_sdf(sdf); - _readonly_common->init(gazebo_ros::Node::Get(sdf)); + const std::string& node_name = _model->GetName() + "_node"; + _readonly_common->init(gazebo_ros::Node::Get(sdf, node_name)); _update_connection = gazebo::event::Events::ConnectWorldUpdateBegin( std::bind(&ReadonlyPlugin::OnUpdate, this)); diff --git a/rmf_robot_sim_gazebo_plugins/src/slotcar.cpp b/rmf_robot_sim_gz_classic_plugins/src/slotcar.cpp similarity index 98% rename from rmf_robot_sim_gazebo_plugins/src/slotcar.cpp rename to rmf_robot_sim_gz_classic_plugins/src/slotcar.cpp index b4b0adf..3d11f38 100644 --- a/rmf_robot_sim_gazebo_plugins/src/slotcar.cpp +++ b/rmf_robot_sim_gz_classic_plugins/src/slotcar.cpp @@ -82,7 +82,8 @@ void SlotcarPlugin::Load(gazebo::physics::ModelPtr model, sdf::ElementPtr sdf) _model = model; dataPtr->set_model_name(_model->GetName()); dataPtr->read_sdf(sdf); - gazebo_ros::Node::SharedPtr _ros_node = gazebo_ros::Node::Get(sdf); + const std::string& node_name = _model->GetName() + "_node"; + gazebo_ros::Node::SharedPtr _ros_node = gazebo_ros::Node::Get(sdf, node_name); dataPtr->init_ros_node(_ros_node); RCLCPP_INFO( diff --git a/rmf_robot_sim_ignition_plugins/CHANGELOG.rst b/rmf_robot_sim_gz_plugins/CHANGELOG.rst similarity index 96% rename from rmf_robot_sim_ignition_plugins/CHANGELOG.rst rename to rmf_robot_sim_gz_plugins/CHANGELOG.rst index 4200bd0..e08904d 100644 --- a/rmf_robot_sim_ignition_plugins/CHANGELOG.rst +++ b/rmf_robot_sim_gz_plugins/CHANGELOG.rst @@ -1,7 +1,11 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Changelog for package rmf_robot_sim_ignition_plugins +Changelog for package rmf_robot_sim_gz_plugins ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2.0.0 (2022-XX-XX) +------------------ +* Renamed to rmf_robot_sim_gz_plugins + 1.3.1 (2021-30-11) ------------------ * Making install location package specific to fix: `#100 `_ diff --git a/rmf_robot_sim_ignition_plugins/CMakeLists.txt b/rmf_robot_sim_gz_plugins/CMakeLists.txt similarity index 99% rename from rmf_robot_sim_ignition_plugins/CMakeLists.txt rename to rmf_robot_sim_gz_plugins/CMakeLists.txt index db50ad0..352806f 100644 --- a/rmf_robot_sim_ignition_plugins/CMakeLists.txt +++ b/rmf_robot_sim_gz_plugins/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.5) -project(rmf_robot_sim_ignition_plugins) +project(rmf_robot_sim_gz_plugins) set (CMAKE_AUTOMOC ON) diff --git a/rmf_robot_sim_ignition_plugins/QUALITY_DECLARATION.md b/rmf_robot_sim_gz_plugins/QUALITY_DECLARATION.md similarity index 97% rename from rmf_robot_sim_ignition_plugins/QUALITY_DECLARATION.md rename to rmf_robot_sim_gz_plugins/QUALITY_DECLARATION.md index 791747f..a7152a0 100644 --- a/rmf_robot_sim_ignition_plugins/QUALITY_DECLARATION.md +++ b/rmf_robot_sim_gz_plugins/QUALITY_DECLARATION.md @@ -1,6 +1,6 @@ -This document is a declaration of software quality for the `rmf_robot_sim_ignition_plugins` package, based on the guidelines in [REP-2004](https://www.ros.org/reps/rep-2004.html). +This document is a declaration of software quality for the `rmf_robot_sim_gz_plugins` package, based on the guidelines in [REP-2004](https://www.ros.org/reps/rep-2004.html). -# `rmf_robot_sim_ignition_plugins` Quality Declaration +# `rmf_robot_sim_gz_plugins` Quality Declaration This package claims to be in the **Quality Level 4** category. diff --git a/rmf_robot_sim_gazebo_plugins/README.md b/rmf_robot_sim_gz_plugins/README.md similarity index 87% rename from rmf_robot_sim_gazebo_plugins/README.md rename to rmf_robot_sim_gz_plugins/README.md index 17aff3b..196f2bb 100644 --- a/rmf_robot_sim_gazebo_plugins/README.md +++ b/rmf_robot_sim_gz_plugins/README.md @@ -1,4 +1,4 @@ -# rmf\_robot\_sim\_gazebo\_plugins +# rmf\_robot\_sim\_gz_\_plugins This package provides Gazebo simulator plugins for the robots used in the RMF demos. diff --git a/rmf_robot_sim_ignition_plugins/package.xml b/rmf_robot_sim_gz_plugins/package.xml similarity index 84% rename from rmf_robot_sim_ignition_plugins/package.xml rename to rmf_robot_sim_gz_plugins/package.xml index a41dd79..17004f9 100644 --- a/rmf_robot_sim_ignition_plugins/package.xml +++ b/rmf_robot_sim_gz_plugins/package.xml @@ -1,11 +1,11 @@ - rmf_robot_sim_ignition_plugins + rmf_robot_sim_gz_plugins 1.3.1 - ROS 2 Ignition plugins for TeleportIngestors and TeleportDispensers + ROS 2 Gazebo plugins for TeleportIngestors and TeleportDispensers Luca Della Vedova - Yadu + Yadunund Aaron Chong Rushyendra Maganty Luca Della Vedova diff --git a/rmf_robot_sim_ignition_plugins/src/LightTuning/LightTuning.config b/rmf_robot_sim_gz_plugins/src/LightTuning/LightTuning.config similarity index 100% rename from rmf_robot_sim_ignition_plugins/src/LightTuning/LightTuning.config rename to rmf_robot_sim_gz_plugins/src/LightTuning/LightTuning.config diff --git a/rmf_robot_sim_ignition_plugins/src/LightTuning/LightTuning.cpp b/rmf_robot_sim_gz_plugins/src/LightTuning/LightTuning.cpp similarity index 99% rename from rmf_robot_sim_ignition_plugins/src/LightTuning/LightTuning.cpp rename to rmf_robot_sim_gz_plugins/src/LightTuning/LightTuning.cpp index d62a3ab..0b23f05 100644 --- a/rmf_robot_sim_ignition_plugins/src/LightTuning/LightTuning.cpp +++ b/rmf_robot_sim_gz_plugins/src/LightTuning/LightTuning.cpp @@ -297,7 +297,8 @@ int LightsModel::rowCount(const QModelIndex& parent) const QVariant LightsModel::data(const QModelIndex& index, int role) const { if (!hasIndex(index.row(), index.column(), index.parent())) - return {}; + return {} + ; const sdf::Light& light = _lights.at(index.row()); // Returns displayable value corresponding to the light property requested diff --git a/rmf_robot_sim_ignition_plugins/src/LightTuning/LightTuning.qml b/rmf_robot_sim_gz_plugins/src/LightTuning/LightTuning.qml similarity index 100% rename from rmf_robot_sim_ignition_plugins/src/LightTuning/LightTuning.qml rename to rmf_robot_sim_gz_plugins/src/LightTuning/LightTuning.qml diff --git a/rmf_robot_sim_ignition_plugins/src/LightTuning/LightTuning.qrc b/rmf_robot_sim_gz_plugins/src/LightTuning/LightTuning.qrc similarity index 100% rename from rmf_robot_sim_ignition_plugins/src/LightTuning/LightTuning.qrc rename to rmf_robot_sim_gz_plugins/src/LightTuning/LightTuning.qrc diff --git a/rmf_robot_sim_ignition_plugins/src/LightTuning/images/Colorwheel.png b/rmf_robot_sim_gz_plugins/src/LightTuning/images/Colorwheel.png similarity index 100% rename from rmf_robot_sim_ignition_plugins/src/LightTuning/images/Colorwheel.png rename to rmf_robot_sim_gz_plugins/src/LightTuning/images/Colorwheel.png diff --git a/rmf_robot_sim_ignition_plugins/src/LightTuning/images/minus.png b/rmf_robot_sim_gz_plugins/src/LightTuning/images/minus.png similarity index 100% rename from rmf_robot_sim_ignition_plugins/src/LightTuning/images/minus.png rename to rmf_robot_sim_gz_plugins/src/LightTuning/images/minus.png diff --git a/rmf_robot_sim_ignition_plugins/src/LightTuning/images/plus.png b/rmf_robot_sim_gz_plugins/src/LightTuning/images/plus.png similarity index 100% rename from rmf_robot_sim_ignition_plugins/src/LightTuning/images/plus.png rename to rmf_robot_sim_gz_plugins/src/LightTuning/images/plus.png diff --git a/rmf_robot_sim_ignition_plugins/src/TeleportDispenser.cpp b/rmf_robot_sim_gz_plugins/src/TeleportDispenser.cpp similarity index 99% rename from rmf_robot_sim_ignition_plugins/src/TeleportDispenser.cpp rename to rmf_robot_sim_gz_plugins/src/TeleportDispenser.cpp index 4a57e33..e5930db 100644 --- a/rmf_robot_sim_ignition_plugins/src/TeleportDispenser.cpp +++ b/rmf_robot_sim_gz_plugins/src/TeleportDispenser.cpp @@ -45,7 +45,7 @@ using namespace ignition::gazebo; using namespace rmf_dispenser_common; using namespace rmf_plugins_utils; -namespace rmf_robot_sim_ignition_plugins { +namespace rmf_robot_sim_gz_plugins { class IGNITION_GAZEBO_VISIBLE TeleportDispenserPlugin : public System, @@ -332,4 +332,4 @@ IGNITION_ADD_PLUGIN( // TODO would prefer namespaced IGNITION_ADD_PLUGIN_ALIAS(TeleportDispenserPlugin, "teleport_dispenser") -} // namespace rmf_robot_sim_ignition_plugins +} // namespace rmf_robot_sim_gz_plugins diff --git a/rmf_robot_sim_ignition_plugins/src/TeleportIngestor.cpp b/rmf_robot_sim_gz_plugins/src/TeleportIngestor.cpp similarity index 99% rename from rmf_robot_sim_ignition_plugins/src/TeleportIngestor.cpp rename to rmf_robot_sim_gz_plugins/src/TeleportIngestor.cpp index 2940f97..1d36b98 100644 --- a/rmf_robot_sim_ignition_plugins/src/TeleportIngestor.cpp +++ b/rmf_robot_sim_gz_plugins/src/TeleportIngestor.cpp @@ -44,7 +44,7 @@ using namespace ignition::gazebo; using namespace rmf_ingestor_common; using namespace rmf_plugins_utils; -namespace rmf_robot_sim_ignition_plugins { +namespace rmf_robot_sim_gz_plugins { class IGNITION_GAZEBO_VISIBLE TeleportIngestorPlugin : public System, @@ -345,5 +345,4 @@ IGNITION_ADD_PLUGIN( // TODO would prefer namespaced IGNITION_ADD_PLUGIN_ALIAS(TeleportIngestorPlugin, "teleport_ingestor") -} // namespace rmf_robot_sim_ignition_plugins - +} // namespace rmf_robot_sim_gz_plugins diff --git a/rmf_robot_sim_ignition_plugins/src/readonly.cpp b/rmf_robot_sim_gz_plugins/src/readonly.cpp similarity index 97% rename from rmf_robot_sim_ignition_plugins/src/readonly.cpp rename to rmf_robot_sim_gz_plugins/src/readonly.cpp index e8bf2c0..f90b1a4 100644 --- a/rmf_robot_sim_ignition_plugins/src/readonly.cpp +++ b/rmf_robot_sim_gz_plugins/src/readonly.cpp @@ -38,7 +38,7 @@ using namespace ignition::gazebo; -namespace rmf_robot_sim_ignition_plugins { +namespace rmf_robot_sim_gz_plugins { class IGNITION_GAZEBO_VISIBLE ReadonlyPlugin : public System, @@ -102,4 +102,4 @@ IGNITION_ADD_PLUGIN( // TODO would prefer namespaced IGNITION_ADD_PLUGIN_ALIAS(ReadonlyPlugin, "readonly") -} // namespace rmf_robot_sim_ignition_plugins +} // namespace rmf_robot_sim_gz_plugins diff --git a/rmf_robot_sim_ignition_plugins/src/slotcar.cpp b/rmf_robot_sim_gz_plugins/src/slotcar.cpp similarity index 100% rename from rmf_robot_sim_ignition_plugins/src/slotcar.cpp rename to rmf_robot_sim_gz_plugins/src/slotcar.cpp