From 1a1a0960742ba06608e9d76d5c608f82ef3a37a9 Mon Sep 17 00:00:00 2001 From: SamerKhshiboun Date: Mon, 11 Jul 2022 13:40:32 +0300 Subject: [PATCH 01/16] add humble to cmake --- realsense2_camera/CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/realsense2_camera/CMakeLists.txt b/realsense2_camera/CMakeLists.txt index 82361c0401..4dcd142f65 100644 --- a/realsense2_camera/CMakeLists.txt +++ b/realsense2_camera/CMakeLists.txt @@ -145,6 +145,10 @@ elseif("$ENV{ROS_DISTRO}" STREQUAL "galactic") message(STATUS "Build for ROS2 Galactic") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGALACTIC") set(SOURCES "${SOURCES}" src/ros_param_backend_foxy.cpp) +elseif("$ENV{ROS_DISTRO}" STREQUAL "humble") + message(STATUS "Build for ROS2 Humble") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHUMBLE") + set(SOURCES "${SOURCES}" src/ros_param_backend_foxy.cpp) elseif("$ENV{ROS_DISTRO}" STREQUAL "rolling") message(STATUS "Build for ROS2 Rolling") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DROLLING") From 195279662cc52b620b1cb79dc91c2326b580e2d3 Mon Sep 17 00:00:00 2001 From: SamerKhshiboun Date: Mon, 11 Jul 2022 15:03:41 +0300 Subject: [PATCH 02/16] support humble --- .github/workflows/main.yml | 8 +++++--- .github/workflows/pre-release.yml | 8 +++++--- README.md | 10 ++++++---- realsense2_camera/src/dynamic_params.cpp | 2 +- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 37a64cfd8d..81ecba02e6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -23,12 +23,14 @@ jobs: strategy: fail-fast: false matrix: - ros_distro: [foxy, galactic, eloquent, dashing] + ros_distro: [humble, galactic, foxy, eloquent, dashing] include: - - ros_distro: 'foxy' - os: ubuntu-20.04 + - ros_distro: 'humble' + os: ubuntu-22.04 - ros_distro: 'galactic' os: ubuntu-20.04 + - ros_distro: 'foxy' + os: ubuntu-20.04 - ros_distro: 'eloquent' os: ubuntu-18.04 - ros_distro: 'dashing' diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml index c7b8304fde..7ad6679a24 100644 --- a/.github/workflows/pre-release.yml +++ b/.github/workflows/pre-release.yml @@ -31,12 +31,14 @@ jobs: strategy: fail-fast: false matrix: - ros_distro: [foxy, galactic] + ros_distro: [foxy, galactic, humble] include: - - ros_distro: 'foxy' - os: ubuntu-20.04 + - ros_distro: 'humble' + os: ubuntu-22.04 - ros_distro: 'galactic' os: ubuntu-20.04 + - ros_distro: 'foxy' + os: ubuntu-20.04 env: ROS_DISTRO: ${{ matrix.ros_distro }} diff --git a/README.md b/README.md index aec9f15a85..341d96ece6 100644 --- a/README.md +++ b/README.md @@ -28,13 +28,15 @@ LibRealSense supported version: v2.50.0 (see [realsense2_camera release notes](h ## Installation Instructions ### Step 1: Install the ROS2 distribution - - #### Ubuntu 18.04 : - - [ROS2 Dashing](https://docs.ros.org/en/dashing/Installation/Ubuntu-Install-Debians.html) - - [ROS2 Eloquent](https://docs.ros.org/en/eloquent/Installation/Linux-Install-Debians.html) + - #### Ubuntu 22.04: + - [ROS2 Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html) - #### Ubuntu 20.04: - [ROS2 Foxy](https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.html) - [ROS2 Galactic](https://docs.ros.org/en/galactic/Installation/Ubuntu-Install-Debians.html) - [ROS2 Rolling](https://docs.ros.org/en/rolling/Installation/Ubuntu-Install-Debians.html) + - #### Ubuntu 18.04 : + - [ROS2 Dashing](https://docs.ros.org/en/dashing/Installation/Ubuntu-Install-Debians.html) + - [ROS2 Eloquent](https://docs.ros.org/en/eloquent/Installation/Linux-Install-Debians.html) ### Step 2: Install the latest Intel® RealSense™ SDK 2.0 @@ -75,7 +77,7 @@ LibRealSense supported version: v2.50.0 (see [realsense2_camera release notes](h ### Step 6: Terminal environment ```bash - ROS_DISTRO= # set your ROS_DISTRO: galactic, foxy, eloquent, dashing + ROS_DISTRO= # set your ROS_DISTRO: humble, galactic, foxy, eloquent, dashing source /opt/ros/$ROS_DISTRO/setup.bash cd ~/ros2_ws . install/local_setup.bash diff --git a/realsense2_camera/src/dynamic_params.cpp b/realsense2_camera/src/dynamic_params.cpp index b6aaad6593..d9dc43d40f 100644 --- a/realsense2_camera/src/dynamic_params.cpp +++ b/realsense2_camera/src/dynamic_params.cpp @@ -103,7 +103,7 @@ namespace realsense2_camera try { ROS_DEBUG_STREAM("setParam::Setting parameter: " << param_name); -#if defined(GALACTIC) || defined(ROLLING) +#if defined(GALACTIC) || defined(HUMBLE) || defined(ROLLING) descriptor.dynamic_typing=true; // Without this, undeclare_parameter() throws in Galactic onward. #endif if (!_node.get_parameter(param_name, result_value)) From 9f7f51b6e72b964c1626204bac82abf572ffff65 Mon Sep 17 00:00:00 2001 From: SamerKhshiboun Date: Mon, 11 Jul 2022 15:09:11 +0300 Subject: [PATCH 03/16] upgrade setup-ros script to v0.3 --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 81ecba02e6..cdc1c95411 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -51,7 +51,7 @@ jobs: cd ${{github.workspace}}/ros2/src/realsense-ros/scripts ./pr_check.sh - - uses: ros-tooling/setup-ros@v0.2 + - uses: ros-tooling/setup-ros@v0.3 with: required-ros-distributions: ${{ matrix.ros_distro }} From 61f281415da48f2520f9623dac66cb4aa7793fcf Mon Sep 17 00:00:00 2001 From: SamerKhshiboun Date: Mon, 11 Jul 2022 15:12:47 +0300 Subject: [PATCH 04/16] fix spaces/tabs --- .github/workflows/pre-release.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml index 7ad6679a24..e7e687d325 100644 --- a/.github/workflows/pre-release.yml +++ b/.github/workflows/pre-release.yml @@ -33,11 +33,11 @@ jobs: matrix: ros_distro: [foxy, galactic, humble] include: - - ros_distro: 'humble' - os: ubuntu-22.04 + - ros_distro: 'humble' + os: ubuntu-22.04 - ros_distro: 'galactic' os: ubuntu-20.04 - - ros_distro: 'foxy' + - ros_distro: 'foxy' os: ubuntu-20.04 env: From d35b5dc5cabdafe51a9d3804d8d328bdb4dae0b8 Mon Sep 17 00:00:00 2001 From: SamerKhshiboun Date: Mon, 11 Jul 2022 15:15:48 +0300 Subject: [PATCH 05/16] fix spaces and line endings --- .github/workflows/pre-release.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml index e7e687d325..95a608d0ee 100644 --- a/.github/workflows/pre-release.yml +++ b/.github/workflows/pre-release.yml @@ -33,11 +33,11 @@ jobs: matrix: ros_distro: [foxy, galactic, humble] include: - - ros_distro: 'humble' - os: ubuntu-22.04 + - ros_distro: 'humble' + os: ubuntu-22.04 - ros_distro: 'galactic' os: ubuntu-20.04 - - ros_distro: 'foxy' + - ros_distro: 'foxy' os: ubuntu-20.04 env: From 41e6a522f38d64f9f404471c7f471844deda4c14 Mon Sep 17 00:00:00 2001 From: SamerKhshiboun Date: Mon, 11 Jul 2022 15:32:09 +0300 Subject: [PATCH 06/16] add ifs to choose v2 vs v3 of ros-tools --- .github/workflows/main.yml | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index cdc1c95411..ad5f8d5d9f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -40,7 +40,7 @@ jobs: - name: Setup ROS2 Workspace run: | mkdir -p ${{github.workspace}}/ros2/src - + - uses: actions/checkout@v2 with: path: 'ros2/src/realsense-ros' @@ -50,8 +50,17 @@ jobs: run: | cd ${{github.workspace}}/ros2/src/realsense-ros/scripts ./pr_check.sh - - - uses: ros-tooling/setup-ros@v0.3 + + + - name: build ROS2 Dashing/Eloquent + if: ${{ matrix.ros_distro == 'eloquent' || matrix.ros_distro == 'dashing' }} + uses: ros-tooling/setup-ros@v0.2 + with: + required-ros-distributions: ${{ matrix.ros_distro }} + + - name: build ROS2 Humble/Galactic/Foxy + if: ${{ matrix.ros_distro != 'eloquent' && matrix.ros_distro != 'dashing' }} + uses: ros-tooling/setup-ros@v0.3 with: required-ros-distributions: ${{ matrix.ros_distro }} @@ -65,6 +74,7 @@ jobs: sudo apt-get update - name: Build + if: ${{ matrix.ros_distro != 'humble' }} run: | echo "source /opt/ros/${{ matrix.ros_distro }}/setup.bash" >> ${{github.workspace}}/.bashrc source ${{github.workspace}}/.bashrc @@ -87,12 +97,14 @@ jobs: # wget $bag_filename -P "records/" - name: Install Packages For Tests + if: ${{ matrix.ros_distro != 'humble' }} run: | sudo apt-get install python3-pip pip3 install numpy --upgrade pip3 install numpy-quaternion tqdm - name: Run Tests + if: ${{ matrix.ros_distro != 'humble' }} run: | cd ${{github.workspace}}/ros2 source ${{github.workspace}}/.bashrc From 8bbe6e2c19fe31528f6d323c6a7d5b558f9c4b94 Mon Sep 17 00:00:00 2001 From: SamerKhshiboun Date: Mon, 11 Jul 2022 15:38:17 +0300 Subject: [PATCH 07/16] build humble --- .github/workflows/main.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ad5f8d5d9f..d204884478 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -52,14 +52,14 @@ jobs: ./pr_check.sh - - name: build ROS2 Dashing/Eloquent - if: ${{ matrix.ros_distro == 'eloquent' || matrix.ros_distro == 'dashing' }} + - name: build ROS2 Galactic/Foxy/Eloquent/Dashing + if: ${{ matrix.ros_distro != 'humble'}} uses: ros-tooling/setup-ros@v0.2 with: required-ros-distributions: ${{ matrix.ros_distro }} - - name: build ROS2 Humble/Galactic/Foxy - if: ${{ matrix.ros_distro != 'eloquent' && matrix.ros_distro != 'dashing' }} + - name: build ROS2 Humble + if: ${{ matrix.ros_distro == 'humble' }} uses: ros-tooling/setup-ros@v0.3 with: required-ros-distributions: ${{ matrix.ros_distro }} From 0013cfb76bea1c0792d76d8486bac49493749018 Mon Sep 17 00:00:00 2001 From: SamerKhshiboun Date: Mon, 11 Jul 2022 16:03:05 +0300 Subject: [PATCH 08/16] skip RS2 for humble for now --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d204884478..701178dd3b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -65,6 +65,7 @@ jobs: required-ros-distributions: ${{ matrix.ros_distro }} - name: Install RealSense SDK 2.0 Dependencies + if: ${{ matrix.ros_distro != 'humble' }} run: | sudo apt-get update sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv-key C8B3A55A6F3EFCDE From 42a59d6631d090bf5f08b3d627d3b844d365c921 Mon Sep 17 00:00:00 2001 From: SamerKhshiboun Date: Mon, 11 Jul 2022 16:13:16 +0300 Subject: [PATCH 09/16] skip humble in pre-release script for now --- .github/workflows/pre-release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml index 95a608d0ee..827a4e7ada 100644 --- a/.github/workflows/pre-release.yml +++ b/.github/workflows/pre-release.yml @@ -46,6 +46,7 @@ jobs: BASEDIR: ${{ github.workspace }}/.work steps: + if: ${{ matrix.ros_distro != 'humble' }} - uses: actions/checkout@v2 - name: industrial_ci uses: ros-industrial/industrial_ci@master From a782ad5593bc7bcf9afd305fc912a44fa3279e38 Mon Sep 17 00:00:00 2001 From: SamerKhshiboun Date: Mon, 11 Jul 2022 16:15:34 +0300 Subject: [PATCH 10/16] skip humble for pre-release.yml --- .github/workflows/pre-release.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml index 827a4e7ada..adf299bb1b 100644 --- a/.github/workflows/pre-release.yml +++ b/.github/workflows/pre-release.yml @@ -31,10 +31,8 @@ jobs: strategy: fail-fast: false matrix: - ros_distro: [foxy, galactic, humble] + ros_distro: [galactic, foxy] include: - - ros_distro: 'humble' - os: ubuntu-22.04 - ros_distro: 'galactic' os: ubuntu-20.04 - ros_distro: 'foxy' @@ -46,7 +44,6 @@ jobs: BASEDIR: ${{ github.workspace }}/.work steps: - if: ${{ matrix.ros_distro != 'humble' }} - uses: actions/checkout@v2 - name: industrial_ci uses: ros-industrial/industrial_ci@master From f7ee9a83dca90ce373a8a4f400c917e941cd1132 Mon Sep 17 00:00:00 2001 From: SamerKhshiboun Date: Mon, 11 Jul 2022 16:49:41 +0300 Subject: [PATCH 11/16] humble: build LRS2 from source --- .github/workflows/main.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 701178dd3b..0f5ba353a0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -73,9 +73,19 @@ jobs: sudo apt-get update -qq sudo apt-get install librealsense2-dev --allow-unauthenticated -y sudo apt-get update - + + - name: Build RealSense SDK 2.0 from source + if: ${{ matrix.ros_distro == 'humble' }} + run: | + sudo apt-get install gcc-11 g++-11 + git clone https://github.com/IntelRealSense/librealsense.git -b master + cd librealsense + sudo mkdir build && cd build + sudo cmake ../ -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=false -DBUILD_GRAPHICAL_EXAMPLES=false + sudo make uninstall && make clean && make -j10 && sudo make install + - name: Build - if: ${{ matrix.ros_distro != 'humble' }} + #if: ${{ matrix.ros_distro != 'humble' }} run: | echo "source /opt/ros/${{ matrix.ros_distro }}/setup.bash" >> ${{github.workspace}}/.bashrc source ${{github.workspace}}/.bashrc From 837f9db60168dbba67cc39241f269aac5434fc90 Mon Sep 17 00:00:00 2001 From: SamerKhshiboun Date: Mon, 11 Jul 2022 17:09:49 +0300 Subject: [PATCH 12/16] c1 --- .github/workflows/main.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0f5ba353a0..a746f09820 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -78,11 +78,16 @@ jobs: if: ${{ matrix.ros_distro == 'humble' }} run: | sudo apt-get install gcc-11 g++-11 + cd ${{github.workspace}} git clone https://github.com/IntelRealSense/librealsense.git -b master cd librealsense - sudo mkdir build && cd build + sudo mkdir build + cd build sudo cmake ../ -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=false -DBUILD_GRAPHICAL_EXAMPLES=false - sudo make uninstall && make clean && make -j10 && sudo make install + sudo make uninstall + sudo make clean + sudo make -j10 + sudo make install - name: Build #if: ${{ matrix.ros_distro != 'humble' }} From ec563865a738782a25e1b404a4baec336a8f5fe8 Mon Sep 17 00:00:00 2001 From: SamerKhshiboun Date: Mon, 11 Jul 2022 17:40:57 +0300 Subject: [PATCH 13/16] c2 --- .github/workflows/main.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a746f09820..e15ac7eed9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -90,7 +90,6 @@ jobs: sudo make install - name: Build - #if: ${{ matrix.ros_distro != 'humble' }} run: | echo "source /opt/ros/${{ matrix.ros_distro }}/setup.bash" >> ${{github.workspace}}/.bashrc source ${{github.workspace}}/.bashrc @@ -113,14 +112,12 @@ jobs: # wget $bag_filename -P "records/" - name: Install Packages For Tests - if: ${{ matrix.ros_distro != 'humble' }} run: | sudo apt-get install python3-pip pip3 install numpy --upgrade pip3 install numpy-quaternion tqdm - name: Run Tests - if: ${{ matrix.ros_distro != 'humble' }} run: | cd ${{github.workspace}}/ros2 source ${{github.workspace}}/.bashrc From 47370e6f912578a7b33a7fcabc7942e4b2252413 Mon Sep 17 00:00:00 2001 From: SamerKhshiboun Date: Tue, 12 Jul 2022 09:50:52 +0300 Subject: [PATCH 14/16] add comments for GH Actions update README.md --- .github/workflows/main.yml | 11 +++++++---- README.md | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e15ac7eed9..d6873a3d38 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -51,19 +51,24 @@ jobs: cd ${{github.workspace}}/ros2/src/realsense-ros/scripts ./pr_check.sh - + ## If distro is one of [galactic, foxy, eloquent, dashing], use the setup-ros@v0.2 + ## which supports old versions of ROS2 and EOL versions. + ## For Humble distro, use v0.3 + ## See: 1) https://github.com/ros-tooling/setup-ros#Supported-platforms + ## 2) https://github.com/ros-tooling/setup-ros/tree/v0.2#Supported-platforms - name: build ROS2 Galactic/Foxy/Eloquent/Dashing if: ${{ matrix.ros_distro != 'humble'}} uses: ros-tooling/setup-ros@v0.2 with: required-ros-distributions: ${{ matrix.ros_distro }} - - name: build ROS2 Humble if: ${{ matrix.ros_distro == 'humble' }} uses: ros-tooling/setup-ros@v0.3 with: required-ros-distributions: ${{ matrix.ros_distro }} + ## For all distros except humble, install RealSense SDK From Debinas + ## For Humble distro, install from source (TODO: Change this when we got debians for Humble) - name: Install RealSense SDK 2.0 Dependencies if: ${{ matrix.ros_distro != 'humble' }} run: | @@ -73,11 +78,9 @@ jobs: sudo apt-get update -qq sudo apt-get install librealsense2-dev --allow-unauthenticated -y sudo apt-get update - - name: Build RealSense SDK 2.0 from source if: ${{ matrix.ros_distro == 'humble' }} run: | - sudo apt-get install gcc-11 g++-11 cd ${{github.workspace}} git clone https://github.com/IntelRealSense/librealsense.git -b master cd librealsense diff --git a/README.md b/README.md index 341d96ece6..f1890ab334 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ LibRealSense supported version: v2.50.0 (see [realsense2_camera release notes](h ### Step 2: Install the latest Intel® RealSense™ SDK 2.0 -- #### Option 1: Install librealsense2 debian package +- #### Option 1: Install librealsense2 debian package (Not supported in Ubuntu 22.04 yet) - Jetson users - use the [Jetson Installation Guide](https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_jetson.md) - Otherwise, install from [Linux Debian Installation Guide](https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md#installing-the-packages) - In this case treat yourself as a developer: make sure to follow the instructions to also install librealsense2-dev and librealsense2-dkms packages From bec9832ac863af0d3a32f59abd05155766030234 Mon Sep 17 00:00:00 2001 From: SamerKhshiboun Date: Tue, 12 Jul 2022 16:56:21 +0300 Subject: [PATCH 15/16] fix ifdefs --- realsense2_camera/src/dynamic_params.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/realsense2_camera/src/dynamic_params.cpp b/realsense2_camera/src/dynamic_params.cpp index d9dc43d40f..7622f54aad 100644 --- a/realsense2_camera/src/dynamic_params.cpp +++ b/realsense2_camera/src/dynamic_params.cpp @@ -103,7 +103,9 @@ namespace realsense2_camera try { ROS_DEBUG_STREAM("setParam::Setting parameter: " << param_name); -#if defined(GALACTIC) || defined(HUMBLE) || defined(ROLLING) +#if defined(DASHING) || defined(ELOQUENT) || defined(FOXY) + //do nothing for old versions +#else descriptor.dynamic_typing=true; // Without this, undeclare_parameter() throws in Galactic onward. #endif if (!_node.get_parameter(param_name, result_value)) From 766c77056dbdb0718c41861ec2eaf714112f5e50 Mon Sep 17 00:00:00 2001 From: SamerKhshiboun Date: Tue, 12 Jul 2022 19:13:10 +0300 Subject: [PATCH 16/16] update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index f1890ab334..c5eb2c8592 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,6 @@ LibRealSense supported version: v2.50.0 (see [realsense2_camera release notes](h - #### Ubuntu 20.04: - [ROS2 Foxy](https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.html) - [ROS2 Galactic](https://docs.ros.org/en/galactic/Installation/Ubuntu-Install-Debians.html) - - [ROS2 Rolling](https://docs.ros.org/en/rolling/Installation/Ubuntu-Install-Debians.html) - #### Ubuntu 18.04 : - [ROS2 Dashing](https://docs.ros.org/en/dashing/Installation/Ubuntu-Install-Debians.html) - [ROS2 Eloquent](https://docs.ros.org/en/eloquent/Installation/Linux-Install-Debians.html)