Skip to content

Commit

Permalink
Migrate to Jazzy (#35)
Browse files Browse the repository at this point in the history
Signed-off-by: Luca Della Vedova <lucadv@intrinsic.ai>
Signed-off-by: Yadunund <yadunund@gmail.com>
Co-authored-by: yadunund <yadunund@openrobotics.org>
Co-authored-by: yadunund <yadunund@gmail.com>
  • Loading branch information
3 people authored Nov 21, 2024
1 parent 728fd0d commit 0741639
Show file tree
Hide file tree
Showing 55 changed files with 223 additions and 186 deletions.
6 changes: 1 addition & 5 deletions .github/workflows/nexus_integration_tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,14 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
docker_image: ['ros:iron-ros-base']
docker_image: ['ros:jazzy-ros-base']
container:
image: ${{ matrix.docker_image }}
timeout-minutes: 60
steps:
- name: Install deps for Rust
run: |
apt update && apt install -y git curl libclang-dev
- name: Setup Rust for nexus_zenoh_bridge
uses: dtolnay/rust-toolchain@stable
with:
components: clippy, rustfmt
- uses: actions/checkout@v2
- uses: actions/cache@v3
with:
Expand Down
14 changes: 9 additions & 5 deletions .github/workflows/nexus_workcell_editor.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
docker_image: ['ros:iron-ros-base']
docker_image: ['ros:jazzy-ros-base']
container:
image: ${{ matrix.docker_image }}
timeout-minutes: 30
Expand All @@ -26,13 +26,17 @@ jobs:
- name: Install colcon cargo
run: |
cargo install --debug cargo-ament-build # --debug is faster to install
pip install git+https://github.com/colcon/colcon-cargo.git
pip install git+https://github.com/colcon/colcon-ros-cargo.git
pip install colcon-cargo --break-system-packages
pip install colcon-ros-cargo --break-system-packages
- uses: actions/checkout@v2
- name: vcs
# TODO(luca) Go back to cloning a tag when a new version is released with jazzy repos file
run: |
git clone https://github.com/ros2-rust/ros2_rust.git -b 0.4.0
vcs import . < ros2_rust/ros2_rust_iron.repos
git clone https://github.com/ros2-rust/ros2_rust.git
cd ros2_rust
git checkout f45a66f47dc727e3ccb13037a6c57923af1446c7
cd ..
vcs import . < ros2_rust/ros2_rust_jazzy.repos
- name: rosdep
run: |
rosdep update
Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/style.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,17 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
docker_image: ['ros:iron-ros-base']
docker_image: ['ros:jazzy-ros-base']
container:
image: ${{ matrix.docker_image }}
steps:
- name: checkout
uses: actions/checkout@v2
- name: uncrustify
run: |
sudo apt update && sudo apt install -y ros-iron-rmf-utils
/ros_entrypoint.sh ament_uncrustify -c /opt/ros/iron/share/rmf_utils/rmf_code_style.cfg . --language C++ --exclude nexus_endpoints/nexus_endpoints.hpp
# TODO(luca) reintroduce after formatting
#- name: uncrustify
# run: |
# sudo apt update && sudo apt install -y ros-jazzy-rmf-utils
# /ros_entrypoint.sh ament_uncrustify -c /opt/ros/jazzy/share/rmf_utils/rmf_code_style.cfg . --language C++ --exclude nexus_endpoints/nexus_endpoints.hpp
- name: pycodestyle
run: |
sudo apt update && sudo apt install -y pycodestyle curl
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ A ROS 2 framework which enables configuration and orchestration of process workf
For details on architecture and concepts [see](./docs/concepts.md).

## Requirements
* [ROS 2 Iron](https://docs.ros.org/en/iron/Installation/Ubuntu-Install-Debians.html) on `Ubuntu 22.04`
* [ROS 2 Jazzy](https://docs.ros.org/en/jazzy/Installation/Ubuntu-Install-Debians.html) on `Ubuntu 24.04`

## Setup

Expand All @@ -34,12 +34,12 @@ cd ~/ws_nexus/src/
git clone git@github.com:osrf/nexus
vcs import . < nexus/abb.repos
cd ~/ws_nexus
rosdep install --from-paths src --ignore-src --rosdistro iron -y -r
rosdep install --from-paths src --ignore-src --rosdistro jazzy -y -r
```

### Build the NEXUS workspace
```bash
source /opt/ros/iron/setup.bash
source /opt/ros/jazzy/setup.bash
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
```

Expand Down Expand Up @@ -103,10 +103,10 @@ The linter of choice is `uncrustify` and the configuration used may be reference
Instead of invoking `uncrustify` directly, use `ament_uncrustify` instead which is a wrapper around a specific version of `uncrustify`.
You may locally run the linter as follows
```bash
sudo apt update && sudo apt install -y ros-iron-rmf-utils # This is a one-time step
source /opt/ros/iron/setup.bash
sudo apt update && sudo apt install -y ros-jazzy-rmf-utils # This is a one-time step
source /opt/ros/jazzy/setup.bash
cd ~/ws_nexus/src/nexus
ament_uncrustify -c /opt/ros/iron/share/rmf_utils/rmf_code_style.cfg . --language C++ --exclude nexus_endpoints/nexus_endpoints.hpp
ament_uncrustify -c /opt/ros/jazzy/share/rmf_utils/rmf_code_style.cfg . --language C++ --exclude nexus_endpoints/nexus_endpoints.hpp
```
To automatically reformat the code, append `--reformat` to the `ament_uncrustify` line above.
It is highly recommended to audit the changes by the linter before committing.
Expand Down
13 changes: 7 additions & 6 deletions nexus_capabilities/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,13 @@ if(BUILD_TESTING)
NAMES "rmf_code_style.cfg"
PATHS "${rmf_utils_DIR}/../../../../share/rmf_utils/")

ament_uncrustify(
ARGN include src
CONFIG_FILE ${uncrustify_config_file}
MAX_LINE_LENGTH 80
LANGUAGE CPP
)
# TODO(luca) Add uncrustify back after formatting
#ament_uncrustify(
# ARGN include src
# CONFIG_FILE ${uncrustify_config_file}
# MAX_LINE_LENGTH 80
# LANGUAGE CPP
#)
endif()

include(GNUInstallDirs)
Expand Down
13 changes: 7 additions & 6 deletions nexus_common/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -88,12 +88,13 @@ if(BUILD_TESTING)
NAMES "rmf_code_style.cfg"
PATHS "${rmf_utils_DIR}/../../../../share/rmf_utils/")

ament_uncrustify(
ARGN include src
CONFIG_FILE ${uncrustify_config_file}
MAX_LINE_LENGTH 80
LANGUAGE CPP
)
# TODO(luca) Add uncrustify back after formatting
#ament_uncrustify(
# ARGN include src
# CONFIG_FILE ${uncrustify_config_file}
# MAX_LINE_LENGTH 80
# LANGUAGE CPP
#)

# Adds a ament catch2 test with some common libraries.
# Usage: nexus_add_test(<target> <source>...)
Expand Down
2 changes: 1 addition & 1 deletion nexus_common/include/nexus_common/sync_service_client.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public: template<typename NodePtrT>
_cb_group(node->create_callback_group(rclcpp::CallbackGroupType::
MutuallyExclusive, false)),
_client(node->template create_client<ServiceT>(
service_name, rmw_qos_profile_services_default, this->_cb_group))
service_name, rclcpp::ServicesQoS(), this->_cb_group))
{
this->_executor.add_callback_group(this->_cb_group,
node->get_node_base_interface());
Expand Down
2 changes: 1 addition & 1 deletion nexus_common/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@
<depend>yaml-cpp</depend>

<build_depend>nexus_cmake</build_depend>
<build_depend>rmf_utils</build_depend>

<buildtool_depend>ament_cmake</buildtool_depend>

<test_depend>rmf_utils</test_depend>
<test_depend>ament_cmake_catch2</test_depend>
<test_depend>ament_cmake_uncrustify</test_depend>
<test_depend>example_interfaces</test_depend>
Expand Down
2 changes: 1 addition & 1 deletion nexus_common/src/action_client_bt_node_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
*/

#define CATCH_CONFIG_MAIN
#include <catch2/catch.hpp>
#include <rmf_utils/catch.hpp>

#include "nexus_common/action_client_bt_node.hpp"
#include "nexus_common_test/test_utils.hpp"
Expand Down
2 changes: 1 addition & 1 deletion nexus_common/src/batch_service_call_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*
*/

#include <catch2/catch.hpp>
#include <rmf_utils/catch.hpp>

#include "batch_service_call.hpp"
#include "nexus_common_test/test_utils.hpp"
Expand Down
2 changes: 1 addition & 1 deletion nexus_common/src/logging_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
*/

#define CATCH_CONFIG_MAIN
#include <catch2/catch.hpp>
#include <rmf_utils/catch.hpp>

#include "logging.hpp"
#include "test_utils.hpp"
Expand Down
2 changes: 1 addition & 1 deletion nexus_common/src/main_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@
*/

#define CATCH_CONFIG_MAIN
#include <catch2/catch.hpp>
#include <rmf_utils/catch.hpp>
2 changes: 1 addition & 1 deletion nexus_common/src/models/work_order_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*
*/

#include <catch2/catch.hpp>
#include <rmf_utils/catch.hpp>

#include "models/work_order.hpp"

Expand Down
2 changes: 1 addition & 1 deletion nexus_common/src/pausable_sequence_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
*/

#define CATCH_CONFIG_MAIN
#include <catch2/catch.hpp>
#include <rmf_utils/catch.hpp>

#include "pausable_sequence.hpp"

Expand Down
2 changes: 1 addition & 1 deletion nexus_common/src/service_client_bt_node_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
*/

#define CATCH_CONFIG_MAIN
#include <catch2/catch.hpp>
#include <rmf_utils/catch.hpp>

#include "nexus_common/service_client_bt_node.hpp"
#include "nexus_common_test/test_utils.hpp"
Expand Down
2 changes: 1 addition & 1 deletion nexus_common/src/sync_ros_client_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
*/

#define CATCH_CONFIG_MAIN
#include <catch2/catch.hpp>
#include <rmf_utils/catch.hpp>

#include "sync_service_client.hpp"
#include "test_utils.hpp"
Expand Down
7 changes: 4 additions & 3 deletions nexus_gazebo/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
endif()

find_package(ament_cmake REQUIRED)
find_package(ignition-gazebo6 REQUIRED)
find_package(gz_sim_vendor REQUIRED)
find_package(gz-sim REQUIRED)
find_package(VRPN REQUIRED)

#===============================================================================
Expand All @@ -16,7 +17,7 @@ add_library(${PROJECT_NAME} SHARED
)

target_link_libraries(${PROJECT_NAME}
ignition-gazebo6::core
gz-sim::core
${VRPN_LIBRARIES}
)

Expand All @@ -27,7 +28,7 @@ target_include_directories(${PROJECT_NAME} PUBLIC
)

ament_target_dependencies(${PROJECT_NAME}
ignition-gazebo6
gz-sim
VRPN)


Expand Down
14 changes: 7 additions & 7 deletions nexus_gazebo/include/nexus_gazebo/Components.hh
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,18 @@
#define NEXUS_GAZEBO__COMPONENTS_HH_

#include <string>
#include <ignition/gazebo/components/Component.hh>
#include <ignition/gazebo/components/Factory.hh>
#include <ignition/gazebo/components/Serialization.hh>
#include <ignition/gazebo/config.hh>
#include <gz/sim/components/Component.hh>
#include <gz/sim/components/Factory.hh>
#include <gz/sim/components/Serialization.hh>
#include <gz/sim/config.hh>

namespace nexus_gazebo::components {
using MotionCaptureRigidBody = ignition::gazebo::components::Component<
using MotionCaptureRigidBody = gz::sim::components::Component<
std::string,
class MotionCaptureRigidBodyTag,
ignition::gazebo::serializers::StringSerializer>;
gz::sim::serializers::StringSerializer>;

IGN_GAZEBO_REGISTER_COMPONENT(
GZ_SIM_REGISTER_COMPONENT(
"nexus_gazebo.components.MotionCaptureRigidBody",
MotionCaptureRigidBody)

Expand Down
14 changes: 7 additions & 7 deletions nexus_gazebo/include/nexus_gazebo/MotionCaptureRigidBody.hh
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,16 @@
#include <memory>
#include <string>

#include <ignition/gazebo/config.hh>
#include <ignition/gazebo/System.hh>
#include <gz/sim/config.hh>
#include <gz/sim/System.hh>

namespace nexus_gazebo {

using Entity = ignition::gazebo::Entity;
using EntityComponentManager = ignition::gazebo::EntityComponentManager;
using EventManager = ignition::gazebo::EventManager;
using ISystemConfigure = ignition::gazebo::ISystemConfigure;
using System = ignition::gazebo::System;
using Entity = gz::sim::Entity;
using EntityComponentManager = gz::sim::EntityComponentManager;
using EventManager = gz::sim::EventManager;
using ISystemConfigure = gz::sim::ISystemConfigure;
using System = gz::sim::System;

/// \class MotionCaptureRigidBody
class MotionCaptureRigidBody :
Expand Down
20 changes: 10 additions & 10 deletions nexus_gazebo/include/nexus_gazebo/MotionCaptureSystem.hh
Original file line number Diff line number Diff line change
Expand Up @@ -20,23 +20,23 @@
#include <unordered_map>
#include <vector>

#include <ignition/gazebo/config.hh>
#include <ignition/gazebo/System.hh>
#include <gz/sim/config.hh>
#include <gz/sim/System.hh>

#include "vrpn_Connection.h"
#include "vrpn_ConnectionPtr.h"
#include "vrpn_Tracker.h"

namespace nexus_gazebo {

using Entity = ignition::gazebo::Entity;
using EntityComponentManager = ignition::gazebo::EntityComponentManager;
using EventManager = ignition::gazebo::EventManager;
using ISystemConfigure = ignition::gazebo::ISystemConfigure;
using ISystemPostUpdate = ignition::gazebo::ISystemPostUpdate;
using Pose3d = ignition::math::Pose3d;
using System = ignition::gazebo::System;
using UpdateInfo = ignition::gazebo::UpdateInfo;
using Entity = gz::sim::Entity;
using EntityComponentManager = gz::sim::EntityComponentManager;
using EventManager = gz::sim::EventManager;
using ISystemConfigure = gz::sim::ISystemConfigure;
using ISystemPostUpdate = gz::sim::ISystemPostUpdate;
using Pose3d = gz::math::Pose3d;
using System = gz::sim::System;
using UpdateInfo = gz::sim::UpdateInfo;

class RigidBodyTracker : public vrpn_Tracker
{
Expand Down
4 changes: 2 additions & 2 deletions nexus_gazebo/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
<depend>rclcpp</depend>
<depend>vrpn</depend>

<depend condition="$GZ_VERSION == '' and $IGNITION_VERSION == ''">ignition-gazebo6</depend>
<depend condition="$GZ_VERSION == '' and $IGNITION_VERSION == ''">ignition-math6</depend>
<depend>gz_sim_vendor</depend>
<depend>gz_math_vendor</depend>

<export>
<build_type>ament_cmake</build_type>
Expand Down
10 changes: 5 additions & 5 deletions nexus_gazebo/src/MotionCaptureRigidBody.cc
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@
#include "nexus_gazebo/MotionCaptureRigidBody.hh"
#include "nexus_gazebo/Components.hh"

#include <ignition/plugin/RegisterMore.hh>
#include <ignition/gazebo/components/Name.hh>
#include <ignition/gazebo/components/ParentEntity.hh>
#include <gz/plugin/RegisterMore.hh>
#include <gz/sim/components/Name.hh>
#include <gz/sim/components/ParentEntity.hh>

constexpr const char* kRigidBodyLabel = "rigid_body_label";

Expand All @@ -41,15 +41,15 @@ void MotionCaptureRigidBody::Configure(
// In the case that the user hasn't overridden the label, then use
// the name of the entity we are attached to.
this->rigid_body_label =
_ecm.Component<ignition::gazebo::components::Name>(_entity)->Data();
_ecm.Component<gz::sim::components::Name>(_entity)->Data();
}

_ecm.CreateComponent<components::MotionCaptureRigidBody>(_entity,
components::MotionCaptureRigidBody(this->rigid_body_label));
}
} // namespace nexus_gazebo

IGNITION_ADD_PLUGIN(
GZ_ADD_PLUGIN(
nexus_gazebo::MotionCaptureRigidBody,
nexus_gazebo::System,
nexus_gazebo::MotionCaptureRigidBody::ISystemConfigure);
Loading

0 comments on commit 0741639

Please sign in to comment.