From 7edf0a42d65f9dc2f60d51ea0843cc8ea99b73a6 Mon Sep 17 00:00:00 2001 From: AlexBarbi Date: Mon, 13 Jul 2026 10:33:21 +0200 Subject: [PATCH 01/10] update server build yaml --- .github/workflows/ros-build-test.yml | 49 ++++++++++++++++------------ 1 file changed, 29 insertions(+), 20 deletions(-) diff --git a/.github/workflows/ros-build-test.yml b/.github/workflows/ros-build-test.yml index 7d3bf629..ca7384fc 100644 --- a/.github/workflows/ros-build-test.yml +++ b/.github/workflows/ros-build-test.yml @@ -2,9 +2,9 @@ name: Build and Test legged control on: push: - branches: [ ros-one-devel ] + branches: [ ros2-jazzy-devel ] pull_request: - branches: [ ros-one-devel ] + branches: [ ros2-jazzy-devel ] jobs: build: @@ -30,18 +30,29 @@ jobs: apt-get update apt-get install -y git ninja-build liburdfdom-dev liboctomap-dev libassimp-dev liblcm-dev checkinstall wget rsync curl - - name: ROS One installation + - name: ROS Jazzy installation run: | - curl -sSL https://ros.packages.techfak.net/gpg.key -o /etc/apt/keyrings/ros-one-keyring.gpg - echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/ros-one-keyring.gpg] https://ros.packages.techfak.net $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/ros1.list - apt-get update - apt-get install -y python3-rosdep python3-catkin-tools - rosdep init - echo "yaml https://ros.packages.techfak.net/ros-one.yaml one" | tee /etc/ros/rosdep/sources.list.d/1-ros-one.list - rosdep update - apt-get install -y ros-one-desktop - apt-get install -y ros-one-controller-interface ros-one-realtime-tools ros-one-joint-state-controller ros-one-imu-sensor-controller ros-one-gazebo-ros ros-one-gazebo-ros-control - + locale + apt update + apt install locales + locale-gen en_US en_US.UTF-8 + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 + export LANG=en_US.UTF-8 + locale + apt install software-properties-common + add-apt-repository universe + apt update + export ROS_APT_SOURCE_VERSION=$(curl -s https://api.github.com/repos/ros-infrastructure/ros-apt-source/releases/latest | grep -F "tag_name" | awk -F'"' '{print $4}') + curl -L -o /tmp/ros2-apt-source.deb "https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS_APT_SOURCE_VERSION}/ros2-apt-source_${ROS_APT_SOURCE_VERSION}.$(. /etc/os-release && echo ${UBUNTU_CODENAME:-${VERSION_CODENAME}})_all.deb" + dpkg -i /tmp/ros2-apt-source.deb + apt update + apt install ros-dev-tools + apt update + apt upgrade + apt install ros-jazzy-desktop + apt install ros-jazzy-ros-base + source /opt/ros/jazzy/setup.bash + - name: Pinocchio from robotpkg run: | curl http://robotpkg.openrobots.org/packages/debian/robotpkg.asc | tee /etc/apt/keyrings/robotpkg.asc @@ -53,12 +64,12 @@ jobs: - name: Checkout dependencies run: | - git clone -b ros-one-devel https://github.com/idra-lab/ocs2.git src/ocs2 - git clone https://github.com/leggedrobotics/ocs2_robotic_assets.git src/ocs2_robotic_assets + git clone -b ros2 https://github.com/idra-lab/ocs2.git src/ocs2 + git clone -b ros2 https://github.com/leggedrobotics/ocs2_robotic_assets.git src/ocs2_robotic_assets - uses: actions/checkout@v4 with: - ref: ros-one-devel + ref: ros2-jazzy-devel path: src/legged_control - name: Rosdep @@ -69,7 +80,5 @@ jobs: - name: Build Release shell: bash run: | - source /opt/ros/one/setup.bash - catkin init - catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release - catkin build legged_controllers legged_unitree_description legged_gazebo legged_unitree_hw + source /opt/ros/jazzy/setup.bash + colcon build --packages-up-to legged_controllers legged_unitree_description legged_gazebo legged_unitree_hw From fe5f89354d7e7bbabed3fbdac32252105c936490 Mon Sep 17 00:00:00 2001 From: AlexBarbi Date: Mon, 13 Jul 2026 10:48:48 +0200 Subject: [PATCH 02/10] fix -y --- .github/workflows/ros-build-test.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ros-build-test.yml b/.github/workflows/ros-build-test.yml index ca7384fc..9d4302ed 100644 --- a/.github/workflows/ros-build-test.yml +++ b/.github/workflows/ros-build-test.yml @@ -34,24 +34,23 @@ jobs: run: | locale apt update - apt install locales + apt install -y locales locale-gen en_US en_US.UTF-8 update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 export LANG=en_US.UTF-8 locale - apt install software-properties-common + apt install -y software-properties-common add-apt-repository universe apt update export ROS_APT_SOURCE_VERSION=$(curl -s https://api.github.com/repos/ros-infrastructure/ros-apt-source/releases/latest | grep -F "tag_name" | awk -F'"' '{print $4}') curl -L -o /tmp/ros2-apt-source.deb "https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS_APT_SOURCE_VERSION}/ros2-apt-source_${ROS_APT_SOURCE_VERSION}.$(. /etc/os-release && echo ${UBUNTU_CODENAME:-${VERSION_CODENAME}})_all.deb" dpkg -i /tmp/ros2-apt-source.deb apt update - apt install ros-dev-tools + apt install -y ros-dev-tools apt update - apt upgrade - apt install ros-jazzy-desktop - apt install ros-jazzy-ros-base - source /opt/ros/jazzy/setup.bash + apt upgrade -y + apt install -y ros-jazzy-desktop + apt install -y ros-jazzy-ros-base - name: Pinocchio from robotpkg run: | @@ -74,6 +73,7 @@ jobs: - name: Rosdep run: | + rosdep init || true rosdep update rosdep install --from-paths src --ignore-src -r -y From 15aa7129110debd33ea1485c6b486e89b5ecfe93 Mon Sep 17 00:00:00 2001 From: AlexBarbi Date: Mon, 13 Jul 2026 10:51:19 +0200 Subject: [PATCH 03/10] add ros jazzy packages --- .github/workflows/ros-build-test.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/ros-build-test.yml b/.github/workflows/ros-build-test.yml index 9d4302ed..003f9a7e 100644 --- a/.github/workflows/ros-build-test.yml +++ b/.github/workflows/ros-build-test.yml @@ -51,6 +51,13 @@ jobs: apt upgrade -y apt install -y ros-jazzy-desktop apt install -y ros-jazzy-ros-base + apt install -y \ + ros-jazzy-controller-interface \ + ros-jazzy-hardware-interface \ + ros-jazzy-realtime-tools \ + ros-jazzy-joint-state-broadcaster \ + ros-jazzy-imu-sensor-broadcaster \ + ros-jazzy-gazebo-ros2-control - name: Pinocchio from robotpkg run: | From 990870d4f795a59c96756267ef333f9be29009d9 Mon Sep 17 00:00:00 2001 From: AlexBarbi Date: Mon, 13 Jul 2026 10:56:37 +0200 Subject: [PATCH 04/10] build in debug mode --- .github/workflows/ros-build-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ros-build-test.yml b/.github/workflows/ros-build-test.yml index 003f9a7e..4c59fd59 100644 --- a/.github/workflows/ros-build-test.yml +++ b/.github/workflows/ros-build-test.yml @@ -88,4 +88,4 @@ jobs: shell: bash run: | source /opt/ros/jazzy/setup.bash - colcon build --packages-up-to legged_controllers legged_unitree_description legged_gazebo legged_unitree_hw + colcon build --packages-up-to legged_controllers legged_unitree_description legged_gazebo legged_unitree_hw --cmake-args -DCMAKE_BUILD_TYPE=Debug From 20234bed4ba798cdde5d080675179c087f3ca121 Mon Sep 17 00:00:00 2001 From: AlexBarbi Date: Mon, 13 Jul 2026 11:25:50 +0200 Subject: [PATCH 05/10] fix package name --- .github/workflows/ros-build-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ros-build-test.yml b/.github/workflows/ros-build-test.yml index 4c59fd59..2923d2e9 100644 --- a/.github/workflows/ros-build-test.yml +++ b/.github/workflows/ros-build-test.yml @@ -57,7 +57,7 @@ jobs: ros-jazzy-realtime-tools \ ros-jazzy-joint-state-broadcaster \ ros-jazzy-imu-sensor-broadcaster \ - ros-jazzy-gazebo-ros2-control + ros-jazzy-gz-ros2-control - name: Pinocchio from robotpkg run: | From 3c0a56173a7e4ed2fc4e1d2c090d163b34999a6c Mon Sep 17 00:00:00 2001 From: AlexBarbi Date: Mon, 13 Jul 2026 12:45:00 +0200 Subject: [PATCH 06/10] update --- .github/workflows/ros-build-test.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ros-build-test.yml b/.github/workflows/ros-build-test.yml index 2923d2e9..17eafa31 100644 --- a/.github/workflows/ros-build-test.yml +++ b/.github/workflows/ros-build-test.yml @@ -61,12 +61,12 @@ jobs: - name: Pinocchio from robotpkg run: | + apt install -qqy lsb-release + mkdir -p /etc/apt/keyrings curl http://robotpkg.openrobots.org/packages/debian/robotpkg.asc | tee /etc/apt/keyrings/robotpkg.asc echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/robotpkg.asc] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -cs) robotpkg" | tee /etc/apt/sources.list.d/robotpkg.list - apt-get update - apt-get install -y robotpkg-coal robotpkg-pinocchio - echo "CMAKE_PREFIX_PATH=/opt/openrobots:${CMAKE_PREFIX_PATH}" >> $GITHUB_ENV - echo "LD_LIBRARY_PATH=/opt/openrobots/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV + apt update + apt install robotpkg-pinocchio robotpkg-coal - name: Checkout dependencies run: | From aeef3c9e2f0689ef3b3207c398f8b041d9b9401a Mon Sep 17 00:00:00 2001 From: AlexBarbi Date: Mon, 13 Jul 2026 12:52:11 +0200 Subject: [PATCH 07/10] fix -y --- .github/workflows/ros-build-test.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ros-build-test.yml b/.github/workflows/ros-build-test.yml index 17eafa31..88c5afcf 100644 --- a/.github/workflows/ros-build-test.yml +++ b/.github/workflows/ros-build-test.yml @@ -66,7 +66,12 @@ jobs: curl http://robotpkg.openrobots.org/packages/debian/robotpkg.asc | tee /etc/apt/keyrings/robotpkg.asc echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/robotpkg.asc] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -cs) robotpkg" | tee /etc/apt/sources.list.d/robotpkg.list apt update - apt install robotpkg-pinocchio robotpkg-coal + apt install -y robotpkg-pinocchio robotpkg-coal + export PATH=/opt/openrobots/bin:$PATH + export PKG_CONFIG_PATH=/opt/openrobots/lib/pkgconfig:$PKG_CONFIG_PATH + export LD_LIBRARY_PATH=/opt/openrobots/lib:$LD_LIBRARY_PATH + export PYTHONPATH=/opt/openrobots/lib/python3.10/site-packages:$PYTHONPATH # Adapt your desired python version here + export CMAKE_PREFIX_PATH=/opt/openrobots:$CMAKE_PREFIX_PATH - name: Checkout dependencies run: | From 89c1d22fb1afbec5b14cf167ad5cf63ee7a98c67 Mon Sep 17 00:00:00 2001 From: AlexBarbi Date: Mon, 13 Jul 2026 13:05:23 +0200 Subject: [PATCH 08/10] fixes --- .github/workflows/ros-build-test.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ros-build-test.yml b/.github/workflows/ros-build-test.yml index 88c5afcf..6e210e5a 100644 --- a/.github/workflows/ros-build-test.yml +++ b/.github/workflows/ros-build-test.yml @@ -57,7 +57,10 @@ jobs: ros-jazzy-realtime-tools \ ros-jazzy-joint-state-broadcaster \ ros-jazzy-imu-sensor-broadcaster \ - ros-jazzy-gz-ros2-control + ros-jazzy-simulation-interfaces \ + ros-jazzy-ros-gz-interfaces \ + ros-jazzy-gz-ros2-control \ + ros-jazzy-ros-gz - name: Pinocchio from robotpkg run: | @@ -89,7 +92,7 @@ jobs: rosdep update rosdep install --from-paths src --ignore-src -r -y - - name: Build Release + - name: Build Debug shell: bash run: | source /opt/ros/jazzy/setup.bash From aca58cfd77398d48ec7a993822705b0e3f511d51 Mon Sep 17 00:00:00 2001 From: AlexBarbi Date: Mon, 13 Jul 2026 13:18:14 +0200 Subject: [PATCH 09/10] fix export to echo --- .github/workflows/ros-build-test.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ros-build-test.yml b/.github/workflows/ros-build-test.yml index 6e210e5a..461e0da4 100644 --- a/.github/workflows/ros-build-test.yml +++ b/.github/workflows/ros-build-test.yml @@ -70,11 +70,11 @@ jobs: echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/robotpkg.asc] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -cs) robotpkg" | tee /etc/apt/sources.list.d/robotpkg.list apt update apt install -y robotpkg-pinocchio robotpkg-coal - export PATH=/opt/openrobots/bin:$PATH - export PKG_CONFIG_PATH=/opt/openrobots/lib/pkgconfig:$PKG_CONFIG_PATH - export LD_LIBRARY_PATH=/opt/openrobots/lib:$LD_LIBRARY_PATH - export PYTHONPATH=/opt/openrobots/lib/python3.10/site-packages:$PYTHONPATH # Adapt your desired python version here - export CMAKE_PREFIX_PATH=/opt/openrobots:$CMAKE_PREFIX_PATH + echo "/opt/openrobots/bin" >> $GITHUB_PATH + echo "PKG_CONFIG_PATH=/opt/openrobots/lib/pkgconfig:${PKG_CONFIG_PATH}" >> $GITHUB_ENV + echo "LD_LIBRARY_PATH=/opt/openrobots/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV + echo "PYTHONPATH=/opt/openrobots/lib/python3.10/site-packages:${PYTHONPATH}" >> $GITHUB_ENV + echo "CMAKE_PREFIX_PATH=/opt/openrobots:${CMAKE_PREFIX_PATH}" >> $GITHUB_ENV - name: Checkout dependencies run: | @@ -96,4 +96,5 @@ jobs: shell: bash run: | source /opt/ros/jazzy/setup.bash + echo "CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH" colcon build --packages-up-to legged_controllers legged_unitree_description legged_gazebo legged_unitree_hw --cmake-args -DCMAKE_BUILD_TYPE=Debug From 727724afbbffae5e634fbfa19e6c4179cfeefacf Mon Sep 17 00:00:00 2001 From: Marco Camurri <13381545+mcamurri@users.noreply.github.com> Date: Tue, 28 Jul 2026 13:35:59 +0200 Subject: [PATCH 10/10] Change build type from Debug to Release --- .github/workflows/ros-build-test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ros-build-test.yml b/.github/workflows/ros-build-test.yml index 461e0da4..a9d92072 100644 --- a/.github/workflows/ros-build-test.yml +++ b/.github/workflows/ros-build-test.yml @@ -92,9 +92,9 @@ jobs: rosdep update rosdep install --from-paths src --ignore-src -r -y - - name: Build Debug + - name: Build Release shell: bash run: | source /opt/ros/jazzy/setup.bash echo "CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH" - colcon build --packages-up-to legged_controllers legged_unitree_description legged_gazebo legged_unitree_hw --cmake-args -DCMAKE_BUILD_TYPE=Debug + colcon build --packages-up-to legged_controllers legged_unitree_description legged_gazebo legged_unitree_hw --cmake-args -DCMAKE_BUILD_TYPE=Release