From 7b43efd27ca11166a8442cec8f6e3bddc7b1b8a6 Mon Sep 17 00:00:00 2001 From: Rooholla-KhorramBakht Date: Tue, 4 Jun 2024 22:11:19 -0500 Subject: [PATCH] iassc ros container updated to jetpack 6 --- docker/Dockerfile.aarch64 | 344 +- docker/Dockerfile.aarch64.ros2_humble | 9 - docker/Dockerfile.cvcuda | 30 - docker/Dockerfile.go2py | 16 +- docker/Dockerfile.realsense | 44 +- docker/Dockerfile.ros2_humble | 250 +- docker/Dockerfile.user | 17 +- docker/Dockerfile.x86 | 65 - docker/Dockerfile.x86_64 | 226 +- docker/Dockerfile.x86_64.ros2_humble | 9 - docker/Dockerfile.zed | 44 - docker/config/docker.bashrc | 149 - .../patches/libcudacxx_aarch64_cuda_11_4.diff | 28 - docker/rosdep/extra_rosdeps.yaml | 9091 +++++++++++++++++ docker/scripts/install-unitree-ros2.sh | 4 +- docker/scripts/install-zed-x86_64.sh | 4 + docker/scripts/workspace-entrypoint.sh | 15 +- .../tao/tao-converter-aarch64-tensorrt8.4.zip | Bin 35923 -> 0 bytes scripts/.isaac_ros_common-config | 2 +- scripts/build_base_image.sh | 194 +- scripts/build_image_layers.sh | 342 + scripts/deploy/_Dockerfile.deploy | 48 + scripts/deploy/_Dockerfile.deploy_ws | 21 + scripts/deploy/_deploy-entrypoint.sh | 28 + scripts/docker_deploy.sh | 261 + scripts/run_dev.sh | 226 +- 26 files changed, 10432 insertions(+), 1035 deletions(-) delete mode 100644 docker/Dockerfile.aarch64.ros2_humble delete mode 100644 docker/Dockerfile.cvcuda delete mode 100644 docker/Dockerfile.x86 delete mode 100644 docker/Dockerfile.x86_64.ros2_humble delete mode 100644 docker/Dockerfile.zed delete mode 100644 docker/config/docker.bashrc delete mode 100644 docker/patches/libcudacxx_aarch64_cuda_11_4.diff create mode 100644 docker/rosdep/extra_rosdeps.yaml delete mode 100644 docker/tao/tao-converter-aarch64-tensorrt8.4.zip create mode 100755 scripts/build_image_layers.sh create mode 100644 scripts/deploy/_Dockerfile.deploy create mode 100644 scripts/deploy/_Dockerfile.deploy_ws create mode 100644 scripts/deploy/_deploy-entrypoint.sh create mode 100755 scripts/docker_deploy.sh diff --git a/docker/Dockerfile.aarch64 b/docker/Dockerfile.aarch64 index 7205f9b..5df747c 100644 --- a/docker/Dockerfile.aarch64 +++ b/docker/Dockerfile.aarch64 @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2022, NVIDIA CORPORATION. All rights reserved. +# Copyright (c) 2021-2024, NVIDIA CORPORATION. All rights reserved. # # NVIDIA CORPORATION and its licensors retain all intellectual property # and proprietary rights in and to this software, related documentation @@ -7,224 +7,240 @@ # license agreement from NVIDIA CORPORATION is strictly prohibited. # Docker file for aarch64 based Jetson device -ARG BASE_IMAGE="nvcr.io/nvidia/l4t-base:35.4.1" +ARG BASE_IMAGE="nvcr.io/nvidia/l4t-cuda:12.2.12-devel" FROM ${BASE_IMAGE} +# Store list of packages (must be first) +RUN mkdir -p /opt/nvidia/isaac_ros_dev_base && dpkg-query -W | sort > /opt/nvidia/isaac_ros_dev_base/aarch64-start-packages.csv + # Disable terminal interaction for apt ENV DEBIAN_FRONTEND=noninteractive ENV SHELL /bin/bash SHELL ["/bin/bash", "-c"] # Ensure we have universe -RUN apt-get update \ - && apt-get install -y software-properties-common \ - && add-apt-repository universe +RUN --mount=type=cache,target=/var/cache/apt \ +apt-get update && apt-get install -y \ + software-properties-common \ +&& add-apt-repository universe \ +&& apt-get update # Fundamentals -RUN apt-get update && apt-get install -y \ +RUN --mount=type=cache,target=/var/cache/apt \ +apt-get update && apt-get install -y \ + apt-utils \ + bash-completion \ build-essential \ ca-certificates \ curl \ git \ + git-lfs \ gnupg2 \ iputils-ping \ + libgoogle-glog-dev \ + locales \ lsb-release \ + software-properties-common \ sudo \ tar \ unzip \ vim \ wget \ - libgoogle-glog-dev \ - software-properties-common \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean + zlib1g-dev -# Upgrade cmake to 3.22.1 to match Ubuntu 22.04 -# Key rotation 2024-01-10 -RUN wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null \ - && echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal main' | tee /etc/apt/sources.list.d/kitware.list >/dev/null \ - && apt-get update \ - && apt-get remove -y cmake && apt-get purge -y cmake && apt-get remove -y cmake-data && apt-get purge -y cmake-data \ - && apt-get install -y cmake=3.22.1-0kitware1ubuntu20.04.1 cmake-data=3.22.1-0kitware1ubuntu20.04.1 \ - && cmake --version \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean +# Add Isaac apt repository +RUN --mount=type=cache,target=/var/cache/apt \ + wget -qO - https://isaac.download.nvidia.com/isaac-ros/repos.key | apt-key add - && \ + grep -qxF "deb https://isaac.download.nvidia.com/isaac-ros/release-3 $(lsb_release -cs) release-3.0" /etc/apt/sources.list || \ + echo "deb https://isaac.download.nvidia.com/isaac-ros/release-3 $(lsb_release -cs) release-3.0" | tee -a /etc/apt/sources.list \ + && apt-get update + +# Setup Jetson debian repositories +RUN --mount=type=cache,target=/var/cache/apt \ + apt-key adv --fetch-keys https://repo.download.nvidia.com/jetson/jetson-ota-public.asc \ + && apt-key adv --fetch-keys http://l4t-repo.nvidia.com/jetson-ota-internal.key \ + && echo 'deb https://repo.download.nvidia.com/jetson/common r36.3 main' > /etc/apt/sources.list.d/nvidia-l4t-apt-source.list \ + && echo 'deb https://repo.download.nvidia.com/jetson/t234 r36.3 main' >> /etc/apt/sources.list.d/nvidia-l4t-apt-source.list \ + && apt-get update + +# Python basics +RUN --mount=type=cache,target=/var/cache/apt \ +apt-get update && apt-get install -y \ + python3-dev \ + python3-distutils \ + python3-flake8 \ + python3-pip \ + python3-pytest-cov \ + python3-venv \ + python3-zmq \ + python3.10 \ + python3.10-venv # Set Python3 as default RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 1 -# Python basics -RUN apt-get update && apt-get install -y \ - python3-dev \ - python3-flake8 \ - python3-pip \ - python3-pytest-cov \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean - -# Install OpenCV dependencies -RUN apt-get update && apt-get install -y \ - libavformat-dev \ - libjpeg-dev \ - libopenjp2-7-dev \ - libpng-dev \ - libpq-dev \ - libswscale-dev \ - libtbb2 \ - libtbb-dev \ - libtiff-dev \ - pkg-config \ - yasm \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean - -# Install additional packages needed for ROS 2 dependencies -RUN apt-get update && apt-get install -y \ - python3-distutils \ +# Core dev libraries +RUN --mount=type=cache,target=/var/cache/apt \ +apt-get update && apt-get install -y \ + ffmpeg \ + gfortran \ + graphicsmagick-libmagick-dev-compat \ + jq \ + kmod \ + lcov \ + libasio-dev \ + libassimp-dev \ + libatlas-base-dev \ + libblas3 \ + libatlas3-base \ libboost-all-dev \ libboost-dev \ - libpcl-dev \ - libode-dev \ - lcov \ - python3-zmq \ - libxaw7-dev \ - libgraphicsmagick++1-dev \ - graphicsmagick-libmagick-dev-compat \ libceres-dev \ - libsuitesparse-dev \ + libbullet-dev \ + libcunit1-dev \ + libffi7 \ + libfreetype6 \ + libgraphicsmagick++1-dev \ + libhidapi-libusb0 \ + libinput10 \ + libjpeg8 \ + liblapack3 \ + libmnl0 \ + libmnl-dev \ libncurses5-dev \ - libassimp-dev \ - libyaml-cpp-dev \ + libode-dev \ + libopenblas0 \ + libopencv-dev=4.5.4+dfsg-9ubuntu4 \ + libopenmpi3 \ libpcap-dev \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean + libpcl-dev \ + libsuitesparse-dev \ + libtinyxml2-dev \ + libturbojpeg \ + linuxptp \ + libunwind8 \ + libv4l-0 \ + libx264-dev \ + libxaw7-dev \ + libyaml-cpp-dev \ + llvm-14 \ + nlohmann-json3-dev \ + python3-opencv=4.5.4+dfsg-9ubuntu4 \ + python3-scipy -# sklearn dependencies -RUN apt-get update && apt-get install -y \ - gfortran \ - libatlas-base-dev \ - python3-scipy \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean - -# sklearn Python dependencies +# Additional Python dependencies RUN python3 -m pip install -U \ Cython \ - wheel + pymongo \ + wheel \ + scikit-learn \ + ninja \ + networkx \ + numpy \ + numpy-quaternion \ + pyyaml \ + setuptools_scm>=6.2 \ + trimesh \ + yourdfpy>=0.0.53 \ + warp-lang>=0.9.0 \ + scipy>=1.7.0 \ + tqdm \ + importlib_resources -# Install sklearn -RUN python3 -m pip install -U \ - scikit-learn - -# Install Git-LFS -RUN curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash && \ - apt-get update && apt-get install -y \ - git-lfs \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean - -# Install TensorRT and VPI -RUN apt-get update && apt-get install -y \ - tensorrt \ - vpi2-dev \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean - -# Install tao-converter -COPY tao/tao-converter-aarch64-tensorrt8.4.zip /opt/nvidia/tao/tao-converter-aarch64-tensorrt8.4.zip -RUN mkdir -p /opt/nvidia/tao && \ - cd /opt/nvidia/tao && \ - unzip -j tao-converter-aarch64-tensorrt8.4.zip -d /opt/nvidia/tao/jp5 && \ - chmod 755 $(find /opt/nvidia/tao -name "tao-converter") && \ - ln -sf $(find /opt/nvidia/tao -name "tao-converter") /opt/nvidia/tao/tao-converter && \ - rm tao-converter-aarch64-tensorrt8.4.zip - -ENV PATH="${PATH}:/opt/nvidia/tao" # Update environment -ENV LD_LIBRARY_PATH="/opt/nvidia/vpi2/lib64:${LD_LIBRARY_PATH}" +RUN update-alternatives --install /usr/bin/llvm-config llvm-config /usr/bin/llvm-config-14 14 +ENV LD_LIBRARY_PATH="/opt/nvidia/vpi3/lib64:${LD_LIBRARY_PATH}" ENV LD_LIBRARY_PATH="/usr/lib/aarch64-linux-gnu/tegra:${LD_LIBRARY_PATH}" -ENV LD_LIBRARY_PATH="/usr/local/cuda-11.4/targets/aarch64-linux/lib:${LD_LIBRARY_PATH}" +ENV LD_LIBRARY_PATH="/usr/local/cuda-12.2/targets/aarch64-linux/lib:${LD_LIBRARY_PATH}" ENV LD_LIBRARY_PATH="/usr/lib/aarch64-linux-gnu/tegra-egl:${LD_LIBRARY_PATH}" ENV LD_LIBRARY_PATH="/usr/lib/aarch64-linux-gnu/tegra/weston:${LD_LIBRARY_PATH}" ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/lib/aarch64-linux-gnu-host" -ENV PATH="${PATH}:/usr/local/cuda/bin" +ENV PATH="/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/src/tensorrt/bin:${PATH}" -# https://forums.developer.nvidia.com/t/error-importerror-usr-lib-aarch64-linux-gnu-libgomp-so-1-cannot-allocate-memory-in-static-tls-block-i-looked-through-available-threads-already/166494/3 -ENV LD_PRELOAD="/usr/lib/aarch64-linux-gnu/libgomp.so.1" +# Install CUDA packages +RUN --mount=type=cache,target=/var/cache/apt \ +apt-get update && apt-get install -y --no-install-recommends \ + cuda-cudart-12-2 \ + cuda-libraries-12-2 \ + cuda-nvml-dev-12-2 \ + cuda-sanitizer-12-2 \ + cuda-toolkit-12-2 \ + libcublas-12-2 \ + libcudnn8 \ + libcusparse-12-2 \ + libnpp-12-2 + +# Install TensorRT and VPI +RUN --mount=type=cache,target=/var/cache/apt \ +mkdir -p /lib/firmware && \ +apt-get update && apt-get install -y \ + libnvvpi3 \ + tensorrt \ + vpi3-dev + +# Install Tao converter +RUN mkdir -p /opt/nvidia/tao && cd /opt/nvidia/tao && \ + wget --content-disposition 'https://api.ngc.nvidia.com/v2/resources/org/nvidia/team/tao/tao-converter/v5.1.0_jp6.0_aarch64/files?redirect=true&path=tao-converter' -O tao-converter && \ + chmod 755 tao-converter + +ENV PATH="${PATH}:/opt/nvidia/tao" +ENV TRT_LIB_PATH="/usr/lib/aarch64-linux-gnu" +ENV TRT_INCLUDE_PATH="/usr/include/aarch64-linux-gnu" # PyTorch (NV CUDA edition) # https://docs.nvidia.com/deeplearning/frameworks/install-pytorch-jetson-platform/index.html RUN python3 -m pip install --no-cache \ - https://developer.download.nvidia.cn/compute/redist/jp/v50/pytorch/torch-1.13.0a0+340c4120.nv22.06-cp38-cp38-linux_aarch64.whl + https://developer.download.nvidia.com/compute/redist/jp/v60dp/pytorch/torch-2.2.0a0+6a974be.nv23.11-cp310-cp310-linux_aarch64.whl -# Install Triton server 2.24 from https://github.com/triton-inference-server/server/releases/tag/v2.24.0 -RUN apt-get update && apt-get install -y --no-install-recommends \ - autoconf \ - automake \ - libb64-dev \ - libcurl4-openssl-dev \ - libopenblas-dev \ - libre2-dev \ - libssl-dev \ - libtool \ - patchelf \ +# Install Triton server from https://github.com/triton-inference-server/server/releases/tag/v2.40.0 +RUN --mount=type=cache,target=/var/cache/apt \ +apt-get update && apt-get install -y --no-install-recommends \ + libb64-0d \ + libre2-9 \ rapidjson-dev \ - zlib1g-dev \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean + libopenblas-dev \ + libarchive-dev -RUN mkdir -p /opt/tritonserver && cd /opt/tritonserver \ - && wget https://github.com/triton-inference-server/server/releases/download/v2.24.0/tritonserver2.24.0-jetpack5.0.2.tgz \ - && tar -xzvf tritonserver2.24.0-jetpack5.0.2.tgz \ - && rm tritonserver2.24.0-jetpack5.0.2.tgz +RUN --mount=type=cache,target=/var/cache/apt \ + cd /opt \ + && wget https://github.com/triton-inference-server/server/releases/download/v2.40.0/tritonserver2.40.0-igpu.tar.gz \ + && tar -xzvf tritonserver2.40.0-igpu.tar.gz \ + && chmod 644 /opt/tritonserver/backends/tensorflow/libtensorflow_cc.so.2 \ + && chmod 644 /opt/tritonserver/backends/tensorflow/libtensorflow_framework.so.2 \ + && rm tritonserver2.40.0-igpu.tar.gz ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/opt/tritonserver/lib" +# Install boost version >= 1.78 for boost::span +# Current libboost-dev apt packages are < 1.78, so install from tar.gz +RUN --mount=type=cache,target=/var/cache/apt \ + wget -O /tmp/boost.tar.gz \ + https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.gz \ + && (cd /tmp && tar xzf boost.tar.gz) \ + && cd /tmp/boost_1_80_0 \ + && ./bootstrap.sh --prefix=/usr \ + && ./b2 install \ + && rm -rf /tmp/boost* + +# Install CV-CUDA +RUN --mount=type=cache,target=/var/cache/apt \ + cd /tmp && \ + wget https://github.com/CVCUDA/CV-CUDA/releases/download/v0.5.0-beta/nvcv-lib-0.5.0_beta_DP-cuda12-aarch64-linux.deb && \ + dpkg -i nvcv-lib-0.5.0_beta_DP-cuda12-aarch64-linux.deb && \ + wget https://github.com/CVCUDA/CV-CUDA/releases/download/v0.5.0-beta/nvcv-dev-0.5.0_beta_DP-cuda12-aarch64-linux.deb && \ + dpkg -i nvcv-dev-0.5.0_beta_DP-cuda12-aarch64-linux.deb + # Add MQTT binaries and libraries -RUN apt-add-repository ppa:mosquitto-dev/mosquitto-ppa \ - && apt-get update && apt-get install -y \ +RUN --mount=type=cache,target=/var/cache/apt \ +apt-add-repository ppa:mosquitto-dev/mosquitto-ppa \ +&& apt-get update && apt-get install -y \ mosquitto \ - mosquitto-clients \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean + mosquitto-clients -# Note: VPN cannot be on for pymongo download +# Install jtop RUN python3 -m pip install -U \ - pymongo \ - paho-mqtt + jetson-stats -# Core dev libraries -RUN apt-get update && apt-get install -y \ - libasio-dev \ - libbullet-dev \ - libtinyxml2-dev \ - libcunit1-dev \ - libopencv-dev=4.2.0+dfsg-5 \ - python3-opencv=4.2.0+dfsg-5 \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean - -# NPP library -RUN apt-get update && apt-get install -y --no-install-recommends \ - libnpp-dev-11-4 \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean - -# Upgrade libc to resolve vulnerabilities including CVE-2019-11477 -RUN apt-get update && apt-get install -y --only-upgrade \ - linux-libc-dev \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean - -# Downgrade protobuf -RUN python3 -m pip install \ - protobuf==3.20.1 - -# # GPU usage monitoring on Jetson -# RUN python3 -m pip install -U \ -# jetson-stats - -# Apply libcudacxx patch for fixing C++17 compilation errors in GXF -COPY patches/libcudacxx_aarch64_cuda_11_4.diff /tmp/ -RUN patch -i /tmp/libcudacxx_aarch64_cuda_11_4.diff /usr/local/cuda-11.4/targets/aarch64-linux/include/cuda/std/detail/libcxx/include/cmath +# Store list of packages (must be last) +RUN mkdir -p /opt/nvidia/isaac_ros_dev_base && dpkg-query -W | sort > /opt/nvidia/isaac_ros_dev_base/aarch64-end-packages.csv \ No newline at end of file diff --git a/docker/Dockerfile.aarch64.ros2_humble b/docker/Dockerfile.aarch64.ros2_humble deleted file mode 100644 index d7083d0..0000000 --- a/docker/Dockerfile.aarch64.ros2_humble +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. -# -# NVIDIA CORPORATION and its licensors retain all intellectual property -# and proprietary rights in and to this software, related documentation -# and any modifications thereto. Any use, reproduction, disclosure or -# distribution of this software and related documentation without an express -# license agreement from NVIDIA CORPORATION is strictly prohibited. - -FROM nvcr.io/nvidia/isaac/ros:aarch64-ros2_humble_b7e1ed6c02a6fa3c1c7392479291c035 diff --git a/docker/Dockerfile.cvcuda b/docker/Dockerfile.cvcuda deleted file mode 100644 index 1129ac4..0000000 --- a/docker/Dockerfile.cvcuda +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved. -# -# NVIDIA CORPORATION and its licensors retain all intellectual property -# and proprietary rights in and to this software, related documentation -# and any modifications thereto. Any use, reproduction, disclosure or -# distribution of this software and related documentation without an express -# license agreement from NVIDIA CORPORATION is strictly prohibited. - -# Install cvCUDA into the dev image - -ARG BASE_IMAGE -FROM ${BASE_IMAGE} - -RUN if [ "$(uname -m)" = "x86_64" ]; then \ - cd /tmp; \ - wget https://github.com/CVCUDA/CV-CUDA/releases/download/v0.4.0-beta/nvcv-lib-0.4.0_beta-cuda11-x86_64-linux.deb; \ - dpkg -i nvcv-lib-0.4.0_beta-cuda11-x86_64-linux.deb; \ - wget https://github.com/CVCUDA/CV-CUDA/releases/download/v0.4.0-beta/nvcv-dev-0.4.0_beta-cuda11-x86_64-linux.deb; \ - dpkg -i nvcv-dev-0.4.0_beta-cuda11-x86_64-linux.deb; \ - wget https://github.com/CVCUDA/CV-CUDA/releases/download/v0.4.0-beta/nvcv-lib-0.4.0_beta-cuda11-x86_64-linux.deb; \ - dpkg -i nvcv-lib-0.4.0_beta-cuda11-x86_64-linux.deb; \ - else \ - echo "Not available on aarch64 pending availability of https://github.com/CVCUDA/CV-CUDA/releases/download/v0.4.0-beta/nvcv-lib-0.4.0_beta-cuda11-aarch64-linux.deb" ; \ - # cd /tmp; \ - # wget https://github.com/CVCUDA/CV-CUDA/releases/download/v0.4.0-beta/nvcv-lib-0.4.0_beta-cuda11-aarch64-linux.deb; \ - # dpkg -i nvcv-lib-0.4.0_beta-cuda11-aarch64-linux.deb; \ - # wget https://github.com/CVCUDA/CV-CUDA/releases/download/v0.4.0-beta/nvcv-dev-0.4.0_beta-cuda11-aarch64-linux.deb; \ - # dpkg -i nvcv-dev-0.4.0_beta-cuda11-aarch64-linux.deb; \ - fi - diff --git a/docker/Dockerfile.go2py b/docker/Dockerfile.go2py index 5654b60..df6bf1b 100644 --- a/docker/Dockerfile.go2py +++ b/docker/Dockerfile.go2py @@ -1,23 +1,11 @@ ARG BASE_IMAGE FROM ${BASE_IMAGE} -# Install dependencies -RUN --mount=type=cache,target=/var/cache/apt \ - --mount=type=bind,source=scripts/install-tools.sh,target=/tmp/install-tools.sh \ - bash /tmp/install-tools.sh - -RUN --mount=type=cache,target=/root/.cache/pip \ - --mount=type=bind,source=scripts/install-python-requirements.sh,target=/tmp/install-python-requirements.sh \ - bash /tmp/install-python-requirements.sh -RUN --mount=type=cache,target=/var/cache/apt \ - --mount=type=bind,source=scripts/install-3rdparty.sh,target=/tmp/install-3rdparty.sh \ - bash /tmp/install-3rdparty.sh - -# Install unitree_ros2 RUN --mount=type=cache,target=/var/cache/apt \ --mount=type=bind,source=scripts/install-unitree-ros2.sh,target=/tmp/install-unitree-ros2.sh \ bash /tmp/install-unitree-ros2.sh RUN apt install -y ros-humble-isaac-ros-h264-decoder ros-humble-isaac-ros-h264-encoder -USER $USERNAME \ No newline at end of file +RUN mkdir -p /realsense-ws/src && cd /realsense-ws/src && git clone https://github.com/IntelRealSense/realsense-ros.git && cd .. && source /opt/ros/humble/setup.bash && colcon build +USER $USERNAME diff --git a/docker/Dockerfile.realsense b/docker/Dockerfile.realsense index 54ab421..f81d9c4 100644 --- a/docker/Dockerfile.realsense +++ b/docker/Dockerfile.realsense @@ -11,25 +11,39 @@ ARG BASE_IMAGE FROM ${BASE_IMAGE} +ARG LIBREALSENSE_SOURCE_VERSION=v2.55.1 +ARG LIBREALSENSE_DEB_VERSION=2.55.1-0~realsense.12474 +ARG LIBREALSENSE_DKMS_DEB_VERSION=1.3.26-0ubuntu1 +ARG REALSENSE2_CAMERA_ROS_DEB_VERSION=4.54.1-1jammy.20240517.191635 + +# Install realsense2-camera ROS package and librealsense from binaries for x86_64 only +RUN --mount=type=cache,target=/var/cache/apt \ + if [[ "$(uname -m)" == "x86_64" ]]; then \ + mkdir -p /etc/apt/keyrings && \ + curl -sSf https://librealsense.intel.com/Debian/librealsense.pgp | \ + tee /etc/apt/keyrings/librealsense.pgp > /dev/null && \ + echo "deb [signed-by=/etc/apt/keyrings/librealsense.pgp] \ + https://librealsense.intel.com/Debian/apt-repo `lsb_release -cs` main" | \ + tee /etc/apt/sources.list.d/librealsense.list && apt-get update && \ + apt-get install -y \ + librealsense2-dkms=${LIBREALSENSE_DKMS_DEB_VERSION} \ + librealsense2-utils=${LIBREALSENSE_DEB_VERSION} \ + librealsense2-dev=${LIBREALSENSE_DEB_VERSION} \ + ros-humble-realsense2-camera=${REALSENSE2_CAMERA_ROS_DEB_VERSION}; \ + fi + COPY scripts/build-librealsense.sh /opt/realsense/build-librealsense.sh COPY scripts/install-realsense-dependencies.sh /opt/realsense/install-realsense-dependencies.sh -RUN chmod +x /opt/realsense/install-realsense-dependencies.sh && /opt/realsense/install-realsense-dependencies.sh -RUN chmod +x /opt/realsense/build-librealsense.sh && /opt/realsense/build-librealsense.sh +# Build librealsense from source for aarch64 only +# The realsense2-camera ROS package will be built from source as part of the "RealSense Setup docs" for aarch64 only +RUN if [[ $(uname -m) == "aarch64" ]]; then \ + chmod +x /opt/realsense/install-realsense-dependencies.sh && \ + /opt/realsense/install-realsense-dependencies.sh; \ + chmod +x /opt/realsense/build-librealsense.sh && /opt/realsense/build-librealsense.sh -v ${LIBREALSENSE_SOURCE_VERSION}; \ + fi -# Copy hotplug script which will get invoked whenever a devices plugged or un-plugged +# Copy hotplug script for udev rules/hotplug for RealSense RUN mkdir -p /opt/realsense/ COPY scripts/hotplug-realsense.sh /opt/realsense/hotplug-realsense.sh - -# Copy custom udev rules file COPY udev_rules/99-realsense-libusb-custom.rules /etc/udev/rules.d/99-realsense-libusb-custom.rules - -# Clone and compile the realsense ros -RUN mkdir -p /home/realsenes-ws/src && cd /home/realsenes-ws/src && \ - git clone https://github.com/IntelRealSense/realsense-ros.git && \ - cd .. && \ - source /opt/ros/humble/setup.bash && \ - colcon build --symlink-install - -# add the source to the bashrc -RUN echo "source /home/realsenes-ws/install/setup.bash" >> /root/.bashrc diff --git a/docker/Dockerfile.ros2_humble b/docker/Dockerfile.ros2_humble index 8af1d4b..c6c6262 100644 --- a/docker/Dockerfile.ros2_humble +++ b/docker/Dockerfile.ros2_humble @@ -1,4 +1,4 @@ -# Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved. +# Copyright (c) 2023-2024, NVIDIA CORPORATION. All rights reserved. # # NVIDIA CORPORATION and its licensors retain all intellectual property # and proprietary rights in and to this software, related documentation @@ -9,14 +9,16 @@ ARG BASE_IMAGE FROM $BASE_IMAGE +# Store list of packages (must be first) +RUN mkdir -p /opt/nvidia/isaac_ros_dev_base && dpkg-query -W | sort > /opt/nvidia/isaac_ros_dev_base/ros2_humble-start-packages.csv + # disable terminal interaction for apt ENV DEBIAN_FRONTEND=noninteractive ENV SHELL /bin/bash SHELL ["/bin/bash", "-c"] # Env setup -RUN locale-gen en_US en_US.UTF-8 -RUN update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 +RUN locale-gen en_US en_US.UTF-8 && update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 ENV LANG=en_US.UTF-8 ENV ROS_PYTHON_VERSION=3 ENV ROS_DISTRO=humble @@ -25,31 +27,23 @@ ENV RMW_IMPLEMENTATION=rmw_fastrtps_cpp # Avoid setup.py and easy_install deprecation warnings caused by colcon and setuptools # https://github.com/colcon/colcon-core/issues/454 -ENV PYTHONWARNINGS=ignore:::setuptools.command.install,ignore:::setuptools.command.easy_install,ignore:::pkg_resources +ENV PYTHONWARNINGS=ignore:::setuptools.command.install,ignore:::setuptools.command.easy_install,ignore:::pkg_resources,ignore:::setuptools.command.develop RUN echo "Warning: Using the PYTHONWARNINGS environment variable to silence setup.py and easy_install deprecation warnings caused by colcon" # Add ROS 2 apt repository -RUN curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg -RUN echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2-testing/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | tee /etc/apt/sources.list.d/ros2.list > /dev/null - -# Add Isaac apt repository -RUN wget -qO - https://isaac.download.nvidia.com/isaac-ros/repos.key | apt-key add - && \ - grep -qxF 'deb https://isaac.download.nvidia.com/isaac-ros/ubuntu/main focal main' /etc/apt/sources.list || \ - echo 'deb https://isaac.download.nvidia.com/isaac-ros/ubuntu/main focal main' | tee -a /etc/apt/sources.list - -# Basics -RUN apt-get update && apt-get install -y \ - curl \ - gnupg \ - lsb-release \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean +RUN --mount=type=cache,target=/var/cache/apt \ + curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg \ + && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | tee /etc/apt/sources.list.d/ros2.list > /dev/null \ + && apt-get update # ROS fundamentals -RUN apt-get update && apt-get install -y \ - build-essential \ - git \ - libyaml-cpp-dev=0.7.0+dfsg-8backport \ +RUN --mount=type=cache,target=/var/cache/apt \ +apt-get update && apt-get install -y \ + devscripts \ + dh-make \ + fakeroot \ + libxtensor-dev \ + python3-bloom \ python3-colcon-common-extensions \ python3-pip \ python3-pybind11 \ @@ -57,9 +51,7 @@ RUN apt-get update && apt-get install -y \ python3-rosdep \ python3-rosinstall-generator \ python3-vcstool \ - wget \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean + quilt # ROS Python fundamentals RUN python3 -m pip install -U \ @@ -71,24 +63,16 @@ RUN python3 -m pip install -U \ flake8-docstrings \ flake8-import-order \ flake8-quotes \ - pytest-repeat \ - pytest-rerunfailures \ - pytest \ + numpy>=1.24.4 \ + matplotlib \ + pandas \ + rosbags \ setuptools==65.7.0 -# Basics -RUN apt-get update && apt-get install -y \ - curl \ - gnupg \ - locales \ - lsb-release \ - python3-bloom \ - libxtensor-dev \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean - # Install ROS 2 Humble -RUN apt-get update && apt-get install -y ros-humble-ros-base \ +RUN --mount=type=cache,target=/var/cache/apt \ +apt-get update && apt-get install -y \ + ros-humble-ros-base \ ros-humble-angles \ ros-humble-apriltag \ ros-humble-behaviortree-cpp-v3 \ @@ -100,6 +84,7 @@ RUN apt-get update && apt-get install -y ros-humble-ros-base \ ros-humble-cv-bridge \ ros-humble-demo-nodes-cpp \ ros-humble-demo-nodes-py \ + ros-humble-diagnostic-aggregator \ ros-humble-diagnostic-updater \ ros-humble-example-interfaces \ ros-humble-foxglove-bridge \ @@ -114,12 +99,22 @@ RUN apt-get update && apt-get install -y ros-humble-ros-base \ ros-humble-nav2-bringup \ ros-humble-nav2-msgs \ ros-humble-nav2-mppi-controller \ + ros-humble-nav2-graceful-controller \ ros-humble-navigation2 \ ros-humble-ompl \ ros-humble-resource-retriever \ + ros-humble-rmw-cyclonedds-cpp \ + ros-humble-rmw-fastrtps-cpp \ + ros-humble-rosbag2 \ + ros-humble-rosbag2-compression-zstd \ + ros-humble-rosbag2-cpp \ + ros-humble-rosbag2-py \ + ros-humble-rosbag2-storage-mcap \ + ros-humble-rosbridge-suite \ ros-humble-rqt-graph \ - ros-humble-rqt-reconfigure \ ros-humble-rqt-image-view \ + ros-humble-rqt-reconfigure \ + ros-humble-rqt-robot-monitor \ ros-humble-rviz2 \ ros-humble-rviz-common \ ros-humble-rviz-default-plugins \ @@ -128,56 +123,32 @@ RUN apt-get update && apt-get install -y ros-humble-ros-base \ ros-humble-v4l2-camera \ ros-humble-vision-opencv \ ros-humble-vision-msgs \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean - -# Build Essentials -RUN apt-get update && apt-get install -y \ - build-essential \ - devscripts \ - dh-make \ - quilt \ - fakeroot \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean + ros-humble-vision-msgs-rviz-plugins # Setup rosdep -RUN rosdep init \ - && mkdir -p /etc/ros/rosdep/sources.list.d/ \ - && curl -o /etc/ros/rosdep/sources.list.d/nvidia-isaac.yaml https://isaac.download.nvidia.com/isaac-ros/extra_rosdeps.yaml \ +COPY rosdep/extra_rosdeps.yaml /etc/ros/rosdep/sources.list.d/nvidia-isaac.yaml +RUN --mount=type=cache,target=/var/cache/apt \ + rosdep init \ && echo "yaml file:///etc/ros/rosdep/sources.list.d/nvidia-isaac.yaml" | tee /etc/ros/rosdep/sources.list.d/00-nvidia-isaac.list \ && rosdep update ####### -- Install updated packages over installed debians # Install negotiated from source -RUN apt-get update && mkdir -p ${ROS_ROOT}/src && cd ${ROS_ROOT}/src \ +RUN --mount=type=cache,target=/var/cache/apt \ + mkdir -p ${ROS_ROOT}/src && cd ${ROS_ROOT}/src \ && git clone https://github.com/osrf/negotiated && cd negotiated && git checkout master \ && source ${ROS_ROOT}/setup.bash \ && cd negotiated_interfaces && bloom-generate rosdebian && fakeroot debian/rules binary \ && cd ../ && apt-get install -y ./*.deb && rm ./*.deb \ && cd negotiated && bloom-generate rosdebian && fakeroot debian/rules binary \ - && cd ../ && apt-get install -y ./*.deb && rm ./*.deb \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean - -# Install vda5050_msgs from source -RUN apt-get update && mkdir -p ${ROS_ROOT}/src && cd ${ROS_ROOT}/src \ - && git clone https://github.com/ipa320/vda5050_msgs.git vda5050_root \ - && cd vda5050_root && git checkout ros2 && cd .. \ - && mv vda5050_root/vda5050_msgs/ vda5050_msgs \ - && rm -rf vda5050_root \ - && source ${ROS_ROOT}/setup.bash \ - && cd vda5050_msgs && bloom-generate rosdebian && fakeroot debian/rules binary \ - && cd ../ && apt-get install -y ./*.deb \ - && cd ../ && rm -Rf src build log \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean + && cd ../ && apt-get install -y ./*.deb && rm ./*.deb # Install image_proc from 55bf2a38 with backported resize node fix # https://github.com/ros-perception/image_pipeline/pull/786/commits/969d6c763df99b42844742946f7a70c605a72a15 # Revert breaking QoS changes in https://github.com/ros-perception/image_pipeline/pull/814 -RUN apt-get update && mkdir -p ${ROS_ROOT}/src && cd ${ROS_ROOT}/src \ +RUN --mount=type=cache,target=/var/cache/apt \ + mkdir -p ${ROS_ROOT}/src && cd ${ROS_ROOT}/src \ && git clone https://github.com/ros-perception/image_pipeline.git && cd image_pipeline && git checkout 55bf2a38c327b829c3da444f963a6c66bfe0598f \ && git config user.email "builder@nvidia.com" && git config user.name "NVIDIA Builder" \ && git remote add fork https://github.com/schornakj/image_pipeline.git && git fetch fork && git cherry-pick 969d6c763df99b42844742946f7a70c605a72a15 \ @@ -185,15 +156,14 @@ RUN apt-get update && mkdir -p ${ROS_ROOT}/src && cd ${ROS_ROOT}/src \ && cd image_proc && bloom-generate rosdebian && fakeroot debian/rules binary \ && cd ../ && apt-get install -y --allow-downgrades ./*.deb \ && echo "image_pipeline (image_proc) https://github.com/ros-perception/image_pipeline/pull/786/commits/969d6c763df99b42844742946f7a70c605a72a15 on 55bf2a38" >> ${ROS_ROOT}/VERSION \ - && cd ../ && rm -Rf src build log \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean + && cd ../ && rm -Rf src build log # Install patched rclcpp package with backported multithreadedexecutor fix # https://github.com/ros2/rclcpp/commit/232262c02a1265830c7785b7547bd51e1124fcd8 COPY patches/rclcpp-disable-tests.patch /tmp/ -RUN apt-get update && mkdir -p ${ROS_ROOT}/src && cd ${ROS_ROOT}/src \ - && export RCLCPP_VERSION="release/humble/rclcpp/$(apt-cache madison ros-humble-rclcpp | grep -m1 -oP 'ros-humble-rclcpp \| \K[^f]+(?=focal)')" \ +RUN --mount=type=cache,target=/var/cache/apt \ + mkdir -p ${ROS_ROOT}/src && cd ${ROS_ROOT}/src \ + && export RCLCPP_VERSION="release/humble/rclcpp/$(apt-cache madison ros-humble-rclcpp | grep -m1 -oP 'ros-humble-rclcpp \| \K[^j]+(?=jammy)')" \ && echo ${RCLCPP_VERSION} \ && git clone https://github.com/ros2-gbp/rclcpp-release.git && cd rclcpp-release && git checkout ${RCLCPP_VERSION} \ && patch -i /tmp/rclcpp-disable-tests.patch \ @@ -206,21 +176,107 @@ RUN apt-get update && mkdir -p ${ROS_ROOT}/src && cd ${ROS_ROOT}/src \ && cd rclcpp-release && bloom-generate rosdebian && fakeroot debian/rules binary \ && cd ../ && apt-get install -y --allow-downgrades ./*.deb \ && echo "rclcpp https://github.com/ros2/rclcpp/commit/232262c02a1265830c7785b7547bd51e1124fcd8" >> ${ROS_ROOT}/VERSION \ - && cd ../ && rm -Rf src build log \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean + && cd ../ && rm -Rf src build log -# Install additional ROS packages -RUN apt-get update && apt-get install -y \ - ros-humble-camera-info-manager \ - ros-humble-rosbag2 \ - ros-humble-rosbag2-compression-zstd \ - ros-humble-rosbag2-cpp \ - ros-humble-rosbag2-py \ - ros-humble-rosbridge-suite \ - ros-humble-rqt-graph \ - ros-humble-rqt-reconfigure \ - ros-humble-rviz-common \ - ros-humble-rviz-default-plugins \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean +# Install Moveit 2 ROS packages +RUN --mount=type=cache,target=/var/cache/apt \ +apt-get update && apt-get install -y \ + ros-humble-ament-cmake \ + ros-humble-ament-cmake-gtest \ + ros-humble-control-msgs \ + ros-humble-controller-manager \ + ros-humble-geometric-shapes \ + ros-humble-gripper-controllers \ + ros-humble-interactive-markers \ + ros-humble-joint-state-broadcaster \ + ros-humble-joint-state-publisher \ + ros-humble-joint-trajectory-controller \ + ros-humble-joy \ + ros-humble-launch-param-builder \ + ros-humble-moveit \ + ros-humble-moveit-common \ + ros-humble-moveit-configs-utils \ + ros-humble-moveit-core \ + ros-humble-moveit-msgs \ + ros-humble-moveit-ros-perception \ + ros-humble-moveit-ros-planning \ + ros-humble-moveit-ros-planning-interface \ + ros-humble-moveit-servo \ + ros-humble-moveit-visual-tools \ + ros-humble-pluginlib \ + ros-humble-robot-state-publisher \ + ros-humble-ros2-control \ + ros-humble-rviz-visual-tools \ + ros-humble-rviz2 \ + ros-humble-srdfdom \ + ros-humble-tf2-eigen \ + ros-humble-tf2-geometry-msgs \ + ros-humble-tf2-ros \ + ros-humble-topic-based-ros2-control \ + ros-humble-ur-description \ + ros-humble-ur-moveit-config \ + ros-humble-ur-msgs \ + ros-humble-xacro + +# Install various moveit_resources packages from source. +RUN --mount=type=cache,target=/var/cache/apt \ + mkdir -p ${ROS_ROOT}/src && cd ${ROS_ROOT}/src \ + && git clone https://github.com/ros-planning/moveit_resources.git -b humble \ + && cd moveit_resources && source ${ROS_ROOT}/setup.bash \ + && cd fanuc_description && bloom-generate rosdebian && fakeroot debian/rules binary \ + && cd .. && apt-get install -y ./*.deb && rm *.deb \ + && cd fanuc_moveit_config && bloom-generate rosdebian && fakeroot debian/rules binary \ + && cd .. && apt-get install -y ./*.deb && rm *.deb \ + && cd panda_description && bloom-generate rosdebian && fakeroot debian/rules binary \ + && cd .. && apt-get install -y ./*.deb && rm *.deb \ + && cd panda_moveit_config && bloom-generate rosdebian && fakeroot debian/rules binary \ + && cd .. && apt-get install -y ./*.deb && rm *.deb \ + && cd pr2_description && bloom-generate rosdebian && fakeroot debian/rules binary \ + && cd .. && apt-get install -y ./*.deb && rm *.deb \ + && cd moveit_resources && bloom-generate rosdebian && fakeroot debian/rules binary \ + && cd .. && apt-get install -y ./*.deb && rm *.deb + +# Install MoveIt task constructor from source. The "demo" package depends on moveit_resources_panda_moveit_config, +# installed from source above. +RUN --mount=type=cache,target=/var/cache/apt \ + mkdir -p ${ROS_ROOT}/src && cd ${ROS_ROOT}/src \ + && git clone https://github.com/ros-planning/moveit_task_constructor.git -b humble \ + && cd moveit_task_constructor && source ${ROS_ROOT}/setup.bash \ + && cd msgs && bloom-generate rosdebian && fakeroot debian/rules binary \ + && cd ../ && apt-get install -y ./*.deb && rm ./*.deb \ + && cd rviz_marker_tools && bloom-generate rosdebian && fakeroot debian/rules binary \ + && cd ../ && apt-get install -y ./*.deb && rm ./*.deb \ + && cd core && bloom-generate rosdebian && fakeroot debian/rules binary DEB_BUILD_OPTIONS=nocheck \ + && cd ../ && apt-get install -y ./*.deb && rm ./*.deb \ + && cd capabilities && bloom-generate rosdebian && fakeroot debian/rules binary DEB_BUILD_OPTIONS=nocheck \ + && cd ../ && apt-get install -y ./*.deb && rm ./*.deb \ + && cd visualization && bloom-generate rosdebian && fakeroot debian/rules binary DEB_BUILD_OPTIONS=nocheck \ + && cd ../ && apt-get install -y ./*.deb && rm ./*.deb \ + && cd demo && bloom-generate rosdebian && fakeroot debian/rules binary DEB_BUILD_OPTIONS=nocheck \ + && cd ../ && apt-get install -y ./*.deb && rm ./*.deb + +# MoveIt 2's hybrid planning package depends on moveit_resources_panda_moveit_config, installed from source above. +RUN --mount=type=cache,target=/var/cache/apt \ +apt-get update && apt-get install -y \ + ros-humble-moveit-hybrid-planning + +# Install moveit2_tutorials from source (depends on moveit_hybrid_planning). +RUN --mount=type=cache,target=/var/cache/apt \ + mkdir -p ${ROS_ROOT}/src && cd ${ROS_ROOT}/src \ + && git clone https://github.com/ros-planning/moveit2_tutorials.git -b humble \ + && cd moveit2_tutorials && source ${ROS_ROOT}/setup.bash \ + && bloom-generate rosdebian && fakeroot debian/rules binary \ + && cd ../ && apt-get install -y ./*.deb && rm ./*.deb + +# Install paho-mqtt for isaac_ros_mission_client +RUN python3 -m pip install -U \ + paho-mqtt==1.6.1 + +# Patch gtest to make it work with CXX 17 +RUN sudo sed -i '917i #ifdef GTEST_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL' /usr/src/googletest/googletest/include/gtest/internal/gtest-internal.h \ + && sudo sed -i '920i #endif' /usr/src/googletest/googletest/include/gtest/internal/gtest-internal.h \ + && sudo sed -i '2392i #if defined(GTEST_INTERNAL_CPLUSPLUS_LANG) && \\\n GTEST_INTERNAL_CPLUSPLUS_LANG < 201703L\n#define GTEST_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL 1\n#endif' \ + /usr/src/googletest/googletest/include/gtest/internal/gtest-port.h + +# Store list of packages (must be last) +RUN mkdir -p /opt/nvidia/isaac_ros_dev_base && dpkg-query -W | sort > /opt/nvidia/isaac_ros_dev_base/ros2_humble-end-packages.csv diff --git a/docker/Dockerfile.user b/docker/Dockerfile.user index 1c85b74..fc0baa6 100644 --- a/docker/Dockerfile.user +++ b/docker/Dockerfile.user @@ -15,11 +15,10 @@ ARG USER_UID=1000 ARG USER_GID=1000 # Install prerequisites -RUN apt-get update && apt-get install -y \ +RUN --mount=type=cache,target=/var/cache/apt \ +apt-get update && apt-get install -y \ sudo \ - udev \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean + udev # Reuse triton-server user as 'admin' user if exists RUN if [ $(getent group triton-server) ]; then \ @@ -27,12 +26,14 @@ RUN if [ $(getent group triton-server) ]; then \ usermod -l ${USERNAME} -u ${USER_UID} -m -d /home/${USERNAME} triton-server ; \ mkdir -p /home/${USERNAME} ; \ sudo chown ${USERNAME}:${USERNAME} /home/${USERNAME} ; \ + # Wipe files that may create issues for users with large uid numbers. + rm -f /var/log/lastlog /var/log/faillog ; \ fi # Create the 'admin' user if not already exists RUN if [ ! $(getent passwd ${USERNAME}) ]; then \ groupadd --gid ${USER_GID} ${USERNAME} ; \ - useradd --uid ${USER_UID} --gid ${USER_GID} -m ${USERNAME} ; \ + useradd --no-log-init --uid ${USER_UID} --gid ${USER_GID} -m ${USERNAME} ; \ fi # Update 'admin' user @@ -52,3 +53,9 @@ COPY middleware_profiles/*profile.xml /usr/local/share/middleware_profiles/ ENV USERNAME=${USERNAME} ENV USER_GID=${USER_GID} ENV USER_UID=${USER_UID} + +# Switch to non-root user and return to root +USER ${USERNAME} +RUN --mount=type=cache,target=/var/cache/apt \ + rosdep update +USER root \ No newline at end of file diff --git a/docker/Dockerfile.x86 b/docker/Dockerfile.x86 deleted file mode 100644 index d7e3b95..0000000 --- a/docker/Dockerfile.x86 +++ /dev/null @@ -1,65 +0,0 @@ -FROM nvidia/cuda:12.1.1-devel-ubuntu22.04 - -SHELL ["/bin/bash", "-c"] - -# Install dependencies -RUN --mount=type=cache,target=/var/cache/apt \ - --mount=type=bind,source=docker/scripts/install-tools.sh,target=/tmp/install-tools.sh \ - bash /tmp/install-tools.sh -RUN --mount=type=cache,target=/var/cache/apt \ - --mount=type=bind,source=docker/scripts/install-ros2.sh,target=/tmp/install-ros2.sh \ - bash /tmp/install-ros2.sh -RUN --mount=type=cache,target=/var/cache/apt \ - --mount=type=bind,source=docker/scripts/install-clang.sh,target=/tmp/install-clang.sh \ - bash /tmp/install-clang.sh -RUN --mount=type=cache,target=/root/.cache/pip \ - --mount=type=bind,source=docker/scripts/install-python-requirements.sh,target=/tmp/install-python-requirements.sh \ - bash /tmp/install-python-requirements.sh -RUN --mount=type=cache,target=/var/cache/apt \ - --mount=type=bind,source=docker/scripts/install-3rdparty.sh,target=/tmp/install-3rdparty.sh \ - bash /tmp/install-3rdparty.sh - -# Last installation layer as we update ROS dependencies often -RUN --mount=type=cache,target=/var/cache/apt \ - --mount=type=bind,source=.,target=/tmp/ros_ws \ - /tmp/ros_ws/docker/scripts/install-rosdep.sh - -# Clean cache -RUN apt-get autoremove -y \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* - -# Create a non-root user -ARG USERNAME=dev -ARG USER_UID=1000 -ARG USER_GID=$USER_UID -RUN groupadd --gid $USER_GID $USERNAME \ - && useradd --uid $USER_UID --gid $USER_GID -m $USERNAME \ - && apt-get update \ - && apt-get install -y sudo \ - && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \ - && chmod 0440 /etc/sudoers.d/$USERNAME \ - && apt-get autoremove -y \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* - -# Create a workspace directory -RUN mkdir -p /workspace/go2-devcontainer/src/go2-devcontainer \ - && cd /workspace/go2-devcontainer \ - && chown -R $USERNAME:$USERNAME /workspace/go2-devcontainer/ - -RUN --mount=type=bind,source=docker/config/docker.bashrc,target=/tmp/docker.bashrc \ - cat /tmp/docker.bashrc >> /home/$USERNAME/.bashrc - -# Clone unitree_ros2 -RUN --mount=type=cache,target=/var/cache/apt \ - --mount=type=bind,source=docker/scripts/install-unitree-ros2.sh,target=/tmp/install-unitree-ros2.sh \ - bash /tmp/install-unitree-ros2.sh - -# NVIDIA-related environment variables -ENV NVIDIA_VISIBLE_DEVICES \ - ${NVIDIA_VISIBLE_DEVICES:-all} -ENV NVIDIA_DRIVER_CAPABILITIES \ - ${NVIDIA_DRIVER_CAPABILITIES:+$NVIDIA_DRIVER_CAPABILITIES,}graphics - -USER $USERNAME \ No newline at end of file diff --git a/docker/Dockerfile.x86_64 b/docker/Dockerfile.x86_64 index afada05..5fc2f78 100644 --- a/docker/Dockerfile.x86_64 +++ b/docker/Dockerfile.x86_64 @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2022, NVIDIA CORPORATION. All rights reserved. +# Copyright (c) 2021-2024, NVIDIA CORPORATION. All rights reserved. # # NVIDIA CORPORATION and its licensors retain all intellectual property # and proprietary rights in and to this software, related documentation @@ -9,32 +9,34 @@ # Docker file to build on x86_64 # https://docs.nvidia.com/deeplearning/frameworks/user-guide/index.html # https://docs.nvidia.com/deeplearning/frameworks/support-matrix/index.html -ARG BASE_IMAGE=nvcr.io/nvidia/tritonserver:22.09-py3 +ARG BASE_IMAGE=nvcr.io/nvidia/tritonserver:23.10-py3 FROM ${BASE_IMAGE} +# Store list of packages (must be first) +RUN mkdir -p /opt/nvidia/isaac_ros_dev_base && dpkg-query -W | sort > /opt/nvidia/isaac_ros_dev_base/x86_64-start-packages.csv + # disable terminal interaction for apt ENV DEBIAN_FRONTEND=noninteractive ENV SHELL /bin/bash SHELL ["/bin/bash", "-c"] -# NVIDIA repository keys: https://developer.nvidia.com/blog/updating-the-cuda-linux-gpg-repository-key/ -RUN apt-key del 7fa2af80 && mkdir -p /tmp && cd /tmp \ - && wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.deb \ - && dpkg -i cuda-keyring_1.0-1_all.deb \ - && rm cuda-keyring_1.0-1_all.deb \ - && add-apt-repository --remove 'deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /' +# Ensure we have universe +RUN --mount=type=cache,target=/var/cache/apt \ +apt-get update && apt-get install -y \ + software-properties-common \ +&& add-apt-repository universe \ +&& apt-get update # Add Isaac apt repository -RUN wget -qO - https://isaac.download.nvidia.com/isaac-ros/repos.key | apt-key add - -RUN echo 'deb https://isaac.download.nvidia.com/isaac-ros/ubuntu/main focal main' | tee -a /etc/apt/sources.list - -# Ensure we have universe -RUN apt-get update \ - && apt-get install -y software-properties-common \ - && add-apt-repository universe +RUN --mount=type=cache,target=/var/cache/apt \ + wget -qO - https://isaac.download.nvidia.com/isaac-ros/repos.key | apt-key add - && \ + grep -qxF "deb https://isaac.download.nvidia.com/isaac-ros/release-3 $(lsb_release -cs) release-3.0" /etc/apt/sources.list || \ + echo "deb https://isaac.download.nvidia.com/isaac-ros/release-3 $(lsb_release -cs) release-3.0" | tee -a /etc/apt/sources.list \ + && apt-get update # Fundamentals -RUN apt-get update && apt-get install -y \ +RUN --mount=type=cache,target=/var/cache/apt \ +apt-get update && apt-get install -y \ apt-transport-https \ bash-completion \ build-essential \ @@ -43,6 +45,7 @@ RUN apt-get update && apt-get install -y \ cmake \ curl \ git \ + git-lfs \ gnupg2 \ iputils-ping \ locales \ @@ -53,41 +56,40 @@ RUN apt-get update && apt-get install -y \ vim \ unzip \ mlocate \ - libgoogle-glog-dev \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean + libgoogle-glog-dev + +# Python basics +RUN --mount=type=cache,target=/var/cache/apt \ +apt-get update && apt-get install -y \ + python3-pip \ + python3-pybind11 \ + python3-pytest \ + python3-pytest-repeat \ + python3-pytest-rerunfailures \ + python3-pytest-cov # Set Python3 as default RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 1 -# Python basics -RUN apt-get update && apt-get install -y \ - python3-pip \ - python3-pybind11 \ - python3-pytest-cov \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean - -# Video utilities -RUN apt-get update && apt-get install -y \ - v4l-utils \ - mesa-utils \ - libcanberra-gtk-module \ - libcanberra-gtk3-module \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean - # Core dev libraries -RUN apt-get update && apt-get install -y \ +RUN --mount=type=cache,target=/var/cache/apt \ +apt-get update && apt-get install -y \ + ffmpeg \ libasio-dev \ libbullet-dev \ libtinyxml2-dev \ libcunit1-dev \ + libmnl0 \ + libmnl-dev \ + libv4l-dev \ libyaml-cpp-dev \ libopencv-dev \ + libpython3.10 \ + libx264-dev \ + kmod \ + patchelf \ python3-opencv \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean + nlohmann-json3-dev # Python3 (PIP) RUN python3 -m pip install -U \ @@ -103,117 +105,71 @@ RUN python3 -m pip install -U \ flake8-import-order \ flake8-quotes \ onnx \ - pytest-repeat \ - pytest-rerunfailures \ - pytest \ pydocstyle \ - scikit-learn + scikit-learn \ + ninja \ + networkx \ + numpy \ + numpy-quaternion \ + pyyaml \ + setuptools_scm>=6.2 \ + trimesh \ + yourdfpy>=0.0.53 \ + warp-lang>=0.9.0 \ + scipy>=1.7.0 \ + tqdm \ + importlib_resources -# Install Git-LFS -RUN curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash && \ - apt-get update && apt-get install -y \ - git-lfs \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean +# Install nvv4l2 for GXF Multimedia h264 codec +RUN --mount=type=cache,target=/var/cache/apt \ +apt-get update && apt-get install -y \ + nvv4l2 \ +&& ln -s /usr/lib/x86_64-linux-gnu/libnvcuvid.so.1 /usr/lib/x86_64-linux-gnu/libnvcuvid.so \ +&& ln -s /usr/lib/x86_64-linux-gnu/libnvidia-encode.so.1 /usr/lib/x86_64-linux-gnu/libnvidia-encode.so -# Upgrade cmake to 3.22.1 to match Ubuntu 22.04 -# Key rotation 2024-01-10 -RUN wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null \ - && echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal main' | tee /etc/apt/sources.list.d/kitware.list >/dev/null \ - && apt-get update \ - && apt-get remove -y cmake && apt-get purge -y cmake && apt-get remove -y cmake-data && apt-get purge -y cmake-data \ - && apt-get install -y cmake=3.22.1-0kitware1ubuntu20.04.1 cmake-data=3.22.1-0kitware1ubuntu20.04.1 \ - && cmake --version \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean +# Install VPI packages +ARG HAS_GPU="true" +RUN --mount=type=cache,target=/var/cache/apt \ + if [ "$HAS_GPU" = "true" ]; then \ + set -e ; \ + apt-key adv --fetch-key https://repo.download.nvidia.com/jetson/jetson-ota-public.asc ; \ + add-apt-repository "deb http://repo.download.nvidia.com/jetson/x86_64/$(lsb_release -cs) r36.3 main" ; \ + apt-get update ; \ + apt-get install libnvvpi3 vpi3-dev ; \ + fi # Pytorch -RUN python3 -m pip install -U --extra-index-url https://download.pytorch.org/whl/cu113 \ +RUN python3 -m pip install -U --extra-index-url https://download.pytorch.org/whl/cu121 \ torch \ torchvision \ torchaudio -# Install VPI packages -ARG HAS_GPU="true" -RUN if [ "$HAS_GPU" = "true" ]; then \ - set -e ; \ - apt-key adv --fetch-key https://repo.download.nvidia.com/jetson/jetson-ota-public.asc ; \ - add-apt-repository 'deb http://repo.download.nvidia.com/jetson/x86_64/focal r35.4 main' ; \ - apt-get update ; \ - apt-get install libnvvpi2 vpi2-dev ; \ - rm -rf /var/lib/apt/lists/* ; \ - apt-get clean ; \ - fi - # Install Tao converter -RUN mkdir -p /opt/nvidia/tao && \ - cd /opt/nvidia/tao && \ - wget https://developer.nvidia.com/tao-converter-80 && \ - unzip tao-converter-80 && \ - chmod 755 $(find /opt/nvidia/tao -name "tao-converter") && \ - ln -sf $(find /opt/nvidia/tao -name "tao-converter") /opt/nvidia/tao/tao-converter && \ - rm tao-converter-80 +RUN mkdir -p /opt/nvidia/tao && cd /opt/nvidia/tao && \ + wget --content-disposition 'https://api.ngc.nvidia.com/v2/resources/org/nvidia/team/tao/tao-converter/v5.1.0_8.6.3.1_x86/files?redirect=true&path=tao-converter' -O tao-converter && \ + chmod 755 tao-converter ENV PATH="${PATH}:/opt/nvidia/tao" +ENV TRT_LIB_PATH="/usr/lib/x86_64-linux-gnu" +ENV TRT_INC_PATH="/usr/include/x86_64-linux-gnu" # Update environment ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/opt/tritonserver/lib" +# Install CV-CUDA +RUN --mount=type=cache,target=/var/cache/apt \ + cd /tmp && \ + wget https://github.com/CVCUDA/CV-CUDA/releases/download/v0.5.0-beta/nvcv-lib-0.5.0_beta-cuda12-x86_64-linux.deb && \ + dpkg -i nvcv-lib-0.5.0_beta-cuda12-x86_64-linux.deb && \ + wget https://github.com/CVCUDA/CV-CUDA/releases/download/v0.5.0-beta/nvcv-dev-0.5.0_beta-cuda12-x86_64-linux.deb && \ + dpkg -i nvcv-dev-0.5.0_beta-cuda12-x86_64-linux.deb + # Add MQTT binaries and libraries -RUN apt-add-repository ppa:mosquitto-dev/mosquitto-ppa \ - && apt-get update \ - && apt-get install -y mosquitto mosquitto-clients \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean +RUN --mount=type=cache,target=/var/cache/apt \ +apt-add-repository ppa:mosquitto-dev/mosquitto-ppa \ +&& apt-get update && apt-get install -y \ + mosquitto \ + mosquitto-clients -RUN python3 -m pip install -U \ - paho-mqtt - -# Compression dependencies -RUN apt-get update && apt-get install -y \ - libv4l-dev \ - kmod \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean - -# Install NVIDIA v4l2 extensions for h264 support -RUN apt-get update && apt-get install -y nvv4l2 - -# Upgrade libc to resolve vulnerabilities including CVE-2019-11477 -RUN apt-get update && apt-get install -y --only-upgrade \ - linux-libc-dev \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean - -# Downgrade protobuf -RUN python3 -m pip install \ - protobuf==3.20.1 - -# GPU usage monitoring on x86 -RUN python3 -m pip install \ - gpustat==0.6.0 - -# Python3 (PIP) -RUN python3 -m pip install -U \ - mailcap-fix - -# Resolve vulnerability in mailcap.py by removing it (CVE-2015-20107) -RUN rm -f /opt/tritonserver/backends/dali/conda/envs/dalienv/lib/python3.8/mailcap.py - -# Remove any platform entangling dependencies -RUN touch \ - /usr/lib/x86_64-linux-gnu/libcuda.so \ - /usr/lib/x86_64-linux-gnu/libnvcuvid.so \ - /usr/lib/x86_64-linux-gnu/libnvidia.so \ - /usr/lib/firmware \ - /usr/local/cuda/compat/lib || true - -RUN rm -rf \ - /usr/lib/x86_64-linux-gnu/libcuda.so* \ - /usr/lib/x86_64-linux-gnu/libnvcuvid.so* \ - /usr/lib/x86_64-linux-gnu/libnvidia-*.so* \ - /usr/lib/firmware \ - /usr/local/cuda/compat/lib || true - -# Restore symlink for nvencode -RUN ln -f -s /usr/lib/x86_64-linux-gnu/libnvidia-encode.so.1 /usr/lib/x86_64-linux-gnu/libnvidia-encode.so +# Store list of packages (must be last) +RUN mkdir -p /opt/nvidia/isaac_ros_dev_base && dpkg-query -W | sort > /opt/nvidia/isaac_ros_dev_base/x86_64-end-packages.csv \ No newline at end of file diff --git a/docker/Dockerfile.x86_64.ros2_humble b/docker/Dockerfile.x86_64.ros2_humble deleted file mode 100644 index cb883dd..0000000 --- a/docker/Dockerfile.x86_64.ros2_humble +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. -# -# NVIDIA CORPORATION and its licensors retain all intellectual property -# and proprietary rights in and to this software, related documentation -# and any modifications thereto. Any use, reproduction, disclosure or -# distribution of this software and related documentation without an express -# license agreement from NVIDIA CORPORATION is strictly prohibited. - -FROM nvcr.io/nvidia/isaac/ros:x86_64-ros2_humble_bcf535ea3b9d16a854aaeb1701ab5a86 diff --git a/docker/Dockerfile.zed b/docker/Dockerfile.zed deleted file mode 100644 index 3cfaca0..0000000 --- a/docker/Dockerfile.zed +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved. -# -# NVIDIA CORPORATION and its licensors retain all intellectual property -# and proprietary rights in and to this software, related documentation -# and any modifications thereto. Any use, reproduction, disclosure or -# distribution of this software and related documentation without an express -# license agreement from NVIDIA CORPORATION is strictly prohibited. - -ARG BASE_IMAGE -FROM ${BASE_IMAGE} - -ARG ZED_SDK_MAJOR=4 -ARG ZED_SDK_MINOR=0 - -# zed-ros2-wrapper dependencies -RUN apt-get update && apt-get install -y \ - libgeographic-dev \ - ros-humble-geographic-info \ - ros-humble-nmea-msgs \ - ros-humble-robot-localization \ - ros-humble-xacro \ -&& rm -rf /var/lib/apt/lists/* \ -&& apt-get clean - -RUN mkdir -p /opt/zed/ - -# The zed installation script expects to be run as non-root user and needs the USER ENV variable to be set -ENV USER=${USERNAME} -USER ${USERNAME} - -COPY scripts/install-zed-x86_64.sh /opt/zed/install-zed-x86_64.sh -COPY scripts/install-zed-aarch64.sh /opt/zed/install-zed-aarch64.sh - -RUN sudo chmod +x /opt/zed/install-zed-x86_64.sh -RUN sudo chmod +x /opt/zed/install-zed-aarch64.sh - -RUN if [ "$(uname -m)" = "x86_64" ]; then \ - /opt/zed/install-zed-x86_64.sh; \ - else \ - /opt/zed/install-zed-aarch64.sh; \ - fi - -# Revert to root user -USER root diff --git a/docker/config/docker.bashrc b/docker/config/docker.bashrc deleted file mode 100644 index ec7a490..0000000 --- a/docker/config/docker.bashrc +++ /dev/null @@ -1,149 +0,0 @@ -############################################## -## Bash Script -############################################## - -PROMPT_COMMAND='history -a' -HISTFILE=/home/dev/.bash_history -LOG_WORKSPACE=/workspace/logging -ROS_WORKSPACE=/workspace/go2-devcontainer - -export CC=clang -export CXX=clang++ -export MAKEFLAGS="-j 8" - -export RCUTILS_COLORIZED_OUTPUT=1 -export ROS_LOG_DIR=/workspace/logging/logs -export ROS_DATA_DIR=/workspace/logging/data -export ROS_BAG_MAX_SIZE=1073741824 -export RCUTILS_CONSOLE_OUTPUT_FORMAT="[{severity}] [{time}] [{name}:{line_number}]: {message}" - -# unitree_ros2 -export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp -export CYCLONEDDS_URI=' - - ' - -# https://github.com/ament/ament_cmake/issues/382 -PYTHONWARNINGS="ignore:easy_install command is deprecated,ignore:setup.py install is deprecated" -export PYTHONWARNINGS - -echo '/workspace/logging/coredump/core.%e.%p.%h.%t' | sudo tee /proc/sys/kernel/core_pattern >/dev/null - -_show_workspace_logging_usage() { - # For each dir under logging workspace, show disk usages. - echo "===================================================" - echo "Disk usage for each directory under $LOG_WORKSPACE:" - for dir in $(find $LOG_WORKSPACE -maxdepth 1 -mindepth 1 -type d); do - du -sh $dir - done - echo "Make sure to clean up old logs to save disk space." - echo "===================================================" -} - -_update_dependencies() { - source /opt/ros/humble/setup.bash - sudo apt-get update - cd $ROS_WORKSPACE \ - && rosdep update \ - && rosdep install --from-paths src --ignore-src -y -} - -_ensure_not_in_workspace_src() { - # If current dir ends with "src", prompt user to switch to workspace dir. - # colcon build will stupidly build inside src folder. - if [[ "$(basename "$(pwd)")" == "src" ]]; then - echo "It looks like you're in a 'src' directory. Please switch to ${ROS_WORKSPACE}." - return 1 - fi - return 0 -} - -COMMON_CMAKE_ARGS="\ - -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ - -GNinja \ - -DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=lld \ - -DCMAKE_MODULE_LINKER_FLAGS=-fuse-ld=lld \ - -DCMAKE_SHARED_LINKER_FLAGS=-fuse-ld=lld - " -COMMON_COLCON_ARGS="--symlink-install --event-handlers console_cohesion+" -RELEASE_CMAKE_ARGS="$COMMON_CMAKE_ARGS -DCMAKE_BUILD_TYPE=RelWithDebInfo" -DEBUG_CMAKE_ARGS="$COMMON_CMAKE_ARGS -DCMAKE_BUILD_TYPE=Debug" - -_colcon_release_build() { - _ensure_not_in_workspace_src || return 1 - - # Run 'colcon build' with passed arguments - colcon build \ - ${COMMON_COLCON_ARGS} \ - --cmake-args $RELEASE_CMAKE_ARGS \ - "$@" -} - -_colcon_debug_build() { - _ensure_not_in_workspace_src || return 1 - - # Run 'colcon build' with passed arguments - colcon build \ - ${COMMON_COLCON_ARGS} \ - --cmake-args $DEBUG_CMAKE_ARGS \ - "$@" -} - -_colcon_test() { - _ensure_not_in_workspace_src || return 1 - - # Run 'colcon test' with passed arguments - colcon test --event-handlers console_cohesion+ "$@" -} - -_remove_directories() { - if [ -d "build" ]; then - rm -r build - fi - if [ -d "install" ]; then - rm -r install - fi - if [ -d "log" ]; then - rm -r log - fi -} - -colcon_clean() { - _ensure_not_in_workspace_src || return 1 - - if [ -d "build" ] || [ -d "install" ] || [ -d "log" ]; then - while true; do - read -p "Do you wish to remove build, install, and log directories? [y/n] " yn - case $yn in - [Yy]* ) _remove_directories; break;; - [Nn]* ) break;; - * ) echo "Please answer yes or no.";; - esac - done - fi -} - -# Colcon build aliases -alias update_dep=_update_dependencies -alias source_ws='source install/setup.bash' -alias colcon_build='_colcon_release_build' -alias colcon_debug_build='_colcon_debug_build' -alias colcon_build_package='_colcon_release_build --packages-select' -alias colcon_debug_build_package='_colcon_debug_build --packages-select' -alias colcon_build_up_to='_colcon_release_build --packages-up-to' -alias colcon_debug_build_up_to='_colcon_debug_build --packages-up-to' -alias colcon_test='_colcon_test' -alias colcon_test_package='_colcon_test --packages-select' -alias colcon_test_up_to='_colcon_test --packages-up-to' - -source /opt/ros/humble/setup.bash -# Source ROS workspace if it exists -if [ -f "/workspace/go2-devcontainer/install/setup.bash" ]; then - source /workspace/go2-devcontainer/install/setup.bash -fi - -# colcon_cd -source /usr/share/colcon_cd/function/colcon_cd.sh -export _colcon_cd_root=/opt/ros/humble/ - -_show_workspace_logging_usage \ No newline at end of file diff --git a/docker/patches/libcudacxx_aarch64_cuda_11_4.diff b/docker/patches/libcudacxx_aarch64_cuda_11_4.diff deleted file mode 100644 index 17bd4df..0000000 --- a/docker/patches/libcudacxx_aarch64_cuda_11_4.diff +++ /dev/null @@ -1,28 +0,0 @@ -""" - SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved. - SPDX-License-Identifier: Apache-2.0 - - 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. -""" - ---- usr/local/cuda-11.4/targets/aarch64-linux/include/cuda/std/detail/libcxx/include/cmath 2022-11-09 12:28:48.381859565 -0800 -+++ usr/local/cuda-11.4/targets/aarch64-linux/include/cuda/std/detail/libcxx/include/cmath 2022-11-09 12:28:58.021653123 -0800 -@@ -565,7 +565,7 @@ - using ::truncl; - #endif - --#if _LIBCUDACXX_STD_VER > 14 && (defined(_LIBCUDACXX_NO_HOST_CPP17_HYPOT) || !defined(_LIBCUDACXX_COMPILER_NVCC)) -+#if _LIBCUDACXX_STD_VER > 14 && !defined(__cuda_std__) - inline _LIBCUDACXX_INLINE_VISIBILITY float hypot( float x, float y, float z ) { return sqrt(x*x + y*y + z*z); } - inline _LIBCUDACXX_INLINE_VISIBILITY double hypot( double x, double y, double z ) { return sqrt(x*x + y*y + z*z); } - #ifdef _LIBCUDACXX_HAS_COMPLEX_LONG_DOUBLE diff --git a/docker/rosdep/extra_rosdeps.yaml b/docker/rosdep/extra_rosdeps.yaml new file mode 100644 index 0000000..6879c96 --- /dev/null +++ b/docker/rosdep/extra_rosdeps.yaml @@ -0,0 +1,9091 @@ +# Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved. +# +# NVIDIA CORPORATION and its licensors retain all intellectual property +# and proprietary rights in and to this software, related documentation +# and any modifications thereto. Any use, reproduction, disclosure or +# distribution of this software and related documentation without an express +# license agreement from NVIDIA CORPORATION is strictly prohibited. +aandd_ekew_driver_py: + ubuntu: + focal: [ros-humble-aandd-ekew-driver-py] + jammy: [ros-humble-aandd-ekew-driver-py] +acado_vendor: + ubuntu: + focal: [ros-humble-acado-vendor] + jammy: [ros-humble-acado-vendor] +acado_vendor_dbgsym: + ubuntu: + focal: [ros-humble-acado-vendor-dbgsym] + jammy: [ros-humble-acado-vendor-dbgsym] +ackermann_msgs: + ubuntu: + focal: [ros-humble-ackermann-msgs] + jammy: [ros-humble-ackermann-msgs] +ackermann_msgs_dbgsym: + ubuntu: + focal: [ros-humble-ackermann-msgs-dbgsym] + jammy: [ros-humble-ackermann-msgs-dbgsym] +ackermann_steering_controller: + ubuntu: + focal: [ros-humble-ackermann-steering-controller] + jammy: [ros-humble-ackermann-steering-controller] +ackermann_steering_controller_dbgsym: + ubuntu: + focal: [ros-humble-ackermann-steering-controller-dbgsym] + jammy: [ros-humble-ackermann-steering-controller-dbgsym] +action_msgs: + ubuntu: + focal: [ros-humble-action-msgs] + jammy: [ros-humble-action-msgs] +action_msgs_dbgsym: + ubuntu: + focal: [ros-humble-action-msgs-dbgsym] + jammy: [ros-humble-action-msgs-dbgsym] +action_tutorials_cpp: + ubuntu: + focal: [ros-humble-action-tutorials-cpp] + jammy: [ros-humble-action-tutorials-cpp] +action_tutorials_cpp_dbgsym: + ubuntu: + focal: [ros-humble-action-tutorials-cpp-dbgsym] + jammy: [ros-humble-action-tutorials-cpp-dbgsym] +action_tutorials_interfaces: + ubuntu: + focal: [ros-humble-action-tutorials-interfaces] + jammy: [ros-humble-action-tutorials-interfaces] +action_tutorials_interfaces_dbgsym: + ubuntu: + focal: [ros-humble-action-tutorials-interfaces-dbgsym] + jammy: [ros-humble-action-tutorials-interfaces-dbgsym] +action_tutorials_py: + ubuntu: + focal: [ros-humble-action-tutorials-py] + jammy: [ros-humble-action-tutorials-py] +actionlib_msgs: + ubuntu: + focal: [ros-humble-actionlib-msgs] + jammy: [ros-humble-actionlib-msgs] +actionlib_msgs_dbgsym: + ubuntu: + focal: [ros-humble-actionlib-msgs-dbgsym] + jammy: [ros-humble-actionlib-msgs-dbgsym] +actuator_msgs: + ubuntu: + focal: [ros-humble-actuator-msgs] + jammy: [ros-humble-actuator-msgs] +actuator_msgs_dbgsym: + ubuntu: + focal: [ros-humble-actuator-msgs-dbgsym] + jammy: [ros-humble-actuator-msgs-dbgsym] +adaptive_component: + ubuntu: + focal: [ros-humble-adaptive-component] + jammy: [ros-humble-adaptive-component] +adaptive_component_dbgsym: + ubuntu: + focal: [ros-humble-adaptive-component-dbgsym] + jammy: [ros-humble-adaptive-component-dbgsym] +admittance_controller: + ubuntu: + focal: [ros-humble-admittance-controller] + jammy: [ros-humble-admittance-controller] +admittance_controller_dbgsym: + ubuntu: + focal: [ros-humble-admittance-controller-dbgsym] + jammy: [ros-humble-admittance-controller-dbgsym] +affordance_primitives: + ubuntu: + focal: [ros-humble-affordance-primitives] + jammy: [ros-humble-affordance-primitives] +affordance_primitives_dbgsym: + ubuntu: + focal: [ros-humble-affordance-primitives-dbgsym] + jammy: [ros-humble-affordance-primitives-dbgsym] +ament_acceleration: + ubuntu: + focal: [ros-humble-ament-acceleration] + jammy: [ros-humble-ament-acceleration] +ament_black: + ubuntu: + focal: [ros-humble-ament-black] + jammy: [ros-humble-ament-black] +ament_clang_format: + ubuntu: + focal: [ros-humble-ament-clang-format] + jammy: [ros-humble-ament-clang-format] +ament_clang_tidy: + ubuntu: + focal: [ros-humble-ament-clang-tidy] + jammy: [ros-humble-ament-clang-tidy] +ament_cmake: + ubuntu: + focal: [ros-humble-ament-cmake] + jammy: [ros-humble-ament-cmake] +ament_cmake_auto: + ubuntu: + focal: [ros-humble-ament-cmake-auto] + jammy: [ros-humble-ament-cmake-auto] +ament_cmake_black: + ubuntu: + focal: [ros-humble-ament-cmake-black] + jammy: [ros-humble-ament-cmake-black] +ament_cmake_catch2: + ubuntu: + focal: [ros-humble-ament-cmake-catch2] + jammy: [ros-humble-ament-cmake-catch2] +ament_cmake_clang_format: + ubuntu: + focal: [ros-humble-ament-cmake-clang-format] + jammy: [ros-humble-ament-cmake-clang-format] +ament_cmake_clang_tidy: + ubuntu: + focal: [ros-humble-ament-cmake-clang-tidy] + jammy: [ros-humble-ament-cmake-clang-tidy] +ament_cmake_copyright: + ubuntu: + focal: [ros-humble-ament-cmake-copyright] + jammy: [ros-humble-ament-cmake-copyright] +ament_cmake_core: + ubuntu: + focal: [ros-humble-ament-cmake-core] + jammy: [ros-humble-ament-cmake-core] +ament_cmake_cppcheck: + ubuntu: + focal: [ros-humble-ament-cmake-cppcheck] + jammy: [ros-humble-ament-cmake-cppcheck] +ament_cmake_cpplint: + ubuntu: + focal: [ros-humble-ament-cmake-cpplint] + jammy: [ros-humble-ament-cmake-cpplint] +ament_cmake_export_definitions: + ubuntu: + focal: [ros-humble-ament-cmake-export-definitions] + jammy: [ros-humble-ament-cmake-export-definitions] +ament_cmake_export_dependencies: + ubuntu: + focal: [ros-humble-ament-cmake-export-dependencies] + jammy: [ros-humble-ament-cmake-export-dependencies] +ament_cmake_export_include_directories: + ubuntu: + focal: [ros-humble-ament-cmake-export-include-directories] + jammy: [ros-humble-ament-cmake-export-include-directories] +ament_cmake_export_interfaces: + ubuntu: + focal: [ros-humble-ament-cmake-export-interfaces] + jammy: [ros-humble-ament-cmake-export-interfaces] +ament_cmake_export_libraries: + ubuntu: + focal: [ros-humble-ament-cmake-export-libraries] + jammy: [ros-humble-ament-cmake-export-libraries] +ament_cmake_export_link_flags: + ubuntu: + focal: [ros-humble-ament-cmake-export-link-flags] + jammy: [ros-humble-ament-cmake-export-link-flags] +ament_cmake_export_targets: + ubuntu: + focal: [ros-humble-ament-cmake-export-targets] + jammy: [ros-humble-ament-cmake-export-targets] +ament_cmake_flake8: + ubuntu: + focal: [ros-humble-ament-cmake-flake8] + jammy: [ros-humble-ament-cmake-flake8] +ament_cmake_gen_version_h: + ubuntu: + focal: [ros-humble-ament-cmake-gen-version-h] + jammy: [ros-humble-ament-cmake-gen-version-h] +ament_cmake_gmock: + ubuntu: + focal: [ros-humble-ament-cmake-gmock] + jammy: [ros-humble-ament-cmake-gmock] +ament_cmake_google_benchmark: + ubuntu: + focal: [ros-humble-ament-cmake-google-benchmark] + jammy: [ros-humble-ament-cmake-google-benchmark] +ament_cmake_gtest: + ubuntu: + focal: [ros-humble-ament-cmake-gtest] + jammy: [ros-humble-ament-cmake-gtest] +ament_cmake_include_directories: + ubuntu: + focal: [ros-humble-ament-cmake-include-directories] + jammy: [ros-humble-ament-cmake-include-directories] +ament_cmake_libraries: + ubuntu: + focal: [ros-humble-ament-cmake-libraries] + jammy: [ros-humble-ament-cmake-libraries] +ament_cmake_lint_cmake: + ubuntu: + focal: [ros-humble-ament-cmake-lint-cmake] + jammy: [ros-humble-ament-cmake-lint-cmake] +ament_cmake_mypy: + ubuntu: + focal: [ros-humble-ament-cmake-mypy] + jammy: [ros-humble-ament-cmake-mypy] +ament_cmake_nose: + ubuntu: + focal: [ros-humble-ament-cmake-nose] + jammy: [ros-humble-ament-cmake-nose] +ament_cmake_pclint: + ubuntu: + focal: [ros-humble-ament-cmake-pclint] + jammy: [ros-humble-ament-cmake-pclint] +ament_cmake_pep257: + ubuntu: + focal: [ros-humble-ament-cmake-pep257] + jammy: [ros-humble-ament-cmake-pep257] +ament_cmake_pycodestyle: + ubuntu: + focal: [ros-humble-ament-cmake-pycodestyle] + jammy: [ros-humble-ament-cmake-pycodestyle] +ament_cmake_pyflakes: + ubuntu: + focal: [ros-humble-ament-cmake-pyflakes] + jammy: [ros-humble-ament-cmake-pyflakes] +ament_cmake_pytest: + ubuntu: + focal: [ros-humble-ament-cmake-pytest] + jammy: [ros-humble-ament-cmake-pytest] +ament_cmake_python: + ubuntu: + focal: [ros-humble-ament-cmake-python] + jammy: [ros-humble-ament-cmake-python] +ament_cmake_ros: + ubuntu: + focal: [ros-humble-ament-cmake-ros] + jammy: [ros-humble-ament-cmake-ros] +ament_cmake_target_dependencies: + ubuntu: + focal: [ros-humble-ament-cmake-target-dependencies] + jammy: [ros-humble-ament-cmake-target-dependencies] +ament_cmake_test: + ubuntu: + focal: [ros-humble-ament-cmake-test] + jammy: [ros-humble-ament-cmake-test] +ament_cmake_uncrustify: + ubuntu: + focal: [ros-humble-ament-cmake-uncrustify] + jammy: [ros-humble-ament-cmake-uncrustify] +ament_cmake_vendor_package: + ubuntu: + focal: [ros-humble-ament-cmake-vendor-package] + jammy: [ros-humble-ament-cmake-vendor-package] +ament_cmake_version: + ubuntu: + focal: [ros-humble-ament-cmake-version] + jammy: [ros-humble-ament-cmake-version] +ament_cmake_xmllint: + ubuntu: + focal: [ros-humble-ament-cmake-xmllint] + jammy: [ros-humble-ament-cmake-xmllint] +ament_copyright: + ubuntu: + focal: [ros-humble-ament-copyright] + jammy: [ros-humble-ament-copyright] +ament_cppcheck: + ubuntu: + focal: [ros-humble-ament-cppcheck] + jammy: [ros-humble-ament-cppcheck] +ament_cpplint: + ubuntu: + focal: [ros-humble-ament-cpplint] + jammy: [ros-humble-ament-cpplint] +ament_download: + ubuntu: + focal: [ros-humble-ament-download] + jammy: [ros-humble-ament-download] +ament_flake8: + ubuntu: + focal: [ros-humble-ament-flake8] + jammy: [ros-humble-ament-flake8] +ament_index_cpp: + ubuntu: + focal: [ros-humble-ament-index-cpp] + jammy: [ros-humble-ament-index-cpp] +ament_index_cpp_dbgsym: + ubuntu: + focal: [ros-humble-ament-index-cpp-dbgsym] + jammy: [ros-humble-ament-index-cpp-dbgsym] +ament_index_python: + ubuntu: + focal: [ros-humble-ament-index-python] + jammy: [ros-humble-ament-index-python] +ament_lint: + ubuntu: + focal: [ros-humble-ament-lint] + jammy: [ros-humble-ament-lint] +ament_lint_auto: + ubuntu: + focal: [ros-humble-ament-lint-auto] + jammy: [ros-humble-ament-lint-auto] +ament_lint_cmake: + ubuntu: + focal: [ros-humble-ament-lint-cmake] + jammy: [ros-humble-ament-lint-cmake] +ament_lint_common: + ubuntu: + focal: [ros-humble-ament-lint-common] + jammy: [ros-humble-ament-lint-common] +ament_mypy: + ubuntu: + focal: [ros-humble-ament-mypy] + jammy: [ros-humble-ament-mypy] +ament_nodl: + ubuntu: + focal: [ros-humble-ament-nodl] + jammy: [ros-humble-ament-nodl] +ament_package: + ubuntu: + focal: [ros-humble-ament-package] + jammy: [ros-humble-ament-package] +ament_pclint: + ubuntu: + focal: [ros-humble-ament-pclint] + jammy: [ros-humble-ament-pclint] +ament_pep257: + ubuntu: + focal: [ros-humble-ament-pep257] + jammy: [ros-humble-ament-pep257] +ament_pycodestyle: + ubuntu: + focal: [ros-humble-ament-pycodestyle] + jammy: [ros-humble-ament-pycodestyle] +ament_pyflakes: + ubuntu: + focal: [ros-humble-ament-pyflakes] + jammy: [ros-humble-ament-pyflakes] +ament_python: + ubuntu: [] +ament_uncrustify: + ubuntu: + focal: [ros-humble-ament-uncrustify] + jammy: [ros-humble-ament-uncrustify] +ament_vitis: + ubuntu: + focal: [ros-humble-ament-vitis] + jammy: [ros-humble-ament-vitis] +ament_xmllint: + ubuntu: + focal: [ros-humble-ament-xmllint] + jammy: [ros-humble-ament-xmllint] +angles: + ubuntu: + focal: [ros-humble-angles] + jammy: [ros-humble-angles] +apex_containers: + ubuntu: + focal: [ros-humble-apex-containers] + jammy: [ros-humble-apex-containers] +apex_containers_dbgsym: + ubuntu: + focal: [ros-humble-apex-containers-dbgsym] + jammy: [ros-humble-apex-containers-dbgsym] +apex_test_tools: + ubuntu: + focal: [ros-humble-apex-test-tools] + jammy: [ros-humble-apex-test-tools] +apriltag: + ubuntu: + focal: [ros-humble-apriltag] + jammy: [ros-humble-apriltag] +apriltag_dbgsym: + ubuntu: + focal: [ros-humble-apriltag-dbgsym] + jammy: [ros-humble-apriltag-dbgsym] +apriltag_msgs: + ubuntu: + focal: [ros-humble-apriltag-msgs] + jammy: [ros-humble-apriltag-msgs] +apriltag_msgs_dbgsym: + ubuntu: + focal: [ros-humble-apriltag-msgs-dbgsym] + jammy: [ros-humble-apriltag-msgs-dbgsym] +apriltag_ros: + ubuntu: + focal: [ros-humble-apriltag-ros] + jammy: [ros-humble-apriltag-ros] +apriltag_ros_dbgsym: + ubuntu: + focal: [ros-humble-apriltag-ros-dbgsym] + jammy: [ros-humble-apriltag-ros-dbgsym] +aruco: + ubuntu: + focal: [ros-humble-aruco] + jammy: [ros-humble-aruco] +aruco_dbgsym: + ubuntu: + focal: [ros-humble-aruco-dbgsym] + jammy: [ros-humble-aruco-dbgsym] +aruco_msgs: + ubuntu: + focal: [ros-humble-aruco-msgs] + jammy: [ros-humble-aruco-msgs] +aruco_msgs_dbgsym: + ubuntu: + focal: [ros-humble-aruco-msgs-dbgsym] + jammy: [ros-humble-aruco-msgs-dbgsym] +aruco_opencv: + ubuntu: + focal: [ros-humble-aruco-opencv] + jammy: [ros-humble-aruco-opencv] +aruco_opencv_dbgsym: + ubuntu: + focal: [ros-humble-aruco-opencv-dbgsym] + jammy: [ros-humble-aruco-opencv-dbgsym] +aruco_opencv_msgs: + ubuntu: + focal: [ros-humble-aruco-opencv-msgs] + jammy: [ros-humble-aruco-opencv-msgs] +aruco_opencv_msgs_dbgsym: + ubuntu: + focal: [ros-humble-aruco-opencv-msgs-dbgsym] + jammy: [ros-humble-aruco-opencv-msgs-dbgsym] +aruco_ros: + ubuntu: + focal: [ros-humble-aruco-ros] + jammy: [ros-humble-aruco-ros] +aruco_ros_dbgsym: + ubuntu: + focal: [ros-humble-aruco-ros-dbgsym] + jammy: [ros-humble-aruco-ros-dbgsym] +as2_alphanumeric_viewer: + ubuntu: + focal: [ros-humble-as2-alphanumeric-viewer] + jammy: [ros-humble-as2-alphanumeric-viewer] +as2_alphanumeric_viewer_dbgsym: + ubuntu: + focal: [ros-humble-as2-alphanumeric-viewer-dbgsym] + jammy: [ros-humble-as2-alphanumeric-viewer-dbgsym] +as2_behavior: + ubuntu: + focal: [ros-humble-as2-behavior] + jammy: [ros-humble-as2-behavior] +as2_behavior_dbgsym: + ubuntu: + focal: [ros-humble-as2-behavior-dbgsym] + jammy: [ros-humble-as2-behavior-dbgsym] +as2_behavior_tree: + ubuntu: + focal: [ros-humble-as2-behavior-tree] + jammy: [ros-humble-as2-behavior-tree] +as2_behavior_tree_dbgsym: + ubuntu: + focal: [ros-humble-as2-behavior-tree-dbgsym] + jammy: [ros-humble-as2-behavior-tree-dbgsym] +as2_behaviors_motion: + ubuntu: + focal: [ros-humble-as2-behaviors-motion] + jammy: [ros-humble-as2-behaviors-motion] +as2_behaviors_motion_dbgsym: + ubuntu: + focal: [ros-humble-as2-behaviors-motion-dbgsym] + jammy: [ros-humble-as2-behaviors-motion-dbgsym] +as2_behaviors_perception: + ubuntu: + focal: [ros-humble-as2-behaviors-perception] + jammy: [ros-humble-as2-behaviors-perception] +as2_behaviors_perception_dbgsym: + ubuntu: + focal: [ros-humble-as2-behaviors-perception-dbgsym] + jammy: [ros-humble-as2-behaviors-perception-dbgsym] +as2_behaviors_platform: + ubuntu: + focal: [ros-humble-as2-behaviors-platform] + jammy: [ros-humble-as2-behaviors-platform] +as2_behaviors_platform_dbgsym: + ubuntu: + focal: [ros-humble-as2-behaviors-platform-dbgsym] + jammy: [ros-humble-as2-behaviors-platform-dbgsym] +as2_behaviors_trajectory_generation: + ubuntu: + focal: [ros-humble-as2-behaviors-trajectory-generation] + jammy: [ros-humble-as2-behaviors-trajectory-generation] +as2_behaviors_trajectory_generation_dbgsym: + ubuntu: + focal: [ros-humble-as2-behaviors-trajectory-generation-dbgsym] + jammy: [ros-humble-as2-behaviors-trajectory-generation-dbgsym] +as2_cli: + ubuntu: + focal: [ros-humble-as2-cli] + jammy: [ros-humble-as2-cli] +as2_core: + ubuntu: + focal: [ros-humble-as2-core] + jammy: [ros-humble-as2-core] +as2_gazebo_classic_assets: + ubuntu: + focal: [ros-humble-as2-gazebo-classic-assets] + jammy: [ros-humble-as2-gazebo-classic-assets] +as2_ign_gazebo_assets: + ubuntu: + focal: [ros-humble-as2-ign-gazebo-assets] + jammy: [ros-humble-as2-ign-gazebo-assets] +as2_ign_gazebo_assets_dbgsym: + ubuntu: + focal: [ros-humble-as2-ign-gazebo-assets-dbgsym] + jammy: [ros-humble-as2-ign-gazebo-assets-dbgsym] +as2_motion_controller: + ubuntu: + focal: [ros-humble-as2-motion-controller] + jammy: [ros-humble-as2-motion-controller] +as2_motion_controller_dbgsym: + ubuntu: + focal: [ros-humble-as2-motion-controller-dbgsym] + jammy: [ros-humble-as2-motion-controller-dbgsym] +as2_motion_reference_handlers: + ubuntu: + focal: [ros-humble-as2-motion-reference-handlers] + jammy: [ros-humble-as2-motion-reference-handlers] +as2_msgs: + ubuntu: + focal: [ros-humble-as2-msgs] + jammy: [ros-humble-as2-msgs] +as2_msgs_dbgsym: + ubuntu: + focal: [ros-humble-as2-msgs-dbgsym] + jammy: [ros-humble-as2-msgs-dbgsym] +as2_platform_crazyflie: + ubuntu: + focal: [ros-humble-as2-platform-crazyflie] + jammy: [ros-humble-as2-platform-crazyflie] +as2_platform_crazyflie_dbgsym: + ubuntu: + focal: [ros-humble-as2-platform-crazyflie-dbgsym] + jammy: [ros-humble-as2-platform-crazyflie-dbgsym] +as2_platform_ign_gazebo: + ubuntu: + focal: [ros-humble-as2-platform-ign-gazebo] + jammy: [ros-humble-as2-platform-ign-gazebo] +as2_platform_ign_gazebo_dbgsym: + ubuntu: + focal: [ros-humble-as2-platform-ign-gazebo-dbgsym] + jammy: [ros-humble-as2-platform-ign-gazebo-dbgsym] +as2_platform_tello: + ubuntu: + focal: [ros-humble-as2-platform-tello] + jammy: [ros-humble-as2-platform-tello] +as2_platform_tello_dbgsym: + ubuntu: + focal: [ros-humble-as2-platform-tello-dbgsym] + jammy: [ros-humble-as2-platform-tello-dbgsym] +as2_realsense_interface: + ubuntu: + focal: [ros-humble-as2-realsense-interface] + jammy: [ros-humble-as2-realsense-interface] +as2_realsense_interface_dbgsym: + ubuntu: + focal: [ros-humble-as2-realsense-interface-dbgsym] + jammy: [ros-humble-as2-realsense-interface-dbgsym] +as2_state_estimator: + ubuntu: + focal: [ros-humble-as2-state-estimator] + jammy: [ros-humble-as2-state-estimator] +as2_state_estimator_dbgsym: + ubuntu: + focal: [ros-humble-as2-state-estimator-dbgsym] + jammy: [ros-humble-as2-state-estimator-dbgsym] +as2_usb_camera_interface: + ubuntu: + focal: [ros-humble-as2-usb-camera-interface] + jammy: [ros-humble-as2-usb-camera-interface] +as2_usb_camera_interface_dbgsym: + ubuntu: + focal: [ros-humble-as2-usb-camera-interface-dbgsym] + jammy: [ros-humble-as2-usb-camera-interface-dbgsym] +asio_cmake_module: + ubuntu: + focal: [ros-humble-asio-cmake-module] + jammy: [ros-humble-asio-cmake-module] +async_web_server_cpp: + ubuntu: + focal: [ros-humble-async-web-server-cpp] + jammy: [ros-humble-async-web-server-cpp] +async_web_server_cpp_dbgsym: + ubuntu: + focal: [ros-humble-async-web-server-cpp-dbgsym] + jammy: [ros-humble-async-web-server-cpp-dbgsym] +automotive_autonomy_msgs: + ubuntu: + focal: [ros-humble-automotive-autonomy-msgs] + jammy: [ros-humble-automotive-autonomy-msgs] +automotive_navigation_msgs: + ubuntu: + focal: [ros-humble-automotive-navigation-msgs] + jammy: [ros-humble-automotive-navigation-msgs] +automotive_navigation_msgs_dbgsym: + ubuntu: + focal: [ros-humble-automotive-navigation-msgs-dbgsym] + jammy: [ros-humble-automotive-navigation-msgs-dbgsym] +automotive_platform_msgs: + ubuntu: + focal: [ros-humble-automotive-platform-msgs] + jammy: [ros-humble-automotive-platform-msgs] +automotive_platform_msgs_dbgsym: + ubuntu: + focal: [ros-humble-automotive-platform-msgs-dbgsym] + jammy: [ros-humble-automotive-platform-msgs-dbgsym] +autoware_auto_msgs: + ubuntu: + focal: [ros-humble-autoware-auto-msgs] + jammy: [ros-humble-autoware-auto-msgs] +autoware_auto_msgs_dbgsym: + ubuntu: + focal: [ros-humble-autoware-auto-msgs-dbgsym] + jammy: [ros-humble-autoware-auto-msgs-dbgsym] +avt_vimba_camera: + ubuntu: + focal: [ros-humble-avt-vimba-camera] + jammy: [ros-humble-avt-vimba-camera] +avt_vimba_camera_dbgsym: + ubuntu: + focal: [ros-humble-avt-vimba-camera-dbgsym] + jammy: [ros-humble-avt-vimba-camera-dbgsym] +aws_sdk_cpp_vendor: + ubuntu: + focal: [ros-humble-aws-sdk-cpp-vendor] + jammy: [ros-humble-aws-sdk-cpp-vendor] +aws_sdk_cpp_vendor_dbgsym: + ubuntu: + focal: [ros-humble-aws-sdk-cpp-vendor-dbgsym] + jammy: [ros-humble-aws-sdk-cpp-vendor-dbgsym] +backward_ros: + ubuntu: + focal: [ros-humble-backward-ros] + jammy: [ros-humble-backward-ros] +backward_ros_dbgsym: + ubuntu: + focal: [ros-humble-backward-ros-dbgsym] + jammy: [ros-humble-backward-ros-dbgsym] +bag2_to_image: + ubuntu: + focal: [ros-humble-bag2-to-image] + jammy: [ros-humble-bag2-to-image] +bag2_to_image_dbgsym: + ubuntu: + focal: [ros-humble-bag2-to-image-dbgsym] + jammy: [ros-humble-bag2-to-image-dbgsym] +base2d_kinematics: + ubuntu: + focal: [ros-humble-base2d-kinematics] + jammy: [ros-humble-base2d-kinematics] +base2d_kinematics_dbgsym: + ubuntu: + focal: [ros-humble-base2d-kinematics-dbgsym] + jammy: [ros-humble-base2d-kinematics-dbgsym] +base2d_kinematics_msgs: + ubuntu: + focal: [ros-humble-base2d-kinematics-msgs] + jammy: [ros-humble-base2d-kinematics-msgs] +base2d_kinematics_msgs_dbgsym: + ubuntu: + focal: [ros-humble-base2d-kinematics-msgs-dbgsym] + jammy: [ros-humble-base2d-kinematics-msgs-dbgsym] +behaviortree_cpp: + ubuntu: + focal: [ros-humble-behaviortree-cpp] + jammy: [ros-humble-behaviortree-cpp] +behaviortree_cpp_dbgsym: + ubuntu: + focal: [ros-humble-behaviortree-cpp-dbgsym] + jammy: [ros-humble-behaviortree-cpp-dbgsym] +behaviortree_cpp_v3: + ubuntu: + focal: [ros-humble-behaviortree-cpp-v3] + jammy: [ros-humble-behaviortree-cpp-v3] +behaviortree_cpp_v3_dbgsym: + ubuntu: + focal: [ros-humble-behaviortree-cpp-v3-dbgsym] + jammy: [ros-humble-behaviortree-cpp-v3-dbgsym] +bicycle_steering_controller: + ubuntu: + focal: [ros-humble-bicycle-steering-controller] + jammy: [ros-humble-bicycle-steering-controller] +bicycle_steering_controller_dbgsym: + ubuntu: + focal: [ros-humble-bicycle-steering-controller-dbgsym] + jammy: [ros-humble-bicycle-steering-controller-dbgsym] +bno055: + ubuntu: + focal: [ros-humble-bno055] + jammy: [ros-humble-bno055] +bond: + ubuntu: + focal: [ros-humble-bond] + jammy: [ros-humble-bond] +bond_core: + ubuntu: + focal: [ros-humble-bond-core] + jammy: [ros-humble-bond-core] +bond_dbgsym: + ubuntu: + focal: [ros-humble-bond-dbgsym] + jammy: [ros-humble-bond-dbgsym] +bondcpp: + ubuntu: + focal: [ros-humble-bondcpp] + jammy: [ros-humble-bondcpp] +bondcpp_dbgsym: + ubuntu: + focal: [ros-humble-bondcpp-dbgsym] + jammy: [ros-humble-bondcpp-dbgsym] +boost_geometry_util: + ubuntu: + focal: [ros-humble-boost-geometry-util] + jammy: [ros-humble-boost-geometry-util] +boost_geometry_util_dbgsym: + ubuntu: + focal: [ros-humble-boost-geometry-util-dbgsym] + jammy: [ros-humble-boost-geometry-util-dbgsym] +boost_plugin_loader: + ubuntu: + focal: [ros-humble-boost-plugin-loader] + jammy: [ros-humble-boost-plugin-loader] +boost_plugin_loader_dbgsym: + ubuntu: + focal: [ros-humble-boost-plugin-loader-dbgsym] + jammy: [ros-humble-boost-plugin-loader-dbgsym] +builtin_interfaces: + ubuntu: + focal: [ros-humble-builtin-interfaces] + jammy: [ros-humble-builtin-interfaces] +builtin_interfaces_dbgsym: + ubuntu: + focal: [ros-humble-builtin-interfaces-dbgsym] + jammy: [ros-humble-builtin-interfaces-dbgsym] +camera_calibration: + ubuntu: + focal: [ros-humble-camera-calibration] + jammy: [ros-humble-camera-calibration] +camera_calibration_parsers: + ubuntu: + focal: [ros-humble-camera-calibration-parsers] + jammy: [ros-humble-camera-calibration-parsers] +camera_calibration_parsers_dbgsym: + ubuntu: + focal: [ros-humble-camera-calibration-parsers-dbgsym] + jammy: [ros-humble-camera-calibration-parsers-dbgsym] +camera_info_manager: + ubuntu: + focal: [ros-humble-camera-info-manager] + jammy: [ros-humble-camera-info-manager] +camera_info_manager_dbgsym: + ubuntu: + focal: [ros-humble-camera-info-manager-dbgsym] + jammy: [ros-humble-camera-info-manager-dbgsym] +camera_ros: + ubuntu: + focal: [ros-humble-camera-ros] + jammy: [ros-humble-camera-ros] +camera_ros_dbgsym: + ubuntu: + focal: [ros-humble-camera-ros-dbgsym] + jammy: [ros-humble-camera-ros-dbgsym] +can_msgs: + ubuntu: + focal: [ros-humble-can-msgs] + jammy: [ros-humble-can-msgs] +can_msgs_dbgsym: + ubuntu: + focal: [ros-humble-can-msgs-dbgsym] + jammy: [ros-humble-can-msgs-dbgsym] +can_utils: + ubuntu: + focal: [can-utils] + jammy: [can-utils] +carter_navigation: + ubuntu: + focal: [ros-humble-carter-navigation] + jammy: [ros-humble-carter-navigation] +cartographer: + ubuntu: + focal: [ros-humble-cartographer] + jammy: [ros-humble-cartographer] +cartographer_dbgsym: + ubuntu: + focal: [ros-humble-cartographer-dbgsym] + jammy: [ros-humble-cartographer-dbgsym] +cartographer_ros: + ubuntu: + focal: [ros-humble-cartographer-ros] + jammy: [ros-humble-cartographer-ros] +cartographer_ros_dbgsym: + ubuntu: + focal: [ros-humble-cartographer-ros-dbgsym] + jammy: [ros-humble-cartographer-ros-dbgsym] +cartographer_ros_msgs: + ubuntu: + focal: [ros-humble-cartographer-ros-msgs] + jammy: [ros-humble-cartographer-ros-msgs] +cartographer_ros_msgs_dbgsym: + ubuntu: + focal: [ros-humble-cartographer-ros-msgs-dbgsym] + jammy: [ros-humble-cartographer-ros-msgs-dbgsym] +cartographer_rviz: + ubuntu: + focal: [ros-humble-cartographer-rviz] + jammy: [ros-humble-cartographer-rviz] +cartographer_rviz_dbgsym: + ubuntu: + focal: [ros-humble-cartographer-rviz-dbgsym] + jammy: [ros-humble-cartographer-rviz-dbgsym] +cascade_lifecycle_msgs: + ubuntu: + focal: [ros-humble-cascade-lifecycle-msgs] + jammy: [ros-humble-cascade-lifecycle-msgs] +cascade_lifecycle_msgs_dbgsym: + ubuntu: + focal: [ros-humble-cascade-lifecycle-msgs-dbgsym] + jammy: [ros-humble-cascade-lifecycle-msgs-dbgsym] +catch_ros2: + ubuntu: + focal: [ros-humble-catch-ros2] + jammy: [ros-humble-catch-ros2] +catch_ros2_dbgsym: + ubuntu: + focal: [ros-humble-catch-ros2-dbgsym] + jammy: [ros-humble-catch-ros2-dbgsym] +catkin: + ubuntu: + focal: [ros-noetic-catkin] + jammy: [ros-noetic-catkin] +chomp_motion_planner: + ubuntu: + focal: [ros-humble-chomp-motion-planner] + jammy: [ros-humble-chomp-motion-planner] +chomp_motion_planner_dbgsym: + ubuntu: + focal: [ros-humble-chomp-motion-planner-dbgsym] + jammy: [ros-humble-chomp-motion-planner-dbgsym] +class_loader: + ubuntu: + focal: [ros-humble-class-loader] + jammy: [ros-humble-class-loader] +class_loader_dbgsym: + ubuntu: + focal: [ros-humble-class-loader-dbgsym] + jammy: [ros-humble-class-loader-dbgsym] +classic_bags: + ubuntu: + focal: [ros-humble-classic-bags] + jammy: [ros-humble-classic-bags] +clearpath_common: + ubuntu: + focal: [ros-humble-clearpath-common] + jammy: [ros-humble-clearpath-common] +clearpath_config: + ubuntu: + focal: [ros-humble-clearpath-config] + jammy: [ros-humble-clearpath-config] +clearpath_config_live: + ubuntu: + focal: [ros-humble-clearpath-config-live] + jammy: [ros-humble-clearpath-config-live] +clearpath_control: + ubuntu: + focal: [ros-humble-clearpath-control] + jammy: [ros-humble-clearpath-control] +clearpath_description: + ubuntu: + focal: [ros-humble-clearpath-description] + jammy: [ros-humble-clearpath-description] +clearpath_desktop: + ubuntu: + focal: [ros-humble-clearpath-desktop] + jammy: [ros-humble-clearpath-desktop] +clearpath_generator_common: + ubuntu: + focal: [ros-humble-clearpath-generator-common] + jammy: [ros-humble-clearpath-generator-common] +clearpath_generator_gz: + ubuntu: + focal: [ros-humble-clearpath-generator-gz] + jammy: [ros-humble-clearpath-generator-gz] +clearpath_gz: + ubuntu: + focal: [ros-humble-clearpath-gz] + jammy: [ros-humble-clearpath-gz] +clearpath_mounts_description: + ubuntu: + focal: [ros-humble-clearpath-mounts-description] + jammy: [ros-humble-clearpath-mounts-description] +clearpath_msgs: + ubuntu: + focal: [ros-humble-clearpath-msgs] + jammy: [ros-humble-clearpath-msgs] +clearpath_nav2_demos: + ubuntu: + focal: [ros-humble-clearpath-nav2-demos] + jammy: [ros-humble-clearpath-nav2-demos] +clearpath_platform: + ubuntu: + focal: [ros-humble-clearpath-platform] + jammy: [ros-humble-clearpath-platform] +clearpath_platform_dbgsym: + ubuntu: + focal: [ros-humble-clearpath-platform-dbgsym] + jammy: [ros-humble-clearpath-platform-dbgsym] +clearpath_platform_description: + ubuntu: + focal: [ros-humble-clearpath-platform-description] + jammy: [ros-humble-clearpath-platform-description] +clearpath_platform_msgs: + ubuntu: + focal: [ros-humble-clearpath-platform-msgs] + jammy: [ros-humble-clearpath-platform-msgs] +clearpath_platform_msgs_dbgsym: + ubuntu: + focal: [ros-humble-clearpath-platform-msgs-dbgsym] + jammy: [ros-humble-clearpath-platform-msgs-dbgsym] +clearpath_sensors_description: + ubuntu: + focal: [ros-humble-clearpath-sensors-description] + jammy: [ros-humble-clearpath-sensors-description] +clearpath_simulator: + ubuntu: + focal: [ros-humble-clearpath-simulator] + jammy: [ros-humble-clearpath-simulator] +clearpath_viz: + ubuntu: + focal: [ros-humble-clearpath-viz] + jammy: [ros-humble-clearpath-viz] +color_names: + ubuntu: + focal: [ros-humble-color-names] + jammy: [ros-humble-color-names] +color_names_dbgsym: + ubuntu: + focal: [ros-humble-color-names-dbgsym] + jammy: [ros-humble-color-names-dbgsym] +color_util: + ubuntu: + focal: [ros-humble-color-util] + jammy: [ros-humble-color-util] +commander: + ubuntu: + focal: [ros-humble-commander] + jammy: [ros-humble-commander] +common_interfaces: + ubuntu: + focal: [ros-humble-common-interfaces] + jammy: [ros-humble-common-interfaces] +composition: + ubuntu: + focal: [ros-humble-composition] + jammy: [ros-humble-composition] +composition_dbgsym: + ubuntu: + focal: [ros-humble-composition-dbgsym] + jammy: [ros-humble-composition-dbgsym] +composition_interfaces: + ubuntu: + focal: [ros-humble-composition-interfaces] + jammy: [ros-humble-composition-interfaces] +composition_interfaces_dbgsym: + ubuntu: + focal: [ros-humble-composition-interfaces-dbgsym] + jammy: [ros-humble-composition-interfaces-dbgsym] +compressed_depth_image_transport: + ubuntu: + focal: [ros-humble-compressed-depth-image-transport] + jammy: [ros-humble-compressed-depth-image-transport] +compressed_depth_image_transport_dbgsym: + ubuntu: + focal: [ros-humble-compressed-depth-image-transport-dbgsym] + jammy: [ros-humble-compressed-depth-image-transport-dbgsym] +compressed_image_transport: + ubuntu: + focal: [ros-humble-compressed-image-transport] + jammy: [ros-humble-compressed-image-transport] +compressed_image_transport_dbgsym: + ubuntu: + focal: [ros-humble-compressed-image-transport-dbgsym] + jammy: [ros-humble-compressed-image-transport-dbgsym] +console_bridge_vendor: + ubuntu: + focal: [ros-humble-console-bridge-vendor] + jammy: [ros-humble-console-bridge-vendor] +console_bridge_vendor_dbgsym: + ubuntu: + focal: [ros-humble-console-bridge-vendor-dbgsym] + jammy: [ros-humble-console-bridge-vendor-dbgsym] +control_box_rst: + ubuntu: + focal: [ros-humble-control-box-rst] + jammy: [ros-humble-control-box-rst] +control_msgs: + ubuntu: + focal: [ros-humble-control-msgs] + jammy: [ros-humble-control-msgs] +control_msgs_dbgsym: + ubuntu: + focal: [ros-humble-control-msgs-dbgsym] + jammy: [ros-humble-control-msgs-dbgsym] +control_toolbox: + ubuntu: + focal: [ros-humble-control-toolbox] + jammy: [ros-humble-control-toolbox] +control_toolbox_dbgsym: + ubuntu: + focal: [ros-humble-control-toolbox-dbgsym] + jammy: [ros-humble-control-toolbox-dbgsym] +controller_interface: + ubuntu: + focal: [ros-humble-controller-interface] + jammy: [ros-humble-controller-interface] +controller_interface_dbgsym: + ubuntu: + focal: [ros-humble-controller-interface-dbgsym] + jammy: [ros-humble-controller-interface-dbgsym] +controller_manager: + ubuntu: + focal: [ros-humble-controller-manager] + jammy: [ros-humble-controller-manager] +controller_manager_dbgsym: + ubuntu: + focal: [ros-humble-controller-manager-dbgsym] + jammy: [ros-humble-controller-manager-dbgsym] +controller_manager_msgs: + ubuntu: + focal: [ros-humble-controller-manager-msgs] + jammy: [ros-humble-controller-manager-msgs] +controller_manager_msgs_dbgsym: + ubuntu: + focal: [ros-humble-controller-manager-msgs-dbgsym] + jammy: [ros-humble-controller-manager-msgs-dbgsym] +costmap_queue: + ubuntu: + focal: [ros-humble-costmap-queue] + jammy: [ros-humble-costmap-queue] +crane_plus_moveit_config: + ubuntu: + focal: [ros-humble-crane-plus-moveit-config] + jammy: [ros-humble-crane-plus-moveit-config] +create_bringup: + ubuntu: + focal: [ros-humble-create-bringup] + jammy: [ros-humble-create-bringup] +create_description: + ubuntu: + focal: [ros-humble-create-description] + jammy: [ros-humble-create-description] +create_driver: + ubuntu: + focal: [ros-humble-create-driver] + jammy: [ros-humble-create-driver] +create_driver_dbgsym: + ubuntu: + focal: [ros-humble-create-driver-dbgsym] + jammy: [ros-humble-create-driver-dbgsym] +create_msgs: + ubuntu: + focal: [ros-humble-create-msgs] + jammy: [ros-humble-create-msgs] +create_msgs_dbgsym: + ubuntu: + focal: [ros-humble-create-msgs-dbgsym] + jammy: [ros-humble-create-msgs-dbgsym] +create_robot: + ubuntu: + focal: [ros-humble-create-robot] + jammy: [ros-humble-create-robot] +cudnn_cmake_module: + ubuntu: + focal: [ros-humble-cudnn-cmake-module] + jammy: [ros-humble-cudnn-cmake-module] +curobo_core: + ubuntu: + focal: [ros-humble-curobo-core] + jammy: [ros-humble-curobo-core] +custom_nitros_dnn_image_encoder: + ubuntu: + focal: [ros-humble-custom-nitros-dnn-image-encoder] + jammy: [ros-humble-custom-nitros-dnn-image-encoder] +custom_nitros_image: + ubuntu: + focal: [ros-humble-custom-nitros-image] + jammy: [ros-humble-custom-nitros-image] +custom_nitros_message_filter: + ubuntu: + focal: [ros-humble-custom-nitros-message-filter] + jammy: [ros-humble-custom-nitros-message-filter] +custom_nitros_message_filter_interfaces: + ubuntu: + focal: [ros-humble-custom-nitros-message-filter-interfaces] + jammy: [ros-humble-custom-nitros-message-filter-interfaces] +custom_nitros_string: + ubuntu: + focal: [ros-humble-custom-nitros-string] + jammy: [ros-humble-custom-nitros-string] +cv_bridge: + ubuntu: + focal: [ros-humble-cv-bridge] + jammy: [ros-humble-cv-bridge] +cv_bridge_dbgsym: + ubuntu: + focal: [ros-humble-cv-bridge-dbgsym] + jammy: [ros-humble-cv-bridge-dbgsym] +cyclonedds: + ubuntu: + focal: [ros-humble-cyclonedds] + jammy: [ros-humble-cyclonedds] +cyclonedds_dbgsym: + ubuntu: + focal: [ros-humble-cyclonedds-dbgsym] + jammy: [ros-humble-cyclonedds-dbgsym] +dataspeed_can: + ubuntu: + focal: [ros-humble-dataspeed-can] + jammy: [ros-humble-dataspeed-can] +dataspeed_can_msg_filters: + ubuntu: + focal: [ros-humble-dataspeed-can-msg-filters] + jammy: [ros-humble-dataspeed-can-msg-filters] +dataspeed_can_usb: + ubuntu: + focal: [ros-humble-dataspeed-can-usb] + jammy: [ros-humble-dataspeed-can-usb] +dataspeed_can_usb_dbgsym: + ubuntu: + focal: [ros-humble-dataspeed-can-usb-dbgsym] + jammy: [ros-humble-dataspeed-can-usb-dbgsym] +dataspeed_dbw_common: + ubuntu: + focal: [ros-humble-dataspeed-dbw-common] + jammy: [ros-humble-dataspeed-dbw-common] +dataspeed_dbw_gateway: + ubuntu: + focal: [ros-humble-dataspeed-dbw-gateway] + jammy: [ros-humble-dataspeed-dbw-gateway] +dataspeed_dbw_gateway_dbgsym: + ubuntu: + focal: [ros-humble-dataspeed-dbw-gateway-dbgsym] + jammy: [ros-humble-dataspeed-dbw-gateway-dbgsym] +dataspeed_dbw_msgs: + ubuntu: + focal: [ros-humble-dataspeed-dbw-msgs] + jammy: [ros-humble-dataspeed-dbw-msgs] +dataspeed_dbw_msgs_dbgsym: + ubuntu: + focal: [ros-humble-dataspeed-dbw-msgs-dbgsym] + jammy: [ros-humble-dataspeed-dbw-msgs-dbgsym] +dataspeed_ulc: + ubuntu: + focal: [ros-humble-dataspeed-ulc] + jammy: [ros-humble-dataspeed-ulc] +dataspeed_ulc_can: + ubuntu: + focal: [ros-humble-dataspeed-ulc-can] + jammy: [ros-humble-dataspeed-ulc-can] +dataspeed_ulc_can_dbgsym: + ubuntu: + focal: [ros-humble-dataspeed-ulc-can-dbgsym] + jammy: [ros-humble-dataspeed-ulc-can-dbgsym] +dataspeed_ulc_msgs: + ubuntu: + focal: [ros-humble-dataspeed-ulc-msgs] + jammy: [ros-humble-dataspeed-ulc-msgs] +dataspeed_ulc_msgs_dbgsym: + ubuntu: + focal: [ros-humble-dataspeed-ulc-msgs-dbgsym] + jammy: [ros-humble-dataspeed-ulc-msgs-dbgsym] +dbw_fca: + ubuntu: + focal: [ros-humble-dbw-fca] + jammy: [ros-humble-dbw-fca] +dbw_fca_can: + ubuntu: + focal: [ros-humble-dbw-fca-can] + jammy: [ros-humble-dbw-fca-can] +dbw_fca_can_dbgsym: + ubuntu: + focal: [ros-humble-dbw-fca-can-dbgsym] + jammy: [ros-humble-dbw-fca-can-dbgsym] +dbw_fca_description: + ubuntu: + focal: [ros-humble-dbw-fca-description] + jammy: [ros-humble-dbw-fca-description] +dbw_fca_joystick_demo: + ubuntu: + focal: [ros-humble-dbw-fca-joystick-demo] + jammy: [ros-humble-dbw-fca-joystick-demo] +dbw_fca_joystick_demo_dbgsym: + ubuntu: + focal: [ros-humble-dbw-fca-joystick-demo-dbgsym] + jammy: [ros-humble-dbw-fca-joystick-demo-dbgsym] +dbw_fca_msgs: + ubuntu: + focal: [ros-humble-dbw-fca-msgs] + jammy: [ros-humble-dbw-fca-msgs] +dbw_fca_msgs_dbgsym: + ubuntu: + focal: [ros-humble-dbw-fca-msgs-dbgsym] + jammy: [ros-humble-dbw-fca-msgs-dbgsym] +dbw_ford: + ubuntu: + focal: [ros-humble-dbw-ford] + jammy: [ros-humble-dbw-ford] +dbw_ford_can: + ubuntu: + focal: [ros-humble-dbw-ford-can] + jammy: [ros-humble-dbw-ford-can] +dbw_ford_can_dbgsym: + ubuntu: + focal: [ros-humble-dbw-ford-can-dbgsym] + jammy: [ros-humble-dbw-ford-can-dbgsym] +dbw_ford_description: + ubuntu: + focal: [ros-humble-dbw-ford-description] + jammy: [ros-humble-dbw-ford-description] +dbw_ford_joystick_demo: + ubuntu: + focal: [ros-humble-dbw-ford-joystick-demo] + jammy: [ros-humble-dbw-ford-joystick-demo] +dbw_ford_joystick_demo_dbgsym: + ubuntu: + focal: [ros-humble-dbw-ford-joystick-demo-dbgsym] + jammy: [ros-humble-dbw-ford-joystick-demo-dbgsym] +dbw_ford_msgs: + ubuntu: + focal: [ros-humble-dbw-ford-msgs] + jammy: [ros-humble-dbw-ford-msgs] +dbw_ford_msgs_dbgsym: + ubuntu: + focal: [ros-humble-dbw-ford-msgs-dbgsym] + jammy: [ros-humble-dbw-ford-msgs-dbgsym] +dbw_polaris: + ubuntu: + focal: [ros-humble-dbw-polaris] + jammy: [ros-humble-dbw-polaris] +dbw_polaris_can: + ubuntu: + focal: [ros-humble-dbw-polaris-can] + jammy: [ros-humble-dbw-polaris-can] +dbw_polaris_can_dbgsym: + ubuntu: + focal: [ros-humble-dbw-polaris-can-dbgsym] + jammy: [ros-humble-dbw-polaris-can-dbgsym] +dbw_polaris_description: + ubuntu: + focal: [ros-humble-dbw-polaris-description] + jammy: [ros-humble-dbw-polaris-description] +dbw_polaris_joystick_demo: + ubuntu: + focal: [ros-humble-dbw-polaris-joystick-demo] + jammy: [ros-humble-dbw-polaris-joystick-demo] +dbw_polaris_joystick_demo_dbgsym: + ubuntu: + focal: [ros-humble-dbw-polaris-joystick-demo-dbgsym] + jammy: [ros-humble-dbw-polaris-joystick-demo-dbgsym] +dbw_polaris_msgs: + ubuntu: + focal: [ros-humble-dbw-polaris-msgs] + jammy: [ros-humble-dbw-polaris-msgs] +dbw_polaris_msgs_dbgsym: + ubuntu: + focal: [ros-humble-dbw-polaris-msgs-dbgsym] + jammy: [ros-humble-dbw-polaris-msgs-dbgsym] +delphi_esr_msgs: + ubuntu: + focal: [ros-humble-delphi-esr-msgs] + jammy: [ros-humble-delphi-esr-msgs] +delphi_esr_msgs_dbgsym: + ubuntu: + focal: [ros-humble-delphi-esr-msgs-dbgsym] + jammy: [ros-humble-delphi-esr-msgs-dbgsym] +delphi_mrr_msgs: + ubuntu: + focal: [ros-humble-delphi-mrr-msgs] + jammy: [ros-humble-delphi-mrr-msgs] +delphi_mrr_msgs_dbgsym: + ubuntu: + focal: [ros-humble-delphi-mrr-msgs-dbgsym] + jammy: [ros-humble-delphi-mrr-msgs-dbgsym] +delphi_srr_msgs: + ubuntu: + focal: [ros-humble-delphi-srr-msgs] + jammy: [ros-humble-delphi-srr-msgs] +delphi_srr_msgs_dbgsym: + ubuntu: + focal: [ros-humble-delphi-srr-msgs-dbgsym] + jammy: [ros-humble-delphi-srr-msgs-dbgsym] +demo_nodes_cpp: + ubuntu: + focal: [ros-humble-demo-nodes-cpp] + jammy: [ros-humble-demo-nodes-cpp] +demo_nodes_cpp_dbgsym: + ubuntu: + focal: [ros-humble-demo-nodes-cpp-dbgsym] + jammy: [ros-humble-demo-nodes-cpp-dbgsym] +demo_nodes_cpp_native: + ubuntu: + focal: [ros-humble-demo-nodes-cpp-native] + jammy: [ros-humble-demo-nodes-cpp-native] +demo_nodes_cpp_native_dbgsym: + ubuntu: + focal: [ros-humble-demo-nodes-cpp-native-dbgsym] + jammy: [ros-humble-demo-nodes-cpp-native-dbgsym] +demo_nodes_py: + ubuntu: + focal: [ros-humble-demo-nodes-py] + jammy: [ros-humble-demo-nodes-py] +depth_image_proc: + ubuntu: + focal: [ros-humble-depth-image-proc] + jammy: [ros-humble-depth-image-proc] +depth_image_proc_dbgsym: + ubuntu: + focal: [ros-humble-depth-image-proc-dbgsym] + jammy: [ros-humble-depth-image-proc-dbgsym] +depthai: + ubuntu: + focal: [ros-humble-depthai] + jammy: [ros-humble-depthai] +depthai_bridge: + ubuntu: + focal: [ros-humble-depthai-bridge] + jammy: [ros-humble-depthai-bridge] +depthai_bridge_dbgsym: + ubuntu: + focal: [ros-humble-depthai-bridge-dbgsym] + jammy: [ros-humble-depthai-bridge-dbgsym] +depthai_dbgsym: + ubuntu: + focal: [ros-humble-depthai-dbgsym] + jammy: [ros-humble-depthai-dbgsym] +depthai_descriptions: + ubuntu: + focal: [ros-humble-depthai-descriptions] + jammy: [ros-humble-depthai-descriptions] +depthai_examples: + ubuntu: + focal: [ros-humble-depthai-examples] + jammy: [ros-humble-depthai-examples] +depthai_examples_dbgsym: + ubuntu: + focal: [ros-humble-depthai-examples-dbgsym] + jammy: [ros-humble-depthai-examples-dbgsym] +depthai_filters: + ubuntu: + focal: [ros-humble-depthai-filters] + jammy: [ros-humble-depthai-filters] +depthai_filters_dbgsym: + ubuntu: + focal: [ros-humble-depthai-filters-dbgsym] + jammy: [ros-humble-depthai-filters-dbgsym] +depthai_ros: + ubuntu: + focal: [ros-humble-depthai-ros] + jammy: [ros-humble-depthai-ros] +depthai_ros_driver: + ubuntu: + focal: [ros-humble-depthai-ros-driver] + jammy: [ros-humble-depthai-ros-driver] +depthai_ros_driver_dbgsym: + ubuntu: + focal: [ros-humble-depthai-ros-driver-dbgsym] + jammy: [ros-humble-depthai-ros-driver-dbgsym] +depthai_ros_msgs: + ubuntu: + focal: [ros-humble-depthai-ros-msgs] + jammy: [ros-humble-depthai-ros-msgs] +depthai_ros_msgs_dbgsym: + ubuntu: + focal: [ros-humble-depthai-ros-msgs-dbgsym] + jammy: [ros-humble-depthai-ros-msgs-dbgsym] +depthimage_to_laserscan: + ubuntu: + focal: [ros-humble-depthimage-to-laserscan] + jammy: [ros-humble-depthimage-to-laserscan] +depthimage_to_laserscan_dbgsym: + ubuntu: + focal: [ros-humble-depthimage-to-laserscan-dbgsym] + jammy: [ros-humble-depthimage-to-laserscan-dbgsym] +derived_object_msgs: + ubuntu: + focal: [ros-humble-derived-object-msgs] + jammy: [ros-humble-derived-object-msgs] +derived_object_msgs_dbgsym: + ubuntu: + focal: [ros-humble-derived-object-msgs-dbgsym] + jammy: [ros-humble-derived-object-msgs-dbgsym] +desktop: + ubuntu: + focal: [ros-humble-desktop] + jammy: [ros-humble-desktop] +desktop_full: + ubuntu: + focal: [ros-humble-desktop-full] + jammy: [ros-humble-desktop-full] +diagnostic_aggregator: + ubuntu: + focal: [ros-humble-diagnostic-aggregator] + jammy: [ros-humble-diagnostic-aggregator] +diagnostic_aggregator_dbgsym: + ubuntu: + focal: [ros-humble-diagnostic-aggregator-dbgsym] + jammy: [ros-humble-diagnostic-aggregator-dbgsym] +diagnostic_common_diagnostics: + ubuntu: + focal: [ros-humble-diagnostic-common-diagnostics] + jammy: [ros-humble-diagnostic-common-diagnostics] +diagnostic_msgs: + ubuntu: + focal: [ros-humble-diagnostic-msgs] + jammy: [ros-humble-diagnostic-msgs] +diagnostic_msgs_dbgsym: + ubuntu: + focal: [ros-humble-diagnostic-msgs-dbgsym] + jammy: [ros-humble-diagnostic-msgs-dbgsym] +diagnostic_updater: + ubuntu: + focal: [ros-humble-diagnostic-updater] + jammy: [ros-humble-diagnostic-updater] +diagnostic_updater_dbgsym: + ubuntu: + focal: [ros-humble-diagnostic-updater-dbgsym] + jammy: [ros-humble-diagnostic-updater-dbgsym] +diagnostics: + ubuntu: + focal: [ros-humble-diagnostics] + jammy: [ros-humble-diagnostics] +diff_drive_controller: + ubuntu: + focal: [ros-humble-diff-drive-controller] + jammy: [ros-humble-diff-drive-controller] +diff_drive_controller_dbgsym: + ubuntu: + focal: [ros-humble-diff-drive-controller-dbgsym] + jammy: [ros-humble-diff-drive-controller-dbgsym] +dolly_follow: + ubuntu: + focal: [ros-humble-dolly-follow] + jammy: [ros-humble-dolly-follow] +dolly_follow_dbgsym: + ubuntu: + focal: [ros-humble-dolly-follow-dbgsym] + jammy: [ros-humble-dolly-follow-dbgsym] +dolly_ignition: + ubuntu: + focal: [ros-humble-dolly-ignition] + jammy: [ros-humble-dolly-ignition] +domain_bridge: + ubuntu: + focal: [ros-humble-domain-bridge] + jammy: [ros-humble-domain-bridge] +domain_bridge_dbgsym: + ubuntu: + focal: [ros-humble-domain-bridge-dbgsym] + jammy: [ros-humble-domain-bridge-dbgsym] +domain_coordinator: + ubuntu: + focal: [ros-humble-domain-coordinator] + jammy: [ros-humble-domain-coordinator] +dummy_map_server: + ubuntu: + focal: [ros-humble-dummy-map-server] + jammy: [ros-humble-dummy-map-server] +dummy_map_server_dbgsym: + ubuntu: + focal: [ros-humble-dummy-map-server-dbgsym] + jammy: [ros-humble-dummy-map-server-dbgsym] +dummy_robot_bringup: + ubuntu: + focal: [ros-humble-dummy-robot-bringup] + jammy: [ros-humble-dummy-robot-bringup] +dummy_sensors: + ubuntu: + focal: [ros-humble-dummy-sensors] + jammy: [ros-humble-dummy-sensors] +dummy_sensors_dbgsym: + ubuntu: + focal: [ros-humble-dummy-sensors-dbgsym] + jammy: [ros-humble-dummy-sensors-dbgsym] +dwb_core: + ubuntu: + focal: [ros-humble-dwb-core] + jammy: [ros-humble-dwb-core] +dwb_core_dbgsym: + ubuntu: + focal: [ros-humble-dwb-core-dbgsym] + jammy: [ros-humble-dwb-core-dbgsym] +dwb_critics: + ubuntu: + focal: [ros-humble-dwb-critics] + jammy: [ros-humble-dwb-critics] +dwb_critics_dbgsym: + ubuntu: + focal: [ros-humble-dwb-critics-dbgsym] + jammy: [ros-humble-dwb-critics-dbgsym] +dwb_msgs: + ubuntu: + focal: [ros-humble-dwb-msgs] + jammy: [ros-humble-dwb-msgs] +dwb_msgs_dbgsym: + ubuntu: + focal: [ros-humble-dwb-msgs-dbgsym] + jammy: [ros-humble-dwb-msgs-dbgsym] +dwb_plugins: + ubuntu: + focal: [ros-humble-dwb-plugins] + jammy: [ros-humble-dwb-plugins] +dwb_plugins_dbgsym: + ubuntu: + focal: [ros-humble-dwb-plugins-dbgsym] + jammy: [ros-humble-dwb-plugins-dbgsym] +dynamic_edt_3d: + ubuntu: + focal: [ros-humble-dynamic-edt-3d] + jammy: [ros-humble-dynamic-edt-3d] +dynamic_edt_3d_dbgsym: + ubuntu: + focal: [ros-humble-dynamic-edt-3d-dbgsym] + jammy: [ros-humble-dynamic-edt-3d-dbgsym] +dynamixel_sdk: + ubuntu: + focal: [ros-humble-dynamixel-sdk] + jammy: [ros-humble-dynamixel-sdk] +dynamixel_sdk_custom_interfaces: + ubuntu: + focal: [ros-humble-dynamixel-sdk-custom-interfaces] + jammy: [ros-humble-dynamixel-sdk-custom-interfaces] +dynamixel_sdk_custom_interfaces_dbgsym: + ubuntu: + focal: [ros-humble-dynamixel-sdk-custom-interfaces-dbgsym] + jammy: [ros-humble-dynamixel-sdk-custom-interfaces-dbgsym] +dynamixel_sdk_dbgsym: + ubuntu: + focal: [ros-humble-dynamixel-sdk-dbgsym] + jammy: [ros-humble-dynamixel-sdk-dbgsym] +dynamixel_sdk_examples: + ubuntu: + focal: [ros-humble-dynamixel-sdk-examples] + jammy: [ros-humble-dynamixel-sdk-examples] +dynamixel_sdk_examples_dbgsym: + ubuntu: + focal: [ros-humble-dynamixel-sdk-examples-dbgsym] + jammy: [ros-humble-dynamixel-sdk-examples-dbgsym] +dynamixel_workbench: + ubuntu: + focal: [ros-humble-dynamixel-workbench] + jammy: [ros-humble-dynamixel-workbench] +dynamixel_workbench_msgs: + ubuntu: + focal: [ros-humble-dynamixel-workbench-msgs] + jammy: [ros-humble-dynamixel-workbench-msgs] +dynamixel_workbench_msgs_dbgsym: + ubuntu: + focal: [ros-humble-dynamixel-workbench-msgs-dbgsym] + jammy: [ros-humble-dynamixel-workbench-msgs-dbgsym] +dynamixel_workbench_toolbox: + ubuntu: + focal: [ros-humble-dynamixel-workbench-toolbox] + jammy: [ros-humble-dynamixel-workbench-toolbox] +dynamixel_workbench_toolbox_dbgsym: + ubuntu: + focal: [ros-humble-dynamixel-workbench-toolbox-dbgsym] + jammy: [ros-humble-dynamixel-workbench-toolbox-dbgsym] +ecal: + ubuntu: + focal: [ros-humble-ecal] + jammy: [ros-humble-ecal] +ecal_dbgsym: + ubuntu: + focal: [ros-humble-ecal-dbgsym] + jammy: [ros-humble-ecal-dbgsym] +ecl_build: + ubuntu: + focal: [ros-humble-ecl-build] + jammy: [ros-humble-ecl-build] +ecl_license: + ubuntu: + focal: [ros-humble-ecl-license] + jammy: [ros-humble-ecl-license] +ecl_tools: + ubuntu: + focal: [ros-humble-ecl-tools] + jammy: [ros-humble-ecl-tools] +effort_controllers: + ubuntu: + focal: [ros-humble-effort-controllers] + jammy: [ros-humble-effort-controllers] +effort_controllers_dbgsym: + ubuntu: + focal: [ros-humble-effort-controllers-dbgsym] + jammy: [ros-humble-effort-controllers-dbgsym] +eigen3_cmake_module: + ubuntu: + focal: [ros-humble-eigen3-cmake-module] + jammy: [ros-humble-eigen3-cmake-module] +eigen_stl_containers: + ubuntu: + focal: [ros-humble-eigen-stl-containers] + jammy: [ros-humble-eigen-stl-containers] +eigenpy: + ubuntu: + focal: [ros-humble-eigenpy] + jammy: [ros-humble-eigenpy] +eigenpy_dbgsym: + ubuntu: + focal: [ros-humble-eigenpy-dbgsym] + jammy: [ros-humble-eigenpy-dbgsym] +evaluator: + ubuntu: + focal: [ros-humble-evaluator] + jammy: [ros-humble-evaluator] +event_camera_codecs: + ubuntu: + focal: [ros-humble-event-camera-codecs] + jammy: [ros-humble-event-camera-codecs] +event_camera_codecs_dbgsym: + ubuntu: + focal: [ros-humble-event-camera-codecs-dbgsym] + jammy: [ros-humble-event-camera-codecs-dbgsym] +event_camera_msgs: + ubuntu: + focal: [ros-humble-event-camera-msgs] + jammy: [ros-humble-event-camera-msgs] +event_camera_msgs_dbgsym: + ubuntu: + focal: [ros-humble-event-camera-msgs-dbgsym] + jammy: [ros-humble-event-camera-msgs-dbgsym] +event_camera_py: + ubuntu: + focal: [ros-humble-event-camera-py] + jammy: [ros-humble-event-camera-py] +event_camera_renderer: + ubuntu: + focal: [ros-humble-event-camera-renderer] + jammy: [ros-humble-event-camera-renderer] +event_camera_renderer_dbgsym: + ubuntu: + focal: [ros-humble-event-camera-renderer-dbgsym] + jammy: [ros-humble-event-camera-renderer-dbgsym] +example_interfaces: + ubuntu: + focal: [ros-humble-example-interfaces] + jammy: [ros-humble-example-interfaces] +example_interfaces_dbgsym: + ubuntu: + focal: [ros-humble-example-interfaces-dbgsym] + jammy: [ros-humble-example-interfaces-dbgsym] +examples_rclcpp_async_client: + ubuntu: + focal: [ros-humble-examples-rclcpp-async-client] + jammy: [ros-humble-examples-rclcpp-async-client] +examples_rclcpp_async_client_dbgsym: + ubuntu: + focal: [ros-humble-examples-rclcpp-async-client-dbgsym] + jammy: [ros-humble-examples-rclcpp-async-client-dbgsym] +examples_rclcpp_cbg_executor: + ubuntu: + focal: [ros-humble-examples-rclcpp-cbg-executor] + jammy: [ros-humble-examples-rclcpp-cbg-executor] +examples_rclcpp_cbg_executor_dbgsym: + ubuntu: + focal: [ros-humble-examples-rclcpp-cbg-executor-dbgsym] + jammy: [ros-humble-examples-rclcpp-cbg-executor-dbgsym] +examples_rclcpp_minimal_action_client: + ubuntu: + focal: [ros-humble-examples-rclcpp-minimal-action-client] + jammy: [ros-humble-examples-rclcpp-minimal-action-client] +examples_rclcpp_minimal_action_client_dbgsym: + ubuntu: + focal: [ros-humble-examples-rclcpp-minimal-action-client-dbgsym] + jammy: [ros-humble-examples-rclcpp-minimal-action-client-dbgsym] +examples_rclcpp_minimal_action_server: + ubuntu: + focal: [ros-humble-examples-rclcpp-minimal-action-server] + jammy: [ros-humble-examples-rclcpp-minimal-action-server] +examples_rclcpp_minimal_action_server_dbgsym: + ubuntu: + focal: [ros-humble-examples-rclcpp-minimal-action-server-dbgsym] + jammy: [ros-humble-examples-rclcpp-minimal-action-server-dbgsym] +examples_rclcpp_minimal_client: + ubuntu: + focal: [ros-humble-examples-rclcpp-minimal-client] + jammy: [ros-humble-examples-rclcpp-minimal-client] +examples_rclcpp_minimal_client_dbgsym: + ubuntu: + focal: [ros-humble-examples-rclcpp-minimal-client-dbgsym] + jammy: [ros-humble-examples-rclcpp-minimal-client-dbgsym] +examples_rclcpp_minimal_composition: + ubuntu: + focal: [ros-humble-examples-rclcpp-minimal-composition] + jammy: [ros-humble-examples-rclcpp-minimal-composition] +examples_rclcpp_minimal_composition_dbgsym: + ubuntu: + focal: [ros-humble-examples-rclcpp-minimal-composition-dbgsym] + jammy: [ros-humble-examples-rclcpp-minimal-composition-dbgsym] +examples_rclcpp_minimal_publisher: + ubuntu: + focal: [ros-humble-examples-rclcpp-minimal-publisher] + jammy: [ros-humble-examples-rclcpp-minimal-publisher] +examples_rclcpp_minimal_publisher_dbgsym: + ubuntu: + focal: [ros-humble-examples-rclcpp-minimal-publisher-dbgsym] + jammy: [ros-humble-examples-rclcpp-minimal-publisher-dbgsym] +examples_rclcpp_minimal_service: + ubuntu: + focal: [ros-humble-examples-rclcpp-minimal-service] + jammy: [ros-humble-examples-rclcpp-minimal-service] +examples_rclcpp_minimal_service_dbgsym: + ubuntu: + focal: [ros-humble-examples-rclcpp-minimal-service-dbgsym] + jammy: [ros-humble-examples-rclcpp-minimal-service-dbgsym] +examples_rclcpp_minimal_subscriber: + ubuntu: + focal: [ros-humble-examples-rclcpp-minimal-subscriber] + jammy: [ros-humble-examples-rclcpp-minimal-subscriber] +examples_rclcpp_minimal_subscriber_dbgsym: + ubuntu: + focal: [ros-humble-examples-rclcpp-minimal-subscriber-dbgsym] + jammy: [ros-humble-examples-rclcpp-minimal-subscriber-dbgsym] +examples_rclcpp_minimal_timer: + ubuntu: + focal: [ros-humble-examples-rclcpp-minimal-timer] + jammy: [ros-humble-examples-rclcpp-minimal-timer] +examples_rclcpp_minimal_timer_dbgsym: + ubuntu: + focal: [ros-humble-examples-rclcpp-minimal-timer-dbgsym] + jammy: [ros-humble-examples-rclcpp-minimal-timer-dbgsym] +examples_rclcpp_multithreaded_executor: + ubuntu: + focal: [ros-humble-examples-rclcpp-multithreaded-executor] + jammy: [ros-humble-examples-rclcpp-multithreaded-executor] +examples_rclcpp_multithreaded_executor_dbgsym: + ubuntu: + focal: [ros-humble-examples-rclcpp-multithreaded-executor-dbgsym] + jammy: [ros-humble-examples-rclcpp-multithreaded-executor-dbgsym] +examples_rclcpp_wait_set: + ubuntu: + focal: [ros-humble-examples-rclcpp-wait-set] + jammy: [ros-humble-examples-rclcpp-wait-set] +examples_rclcpp_wait_set_dbgsym: + ubuntu: + focal: [ros-humble-examples-rclcpp-wait-set-dbgsym] + jammy: [ros-humble-examples-rclcpp-wait-set-dbgsym] +examples_rclpy_executors: + ubuntu: + focal: [ros-humble-examples-rclpy-executors] + jammy: [ros-humble-examples-rclpy-executors] +examples_rclpy_guard_conditions: + ubuntu: + focal: [ros-humble-examples-rclpy-guard-conditions] + jammy: [ros-humble-examples-rclpy-guard-conditions] +examples_rclpy_minimal_action_client: + ubuntu: + focal: [ros-humble-examples-rclpy-minimal-action-client] + jammy: [ros-humble-examples-rclpy-minimal-action-client] +examples_rclpy_minimal_action_server: + ubuntu: + focal: [ros-humble-examples-rclpy-minimal-action-server] + jammy: [ros-humble-examples-rclpy-minimal-action-server] +examples_rclpy_minimal_client: + ubuntu: + focal: [ros-humble-examples-rclpy-minimal-client] + jammy: [ros-humble-examples-rclpy-minimal-client] +examples_rclpy_minimal_publisher: + ubuntu: + focal: [ros-humble-examples-rclpy-minimal-publisher] + jammy: [ros-humble-examples-rclpy-minimal-publisher] +examples_rclpy_minimal_service: + ubuntu: + focal: [ros-humble-examples-rclpy-minimal-service] + jammy: [ros-humble-examples-rclpy-minimal-service] +examples_rclpy_minimal_subscriber: + ubuntu: + focal: [ros-humble-examples-rclpy-minimal-subscriber] + jammy: [ros-humble-examples-rclpy-minimal-subscriber] +examples_rclpy_pointcloud_publisher: + ubuntu: + focal: [ros-humble-examples-rclpy-pointcloud-publisher] + jammy: [ros-humble-examples-rclpy-pointcloud-publisher] +examples_tf2_py: + ubuntu: + focal: [ros-humble-examples-tf2-py] + jammy: [ros-humble-examples-tf2-py] +executive_smach: + ubuntu: + focal: [ros-humble-executive-smach] + jammy: [ros-humble-executive-smach] +fadecandy_driver: + ubuntu: + focal: [ros-humble-fadecandy-driver] + jammy: [ros-humble-fadecandy-driver] +fadecandy_driver_dbgsym: + ubuntu: + focal: [ros-humble-fadecandy-driver-dbgsym] + jammy: [ros-humble-fadecandy-driver-dbgsym] +fadecandy_msgs: + ubuntu: + focal: [ros-humble-fadecandy-msgs] + jammy: [ros-humble-fadecandy-msgs] +fadecandy_msgs_dbgsym: + ubuntu: + focal: [ros-humble-fadecandy-msgs-dbgsym] + jammy: [ros-humble-fadecandy-msgs-dbgsym] +fastcdr: + ubuntu: + focal: [ros-humble-fastcdr] + jammy: [ros-humble-fastcdr] +fastcdr_dbgsym: + ubuntu: + focal: [ros-humble-fastcdr-dbgsym] + jammy: [ros-humble-fastcdr-dbgsym] +fastrtps: + ubuntu: + focal: [ros-humble-fastrtps] + jammy: [ros-humble-fastrtps] +fastrtps_cmake_module: + ubuntu: + focal: [ros-humble-fastrtps-cmake-module] + jammy: [ros-humble-fastrtps-cmake-module] +fastrtps_dbgsym: + ubuntu: + focal: [ros-humble-fastrtps-dbgsym] + jammy: [ros-humble-fastrtps-dbgsym] +filters: + ubuntu: + focal: [ros-humble-filters] + jammy: [ros-humble-filters] +filters_dbgsym: + ubuntu: + focal: [ros-humble-filters-dbgsym] + jammy: [ros-humble-filters-dbgsym] +find_object_2d: + ubuntu: + focal: [ros-humble-find-object-2d] + jammy: [ros-humble-find-object-2d] +find_object_2d_dbgsym: + ubuntu: + focal: [ros-humble-find-object-2d-dbgsym] + jammy: [ros-humble-find-object-2d-dbgsym] +flexbe_behavior_engine: + ubuntu: + focal: [ros-humble-flexbe-behavior-engine] + jammy: [ros-humble-flexbe-behavior-engine] +flexbe_core: + ubuntu: + focal: [ros-humble-flexbe-core] + jammy: [ros-humble-flexbe-core] +flexbe_input: + ubuntu: + focal: [ros-humble-flexbe-input] + jammy: [ros-humble-flexbe-input] +flexbe_mirror: + ubuntu: + focal: [ros-humble-flexbe-mirror] + jammy: [ros-humble-flexbe-mirror] +flexbe_msgs: + ubuntu: + focal: [ros-humble-flexbe-msgs] + jammy: [ros-humble-flexbe-msgs] +flexbe_msgs_dbgsym: + ubuntu: + focal: [ros-humble-flexbe-msgs-dbgsym] + jammy: [ros-humble-flexbe-msgs-dbgsym] +flexbe_onboard: + ubuntu: + focal: [ros-humble-flexbe-onboard] + jammy: [ros-humble-flexbe-onboard] +flexbe_states: + ubuntu: + focal: [ros-humble-flexbe-states] + jammy: [ros-humble-flexbe-states] +flexbe_testing: + ubuntu: + focal: [ros-humble-flexbe-testing] + jammy: [ros-humble-flexbe-testing] +flexbe_widget: + ubuntu: + focal: [ros-humble-flexbe-widget] + jammy: [ros-humble-flexbe-widget] +flir_camera_description: + ubuntu: + focal: [ros-humble-flir-camera-description] + jammy: [ros-humble-flir-camera-description] +flir_camera_msgs: + ubuntu: + focal: [ros-humble-flir-camera-msgs] + jammy: [ros-humble-flir-camera-msgs] +flir_camera_msgs_dbgsym: + ubuntu: + focal: [ros-humble-flir-camera-msgs-dbgsym] + jammy: [ros-humble-flir-camera-msgs-dbgsym] +fluent_rviz: + ubuntu: + focal: [ros-humble-fluent-rviz] + jammy: [ros-humble-fluent-rviz] +fmi_adapter: + ubuntu: + focal: [ros-humble-fmi-adapter] + jammy: [ros-humble-fmi-adapter] +fmi_adapter_dbgsym: + ubuntu: + focal: [ros-humble-fmi-adapter-dbgsym] + jammy: [ros-humble-fmi-adapter-dbgsym] +fmi_adapter_examples: + ubuntu: + focal: [ros-humble-fmi-adapter-examples] + jammy: [ros-humble-fmi-adapter-examples] +fmilibrary_vendor: + ubuntu: + focal: [ros-humble-fmilibrary-vendor] + jammy: [ros-humble-fmilibrary-vendor] +fmilibrary_vendor_dbgsym: + ubuntu: + focal: [ros-humble-fmilibrary-vendor-dbgsym] + jammy: [ros-humble-fmilibrary-vendor-dbgsym] +fogros2: + ubuntu: + focal: [ros-humble-fogros2] + jammy: [ros-humble-fogros2] +fogros2_examples: + ubuntu: + focal: [ros-humble-fogros2-examples] + jammy: [ros-humble-fogros2-examples] +foonathan_memory_vendor: + ubuntu: + focal: [ros-humble-foonathan-memory-vendor] + jammy: [ros-humble-foonathan-memory-vendor] +force_torque_sensor_broadcaster: + ubuntu: + focal: [ros-humble-force-torque-sensor-broadcaster] + jammy: [ros-humble-force-torque-sensor-broadcaster] +force_torque_sensor_broadcaster_dbgsym: + ubuntu: + focal: [ros-humble-force-torque-sensor-broadcaster-dbgsym] + jammy: [ros-humble-force-torque-sensor-broadcaster-dbgsym] +foros: + ubuntu: + focal: [ros-humble-foros] + jammy: [ros-humble-foros] +foros_dbgsym: + ubuntu: + focal: [ros-humble-foros-dbgsym] + jammy: [ros-humble-foros-dbgsym] +foros_examples: + ubuntu: + focal: [ros-humble-foros-examples] + jammy: [ros-humble-foros-examples] +foros_examples_dbgsym: + ubuntu: + focal: [ros-humble-foros-examples-dbgsym] + jammy: [ros-humble-foros-examples-dbgsym] +foros_inspector: + ubuntu: + focal: [ros-humble-foros-inspector] + jammy: [ros-humble-foros-inspector] +foros_inspector_dbgsym: + ubuntu: + focal: [ros-humble-foros-inspector-dbgsym] + jammy: [ros-humble-foros-inspector-dbgsym] +foros_msgs: + ubuntu: + focal: [ros-humble-foros-msgs] + jammy: [ros-humble-foros-msgs] +foros_msgs_dbgsym: + ubuntu: + focal: [ros-humble-foros-msgs-dbgsym] + jammy: [ros-humble-foros-msgs-dbgsym] +forward_command_controller: + ubuntu: + focal: [ros-humble-forward-command-controller] + jammy: [ros-humble-forward-command-controller] +forward_command_controller_dbgsym: + ubuntu: + focal: [ros-humble-forward-command-controller-dbgsym] + jammy: [ros-humble-forward-command-controller-dbgsym] +four_wheel_steering_msgs: + ubuntu: + focal: [ros-humble-four-wheel-steering-msgs] + jammy: [ros-humble-four-wheel-steering-msgs] +four_wheel_steering_msgs_dbgsym: + ubuntu: + focal: [ros-humble-four-wheel-steering-msgs-dbgsym] + jammy: [ros-humble-four-wheel-steering-msgs-dbgsym] +foxglove_bridge: + ubuntu: + focal: [ros-humble-foxglove-bridge] + jammy: [ros-humble-foxglove-bridge] +foxglove_bridge_dbgsym: + ubuntu: + focal: [ros-humble-foxglove-bridge-dbgsym] + jammy: [ros-humble-foxglove-bridge-dbgsym] +foxglove_msgs: + ubuntu: + focal: [ros-humble-foxglove-msgs] + jammy: [ros-humble-foxglove-msgs] +foxglove_msgs_dbgsym: + ubuntu: + focal: [ros-humble-foxglove-msgs-dbgsym] + jammy: [ros-humble-foxglove-msgs-dbgsym] +gazebo_dev: + ubuntu: + focal: [ros-humble-gazebo-dev] + jammy: [ros-humble-gazebo-dev] +gazebo_msgs: + ubuntu: + focal: [ros-humble-gazebo-msgs] + jammy: [ros-humble-gazebo-msgs] +gazebo_msgs_dbgsym: + ubuntu: + focal: [ros-humble-gazebo-msgs-dbgsym] + jammy: [ros-humble-gazebo-msgs-dbgsym] +gc_spl_2022: + ubuntu: + focal: [ros-humble-gc-spl-2022] + jammy: [ros-humble-gc-spl-2022] +generate_parameter_library: + ubuntu: + focal: [ros-humble-generate-parameter-library] + jammy: [ros-humble-generate-parameter-library] +generate_parameter_library_example: + ubuntu: + focal: [ros-humble-generate-parameter-library-example] + jammy: [ros-humble-generate-parameter-library-example] +generate_parameter_library_example_dbgsym: + ubuntu: + focal: [ros-humble-generate-parameter-library-example-dbgsym] + jammy: [ros-humble-generate-parameter-library-example-dbgsym] +generate_parameter_library_py: + ubuntu: + focal: [ros-humble-generate-parameter-library-py] + jammy: [ros-humble-generate-parameter-library-py] +generate_parameter_module_example: + ubuntu: + focal: [ros-humble-generate-parameter-module-example] + jammy: [ros-humble-generate-parameter-module-example] +geodesy: + ubuntu: + focal: [ros-humble-geodesy] + jammy: [ros-humble-geodesy] +geographic_info: + ubuntu: + focal: [ros-humble-geographic-info] + jammy: [ros-humble-geographic-info] +geographic_msgs: + ubuntu: + focal: [ros-humble-geographic-msgs] + jammy: [ros-humble-geographic-msgs] +geographic_msgs_dbgsym: + ubuntu: + focal: [ros-humble-geographic-msgs-dbgsym] + jammy: [ros-humble-geographic-msgs-dbgsym] +geometric_shapes: + ubuntu: + focal: [ros-humble-geometric-shapes] + jammy: [ros-humble-geometric-shapes] +geometric_shapes_dbgsym: + ubuntu: + focal: [ros-humble-geometric-shapes-dbgsym] + jammy: [ros-humble-geometric-shapes-dbgsym] +geometry2: + ubuntu: + focal: [ros-humble-geometry2] + jammy: [ros-humble-geometry2] +geometry_msgs: + ubuntu: + focal: [ros-humble-geometry-msgs] + jammy: [ros-humble-geometry-msgs] +geometry_msgs_dbgsym: + ubuntu: + focal: [ros-humble-geometry-msgs-dbgsym] + jammy: [ros-humble-geometry-msgs-dbgsym] +geometry_tutorials: + ubuntu: + focal: [ros-humble-geometry-tutorials] + jammy: [ros-humble-geometry-tutorials] +gmock_vendor: + ubuntu: + focal: [ros-humble-gmock-vendor] + jammy: [ros-humble-gmock-vendor] +google_benchmark_vendor: + ubuntu: + focal: [ros-humble-google-benchmark-vendor] + jammy: [ros-humble-google-benchmark-vendor] +google_benchmark_vendor_dbgsym: + ubuntu: + focal: [ros-humble-google-benchmark-vendor-dbgsym] + jammy: [ros-humble-google-benchmark-vendor-dbgsym] +gps_msgs: + ubuntu: + focal: [ros-humble-gps-msgs] + jammy: [ros-humble-gps-msgs] +gps_msgs_dbgsym: + ubuntu: + focal: [ros-humble-gps-msgs-dbgsym] + jammy: [ros-humble-gps-msgs-dbgsym] +gps_tools: + ubuntu: + focal: [ros-humble-gps-tools] + jammy: [ros-humble-gps-tools] +gps_tools_dbgsym: + ubuntu: + focal: [ros-humble-gps-tools-dbgsym] + jammy: [ros-humble-gps-tools-dbgsym] +gps_umd: + ubuntu: + focal: [ros-humble-gps-umd] + jammy: [ros-humble-gps-umd] +gpsd_client: + ubuntu: + focal: [ros-humble-gpsd-client] + jammy: [ros-humble-gpsd-client] +gpsd_client_dbgsym: + ubuntu: + focal: [ros-humble-gpsd-client-dbgsym] + jammy: [ros-humble-gpsd-client-dbgsym] +graph_msgs: + ubuntu: + focal: [ros-humble-graph-msgs] + jammy: [ros-humble-graph-msgs] +graph_msgs_dbgsym: + ubuntu: + focal: [ros-humble-graph-msgs-dbgsym] + jammy: [ros-humble-graph-msgs-dbgsym] +grasping_msgs: + ubuntu: + focal: [ros-humble-grasping-msgs] + jammy: [ros-humble-grasping-msgs] +grasping_msgs_dbgsym: + ubuntu: + focal: [ros-humble-grasping-msgs-dbgsym] + jammy: [ros-humble-grasping-msgs-dbgsym] +grbl_msgs: + ubuntu: + focal: [ros-humble-grbl-msgs] + jammy: [ros-humble-grbl-msgs] +grbl_msgs_dbgsym: + ubuntu: + focal: [ros-humble-grbl-msgs-dbgsym] + jammy: [ros-humble-grbl-msgs-dbgsym] +grbl_ros: + ubuntu: + focal: [ros-humble-grbl-ros] + jammy: [ros-humble-grbl-ros] +grid_map: + ubuntu: + focal: [ros-humble-grid-map] + jammy: [ros-humble-grid-map] +grid_map_cmake_helpers: + ubuntu: + focal: [ros-humble-grid-map-cmake-helpers] + jammy: [ros-humble-grid-map-cmake-helpers] +grid_map_core: + ubuntu: + focal: [ros-humble-grid-map-core] + jammy: [ros-humble-grid-map-core] +grid_map_costmap_2d: + ubuntu: + focal: [ros-humble-grid-map-costmap-2d] + jammy: [ros-humble-grid-map-costmap-2d] +grid_map_cv: + ubuntu: + focal: [ros-humble-grid-map-cv] + jammy: [ros-humble-grid-map-cv] +grid_map_cv_dbgsym: + ubuntu: + focal: [ros-humble-grid-map-cv-dbgsym] + jammy: [ros-humble-grid-map-cv-dbgsym] +grid_map_demos: + ubuntu: + focal: [ros-humble-grid-map-demos] + jammy: [ros-humble-grid-map-demos] +grid_map_demos_dbgsym: + ubuntu: + focal: [ros-humble-grid-map-demos-dbgsym] + jammy: [ros-humble-grid-map-demos-dbgsym] +grid_map_filters: + ubuntu: + focal: [ros-humble-grid-map-filters] + jammy: [ros-humble-grid-map-filters] +grid_map_filters_dbgsym: + ubuntu: + focal: [ros-humble-grid-map-filters-dbgsym] + jammy: [ros-humble-grid-map-filters-dbgsym] +grid_map_loader: + ubuntu: + focal: [ros-humble-grid-map-loader] + jammy: [ros-humble-grid-map-loader] +grid_map_loader_dbgsym: + ubuntu: + focal: [ros-humble-grid-map-loader-dbgsym] + jammy: [ros-humble-grid-map-loader-dbgsym] +grid_map_msgs: + ubuntu: + focal: [ros-humble-grid-map-msgs] + jammy: [ros-humble-grid-map-msgs] +grid_map_msgs_dbgsym: + ubuntu: + focal: [ros-humble-grid-map-msgs-dbgsym] + jammy: [ros-humble-grid-map-msgs-dbgsym] +grid_map_octomap: + ubuntu: + focal: [ros-humble-grid-map-octomap] + jammy: [ros-humble-grid-map-octomap] +grid_map_pcl: + ubuntu: + focal: [ros-humble-grid-map-pcl] + jammy: [ros-humble-grid-map-pcl] +grid_map_pcl_dbgsym: + ubuntu: + focal: [ros-humble-grid-map-pcl-dbgsym] + jammy: [ros-humble-grid-map-pcl-dbgsym] +grid_map_ros: + ubuntu: + focal: [ros-humble-grid-map-ros] + jammy: [ros-humble-grid-map-ros] +grid_map_ros_dbgsym: + ubuntu: + focal: [ros-humble-grid-map-ros-dbgsym] + jammy: [ros-humble-grid-map-ros-dbgsym] +grid_map_rviz_plugin: + ubuntu: + focal: [ros-humble-grid-map-rviz-plugin] + jammy: [ros-humble-grid-map-rviz-plugin] +grid_map_rviz_plugin_dbgsym: + ubuntu: + focal: [ros-humble-grid-map-rviz-plugin-dbgsym] + jammy: [ros-humble-grid-map-rviz-plugin-dbgsym] +grid_map_sdf: + ubuntu: + focal: [ros-humble-grid-map-sdf] + jammy: [ros-humble-grid-map-sdf] +grid_map_visualization: + ubuntu: + focal: [ros-humble-grid-map-visualization] + jammy: [ros-humble-grid-map-visualization] +grid_map_visualization_dbgsym: + ubuntu: + focal: [ros-humble-grid-map-visualization-dbgsym] + jammy: [ros-humble-grid-map-visualization-dbgsym] +gripper_controllers: + ubuntu: + focal: [ros-humble-gripper-controllers] + jammy: [ros-humble-gripper-controllers] +gripper_controllers_dbgsym: + ubuntu: + focal: [ros-humble-gripper-controllers-dbgsym] + jammy: [ros-humble-gripper-controllers-dbgsym] +gscam: + ubuntu: + focal: [ros-humble-gscam] + jammy: [ros-humble-gscam] +gscam_dbgsym: + ubuntu: + focal: [ros-humble-gscam-dbgsym] + jammy: [ros-humble-gscam-dbgsym] +gtest_vendor: + ubuntu: + focal: [ros-humble-gtest-vendor] + jammy: [ros-humble-gtest-vendor] +gtsam: + ubuntu: + focal: [ros-humble-gtsam] + jammy: [ros-humble-gtsam] +gtsam_dbgsym: + ubuntu: + focal: [ros-humble-gtsam-dbgsym] + jammy: [ros-humble-gtsam-dbgsym] +gxf_isaac_argus: + ubuntu: + focal: [ros-humble-gxf-isaac-argus] + jammy: [ros-humble-gxf-isaac-argus] +gxf_isaac_atlas: + ubuntu: + focal: [ros-humble-gxf-isaac-atlas] + jammy: [ros-humble-gxf-isaac-atlas] +gxf_isaac_bi3d: + ubuntu: + focal: [ros-humble-gxf-isaac-bi3d] + jammy: [ros-humble-gxf-isaac-bi3d] +gxf_isaac_bmi088_imu: + ubuntu: + focal: [ros-humble-gxf-isaac-bmi088-imu] + jammy: [ros-humble-gxf-isaac-bmi088-imu] +gxf_isaac_camera_utils: + ubuntu: + focal: [ros-humble-gxf-isaac-camera-utils] + jammy: [ros-humble-gxf-isaac-camera-utils] +gxf_isaac_centerpose: + ubuntu: + focal: [ros-humble-gxf-isaac-centerpose] + jammy: [ros-humble-gxf-isaac-centerpose] +gxf_isaac_cuda: + ubuntu: + focal: [ros-humble-gxf-isaac-cuda] + jammy: [ros-humble-gxf-isaac-cuda] +gxf_isaac_depth_image_proc: + ubuntu: + focal: [ros-humble-gxf-isaac-depth-image-proc] + jammy: [ros-humble-gxf-isaac-depth-image-proc] +gxf_isaac_detectnet: + ubuntu: + focal: [ros-humble-gxf-isaac-detectnet] + jammy: [ros-humble-gxf-isaac-detectnet] +gxf_isaac_dope: + ubuntu: + focal: [ros-humble-gxf-isaac-dope] + jammy: [ros-humble-gxf-isaac-dope] +gxf_isaac_ess: + ubuntu: + focal: [ros-humble-gxf-isaac-ess] + jammy: [ros-humble-gxf-isaac-ess] +gxf_isaac_fiducials: + ubuntu: + focal: [ros-humble-gxf-isaac-fiducials] + jammy: [ros-humble-gxf-isaac-fiducials] +gxf_isaac_flatscan_localization: + ubuntu: + focal: [ros-humble-gxf-isaac-flatscan-localization] + jammy: [ros-humble-gxf-isaac-flatscan-localization] +gxf_isaac_foundationpose: + ubuntu: + focal: [ros-humble-gxf-isaac-foundationpose] + jammy: [ros-humble-gxf-isaac-foundationpose] +gxf_isaac_gems: + ubuntu: + focal: [ros-humble-gxf-isaac-gems] + jammy: [ros-humble-gxf-isaac-gems] +gxf_isaac_gxf_helpers: + ubuntu: + focal: [ros-humble-gxf-isaac-gxf-helpers] + jammy: [ros-humble-gxf-isaac-gxf-helpers] +gxf_isaac_hesai: + ubuntu: + focal: [ros-humble-gxf-isaac-hesai] + jammy: [ros-humble-gxf-isaac-hesai] +gxf_isaac_image_flip: + ubuntu: + focal: [ros-humble-gxf-isaac-image-flip] + jammy: [ros-humble-gxf-isaac-image-flip] +gxf_isaac_imu_utils: + ubuntu: + focal: [ros-humble-gxf-isaac-imu-utils] + jammy: [ros-humble-gxf-isaac-imu-utils] +gxf_isaac_localization: + ubuntu: + focal: [ros-humble-gxf-isaac-localization] + jammy: [ros-humble-gxf-isaac-localization] +gxf_isaac_message_compositor: + ubuntu: + focal: [ros-humble-gxf-isaac-message-compositor] + jammy: [ros-humble-gxf-isaac-message-compositor] +gxf_isaac_messages: + ubuntu: + focal: [ros-humble-gxf-isaac-messages] + jammy: [ros-humble-gxf-isaac-messages] +gxf_isaac_messages_throttler: + ubuntu: + focal: [ros-humble-gxf-isaac-messages-throttler] + jammy: [ros-humble-gxf-isaac-messages-throttler] +gxf_isaac_occupancy_grid_projector: + ubuntu: + focal: [ros-humble-gxf-isaac-occupancy-grid-projector] + jammy: [ros-humble-gxf-isaac-occupancy-grid-projector] +gxf_isaac_optimizer: + ubuntu: + focal: [ros-humble-gxf-isaac-optimizer] + jammy: [ros-humble-gxf-isaac-optimizer] +gxf_isaac_point_cloud: + ubuntu: + focal: [ros-humble-gxf-isaac-point-cloud] + jammy: [ros-humble-gxf-isaac-point-cloud] +gxf_isaac_range_scan_processing: + ubuntu: + focal: [ros-humble-gxf-isaac-range-scan-processing] + jammy: [ros-humble-gxf-isaac-range-scan-processing] +gxf_isaac_rectify: + ubuntu: + focal: [ros-humble-gxf-isaac-rectify] + jammy: [ros-humble-gxf-isaac-rectify] +gxf_isaac_ros_cuda: + ubuntu: + focal: [ros-humble-gxf-isaac-ros-cuda] + jammy: [ros-humble-gxf-isaac-ros-cuda] +gxf_isaac_ros_image_segmentation: + ubuntu: + focal: [ros-humble-gxf-isaac-ros-image-segmentation] + jammy: [ros-humble-gxf-isaac-ros-image-segmentation] +gxf_isaac_ros_messages: + ubuntu: + focal: [ros-humble-gxf-isaac-ros-messages] + jammy: [ros-humble-gxf-isaac-ros-messages] +gxf_isaac_ros_segment_anything: + ubuntu: + focal: [ros-humble-gxf-isaac-ros-segment-anything] + jammy: [ros-humble-gxf-isaac-ros-segment-anything] +gxf_isaac_ros_unet: + ubuntu: + focal: [ros-humble-gxf-isaac-ros-unet] + jammy: [ros-humble-gxf-isaac-ros-unet] +gxf_isaac_segway: + ubuntu: + focal: [ros-humble-gxf-isaac-segway] + jammy: [ros-humble-gxf-isaac-segway] +gxf_isaac_sgm: + ubuntu: + focal: [ros-humble-gxf-isaac-sgm] + jammy: [ros-humble-gxf-isaac-sgm] +gxf_isaac_sight: + ubuntu: + focal: [ros-humble-gxf-isaac-sight] + jammy: [ros-humble-gxf-isaac-sight] +gxf_isaac_synchronization: + ubuntu: + focal: [ros-humble-gxf-isaac-synchronization] + jammy: [ros-humble-gxf-isaac-synchronization] +gxf_isaac_tensor_rt: + ubuntu: + focal: [ros-humble-gxf-isaac-tensor-rt] + jammy: [ros-humble-gxf-isaac-tensor-rt] +gxf_isaac_tensorops: + ubuntu: + focal: [ros-humble-gxf-isaac-tensorops] + jammy: [ros-humble-gxf-isaac-tensorops] +gxf_isaac_timestamp_correlator: + ubuntu: + focal: [ros-humble-gxf-isaac-timestamp-correlator] + jammy: [ros-humble-gxf-isaac-timestamp-correlator] +gxf_isaac_triton: + ubuntu: + focal: [ros-humble-gxf-isaac-triton] + jammy: [ros-humble-gxf-isaac-triton] +gxf_isaac_utils: + ubuntu: + focal: [ros-humble-gxf-isaac-utils] + jammy: [ros-humble-gxf-isaac-utils] +gxf_isaac_video_buffer_utils: + ubuntu: + focal: [ros-humble-gxf-isaac-video-buffer-utils] + jammy: [ros-humble-gxf-isaac-video-buffer-utils] +h264_image_transport: + ubuntu: + focal: [ros-humble-h264-image-transport] + jammy: [ros-humble-h264-image-transport] +h264_msgs: + ubuntu: + focal: [ros-humble-h264-msgs] + jammy: [ros-humble-h264-msgs] +hardware_interface: + ubuntu: + focal: [ros-humble-hardware-interface] + jammy: [ros-humble-hardware-interface] +hardware_interface_dbgsym: + ubuntu: + focal: [ros-humble-hardware-interface-dbgsym] + jammy: [ros-humble-hardware-interface-dbgsym] +hash_library_vendor: + ubuntu: + focal: [ros-humble-hash-library-vendor] + jammy: [ros-humble-hash-library-vendor] +hash_library_vendor_dbgsym: + ubuntu: + focal: [ros-humble-hash-library-vendor-dbgsym] + jammy: [ros-humble-hash-library-vendor-dbgsym] +hawk_description: + ubuntu: + focal: [ros-humble-hawk-description] + jammy: [ros-humble-hawk-description] +heaphook: + ubuntu: + focal: [ros-humble-heaphook] + jammy: [ros-humble-heaphook] +heaphook_dbgsym: + ubuntu: + focal: [ros-humble-heaphook-dbgsym] + jammy: [ros-humble-heaphook-dbgsym] +hesai_ros_driver: + ubuntu: + focal: [ros-humble-hesai-ros-driver] + jammy: [ros-humble-hesai-ros-driver] +hey5_description: + ubuntu: + focal: [ros-humble-hey5-description] + jammy: [ros-humble-hey5-description] +hls_lfcd_lds_driver: + ubuntu: + focal: [ros-humble-hls-lfcd-lds-driver] + jammy: [ros-humble-hls-lfcd-lds-driver] +hls_lfcd_lds_driver_dbgsym: + ubuntu: + focal: [ros-humble-hls-lfcd-lds-driver-dbgsym] + jammy: [ros-humble-hls-lfcd-lds-driver-dbgsym] +hpp_fcl: + ubuntu: + focal: [ros-humble-hpp-fcl] + jammy: [ros-humble-hpp-fcl] +hpp_fcl_dbgsym: + ubuntu: + focal: [ros-humble-hpp-fcl-dbgsym] + jammy: [ros-humble-hpp-fcl-dbgsym] +ibeo_msgs: + ubuntu: + focal: [ros-humble-ibeo-msgs] + jammy: [ros-humble-ibeo-msgs] +ibeo_msgs_dbgsym: + ubuntu: + focal: [ros-humble-ibeo-msgs-dbgsym] + jammy: [ros-humble-ibeo-msgs-dbgsym] +iceoryx_binding_c: + ubuntu: + focal: [ros-humble-iceoryx-binding-c] + jammy: [ros-humble-iceoryx-binding-c] +iceoryx_binding_c_dbgsym: + ubuntu: + focal: [ros-humble-iceoryx-binding-c-dbgsym] + jammy: [ros-humble-iceoryx-binding-c-dbgsym] +iceoryx_hoofs: + ubuntu: + focal: [ros-humble-iceoryx-hoofs] + jammy: [ros-humble-iceoryx-hoofs] +iceoryx_hoofs_dbgsym: + ubuntu: + focal: [ros-humble-iceoryx-hoofs-dbgsym] + jammy: [ros-humble-iceoryx-hoofs-dbgsym] +iceoryx_posh: + ubuntu: + focal: [ros-humble-iceoryx-posh] + jammy: [ros-humble-iceoryx-posh] +iceoryx_posh_dbgsym: + ubuntu: + focal: [ros-humble-iceoryx-posh-dbgsym] + jammy: [ros-humble-iceoryx-posh-dbgsym] +ifm3d_core: + ubuntu: + focal: [ros-humble-ifm3d-core] + jammy: [ros-humble-ifm3d-core] +ign_ros2_control: + ubuntu: + focal: [ros-humble-ign-ros2-control] + jammy: [ros-humble-ign-ros2-control] +ign_ros2_control_dbgsym: + ubuntu: + focal: [ros-humble-ign-ros2-control-dbgsym] + jammy: [ros-humble-ign-ros2-control-dbgsym] +ign_ros2_control_demos: + ubuntu: + focal: [ros-humble-ign-ros2-control-demos] + jammy: [ros-humble-ign-ros2-control-demos] +ign_ros2_control_demos_dbgsym: + ubuntu: + focal: [ros-humble-ign-ros2-control-demos-dbgsym] + jammy: [ros-humble-ign-ros2-control-demos-dbgsym] +ignition_cmake2_vendor: + ubuntu: + focal: [ros-humble-ignition-cmake2-vendor] + jammy: [ros-humble-ignition-cmake2-vendor] +ignition_math6_vendor: + ubuntu: + focal: [ros-humble-ignition-math6-vendor] + jammy: [ros-humble-ignition-math6-vendor] +image_common: + ubuntu: + focal: [ros-humble-image-common] + jammy: [ros-humble-image-common] +image_geometry: + ubuntu: + focal: [ros-humble-image-geometry] + jammy: [ros-humble-image-geometry] +image_geometry_dbgsym: + ubuntu: + focal: [ros-humble-image-geometry-dbgsym] + jammy: [ros-humble-image-geometry-dbgsym] +image_pipeline: + ubuntu: + focal: [ros-humble-image-pipeline] + jammy: [ros-humble-image-pipeline] +image_proc: + ubuntu: + focal: [ros-humble-image-proc] + jammy: [ros-humble-image-proc] +image_proc_dbgsym: + ubuntu: + focal: [ros-humble-image-proc-dbgsym] + jammy: [ros-humble-image-proc-dbgsym] +image_publisher: + ubuntu: + focal: [ros-humble-image-publisher] + jammy: [ros-humble-image-publisher] +image_publisher_dbgsym: + ubuntu: + focal: [ros-humble-image-publisher-dbgsym] + jammy: [ros-humble-image-publisher-dbgsym] +image_rotate: + ubuntu: + focal: [ros-humble-image-rotate] + jammy: [ros-humble-image-rotate] +image_rotate_dbgsym: + ubuntu: + focal: [ros-humble-image-rotate-dbgsym] + jammy: [ros-humble-image-rotate-dbgsym] +image_tools: + ubuntu: + focal: [ros-humble-image-tools] + jammy: [ros-humble-image-tools] +image_tools_dbgsym: + ubuntu: + focal: [ros-humble-image-tools-dbgsym] + jammy: [ros-humble-image-tools-dbgsym] +image_transport: + ubuntu: + focal: [ros-humble-image-transport] + jammy: [ros-humble-image-transport] +image_transport_dbgsym: + ubuntu: + focal: [ros-humble-image-transport-dbgsym] + jammy: [ros-humble-image-transport-dbgsym] +image_transport_plugins: + ubuntu: + focal: [ros-humble-image-transport-plugins] + jammy: [ros-humble-image-transport-plugins] +image_view: + ubuntu: + focal: [ros-humble-image-view] + jammy: [ros-humble-image-view] +image_view_dbgsym: + ubuntu: + focal: [ros-humble-image-view-dbgsym] + jammy: [ros-humble-image-view-dbgsym] +imu_complementary_filter: + ubuntu: + focal: [ros-humble-imu-complementary-filter] + jammy: [ros-humble-imu-complementary-filter] +imu_complementary_filter_dbgsym: + ubuntu: + focal: [ros-humble-imu-complementary-filter-dbgsym] + jammy: [ros-humble-imu-complementary-filter-dbgsym] +imu_filter_madgwick: + ubuntu: + focal: [ros-humble-imu-filter-madgwick] + jammy: [ros-humble-imu-filter-madgwick] +imu_filter_madgwick_dbgsym: + ubuntu: + focal: [ros-humble-imu-filter-madgwick-dbgsym] + jammy: [ros-humble-imu-filter-madgwick-dbgsym] +imu_sensor_broadcaster: + ubuntu: + focal: [ros-humble-imu-sensor-broadcaster] + jammy: [ros-humble-imu-sensor-broadcaster] +imu_sensor_broadcaster_dbgsym: + ubuntu: + focal: [ros-humble-imu-sensor-broadcaster-dbgsym] + jammy: [ros-humble-imu-sensor-broadcaster-dbgsym] +imu_tools: + ubuntu: + focal: [ros-humble-imu-tools] + jammy: [ros-humble-imu-tools] +interactive_marker_twist_server: + ubuntu: + focal: [ros-humble-interactive-marker-twist-server] + jammy: [ros-humble-interactive-marker-twist-server] +interactive_marker_twist_server_dbgsym: + ubuntu: + focal: [ros-humble-interactive-marker-twist-server-dbgsym] + jammy: [ros-humble-interactive-marker-twist-server-dbgsym] +interactive_markers: + ubuntu: + focal: [ros-humble-interactive-markers] + jammy: [ros-humble-interactive-markers] +interactive_markers_dbgsym: + ubuntu: + focal: [ros-humble-interactive-markers-dbgsym] + jammy: [ros-humble-interactive-markers-dbgsym] +intra_process_demo: + ubuntu: + focal: [ros-humble-intra-process-demo] + jammy: [ros-humble-intra-process-demo] +intra_process_demo_dbgsym: + ubuntu: + focal: [ros-humble-intra-process-demo-dbgsym] + jammy: [ros-humble-intra-process-demo-dbgsym] +io_context: + ubuntu: + focal: [ros-humble-io-context] + jammy: [ros-humble-io-context] +io_context_dbgsym: + ubuntu: + focal: [ros-humble-io-context-dbgsym] + jammy: [ros-humble-io-context-dbgsym] +irobot_create_common_bringup: + ubuntu: + focal: [ros-humble-irobot-create-common-bringup] + jammy: [ros-humble-irobot-create-common-bringup] +irobot_create_control: + ubuntu: + focal: [ros-humble-irobot-create-control] + jammy: [ros-humble-irobot-create-control] +irobot_create_description: + ubuntu: + focal: [ros-humble-irobot-create-description] + jammy: [ros-humble-irobot-create-description] +irobot_create_ignition_bringup: + ubuntu: + focal: [ros-humble-irobot-create-ignition-bringup] + jammy: [ros-humble-irobot-create-ignition-bringup] +irobot_create_ignition_plugins: + ubuntu: + focal: [ros-humble-irobot-create-ignition-plugins] + jammy: [ros-humble-irobot-create-ignition-plugins] +irobot_create_ignition_plugins_dbgsym: + ubuntu: + focal: [ros-humble-irobot-create-ignition-plugins-dbgsym] + jammy: [ros-humble-irobot-create-ignition-plugins-dbgsym] +irobot_create_ignition_sim: + ubuntu: + focal: [ros-humble-irobot-create-ignition-sim] + jammy: [ros-humble-irobot-create-ignition-sim] +irobot_create_ignition_toolbox: + ubuntu: + focal: [ros-humble-irobot-create-ignition-toolbox] + jammy: [ros-humble-irobot-create-ignition-toolbox] +irobot_create_ignition_toolbox_dbgsym: + ubuntu: + focal: [ros-humble-irobot-create-ignition-toolbox-dbgsym] + jammy: [ros-humble-irobot-create-ignition-toolbox-dbgsym] +irobot_create_msgs: + ubuntu: + focal: [ros-humble-irobot-create-msgs] + jammy: [ros-humble-irobot-create-msgs] +irobot_create_msgs_dbgsym: + ubuntu: + focal: [ros-humble-irobot-create-msgs-dbgsym] + jammy: [ros-humble-irobot-create-msgs-dbgsym] +irobot_create_nodes: + ubuntu: + focal: [ros-humble-irobot-create-nodes] + jammy: [ros-humble-irobot-create-nodes] +irobot_create_nodes_dbgsym: + ubuntu: + focal: [ros-humble-irobot-create-nodes-dbgsym] + jammy: [ros-humble-irobot-create-nodes-dbgsym] +irobot_create_toolbox: + ubuntu: + focal: [ros-humble-irobot-create-toolbox] + jammy: [ros-humble-irobot-create-toolbox] +irobot_create_toolbox_dbgsym: + ubuntu: + focal: [ros-humble-irobot-create-toolbox-dbgsym] + jammy: [ros-humble-irobot-create-toolbox-dbgsym] +isaac_manipulator_bringup: + ubuntu: + focal: [ros-humble-isaac-manipulator-bringup] + jammy: [ros-humble-isaac-manipulator-bringup] +isaac_mapping_and_localization: + ubuntu: + focal: [ros-humble-isaac-mapping-and-localization] + jammy: [ros-humble-isaac-mapping-and-localization] +isaac_ros_apriltag: + ubuntu: + focal: [ros-humble-isaac-ros-apriltag] + jammy: [ros-humble-isaac-ros-apriltag] +isaac_ros_apriltag_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-apriltag-benchmark] + jammy: [ros-humble-isaac-ros-apriltag-benchmark] +isaac_ros_apriltag_interfaces: + ubuntu: + focal: [ros-humble-isaac-ros-apriltag-interfaces] + jammy: [ros-humble-isaac-ros-apriltag-interfaces] +isaac_ros_apriltag_msgs: + ubuntu: + focal: [ros-noetic-isaac-ros-apriltag-msgs] + jammy: [ros-noetic-isaac-ros-apriltag-msgs] +isaac_ros_argus_camera: + ubuntu: + focal: [ros-humble-isaac-ros-argus-camera] + jammy: [ros-humble-isaac-ros-argus-camera] +isaac_ros_argus_camera_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-argus-camera-benchmark] + jammy: [ros-humble-isaac-ros-argus-camera-benchmark] +isaac_ros_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-benchmark] + jammy: [ros-humble-isaac-ros-benchmark] +isaac_ros_bi3d: + ubuntu: + focal: [ros-humble-isaac-ros-bi3d] + jammy: [ros-humble-isaac-ros-bi3d] +isaac_ros_bi3d_freespace: + ubuntu: + focal: [ros-humble-isaac-ros-bi3d-freespace] + jammy: [ros-humble-isaac-ros-bi3d-freespace] +isaac_ros_bi3d_freespace_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-bi3d-freespace-benchmark] + jammy: [ros-humble-isaac-ros-bi3d-freespace-benchmark] +isaac_ros_bi3d_interfaces: + ubuntu: + focal: [ros-humble-isaac-ros-bi3d-interfaces] + jammy: [ros-humble-isaac-ros-bi3d-interfaces] +isaac_ros_bi3d_msgs: + ubuntu: + focal: [ros-noetic-isaac-ros-bi3d-msgs] + jammy: [ros-noetic-isaac-ros-bi3d-msgs] +isaac_ros_camera_localization: + ubuntu: + focal: [ros-humble-isaac-ros-camera-localization] + jammy: [ros-humble-isaac-ros-camera-localization] +isaac_ros_centerpose: + ubuntu: + focal: [ros-humble-isaac-ros-centerpose] + jammy: [ros-humble-isaac-ros-centerpose] +isaac_ros_centerpose_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-centerpose-benchmark] + jammy: [ros-humble-isaac-ros-centerpose-benchmark] +isaac_ros_common: + ubuntu: + focal: [ros-humble-isaac-ros-common] + jammy: [ros-humble-isaac-ros-common] +isaac_ros_correlated_timestamp_driver: + ubuntu: + focal: [ros-humble-isaac-ros-correlated-timestamp-driver] + jammy: [ros-humble-isaac-ros-correlated-timestamp-driver] +isaac_ros_cumotion: + ubuntu: + focal: [ros-humble-isaac-ros-cumotion] + jammy: [ros-humble-isaac-ros-cumotion] +isaac_ros_cumotion_examples: + ubuntu: + focal: [ros-humble-isaac-ros-cumotion-examples] + jammy: [ros-humble-isaac-ros-cumotion-examples] +isaac_ros_cumotion_moveit: + ubuntu: + focal: [ros-humble-isaac-ros-cumotion-moveit] + jammy: [ros-humble-isaac-ros-cumotion-moveit] +isaac_ros_cumotion_robot_description: + ubuntu: + focal: [ros-humble-isaac-ros-cumotion-robot-description] + jammy: [ros-humble-isaac-ros-cumotion-robot-description] +isaac_ros_data_recorder: + ubuntu: + focal: [ros-humble-isaac-ros-data-recorder] + jammy: [ros-humble-isaac-ros-data-recorder] +isaac_ros_data_recorder_nova_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-data-recorder-nova-benchmark] + jammy: [ros-humble-isaac-ros-data-recorder-nova-benchmark] +isaac_ros_data_replayer: + ubuntu: + focal: [ros-humble-isaac-ros-data-replayer] + jammy: [ros-humble-isaac-ros-data-replayer] +isaac_ros_data_validation: + ubuntu: + focal: [ros-humble-isaac-ros-data-validation] + jammy: [ros-humble-isaac-ros-data-validation] +isaac_ros_deepmap_data_converter: + ubuntu: + focal: [ros-humble-isaac-ros-deepmap-data-converter] + jammy: [ros-humble-isaac-ros-deepmap-data-converter] +isaac_ros_depth_image_proc: + ubuntu: + focal: [ros-humble-isaac-ros-depth-image-proc] + jammy: [ros-humble-isaac-ros-depth-image-proc] +isaac_ros_detectnet: + ubuntu: + focal: [ros-humble-isaac-ros-detectnet] + jammy: [ros-humble-isaac-ros-detectnet] +isaac_ros_detectnet_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-detectnet-benchmark] + jammy: [ros-humble-isaac-ros-detectnet-benchmark] +isaac_ros_dnn_image_encoder: + ubuntu: + focal: [ros-humble-isaac-ros-dnn-image-encoder] + jammy: [ros-humble-isaac-ros-dnn-image-encoder] +isaac_ros_dnn_image_encoder_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-dnn-image-encoder-benchmark] + jammy: [ros-humble-isaac-ros-dnn-image-encoder-benchmark] +isaac_ros_dnn_inference_test: + ubuntu: + focal: [ros-humble-isaac-ros-dnn-inference-test] + jammy: [ros-humble-isaac-ros-dnn-inference-test] +isaac_ros_dope: + ubuntu: + focal: [ros-humble-isaac-ros-dope] + jammy: [ros-humble-isaac-ros-dope] +isaac_ros_dope_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-dope-benchmark] + jammy: [ros-humble-isaac-ros-dope-benchmark] +isaac_ros_ess: + ubuntu: + focal: [ros-humble-isaac-ros-ess] + jammy: [ros-humble-isaac-ros-ess] +isaac_ros_ess_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-ess-benchmark] + jammy: [ros-humble-isaac-ros-ess-benchmark] +isaac_ros_ess_models_install: + ubuntu: + focal: [ros-humble-isaac-ros-ess-models-install] + jammy: [ros-humble-isaac-ros-ess-models-install] +isaac_ros_ess_nova_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-ess-nova-benchmark] + jammy: [ros-humble-isaac-ros-ess-nova-benchmark] +isaac_ros_examples: + ubuntu: + focal: [ros-humble-isaac-ros-examples] + jammy: [ros-humble-isaac-ros-examples] +isaac_ros_goal_setter_interfaces: + ubuntu: + focal: [ros-humble-isaac-ros-goal-setter-interfaces] + jammy: [ros-humble-isaac-ros-goal-setter-interfaces] +isaac_ros_usb_cam: + ubuntu: + focal: [ros-humble-isaac-ros-usb-cam] + jammy: [ros-humble-isaac-ros-usb-cam] +isaac_ros_realsense: + ubuntu: + focal: [ros-humble-isaac-ros-realsense] + jammy: [ros-humble-isaac-ros-realsense] +isaac_ros_foundationpose: + ubuntu: + focal: [ros-humble-isaac-ros-foundationpose] + jammy: [ros-humble-isaac-ros-foundationpose] +isaac_ros_foundationpose_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-foundationpose-benchmark] + jammy: [ros-humble-isaac-ros-foundationpose-benchmark] +isaac_ros_gxf: + ubuntu: + focal: [ros-humble-isaac-ros-gxf] + jammy: [ros-humble-isaac-ros-gxf] +isaac_ros_h264_decoder: + ubuntu: + focal: [ros-humble-isaac-ros-h264-decoder] + jammy: [ros-humble-isaac-ros-h264-decoder] +isaac_ros_h264_decoder_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-h264-decoder-benchmark] + jammy: [ros-humble-isaac-ros-h264-decoder-benchmark] +isaac_ros_h264_encoder: + ubuntu: + focal: [ros-humble-isaac-ros-h264-encoder] + jammy: [ros-humble-isaac-ros-h264-encoder] +isaac_ros_h264_encoder_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-h264-encoder-benchmark] + jammy: [ros-humble-isaac-ros-h264-encoder-benchmark] +isaac_ros_hawk: + ubuntu: + focal: [ros-humble-isaac-ros-hawk] + jammy: [ros-humble-isaac-ros-hawk] +isaac_ros_hawk_nova_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-hawk-nova-benchmark] + jammy: [ros-humble-isaac-ros-hawk-nova-benchmark] +isaac_ros_hesai: + ubuntu: + focal: [ros-humble-isaac-ros-hesai] + jammy: [ros-humble-isaac-ros-hesai] +isaac_ros_image_pipeline: + ubuntu: + focal: [ros-humble-isaac-ros-image-pipeline] + jammy: [ros-humble-isaac-ros-image-pipeline] +isaac_ros_image_proc: + ubuntu: + focal: [ros-humble-isaac-ros-image-proc] + jammy: [ros-humble-isaac-ros-image-proc] +isaac_ros_image_proc_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-image-proc-benchmark] + jammy: [ros-humble-isaac-ros-image-proc-benchmark] +isaac_ros_imu_bmi088: + ubuntu: + focal: [ros-humble-isaac-ros-imu-bmi088] + jammy: [ros-humble-isaac-ros-imu-bmi088] +isaac_ros_integration_test: + ubuntu: + focal: [ros-humble-isaac-ros-integration-test] + jammy: [ros-humble-isaac-ros-integration-test] +isaac_ros_integration_test_control_node: + ubuntu: + focal: [ros-humble-isaac-ros-integration-test-control-node] + jammy: [ros-humble-isaac-ros-integration-test-control-node] +isaac_ros_integration_test_interfaces: + ubuntu: + focal: [ros-humble-isaac-ros-integration-test-interfaces] + jammy: [ros-humble-isaac-ros-integration-test-interfaces] +isaac_ros_integration_test_msgs: + ubuntu: + focal: [ros-noetic-isaac-ros-integration-test-msgs] + jammy: [ros-noetic-isaac-ros-integration-test-msgs] +isaac_ros_jetson_stats: + ubuntu: + focal: [ros-humble-isaac-ros-jetson-stats] + jammy: [ros-humble-isaac-ros-jetson-stats] +isaac_ros_jetson_stats_services: + ubuntu: + focal: [ros-humble-isaac-ros-jetson-stats-services] + jammy: [ros-humble-isaac-ros-jetson-stats-services] +isaac_ros_json_info_generator: + ubuntu: + focal: [ros-humble-isaac-ros-json-info-generator] + jammy: [ros-humble-isaac-ros-json-info-generator] +isaac_ros_launch_utils: + ubuntu: + focal: [ros-humble-isaac-ros-launch-utils] + jammy: [ros-humble-isaac-ros-launch-utils] +isaac_ros_managed_nitros: + ubuntu: + focal: [ros-humble-isaac-ros-managed-nitros] + jammy: [ros-humble-isaac-ros-managed-nitros] +isaac_ros_mission_client: + ubuntu: + focal: [ros-humble-isaac-ros-mission-client] + jammy: [ros-humble-isaac-ros-mission-client] +isaac_ros_moveit_goal_setter: + ubuntu: + focal: [ros-humble-isaac-ros-moveit-goal-setter] + jammy: [ros-humble-isaac-ros-moveit-goal-setter] +isaac_ros_mqtt_bridge: + ubuntu: + focal: [ros-humble-isaac-ros-mqtt-bridge] + jammy: [ros-humble-isaac-ros-mqtt-bridge] +isaac_ros_nav_goal_generator: + ubuntu: + focal: [ros-humble-isaac-ros-nav-goal-generator] + jammy: [ros-humble-isaac-ros-nav-goal-generator] +isaac_ros_nitros: + ubuntu: + focal: [ros-humble-isaac-ros-nitros] + jammy: [ros-humble-isaac-ros-nitros] +isaac_ros_nitros_april_tag_detection_array_type: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-april-tag-detection-array-type] + jammy: [ros-humble-isaac-ros-nitros-april-tag-detection-array-type] +isaac_ros_nitros_battery_state_type: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-battery-state-type] + jammy: [ros-humble-isaac-ros-nitros-battery-state-type] +isaac_ros_nitros_bi3d_inference_param_array_type: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-bi3d-inference-param-array-type] + jammy: [ros-humble-isaac-ros-nitros-bi3d-inference-param-array-type] +isaac_ros_nitros_bridge_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-bridge-benchmark] + jammy: [ros-humble-isaac-ros-nitros-bridge-benchmark] +isaac_ros_nitros_bridge_interfaces: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-bridge-interfaces] + jammy: [ros-humble-isaac-ros-nitros-bridge-interfaces] +isaac_ros_nitros_bridge_msgs: + ubuntu: + focal: [ros-noetic-isaac-ros-nitros-bridge-msgs] + jammy: [ros-noetic-isaac-ros-nitros-bridge-msgs] +isaac_ros_nitros_bridge_ros1: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-bridge-ros1] + jammy: [ros-humble-isaac-ros-nitros-bridge-ros1] +isaac_ros_nitros_bridge_ros2: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-bridge-ros2] + jammy: [ros-humble-isaac-ros-nitros-bridge-ros2] +isaac_ros_nitros_camera_info_type: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-camera-info-type] + jammy: [ros-humble-isaac-ros-nitros-camera-info-type] +isaac_ros_nitros_compressed_image_type: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-compressed-image-type] + jammy: [ros-humble-isaac-ros-nitros-compressed-image-type] +isaac_ros_nitros_compressed_video_type: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-compressed-video-type] + jammy: [ros-humble-isaac-ros-nitros-compressed-video-type] +isaac_ros_nitros_correlated_timestamp_type: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-correlated-timestamp-type] + jammy: [ros-humble-isaac-ros-nitros-correlated-timestamp-type] +isaac_ros_nitros_detection2_d_array_type: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-detection2-d-array-type] + jammy: [ros-humble-isaac-ros-nitros-detection2-d-array-type] +isaac_ros_nitros_detection3_d_array_type: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-detection3-d-array-type] + jammy: [ros-humble-isaac-ros-nitros-detection3-d-array-type] +isaac_ros_nitros_disparity_image_type: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-disparity-image-type] + jammy: [ros-humble-isaac-ros-nitros-disparity-image-type] +isaac_ros_nitros_encoder_ticks_type: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-encoder-ticks-type] + jammy: [ros-humble-isaac-ros-nitros-encoder-ticks-type] +isaac_ros_nitros_flat_scan_type: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-flat-scan-type] + jammy: [ros-humble-isaac-ros-nitros-flat-scan-type] +isaac_ros_nitros_image_type: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-image-type] + jammy: [ros-humble-isaac-ros-nitros-image-type] +isaac_ros_nitros_imu_type: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-imu-type] + jammy: [ros-humble-isaac-ros-nitros-imu-type] +isaac_ros_nitros_interfaces: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-interfaces] + jammy: [ros-humble-isaac-ros-nitros-interfaces] +isaac_ros_nitros_msgs: + ubuntu: + focal: [ros-noetic-isaac-ros-nitros-msgs] + jammy: [ros-noetic-isaac-ros-nitros-msgs] +isaac_ros_nitros_occupancy_grid_type: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-occupancy-grid-type] + jammy: [ros-humble-isaac-ros-nitros-occupancy-grid-type] +isaac_ros_nitros_odometry_type: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-odometry-type] + jammy: [ros-humble-isaac-ros-nitros-odometry-type] +isaac_ros_nitros_point_cloud_type: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-point-cloud-type] + jammy: [ros-humble-isaac-ros-nitros-point-cloud-type] +isaac_ros_nitros_pose_array_type: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-pose-array-type] + jammy: [ros-humble-isaac-ros-nitros-pose-array-type] +isaac_ros_nitros_pose_cov_stamped_type: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-pose-cov-stamped-type] + jammy: [ros-humble-isaac-ros-nitros-pose-cov-stamped-type] +isaac_ros_nitros_std_msg_type: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-std-msg-type] + jammy: [ros-humble-isaac-ros-nitros-std-msg-type] +isaac_ros_nitros_tensor_list_type: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-tensor-list-type] + jammy: [ros-humble-isaac-ros-nitros-tensor-list-type] +isaac_ros_nitros_topic_tools: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-topic-tools] + jammy: [ros-humble-isaac-ros-nitros-topic-tools] +isaac_ros_nitros_twist_type: + ubuntu: + focal: [ros-humble-isaac-ros-nitros-twist-type] + jammy: [ros-humble-isaac-ros-nitros-twist-type] +isaac_ros_nova_interfaces: + ubuntu: + focal: [ros-humble-isaac-ros-nova-interfaces] + jammy: [ros-humble-isaac-ros-nova-interfaces] +isaac_ros_nvblox: + ubuntu: + focal: [ros-humble-isaac-ros-nvblox] + jammy: [ros-humble-isaac-ros-nvblox] +isaac_ros_nvblox_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-nvblox-benchmark] + jammy: [ros-humble-isaac-ros-nvblox-benchmark] +isaac_ros_nvblox_nova_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-nvblox-nova-benchmark] + jammy: [ros-humble-isaac-ros-nvblox-nova-benchmark] +isaac_ros_occupancy_grid_localizer: + ubuntu: + focal: [ros-humble-isaac-ros-occupancy-grid-localizer] + jammy: [ros-humble-isaac-ros-occupancy-grid-localizer] +isaac_ros_occupancy_grid_localizer_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-occupancy-grid-localizer-benchmark] + jammy: [ros-humble-isaac-ros-occupancy-grid-localizer-benchmark] +isaac_ros_occupancy_map_builder: + ubuntu: + focal: [ros-humble-isaac-ros-occupancy-map-builder] + jammy: [ros-humble-isaac-ros-occupancy-map-builder] +isaac_ros_owl: + ubuntu: + focal: [ros-humble-isaac-ros-owl] + jammy: [ros-humble-isaac-ros-owl] +isaac_ros_peoplesemseg_models_install: + ubuntu: + focal: [ros-humble-isaac-ros-peoplesemseg-models-install] + jammy: [ros-humble-isaac-ros-peoplesemseg-models-install] +isaac_ros_perceptor_constants: + ubuntu: + focal: [ros-humble-isaac-ros-perceptor-constants] + jammy: [ros-humble-isaac-ros-perceptor-constants] +isaac_ros_perceptor_bringup: + ubuntu: + focal: [ros-humble-isaac-ros-perceptor-bringup] + jammy: [ros-humble-isaac-ros-perceptor-bringup] +isaac_ros_perceptor_nova_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-perceptor-nova-benchmark] + jammy: [ros-humble-isaac-ros-perceptor-nova-benchmark] +isaac_ros_pod_recording: + ubuntu: + focal: [ros-humble-isaac-ros-pod-recording] + jammy: [ros-humble-isaac-ros-pod-recording] +isaac_ros_pointcloud_interfaces: + ubuntu: + focal: [ros-humble-isaac-ros-pointcloud-interfaces] + jammy: [ros-humble-isaac-ros-pointcloud-interfaces] +isaac_ros_pointcloud_msgs: + ubuntu: + focal: [ros-noetic-isaac-ros-pointcloud-msgs] + jammy: [ros-noetic-isaac-ros-pointcloud-msgs] +isaac_ros_pointcloud_utils: + ubuntu: + focal: [ros-humble-isaac-ros-pointcloud-utils] + jammy: [ros-humble-isaac-ros-pointcloud-utils] +isaac_ros_realsense_ess_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-realsense-ess-benchmark] + jammy: [ros-humble-isaac-ros-realsense-ess-benchmark] +isaac_ros_ros1_converter: + ubuntu: + focal: [ros-humble-isaac-ros-ros1-converter] + jammy: [ros-humble-isaac-ros-ros1-converter] +isaac_ros_ros1_forward: + ubuntu: + focal: [ros-humble-isaac-ros-ros1-forward] + jammy: [ros-humble-isaac-ros-ros1-forward] +isaac_ros_ros2_converter: + ubuntu: + focal: [ros-humble-isaac-ros-ros2-converter] + jammy: [ros-humble-isaac-ros-ros2-converter] +isaac_ros_rtdetr: + ubuntu: + focal: [ros-humble-isaac-ros-rtdetr] + jammy: [ros-humble-isaac-ros-rtdetr] +isaac_ros_rtdetr_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-rtdetr-benchmark] + jammy: [ros-humble-isaac-ros-rtdetr-benchmark] +isaac_ros_scene_recorder: + ubuntu: + focal: [ros-humble-isaac-ros-scene-recorder] + jammy: [ros-humble-isaac-ros-scene-recorder] +isaac_ros_segformer: + ubuntu: + focal: [ros-humble-isaac-ros-segformer] + jammy: [ros-humble-isaac-ros-segformer] +isaac_ros_segformer_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-segformer-benchmark] + jammy: [ros-humble-isaac-ros-segformer-benchmark] +isaac_ros_segment_anything: + ubuntu: + focal: [ros-humble-isaac-ros-segment-anything] + jammy: [ros-humble-isaac-ros-segment-anything] +isaac_ros_segment_anything_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-segment-anything-benchmark] + jammy: [ros-humble-isaac-ros-segment-anything-benchmark] +isaac_ros_segway_rmp: + ubuntu: + focal: [ros-humble-isaac-ros-segway-rmp] + jammy: [ros-humble-isaac-ros-segway-rmp] +isaac_ros_stereo_image_proc: + ubuntu: + focal: [ros-humble-isaac-ros-stereo-image-proc] + jammy: [ros-humble-isaac-ros-stereo-image-proc] +isaac_ros_stereo_image_proc_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-stereo-image-proc-benchmark] + jammy: [ros-humble-isaac-ros-stereo-image-proc-benchmark] +isaac_ros_tensor_inspector: + ubuntu: + focal: [ros-humble-isaac-ros-tensor-inspector] + jammy: [ros-humble-isaac-ros-tensor-inspector] +isaac_ros_tensor_list_interfaces: + ubuntu: + focal: [ros-humble-isaac-ros-tensor-list-interfaces] + jammy: [ros-humble-isaac-ros-tensor-list-interfaces] +isaac_ros_tensor_list_msgs: + ubuntu: + focal: [ros-noetic-tensor-list-msgs] + jammy: [ros-noetic-tensor-list-msgs] +isaac_ros_tensor_proc: + ubuntu: + focal: [ros-humble-isaac-ros-tensor-proc] + jammy: [ros-humble-isaac-ros-tensor-proc] +isaac_ros_tensor_rt: + ubuntu: + focal: [ros-humble-isaac-ros-tensor-rt] + jammy: [ros-humble-isaac-ros-tensor-rt] +isaac_ros_tensor_rt_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-tensor-rt-benchmark] + jammy: [ros-humble-isaac-ros-tensor-rt-benchmark] +isaac_ros_test: + ubuntu: + focal: [ros-humble-isaac-ros-test] + jammy: [ros-humble-isaac-ros-test] +isaac_ros_to_h264_msgs_packet: + ubuntu: + focal: [ros-humble-isaac-ros-to-h264-msgs-packet] + jammy: [ros-humble-isaac-ros-to-h264-msgs-packet] +isaac_ros_triton: + ubuntu: + focal: [ros-humble-isaac-ros-triton] + jammy: [ros-humble-isaac-ros-triton] +isaac_ros_triton_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-triton-benchmark] + jammy: [ros-humble-isaac-ros-triton-benchmark] +isaac_ros_unet: + ubuntu: + focal: [ros-humble-isaac-ros-unet] + jammy: [ros-humble-isaac-ros-unet] +isaac_ros_unet_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-unet-benchmark] + jammy: [ros-humble-isaac-ros-unet-benchmark] +isaac_ros_vda5050_nav2_client: + ubuntu: + focal: [ros-humble-isaac-ros-vda5050-nav2-client] + jammy: [ros-humble-isaac-ros-vda5050-nav2-client] +isaac_ros_vda5050_nav2_client_bringup: + ubuntu: + focal: [ros-humble-isaac-ros-vda5050-nav2-client-bringup] + jammy: [ros-humble-isaac-ros-vda5050-nav2-client-bringup] +isaac_ros_visual_slam: + ubuntu: + focal: [ros-humble-isaac-ros-visual-slam] + jammy: [ros-humble-isaac-ros-visual-slam] +isaac_ros_visual_slam_benchmark: + ubuntu: + focal: [ros-humble-isaac-ros-visual-slam-benchmark] + jammy: [ros-humble-isaac-ros-visual-slam-benchmark] +isaac_ros_visual_slam_interfaces: + ubuntu: + focal: [ros-humble-isaac-ros-visual-slam-interfaces] + jammy: [ros-humble-isaac-ros-visual-slam-interfaces] +isaac_ros_visual_slam_msgs: + ubuntu: + focal: [ros-noetic-isaac-ros-visual-slam-msgs] + jammy: [ros-noetic-isaac-ros-visual-slam-msgs] +isaac_ros_wifi_scan: + ubuntu: + focal: [ros-humble-isaac-ros-wifi-scan] + jammy: [ros-humble-isaac-ros-wifi-scan] +isaac_ros_wifi_scan_interfaces: + ubuntu: + focal: [ros-humble-isaac-ros-wifi-scan-interfaces] + jammy: [ros-humble-isaac-ros-wifi-scan-interfaces] +isaac_ros_yolov8: + ubuntu: + focal: [ros-humble-isaac-ros-yolov8] + jammy: [ros-humble-isaac-ros-yolov8] +isaac_ros_zed_test: + ubuntu: + focal: [ros-humble-isaac-ros-zed-test] + jammy: [ros-humble-isaac-ros-zed-test] +joint_limits: + ubuntu: + focal: [ros-humble-joint-limits] + jammy: [ros-humble-joint-limits] +joint_limits_dbgsym: + ubuntu: + focal: [ros-humble-joint-limits-dbgsym] + jammy: [ros-humble-joint-limits-dbgsym] +joint_state_broadcaster: + ubuntu: + focal: [ros-humble-joint-state-broadcaster] + jammy: [ros-humble-joint-state-broadcaster] +joint_state_broadcaster_dbgsym: + ubuntu: + focal: [ros-humble-joint-state-broadcaster-dbgsym] + jammy: [ros-humble-joint-state-broadcaster-dbgsym] +joint_state_publisher: + ubuntu: + focal: [ros-humble-joint-state-publisher] + jammy: [ros-humble-joint-state-publisher] +joint_state_publisher_gui: + ubuntu: + focal: [ros-humble-joint-state-publisher-gui] + jammy: [ros-humble-joint-state-publisher-gui] +joint_trajectory_controller: + ubuntu: + focal: [ros-humble-joint-trajectory-controller] + jammy: [ros-humble-joint-trajectory-controller] +joint_trajectory_controller_dbgsym: + ubuntu: + focal: [ros-humble-joint-trajectory-controller-dbgsym] + jammy: [ros-humble-joint-trajectory-controller-dbgsym] +joy: + ubuntu: + focal: [ros-humble-joy] + jammy: [ros-humble-joy] +joy_dbgsym: + ubuntu: + focal: [ros-humble-joy-dbgsym] + jammy: [ros-humble-joy-dbgsym] +joy_linux: + ubuntu: + focal: [ros-humble-joy-linux] + jammy: [ros-humble-joy-linux] +joy_linux_dbgsym: + ubuntu: + focal: [ros-humble-joy-linux-dbgsym] + jammy: [ros-humble-joy-linux-dbgsym] +joy_teleop: + ubuntu: + focal: [ros-humble-joy-teleop] + jammy: [ros-humble-joy-teleop] +joy_tester: + ubuntu: + focal: [ros-humble-joy-tester] + jammy: [ros-humble-joy-tester] +kartech_linear_actuator_msgs: + ubuntu: + focal: [ros-humble-kartech-linear-actuator-msgs] + jammy: [ros-humble-kartech-linear-actuator-msgs] +kartech_linear_actuator_msgs_dbgsym: + ubuntu: + focal: [ros-humble-kartech-linear-actuator-msgs-dbgsym] + jammy: [ros-humble-kartech-linear-actuator-msgs-dbgsym] +kdl_parser: + ubuntu: + focal: [ros-humble-kdl-parser] + jammy: [ros-humble-kdl-parser] +kdl_parser_dbgsym: + ubuntu: + focal: [ros-humble-kdl-parser-dbgsym] + jammy: [ros-humble-kdl-parser-dbgsym] +key_teleop: + ubuntu: + focal: [ros-humble-key-teleop] + jammy: [ros-humble-key-teleop] +keyboard_handler: + ubuntu: + focal: [ros-humble-keyboard-handler] + jammy: [ros-humble-keyboard-handler] +keyboard_handler_dbgsym: + ubuntu: + focal: [ros-humble-keyboard-handler-dbgsym] + jammy: [ros-humble-keyboard-handler-dbgsym] +kinematics_interface: + ubuntu: + focal: [ros-humble-kinematics-interface] + jammy: [ros-humble-kinematics-interface] +kinematics_interface_kdl: + ubuntu: + focal: [ros-humble-kinematics-interface-kdl] + jammy: [ros-humble-kinematics-interface-kdl] +kinematics_interface_kdl_dbgsym: + ubuntu: + focal: [ros-humble-kinematics-interface-kdl-dbgsym] + jammy: [ros-humble-kinematics-interface-kdl-dbgsym] +kinova_gen3_6dof_robotiq_2f_85_moveit_config: + ubuntu: + focal: [ros-humble-kinova-gen3-6dof-robotiq-2f-85-moveit-config] + jammy: [ros-humble-kinova-gen3-6dof-robotiq-2f-85-moveit-config] +kinova_gen3_7dof_robotiq_2f_85_moveit_config: + ubuntu: + focal: [ros-humble-kinova-gen3-7dof-robotiq-2f-85-moveit-config] + jammy: [ros-humble-kinova-gen3-7dof-robotiq-2f-85-moveit-config] +kobuki_ros_interfaces: + ubuntu: + focal: [ros-humble-kobuki-ros-interfaces] + jammy: [ros-humble-kobuki-ros-interfaces] +kobuki_ros_interfaces_dbgsym: + ubuntu: + focal: [ros-humble-kobuki-ros-interfaces-dbgsym] + jammy: [ros-humble-kobuki-ros-interfaces-dbgsym] +kobuki_velocity_smoother: + ubuntu: + focal: [ros-humble-kobuki-velocity-smoother] + jammy: [ros-humble-kobuki-velocity-smoother] +kobuki_velocity_smoother_dbgsym: + ubuntu: + focal: [ros-humble-kobuki-velocity-smoother-dbgsym] + jammy: [ros-humble-kobuki-velocity-smoother-dbgsym] +kortex_api: + ubuntu: + focal: [ros-humble-kortex-api] + jammy: [ros-humble-kortex-api] +kortex_description: + ubuntu: + focal: [ros-humble-kortex-description] + jammy: [ros-humble-kortex-description] +kortex_driver: + ubuntu: + focal: [ros-humble-kortex-driver] + jammy: [ros-humble-kortex-driver] +kortex_driver_dbgsym: + ubuntu: + focal: [ros-humble-kortex-driver-dbgsym] + jammy: [ros-humble-kortex-driver-dbgsym] +lanelet2: + ubuntu: + focal: [ros-humble-lanelet2] + jammy: [ros-humble-lanelet2] +lanelet2_core: + ubuntu: + focal: [ros-humble-lanelet2-core] + jammy: [ros-humble-lanelet2-core] +lanelet2_core_dbgsym: + ubuntu: + focal: [ros-humble-lanelet2-core-dbgsym] + jammy: [ros-humble-lanelet2-core-dbgsym] +lanelet2_examples: + ubuntu: + focal: [ros-humble-lanelet2-examples] + jammy: [ros-humble-lanelet2-examples] +lanelet2_examples_dbgsym: + ubuntu: + focal: [ros-humble-lanelet2-examples-dbgsym] + jammy: [ros-humble-lanelet2-examples-dbgsym] +lanelet2_io: + ubuntu: + focal: [ros-humble-lanelet2-io] + jammy: [ros-humble-lanelet2-io] +lanelet2_io_dbgsym: + ubuntu: + focal: [ros-humble-lanelet2-io-dbgsym] + jammy: [ros-humble-lanelet2-io-dbgsym] +lanelet2_maps: + ubuntu: + focal: [ros-humble-lanelet2-maps] + jammy: [ros-humble-lanelet2-maps] +lanelet2_matching: + ubuntu: + focal: [ros-humble-lanelet2-matching] + jammy: [ros-humble-lanelet2-matching] +lanelet2_matching_dbgsym: + ubuntu: + focal: [ros-humble-lanelet2-matching-dbgsym] + jammy: [ros-humble-lanelet2-matching-dbgsym] +lanelet2_projection: + ubuntu: + focal: [ros-humble-lanelet2-projection] + jammy: [ros-humble-lanelet2-projection] +lanelet2_projection_dbgsym: + ubuntu: + focal: [ros-humble-lanelet2-projection-dbgsym] + jammy: [ros-humble-lanelet2-projection-dbgsym] +lanelet2_python: + ubuntu: + focal: [ros-humble-lanelet2-python] + jammy: [ros-humble-lanelet2-python] +lanelet2_python_dbgsym: + ubuntu: + focal: [ros-humble-lanelet2-python-dbgsym] + jammy: [ros-humble-lanelet2-python-dbgsym] +lanelet2_routing: + ubuntu: + focal: [ros-humble-lanelet2-routing] + jammy: [ros-humble-lanelet2-routing] +lanelet2_routing_dbgsym: + ubuntu: + focal: [ros-humble-lanelet2-routing-dbgsym] + jammy: [ros-humble-lanelet2-routing-dbgsym] +lanelet2_traffic_rules: + ubuntu: + focal: [ros-humble-lanelet2-traffic-rules] + jammy: [ros-humble-lanelet2-traffic-rules] +lanelet2_traffic_rules_dbgsym: + ubuntu: + focal: [ros-humble-lanelet2-traffic-rules-dbgsym] + jammy: [ros-humble-lanelet2-traffic-rules-dbgsym] +lanelet2_validation: + ubuntu: + focal: [ros-humble-lanelet2-validation] + jammy: [ros-humble-lanelet2-validation] +lanelet2_validation_dbgsym: + ubuntu: + focal: [ros-humble-lanelet2-validation-dbgsym] + jammy: [ros-humble-lanelet2-validation-dbgsym] +laser_filters: + ubuntu: + focal: [ros-humble-laser-filters] + jammy: [ros-humble-laser-filters] +laser_filters_dbgsym: + ubuntu: + focal: [ros-humble-laser-filters-dbgsym] + jammy: [ros-humble-laser-filters-dbgsym] +laser_geometry: + ubuntu: + focal: [ros-humble-laser-geometry] + jammy: [ros-humble-laser-geometry] +laser_geometry_dbgsym: + ubuntu: + focal: [ros-humble-laser-geometry-dbgsym] + jammy: [ros-humble-laser-geometry-dbgsym] +laser_proc: + ubuntu: + focal: [ros-humble-laser-proc] + jammy: [ros-humble-laser-proc] +laser_proc_dbgsym: + ubuntu: + focal: [ros-humble-laser-proc-dbgsym] + jammy: [ros-humble-laser-proc-dbgsym] +launch: + ubuntu: + focal: [ros-humble-launch] + jammy: [ros-humble-launch] +launch_pal: + ubuntu: + focal: [ros-humble-launch-pal] + jammy: [ros-humble-launch-pal] +launch_param_builder: + ubuntu: + focal: [ros-humble-launch-param-builder] + jammy: [ros-humble-launch-param-builder] +launch_pytest: + ubuntu: + focal: [ros-humble-launch-pytest] + jammy: [ros-humble-launch-pytest] +launch_ros: + ubuntu: + focal: [ros-humble-launch-ros] + jammy: [ros-humble-launch-ros] +launch_system_modes: + ubuntu: + focal: [ros-humble-launch-system-modes] + jammy: [ros-humble-launch-system-modes] +launch_testing: + ubuntu: + focal: [ros-humble-launch-testing] + jammy: [ros-humble-launch-testing] +launch_testing_ament_cmake: + ubuntu: + focal: [ros-humble-launch-testing-ament-cmake] + jammy: [ros-humble-launch-testing-ament-cmake] +launch_testing_examples: + ubuntu: + focal: [ros-humble-launch-testing-examples] + jammy: [ros-humble-launch-testing-examples] +launch_testing_ros: + ubuntu: + focal: [ros-humble-launch-testing-ros] + jammy: [ros-humble-launch-testing-ros] +launch_xml: + ubuntu: + focal: [ros-humble-launch-xml] + jammy: [ros-humble-launch-xml] +launch_yaml: + ubuntu: + focal: [ros-humble-launch-yaml] + jammy: [ros-humble-launch-yaml] +leo: + ubuntu: + focal: [ros-humble-leo] + jammy: [ros-humble-leo] +leo_bringup: + ubuntu: + focal: [ros-humble-leo-bringup] + jammy: [ros-humble-leo-bringup] +leo_description: + ubuntu: + focal: [ros-humble-leo-description] + jammy: [ros-humble-leo-description] +leo_desktop: + ubuntu: + focal: [ros-humble-leo-desktop] + jammy: [ros-humble-leo-desktop] +leo_fw: + ubuntu: + focal: [ros-humble-leo-fw] + jammy: [ros-humble-leo-fw] +leo_fw_dbgsym: + ubuntu: + focal: [ros-humble-leo-fw-dbgsym] + jammy: [ros-humble-leo-fw-dbgsym] +leo_msgs: + ubuntu: + focal: [ros-humble-leo-msgs] + jammy: [ros-humble-leo-msgs] +leo_msgs_dbgsym: + ubuntu: + focal: [ros-humble-leo-msgs-dbgsym] + jammy: [ros-humble-leo-msgs-dbgsym] +leo_robot: + ubuntu: + focal: [ros-humble-leo-robot] + jammy: [ros-humble-leo-robot] +leo_teleop: + ubuntu: + focal: [ros-humble-leo-teleop] + jammy: [ros-humble-leo-teleop] +leo_viz: + ubuntu: + focal: [ros-humble-leo-viz] + jammy: [ros-humble-leo-viz] +lgsvl_msgs: + ubuntu: + focal: [ros-humble-lgsvl-msgs] + jammy: [ros-humble-lgsvl-msgs] +lgsvl_msgs_dbgsym: + ubuntu: + focal: [ros-humble-lgsvl-msgs-dbgsym] + jammy: [ros-humble-lgsvl-msgs-dbgsym] +libcamera: + ubuntu: + focal: [ros-humble-libcamera] + jammy: [ros-humble-libcamera] +libcreate: + ubuntu: + focal: [ros-humble-libcreate] + jammy: [ros-humble-libcreate] +libcreate_dbgsym: + ubuntu: + focal: [ros-humble-libcreate-dbgsym] + jammy: [ros-humble-libcreate-dbgsym] +libcurl_vendor: + ubuntu: + focal: [ros-humble-libcurl-vendor] + jammy: [ros-humble-libcurl-vendor] +libg2o: + ubuntu: + focal: [ros-humble-libg2o] + jammy: [ros-humble-libg2o] +libg2o_dbgsym: + ubuntu: + focal: [ros-humble-libg2o-dbgsym] + jammy: [ros-humble-libg2o-dbgsym] +libmavconn: + ubuntu: + focal: [ros-humble-libmavconn] + jammy: [ros-humble-libmavconn] +libmavconn_dbgsym: + ubuntu: + focal: [ros-humble-libmavconn-dbgsym] + jammy: [ros-humble-libmavconn-dbgsym] +libnabo: + ubuntu: + focal: [ros-humble-libnabo] + jammy: [ros-humble-libnabo] +libopenvdb: + ubuntu: + jammy: [openvdb] +libopenvdb-dev: + ubuntu: + jammy: [libilmbase-dev] +libphidget22: + ubuntu: + focal: [ros-humble-libphidget22] + jammy: [ros-humble-libphidget22] +libphidget22_dbgsym: + ubuntu: + focal: [ros-humble-libphidget22-dbgsym] + jammy: [ros-humble-libphidget22-dbgsym] +libpointmatcher: + ubuntu: + focal: [ros-humble-libpointmatcher] + jammy: [ros-humble-libpointmatcher] +libpointmatcher_dbgsym: + ubuntu: + focal: [ros-humble-libpointmatcher-dbgsym] + jammy: [ros-humble-libpointmatcher-dbgsym] +librealsense2: + ubuntu: + focal: [ros-humble-librealsense2] + jammy: [ros-humble-librealsense2] +librealsense2_dbgsym: + ubuntu: + focal: [ros-humble-librealsense2-dbgsym] + jammy: [ros-humble-librealsense2-dbgsym] +libstatistics_collector: + ubuntu: + focal: [ros-humble-libstatistics-collector] + jammy: [ros-humble-libstatistics-collector] +libstatistics_collector_dbgsym: + ubuntu: + focal: [ros-humble-libstatistics-collector-dbgsym] + jammy: [ros-humble-libstatistics-collector-dbgsym] +libyaml_vendor: + ubuntu: + focal: [ros-humble-libyaml-vendor] + jammy: [ros-humble-libyaml-vendor] +libyaml_vendor_dbgsym: + ubuntu: + focal: [ros-humble-libyaml-vendor-dbgsym] + jammy: [ros-humble-libyaml-vendor-dbgsym] +lifecycle: + ubuntu: + focal: [ros-humble-lifecycle] + jammy: [ros-humble-lifecycle] +lifecycle_dbgsym: + ubuntu: + focal: [ros-humble-lifecycle-dbgsym] + jammy: [ros-humble-lifecycle-dbgsym] +lifecycle_msgs: + ubuntu: + focal: [ros-humble-lifecycle-msgs] + jammy: [ros-humble-lifecycle-msgs] +lifecycle_msgs_dbgsym: + ubuntu: + focal: [ros-humble-lifecycle-msgs-dbgsym] + jammy: [ros-humble-lifecycle-msgs-dbgsym] +lifecycle_py: + ubuntu: + focal: [ros-humble-lifecycle-py] + jammy: [ros-humble-lifecycle-py] +lms1xx: + ubuntu: + focal: [ros-humble-lms1xx] + jammy: [ros-humble-lms1xx] +lms1xx_dbgsym: + ubuntu: + focal: [ros-humble-lms1xx-dbgsym] + jammy: [ros-humble-lms1xx-dbgsym] +logging_demo: + ubuntu: + focal: [ros-humble-logging-demo] + jammy: [ros-humble-logging-demo] +logging_demo_dbgsym: + ubuntu: + focal: [ros-humble-logging-demo-dbgsym] + jammy: [ros-humble-logging-demo-dbgsym] +lsc_ros2_driver: + ubuntu: + focal: [ros-humble-lsc-ros2-driver] + jammy: [ros-humble-lsc-ros2-driver] +lsc_ros2_driver_dbgsym: + ubuntu: + focal: [ros-humble-lsc-ros2-driver-dbgsym] + jammy: [ros-humble-lsc-ros2-driver-dbgsym] +lusb: + ubuntu: + focal: [ros-humble-lusb] + jammy: [ros-humble-lusb] +lusb_dbgsym: + ubuntu: + focal: [ros-humble-lusb-dbgsym] + jammy: [ros-humble-lusb-dbgsym] +magic_enum: + ubuntu: + focal: [ros-humble-magic-enum] + jammy: [ros-humble-magic-enum] +magic_enum: + ubuntu: + focal: [ros-humble-magic-enum] + jammy: [ros-humble-magic-enum] +map_msgs: + ubuntu: + focal: [ros-humble-map-msgs] + jammy: [ros-humble-map-msgs] +map_msgs_dbgsym: + ubuntu: + focal: [ros-humble-map-msgs-dbgsym] + jammy: [ros-humble-map-msgs-dbgsym] +mapviz_interfaces: + ubuntu: + focal: [ros-humble-mapviz-interfaces] + jammy: [ros-humble-mapviz-interfaces] +mapviz_interfaces_dbgsym: + ubuntu: + focal: [ros-humble-mapviz-interfaces-dbgsym] + jammy: [ros-humble-mapviz-interfaces-dbgsym] +marker_msgs: + ubuntu: + focal: [ros-humble-marker-msgs] + jammy: [ros-humble-marker-msgs] +marker_msgs_dbgsym: + ubuntu: + focal: [ros-humble-marker-msgs-dbgsym] + jammy: [ros-humble-marker-msgs-dbgsym] +marti_can_msgs: + ubuntu: + focal: [ros-humble-marti-can-msgs] + jammy: [ros-humble-marti-can-msgs] +marti_can_msgs_dbgsym: + ubuntu: + focal: [ros-humble-marti-can-msgs-dbgsym] + jammy: [ros-humble-marti-can-msgs-dbgsym] +marti_common_msgs: + ubuntu: + focal: [ros-humble-marti-common-msgs] + jammy: [ros-humble-marti-common-msgs] +marti_common_msgs_dbgsym: + ubuntu: + focal: [ros-humble-marti-common-msgs-dbgsym] + jammy: [ros-humble-marti-common-msgs-dbgsym] +marti_dbw_msgs: + ubuntu: + focal: [ros-humble-marti-dbw-msgs] + jammy: [ros-humble-marti-dbw-msgs] +marti_dbw_msgs_dbgsym: + ubuntu: + focal: [ros-humble-marti-dbw-msgs-dbgsym] + jammy: [ros-humble-marti-dbw-msgs-dbgsym] +marti_introspection_msgs: + ubuntu: + focal: [ros-humble-marti-introspection-msgs] + jammy: [ros-humble-marti-introspection-msgs] +marti_introspection_msgs_dbgsym: + ubuntu: + focal: [ros-humble-marti-introspection-msgs-dbgsym] + jammy: [ros-humble-marti-introspection-msgs-dbgsym] +marti_nav_msgs: + ubuntu: + focal: [ros-humble-marti-nav-msgs] + jammy: [ros-humble-marti-nav-msgs] +marti_nav_msgs_dbgsym: + ubuntu: + focal: [ros-humble-marti-nav-msgs-dbgsym] + jammy: [ros-humble-marti-nav-msgs-dbgsym] +marti_perception_msgs: + ubuntu: + focal: [ros-humble-marti-perception-msgs] + jammy: [ros-humble-marti-perception-msgs] +marti_perception_msgs_dbgsym: + ubuntu: + focal: [ros-humble-marti-perception-msgs-dbgsym] + jammy: [ros-humble-marti-perception-msgs-dbgsym] +marti_sensor_msgs: + ubuntu: + focal: [ros-humble-marti-sensor-msgs] + jammy: [ros-humble-marti-sensor-msgs] +marti_sensor_msgs_dbgsym: + ubuntu: + focal: [ros-humble-marti-sensor-msgs-dbgsym] + jammy: [ros-humble-marti-sensor-msgs-dbgsym] +marti_status_msgs: + ubuntu: + focal: [ros-humble-marti-status-msgs] + jammy: [ros-humble-marti-status-msgs] +marti_status_msgs_dbgsym: + ubuntu: + focal: [ros-humble-marti-status-msgs-dbgsym] + jammy: [ros-humble-marti-status-msgs-dbgsym] +marti_visualization_msgs: + ubuntu: + focal: [ros-humble-marti-visualization-msgs] + jammy: [ros-humble-marti-visualization-msgs] +marti_visualization_msgs_dbgsym: + ubuntu: + focal: [ros-humble-marti-visualization-msgs-dbgsym] + jammy: [ros-humble-marti-visualization-msgs-dbgsym] +marvelmind_ros2: + ubuntu: + focal: [ros-humble-marvelmind-ros2] + jammy: [ros-humble-marvelmind-ros2] +marvelmind_ros2_dbgsym: + ubuntu: + focal: [ros-humble-marvelmind-ros2-dbgsym] + jammy: [ros-humble-marvelmind-ros2-dbgsym] +marvelmind_ros2_msgs: + ubuntu: + focal: [ros-humble-marvelmind-ros2-msgs] + jammy: [ros-humble-marvelmind-ros2-msgs] +marvelmind_ros2_msgs_dbgsym: + ubuntu: + focal: [ros-humble-marvelmind-ros2-msgs-dbgsym] + jammy: [ros-humble-marvelmind-ros2-msgs-dbgsym] +mavlink: + ubuntu: + focal: [ros-humble-mavlink] + jammy: [ros-humble-mavlink] +mavros: + ubuntu: + focal: [ros-humble-mavros] + jammy: [ros-humble-mavros] +mavros_dbgsym: + ubuntu: + focal: [ros-humble-mavros-dbgsym] + jammy: [ros-humble-mavros-dbgsym] +mavros_extras: + ubuntu: + focal: [ros-humble-mavros-extras] + jammy: [ros-humble-mavros-extras] +mavros_extras_dbgsym: + ubuntu: + focal: [ros-humble-mavros-extras-dbgsym] + jammy: [ros-humble-mavros-extras-dbgsym] +mavros_msgs: + ubuntu: + focal: [ros-humble-mavros-msgs] + jammy: [ros-humble-mavros-msgs] +mavros_msgs_dbgsym: + ubuntu: + focal: [ros-humble-mavros-msgs-dbgsym] + jammy: [ros-humble-mavros-msgs-dbgsym] +mcap_vendor: + ubuntu: + focal: [ros-humble-mcap-vendor] + jammy: [ros-humble-mcap-vendor] +mcap_vendor_dbgsym: + ubuntu: + focal: [ros-humble-mcap-vendor-dbgsym] + jammy: [ros-humble-mcap-vendor-dbgsym] +menge_vendor: + ubuntu: + focal: [ros-humble-menge-vendor] + jammy: [ros-humble-menge-vendor] +menge_vendor_dbgsym: + ubuntu: + focal: [ros-humble-menge-vendor-dbgsym] + jammy: [ros-humble-menge-vendor-dbgsym] +message_filters: + ubuntu: + focal: [ros-humble-message-filters] + jammy: [ros-humble-message-filters] +message_filters_dbgsym: + ubuntu: + focal: [ros-humble-message-filters-dbgsym] + jammy: [ros-humble-message-filters-dbgsym] +message_generation: + ubuntu: + focal: [ros-noetic-message-generation] + jammy: [ros-noetic-message-generation] +message_runtime: + ubuntu: + focal: [ros-noetic-message-runtime] + jammy: [ros-noetic-message-runtime] +message_tf_frame_transformer: + ubuntu: + focal: [ros-humble-message-tf-frame-transformer] + jammy: [ros-humble-message-tf-frame-transformer] +message_tf_frame_transformer_dbgsym: + ubuntu: + focal: [ros-humble-message-tf-frame-transformer-dbgsym] + jammy: [ros-humble-message-tf-frame-transformer-dbgsym] +metavision_driver: + ubuntu: + focal: [ros-humble-metavision-driver] + jammy: [ros-humble-metavision-driver] +metavision_driver_dbgsym: + ubuntu: + focal: [ros-humble-metavision-driver-dbgsym] + jammy: [ros-humble-metavision-driver-dbgsym] +metrics_plugins: + ubuntu: + focal: [ros-humble-metrics-plugins] + jammy: [ros-humble-metrics-plugins] +metrics_plugins: + ubuntu: + focal: [ros-humble-metrics-plugins] + jammy: [ros-humble-metrics-plugins] +micro_ros_diagnostic_bridge: + ubuntu: + focal: [ros-humble-micro-ros-diagnostic-bridge] + jammy: [ros-humble-micro-ros-diagnostic-bridge] +micro_ros_diagnostic_bridge_dbgsym: + ubuntu: + focal: [ros-humble-micro-ros-diagnostic-bridge-dbgsym] + jammy: [ros-humble-micro-ros-diagnostic-bridge-dbgsym] +micro_ros_diagnostic_msgs: + ubuntu: + focal: [ros-humble-micro-ros-diagnostic-msgs] + jammy: [ros-humble-micro-ros-diagnostic-msgs] +micro_ros_diagnostic_msgs_dbgsym: + ubuntu: + focal: [ros-humble-micro-ros-diagnostic-msgs-dbgsym] + jammy: [ros-humble-micro-ros-diagnostic-msgs-dbgsym] +micro_ros_msgs: + ubuntu: + focal: [ros-humble-micro-ros-msgs] + jammy: [ros-humble-micro-ros-msgs] +micro_ros_msgs_dbgsym: + ubuntu: + focal: [ros-humble-micro-ros-msgs-dbgsym] + jammy: [ros-humble-micro-ros-msgs-dbgsym] +microstrain_inertial_driver: + ubuntu: + focal: [ros-humble-microstrain-inertial-driver] + jammy: [ros-humble-microstrain-inertial-driver] +microstrain_inertial_driver_dbgsym: + ubuntu: + focal: [ros-humble-microstrain-inertial-driver-dbgsym] + jammy: [ros-humble-microstrain-inertial-driver-dbgsym] +microstrain_inertial_examples: + ubuntu: + focal: [ros-humble-microstrain-inertial-examples] + jammy: [ros-humble-microstrain-inertial-examples] +microstrain_inertial_examples_dbgsym: + ubuntu: + focal: [ros-humble-microstrain-inertial-examples-dbgsym] + jammy: [ros-humble-microstrain-inertial-examples-dbgsym] +microstrain_inertial_msgs: + ubuntu: + focal: [ros-humble-microstrain-inertial-msgs] + jammy: [ros-humble-microstrain-inertial-msgs] +microstrain_inertial_msgs_dbgsym: + ubuntu: + focal: [ros-humble-microstrain-inertial-msgs-dbgsym] + jammy: [ros-humble-microstrain-inertial-msgs-dbgsym] +microstrain_inertial_rqt: + ubuntu: + focal: [ros-humble-microstrain-inertial-rqt] + jammy: [ros-humble-microstrain-inertial-rqt] +mimick_vendor: + ubuntu: + focal: [ros-humble-mimick-vendor] + jammy: [ros-humble-mimick-vendor] +mobileye_560_660_msgs: + ubuntu: + focal: [ros-humble-mobileye-560-660-msgs] + jammy: [ros-humble-mobileye-560-660-msgs] +mobileye_560_660_msgs_dbgsym: + ubuntu: + focal: [ros-humble-mobileye-560-660-msgs-dbgsym] + jammy: [ros-humble-mobileye-560-660-msgs-dbgsym] +mod: + ubuntu: + focal: [ros-humble-mod] + jammy: [ros-humble-mod] +mod_dbgsym: + ubuntu: + focal: [ros-humble-mod-dbgsym] + jammy: [ros-humble-mod-dbgsym] +mola_common: + ubuntu: + focal: [ros-humble-mola-common] + jammy: [ros-humble-mola-common] +mola_demos: + ubuntu: + focal: [ros-humble-mola-demos] + jammy: [ros-humble-mola-demos] +mola_test_datasets: + ubuntu: + focal: [ros-humble-mola-test-datasets] + jammy: [ros-humble-mola-test-datasets] +mouse_teleop: + ubuntu: + focal: [ros-humble-mouse-teleop] + jammy: [ros-humble-mouse-teleop] +moveit: + ubuntu: + focal: [ros-humble-moveit] + jammy: [ros-humble-moveit] +moveit2_tutorials: + ubuntu: + focal: [ros-humble-moveit2-tutorials] + jammy: [ros-humble-moveit2-tutorials] +moveit_chomp_optimizer_adapter: + ubuntu: + focal: [ros-humble-moveit-chomp-optimizer-adapter] + jammy: [ros-humble-moveit-chomp-optimizer-adapter] +moveit_chomp_optimizer_adapter_dbgsym: + ubuntu: + focal: [ros-humble-moveit-chomp-optimizer-adapter-dbgsym] + jammy: [ros-humble-moveit-chomp-optimizer-adapter-dbgsym] +moveit_common: + ubuntu: + focal: [ros-humble-moveit-common] + jammy: [ros-humble-moveit-common] +moveit_configs_utils: + ubuntu: + focal: [ros-humble-moveit-configs-utils] + jammy: [ros-humble-moveit-configs-utils] +moveit_core: + ubuntu: + focal: [ros-humble-moveit-core] + jammy: [ros-humble-moveit-core] +moveit_core_dbgsym: + ubuntu: + focal: [ros-humble-moveit-core-dbgsym] + jammy: [ros-humble-moveit-core-dbgsym] +moveit_hybrid_planning: + ubuntu: + focal: [ros-humble-moveit-hybrid-planning] + jammy: [ros-humble-moveit-hybrid-planning] +moveit_hybrid_planning_dbgsym: + ubuntu: + focal: [ros-humble-moveit-hybrid-planning-dbgsym] + jammy: [ros-humble-moveit-hybrid-planning-dbgsym] +moveit_kinematics: + ubuntu: + focal: [ros-humble-moveit-kinematics] + jammy: [ros-humble-moveit-kinematics] +moveit_kinematics_dbgsym: + ubuntu: + focal: [ros-humble-moveit-kinematics-dbgsym] + jammy: [ros-humble-moveit-kinematics-dbgsym] +moveit_msgs: + ubuntu: + focal: [ros-humble-moveit-msgs] + jammy: [ros-humble-moveit-msgs] +moveit_msgs_dbgsym: + ubuntu: + focal: [ros-humble-moveit-msgs-dbgsym] + jammy: [ros-humble-moveit-msgs-dbgsym] +moveit_planners: + ubuntu: + focal: [ros-humble-moveit-planners] + jammy: [ros-humble-moveit-planners] +moveit_planners_chomp: + ubuntu: + focal: [ros-humble-moveit-planners-chomp] + jammy: [ros-humble-moveit-planners-chomp] +moveit_planners_chomp_dbgsym: + ubuntu: + focal: [ros-humble-moveit-planners-chomp-dbgsym] + jammy: [ros-humble-moveit-planners-chomp-dbgsym] +moveit_planners_ompl: + ubuntu: + focal: [ros-humble-moveit-planners-ompl] + jammy: [ros-humble-moveit-planners-ompl] +moveit_planners_ompl_dbgsym: + ubuntu: + focal: [ros-humble-moveit-planners-ompl-dbgsym] + jammy: [ros-humble-moveit-planners-ompl-dbgsym] +moveit_plugins: + ubuntu: + focal: [ros-humble-moveit-plugins] + jammy: [ros-humble-moveit-plugins] +moveit_resources: + ubuntu: + focal: [ros-humble-moveit-resources] + jammy: [ros-humble-moveit-resources] +moveit_resources_fanuc_description: + ubuntu: + focal: [ros-humble-moveit-resources-fanuc-description] + jammy: [ros-humble-moveit-resources-fanuc-description] +moveit_resources_fanuc_moveit_config: + ubuntu: + focal: [ros-humble-moveit-resources-fanuc-moveit-config] + jammy: [ros-humble-moveit-resources-fanuc-moveit-config] +moveit_resources_panda_description: + ubuntu: + focal: [ros-humble-moveit-resources-panda-description] + jammy: [ros-humble-moveit-resources-panda-description] +moveit_resources_panda_moveit_config: + ubuntu: + focal: [ros-humble-moveit-resources-panda-moveit-config] + jammy: [ros-humble-moveit-resources-panda-moveit-config] +moveit_resources_pr2_description: + ubuntu: + focal: [ros-humble-moveit-resources-pr2-description] + jammy: [ros-humble-moveit-resources-pr2-description] +moveit_resources_prbt_ikfast_manipulator_plugin: + ubuntu: + focal: [ros-humble-moveit-resources-prbt-ikfast-manipulator-plugin] + jammy: [ros-humble-moveit-resources-prbt-ikfast-manipulator-plugin] +moveit_resources_prbt_ikfast_manipulator_plugin_dbgsym: + ubuntu: + focal: [ros-humble-moveit-resources-prbt-ikfast-manipulator-plugin-dbgsym] + jammy: [ros-humble-moveit-resources-prbt-ikfast-manipulator-plugin-dbgsym] +moveit_resources_prbt_moveit_config: + ubuntu: + focal: [ros-humble-moveit-resources-prbt-moveit-config] + jammy: [ros-humble-moveit-resources-prbt-moveit-config] +moveit_resources_prbt_pg70_support: + ubuntu: + focal: [ros-humble-moveit-resources-prbt-pg70-support] + jammy: [ros-humble-moveit-resources-prbt-pg70-support] +moveit_resources_prbt_support: + ubuntu: + focal: [ros-humble-moveit-resources-prbt-support] + jammy: [ros-humble-moveit-resources-prbt-support] +moveit_ros: + ubuntu: + focal: [ros-humble-moveit-ros] + jammy: [ros-humble-moveit-ros] +moveit_ros_benchmarks: + ubuntu: + focal: [ros-humble-moveit-ros-benchmarks] + jammy: [ros-humble-moveit-ros-benchmarks] +moveit_ros_benchmarks_dbgsym: + ubuntu: + focal: [ros-humble-moveit-ros-benchmarks-dbgsym] + jammy: [ros-humble-moveit-ros-benchmarks-dbgsym] +moveit_ros_control_interface: + ubuntu: + focal: [ros-humble-moveit-ros-control-interface] + jammy: [ros-humble-moveit-ros-control-interface] +moveit_ros_control_interface_dbgsym: + ubuntu: + focal: [ros-humble-moveit-ros-control-interface-dbgsym] + jammy: [ros-humble-moveit-ros-control-interface-dbgsym] +moveit_ros_move_group: + ubuntu: + focal: [ros-humble-moveit-ros-move-group] + jammy: [ros-humble-moveit-ros-move-group] +moveit_ros_move_group_dbgsym: + ubuntu: + focal: [ros-humble-moveit-ros-move-group-dbgsym] + jammy: [ros-humble-moveit-ros-move-group-dbgsym] +moveit_ros_occupancy_map_monitor: + ubuntu: + focal: [ros-humble-moveit-ros-occupancy-map-monitor] + jammy: [ros-humble-moveit-ros-occupancy-map-monitor] +moveit_ros_occupancy_map_monitor_dbgsym: + ubuntu: + focal: [ros-humble-moveit-ros-occupancy-map-monitor-dbgsym] + jammy: [ros-humble-moveit-ros-occupancy-map-monitor-dbgsym] +moveit_ros_perception: + ubuntu: + focal: [ros-humble-moveit-ros-perception] + jammy: [ros-humble-moveit-ros-perception] +moveit_ros_perception_dbgsym: + ubuntu: + focal: [ros-humble-moveit-ros-perception-dbgsym] + jammy: [ros-humble-moveit-ros-perception-dbgsym] +moveit_ros_planning: + ubuntu: + focal: [ros-humble-moveit-ros-planning] + jammy: [ros-humble-moveit-ros-planning] +moveit_ros_planning_dbgsym: + ubuntu: + focal: [ros-humble-moveit-ros-planning-dbgsym] + jammy: [ros-humble-moveit-ros-planning-dbgsym] +moveit_ros_planning_interface: + ubuntu: + focal: [ros-humble-moveit-ros-planning-interface] + jammy: [ros-humble-moveit-ros-planning-interface] +moveit_ros_planning_interface_dbgsym: + ubuntu: + focal: [ros-humble-moveit-ros-planning-interface-dbgsym] + jammy: [ros-humble-moveit-ros-planning-interface-dbgsym] +moveit_ros_robot_interaction: + ubuntu: + focal: [ros-humble-moveit-ros-robot-interaction] + jammy: [ros-humble-moveit-ros-robot-interaction] +moveit_ros_robot_interaction_dbgsym: + ubuntu: + focal: [ros-humble-moveit-ros-robot-interaction-dbgsym] + jammy: [ros-humble-moveit-ros-robot-interaction-dbgsym] +moveit_ros_visualization: + ubuntu: + focal: [ros-humble-moveit-ros-visualization] + jammy: [ros-humble-moveit-ros-visualization] +moveit_ros_visualization_dbgsym: + ubuntu: + focal: [ros-humble-moveit-ros-visualization-dbgsym] + jammy: [ros-humble-moveit-ros-visualization-dbgsym] +moveit_ros_warehouse: + ubuntu: + focal: [ros-humble-moveit-ros-warehouse] + jammy: [ros-humble-moveit-ros-warehouse] +moveit_ros_warehouse_dbgsym: + ubuntu: + focal: [ros-humble-moveit-ros-warehouse-dbgsym] + jammy: [ros-humble-moveit-ros-warehouse-dbgsym] +moveit_runtime: + ubuntu: + focal: [ros-humble-moveit-runtime] + jammy: [ros-humble-moveit-runtime] +moveit_servo: + ubuntu: + focal: [ros-humble-moveit-servo] + jammy: [ros-humble-moveit-servo] +moveit_servo_dbgsym: + ubuntu: + focal: [ros-humble-moveit-servo-dbgsym] + jammy: [ros-humble-moveit-servo-dbgsym] +moveit_setup_app_plugins: + ubuntu: + focal: [ros-humble-moveit-setup-app-plugins] + jammy: [ros-humble-moveit-setup-app-plugins] +moveit_setup_app_plugins_dbgsym: + ubuntu: + focal: [ros-humble-moveit-setup-app-plugins-dbgsym] + jammy: [ros-humble-moveit-setup-app-plugins-dbgsym] +moveit_setup_assistant: + ubuntu: + focal: [ros-humble-moveit-setup-assistant] + jammy: [ros-humble-moveit-setup-assistant] +moveit_setup_assistant_dbgsym: + ubuntu: + focal: [ros-humble-moveit-setup-assistant-dbgsym] + jammy: [ros-humble-moveit-setup-assistant-dbgsym] +moveit_setup_controllers: + ubuntu: + focal: [ros-humble-moveit-setup-controllers] + jammy: [ros-humble-moveit-setup-controllers] +moveit_setup_controllers_dbgsym: + ubuntu: + focal: [ros-humble-moveit-setup-controllers-dbgsym] + jammy: [ros-humble-moveit-setup-controllers-dbgsym] +moveit_setup_core_plugins: + ubuntu: + focal: [ros-humble-moveit-setup-core-plugins] + jammy: [ros-humble-moveit-setup-core-plugins] +moveit_setup_core_plugins_dbgsym: + ubuntu: + focal: [ros-humble-moveit-setup-core-plugins-dbgsym] + jammy: [ros-humble-moveit-setup-core-plugins-dbgsym] +moveit_setup_framework: + ubuntu: + focal: [ros-humble-moveit-setup-framework] + jammy: [ros-humble-moveit-setup-framework] +moveit_setup_framework_dbgsym: + ubuntu: + focal: [ros-humble-moveit-setup-framework-dbgsym] + jammy: [ros-humble-moveit-setup-framework-dbgsym] +moveit_setup_srdf_plugins: + ubuntu: + focal: [ros-humble-moveit-setup-srdf-plugins] + jammy: [ros-humble-moveit-setup-srdf-plugins] +moveit_setup_srdf_plugins_dbgsym: + ubuntu: + focal: [ros-humble-moveit-setup-srdf-plugins-dbgsym] + jammy: [ros-humble-moveit-setup-srdf-plugins-dbgsym] +moveit_simple_controller_manager: + ubuntu: + focal: [ros-humble-moveit-simple-controller-manager] + jammy: [ros-humble-moveit-simple-controller-manager] +moveit_simple_controller_manager_dbgsym: + ubuntu: + focal: [ros-humble-moveit-simple-controller-manager-dbgsym] + jammy: [ros-humble-moveit-simple-controller-manager-dbgsym] +moveit_task_constructor_capabilities: + ubuntu: + focal: [ros-humble-moveit-task-constructor-capabilities] + jammy: [ros-humble-moveit-task-constructor-capabilities] +moveit_task_constructor_core: + ubuntu: + focal: [ros-humble-moveit-task-constructor-core] + jammy: [ros-humble-moveit-task-constructor-core] +moveit_task_constructor_demo: + ubuntu: + focal: [ros-humble-moveit-task-constructor-demo] + jammy: [ros-humble-moveit-task-constructor-demo] +moveit_task_constructor_msgs: + ubuntu: + focal: [ros-humble-moveit-task-constructor-msgs] + jammy: [ros-humble-moveit-task-constructor-msgs] +moveit_task_constructor_visualization: + ubuntu: + focal: [ros-humble-moveit-task-constructor-visualization] + jammy: [ros-humble-moveit-task-constructor-visualization] +moveit_visual_tools: + ubuntu: + focal: [ros-humble-moveit-visual-tools] + jammy: [ros-humble-moveit-visual-tools] +moveit_visual_tools_dbgsym: + ubuntu: + focal: [ros-humble-moveit-visual-tools-dbgsym] + jammy: [ros-humble-moveit-visual-tools-dbgsym] +mqtt_client: + ubuntu: + focal: [ros-humble-mqtt-client] + jammy: [ros-humble-mqtt-client] +mqtt_client_dbgsym: + ubuntu: + focal: [ros-humble-mqtt-client-dbgsym] + jammy: [ros-humble-mqtt-client-dbgsym] +mqtt_client_interfaces: + ubuntu: + focal: [ros-humble-mqtt-client-interfaces] + jammy: [ros-humble-mqtt-client-interfaces] +mqtt_client_interfaces_dbgsym: + ubuntu: + focal: [ros-humble-mqtt-client-interfaces-dbgsym] + jammy: [ros-humble-mqtt-client-interfaces-dbgsym] +mrpt_msgs: + ubuntu: + focal: [ros-humble-mrpt-msgs] + jammy: [ros-humble-mrpt-msgs] +mrpt_msgs_dbgsym: + ubuntu: + focal: [ros-humble-mrpt-msgs-dbgsym] + jammy: [ros-humble-mrpt-msgs-dbgsym] +mrt_cmake_modules: + ubuntu: + focal: [ros-humble-mrt-cmake-modules] + jammy: [ros-humble-mrt-cmake-modules] +nao_button_sim: + ubuntu: + focal: [ros-humble-nao-button-sim] + jammy: [ros-humble-nao-button-sim] +nao_command_msgs: + ubuntu: + focal: [ros-humble-nao-command-msgs] + jammy: [ros-humble-nao-command-msgs] +nao_command_msgs_dbgsym: + ubuntu: + focal: [ros-humble-nao-command-msgs-dbgsym] + jammy: [ros-humble-nao-command-msgs-dbgsym] +nao_lola: + ubuntu: + focal: [ros-humble-nao-lola] + jammy: [ros-humble-nao-lola] +nao_lola_dbgsym: + ubuntu: + focal: [ros-humble-nao-lola-dbgsym] + jammy: [ros-humble-nao-lola-dbgsym] +nao_sensor_msgs: + ubuntu: + focal: [ros-humble-nao-sensor-msgs] + jammy: [ros-humble-nao-sensor-msgs] +nao_sensor_msgs_dbgsym: + ubuntu: + focal: [ros-humble-nao-sensor-msgs-dbgsym] + jammy: [ros-humble-nao-sensor-msgs-dbgsym] +nav2_amcl: + ubuntu: + focal: [ros-humble-nav2-amcl] + jammy: [ros-humble-nav2-amcl] +nav2_amcl_dbgsym: + ubuntu: + focal: [ros-humble-nav2-amcl-dbgsym] + jammy: [ros-humble-nav2-amcl-dbgsym] +nav2_behavior_tree: + ubuntu: + focal: [ros-humble-nav2-behavior-tree] + jammy: [ros-humble-nav2-behavior-tree] +nav2_behavior_tree_dbgsym: + ubuntu: + focal: [ros-humble-nav2-behavior-tree-dbgsym] + jammy: [ros-humble-nav2-behavior-tree-dbgsym] +nav2_behaviors: + ubuntu: + focal: [ros-humble-nav2-behaviors] + jammy: [ros-humble-nav2-behaviors] +nav2_behaviors_dbgsym: + ubuntu: + focal: [ros-humble-nav2-behaviors-dbgsym] + jammy: [ros-humble-nav2-behaviors-dbgsym] +nav2_bringup: + ubuntu: + focal: [ros-humble-nav2-bringup] + jammy: [ros-humble-nav2-bringup] +nav2_bt_navigator: + ubuntu: + focal: [ros-humble-nav2-bt-navigator] + jammy: [ros-humble-nav2-bt-navigator] +nav2_bt_navigator_dbgsym: + ubuntu: + focal: [ros-humble-nav2-bt-navigator-dbgsym] + jammy: [ros-humble-nav2-bt-navigator-dbgsym] +nav2_collision_monitor: + ubuntu: + focal: [ros-humble-nav2-collision-monitor] + jammy: [ros-humble-nav2-collision-monitor] +nav2_collision_monitor_dbgsym: + ubuntu: + focal: [ros-humble-nav2-collision-monitor-dbgsym] + jammy: [ros-humble-nav2-collision-monitor-dbgsym] +nav2_common: + ubuntu: + focal: [ros-humble-nav2-common] + jammy: [ros-humble-nav2-common] +nav2_constrained_smoother: + ubuntu: + focal: [ros-humble-nav2-constrained-smoother] + jammy: [ros-humble-nav2-constrained-smoother] +nav2_constrained_smoother_dbgsym: + ubuntu: + focal: [ros-humble-nav2-constrained-smoother-dbgsym] + jammy: [ros-humble-nav2-constrained-smoother-dbgsym] +nav2_controller: + ubuntu: + focal: [ros-humble-nav2-controller] + jammy: [ros-humble-nav2-controller] +nav2_controller_dbgsym: + ubuntu: + focal: [ros-humble-nav2-controller-dbgsym] + jammy: [ros-humble-nav2-controller-dbgsym] +nav2_core: + ubuntu: + focal: [ros-humble-nav2-core] + jammy: [ros-humble-nav2-core] +nav2_costmap_2d: + ubuntu: + focal: [ros-humble-nav2-costmap-2d] + jammy: [ros-humble-nav2-costmap-2d] +nav2_costmap_2d_dbgsym: + ubuntu: + focal: [ros-humble-nav2-costmap-2d-dbgsym] + jammy: [ros-humble-nav2-costmap-2d-dbgsym] +nav2_dwb_controller: + ubuntu: + focal: [ros-humble-nav2-dwb-controller] + jammy: [ros-humble-nav2-dwb-controller] +nav2_lifecycle_manager: + ubuntu: + focal: [ros-humble-nav2-lifecycle-manager] + jammy: [ros-humble-nav2-lifecycle-manager] +nav2_lifecycle_manager_dbgsym: + ubuntu: + focal: [ros-humble-nav2-lifecycle-manager-dbgsym] + jammy: [ros-humble-nav2-lifecycle-manager-dbgsym] +nav2_map_server: + ubuntu: + focal: [ros-humble-nav2-map-server] + jammy: [ros-humble-nav2-map-server] +nav2_map_server_dbgsym: + ubuntu: + focal: [ros-humble-nav2-map-server-dbgsym] + jammy: [ros-humble-nav2-map-server-dbgsym] +nav2_mppi_controller: + ubuntu: + focal: [ros-humble-nav2-mppi-controller] + jammy: [ros-humble-nav2-mppi-controller] +nav2_mppi_controller_dbgsym: + ubuntu: + focal: [ros-humble-nav2-mppi-controller-dbgsym] + jammy: [ros-humble-nav2-mppi-controller-dbgsym] +nav2_msgs: + ubuntu: + focal: [ros-humble-nav2-msgs] + jammy: [ros-humble-nav2-msgs] +nav2_msgs_dbgsym: + ubuntu: + focal: [ros-humble-nav2-msgs-dbgsym] + jammy: [ros-humble-nav2-msgs-dbgsym] +nav2_navfn_planner: + ubuntu: + focal: [ros-humble-nav2-navfn-planner] + jammy: [ros-humble-nav2-navfn-planner] +nav2_navfn_planner_dbgsym: + ubuntu: + focal: [ros-humble-nav2-navfn-planner-dbgsym] + jammy: [ros-humble-nav2-navfn-planner-dbgsym] +nav2_planner: + ubuntu: + focal: [ros-humble-nav2-planner] + jammy: [ros-humble-nav2-planner] +nav2_planner_dbgsym: + ubuntu: + focal: [ros-humble-nav2-planner-dbgsym] + jammy: [ros-humble-nav2-planner-dbgsym] +nav2_regulated_pure_pursuit_controller: + ubuntu: + focal: [ros-humble-nav2-regulated-pure-pursuit-controller] + jammy: [ros-humble-nav2-regulated-pure-pursuit-controller] +nav2_regulated_pure_pursuit_controller_dbgsym: + ubuntu: + focal: [ros-humble-nav2-regulated-pure-pursuit-controller-dbgsym] + jammy: [ros-humble-nav2-regulated-pure-pursuit-controller-dbgsym] +nav2_rotation_shim_controller: + ubuntu: + focal: [ros-humble-nav2-rotation-shim-controller] + jammy: [ros-humble-nav2-rotation-shim-controller] +nav2_rotation_shim_controller_dbgsym: + ubuntu: + focal: [ros-humble-nav2-rotation-shim-controller-dbgsym] + jammy: [ros-humble-nav2-rotation-shim-controller-dbgsym] +nav2_rviz_plugins: + ubuntu: + focal: [ros-humble-nav2-rviz-plugins] + jammy: [ros-humble-nav2-rviz-plugins] +nav2_rviz_plugins_dbgsym: + ubuntu: + focal: [ros-humble-nav2-rviz-plugins-dbgsym] + jammy: [ros-humble-nav2-rviz-plugins-dbgsym] +nav2_simple_commander: + ubuntu: + focal: [ros-humble-nav2-simple-commander] + jammy: [ros-humble-nav2-simple-commander] +nav2_smac_planner: + ubuntu: + focal: [ros-humble-nav2-smac-planner] + jammy: [ros-humble-nav2-smac-planner] +nav2_smac_planner_dbgsym: + ubuntu: + focal: [ros-humble-nav2-smac-planner-dbgsym] + jammy: [ros-humble-nav2-smac-planner-dbgsym] +nav2_smoother: + ubuntu: + focal: [ros-humble-nav2-smoother] + jammy: [ros-humble-nav2-smoother] +nav2_smoother_dbgsym: + ubuntu: + focal: [ros-humble-nav2-smoother-dbgsym] + jammy: [ros-humble-nav2-smoother-dbgsym] +nav2_theta_star_planner: + ubuntu: + focal: [ros-humble-nav2-theta-star-planner] + jammy: [ros-humble-nav2-theta-star-planner] +nav2_theta_star_planner_dbgsym: + ubuntu: + focal: [ros-humble-nav2-theta-star-planner-dbgsym] + jammy: [ros-humble-nav2-theta-star-planner-dbgsym] +nav2_util: + ubuntu: + focal: [ros-humble-nav2-util] + jammy: [ros-humble-nav2-util] +nav2_util_dbgsym: + ubuntu: + focal: [ros-humble-nav2-util-dbgsym] + jammy: [ros-humble-nav2-util-dbgsym] +nav2_velocity_smoother: + ubuntu: + focal: [ros-humble-nav2-velocity-smoother] + jammy: [ros-humble-nav2-velocity-smoother] +nav2_velocity_smoother_dbgsym: + ubuntu: + focal: [ros-humble-nav2-velocity-smoother-dbgsym] + jammy: [ros-humble-nav2-velocity-smoother-dbgsym] +nav2_voxel_grid: + ubuntu: + focal: [ros-humble-nav2-voxel-grid] + jammy: [ros-humble-nav2-voxel-grid] +nav2_voxel_grid_dbgsym: + ubuntu: + focal: [ros-humble-nav2-voxel-grid-dbgsym] + jammy: [ros-humble-nav2-voxel-grid-dbgsym] +nav2_waypoint_follower: + ubuntu: + focal: [ros-humble-nav2-waypoint-follower] + jammy: [ros-humble-nav2-waypoint-follower] +nav2_waypoint_follower_dbgsym: + ubuntu: + focal: [ros-humble-nav2-waypoint-follower-dbgsym] + jammy: [ros-humble-nav2-waypoint-follower-dbgsym] +nav_2d_msgs: + ubuntu: + focal: [ros-humble-nav-2d-msgs] + jammy: [ros-humble-nav-2d-msgs] +nav_2d_msgs_dbgsym: + ubuntu: + focal: [ros-humble-nav-2d-msgs-dbgsym] + jammy: [ros-humble-nav-2d-msgs-dbgsym] +nav_2d_utils: + ubuntu: + focal: [ros-humble-nav-2d-utils] + jammy: [ros-humble-nav-2d-utils] +nav_2d_utils_dbgsym: + ubuntu: + focal: [ros-humble-nav-2d-utils-dbgsym] + jammy: [ros-humble-nav-2d-utils-dbgsym] +nav_msgs: + ubuntu: + focal: [ros-humble-nav-msgs] + jammy: [ros-humble-nav-msgs] +nav_msgs_dbgsym: + ubuntu: + focal: [ros-humble-nav-msgs-dbgsym] + jammy: [ros-humble-nav-msgs-dbgsym] +navigation2: + ubuntu: + focal: [ros-humble-navigation2] + jammy: [ros-humble-navigation2] +navperf: + ubuntu: + focal: [ros-humble-navperf] + jammy: [ros-humble-navperf] +navperf_bringup: + ubuntu: + focal: [ros-humble-navperf-bringup] + jammy: [ros-humble-navperf-bringup] +navperf_compute_monitor: + ubuntu: + focal: [ros-humble-navperf-compute-monitor] + jammy: [ros-humble-navperf-compute-monitor] +navperf_commander: + ubuntu: + focal: [ros-humble-navperf-commander] + jammy: [ros-humble-navperf-commander] +navperf_evaluator: + ubuntu: + focal: [ros-humble-navperf-evaluator] + jammy: [ros-humble-navperf-evaluator] +navperf_msgs: + ubuntu: + focal: [ros-humble-navperf-msgs] + jammy: [ros-humble-navperf-msgs] +mission_monitor: + ubuntu: + focal: [ros-humble-mission-monitor] + jammy: [ros-humble-mission-monitor] +navperf_utils: + ubuntu: + focal: [ros-humble-navperf-utils] + jammy: [ros-humble-navperf-utils] +negotiated: + ubuntu: + focal: [ros-humble-negotiated] + jammy: [ros-humble-negotiated] +negotiated_interfaces: + ubuntu: + focal: [ros-humble-negotiated-interfaces] + jammy: [ros-humble-negotiated-interfaces] +neo_simulation2: + ubuntu: + focal: [ros-humble-neo-simulation2] + jammy: [ros-humble-neo-simulation2] +neobotix_usboard_msgs: + ubuntu: + focal: [ros-humble-neobotix-usboard-msgs] + jammy: [ros-humble-neobotix-usboard-msgs] +neobotix_usboard_msgs_dbgsym: + ubuntu: + focal: [ros-humble-neobotix-usboard-msgs-dbgsym] + jammy: [ros-humble-neobotix-usboard-msgs-dbgsym] +nerian_stereo: + ubuntu: + focal: [ros-humble-nerian-stereo] + jammy: [ros-humble-nerian-stereo] +nerian_stereo_dbgsym: + ubuntu: + focal: [ros-humble-nerian-stereo-dbgsym] + jammy: [ros-humble-nerian-stereo-dbgsym] +network_performance_measurement: + ubuntu: + focal: [ros-humble-network-performance-measurement] + jammy: [ros-humble-network-performance-measurement] +nlohmann_json: + ubuntu: + focal: [nlohmann-json3-dev] + jammy: [nlohmann-json3-dev] +nlohmann_json_schema_validator_vendor: + ubuntu: + focal: [ros-humble-nlohmann-json-schema-validator-vendor] + jammy: [ros-humble-nlohmann-json-schema-validator-vendor] +nlohmann_json_schema_validator_vendor_dbgsym: + ubuntu: + focal: [ros-humble-nlohmann-json-schema-validator-vendor-dbgsym] + jammy: [ros-humble-nlohmann-json-schema-validator-vendor-dbgsym] +nmea_msgs: + ubuntu: + focal: [ros-humble-nmea-msgs] + jammy: [ros-humble-nmea-msgs] +nmea_msgs_dbgsym: + ubuntu: + focal: [ros-humble-nmea-msgs-dbgsym] + jammy: [ros-humble-nmea-msgs-dbgsym] +nmea_navsat_driver: + ubuntu: + focal: [ros-humble-nmea-navsat-driver] + jammy: [ros-humble-nmea-navsat-driver] +nodelet: + ubuntu: + focal: [ros-noetic-nodelet] + jammy: [ros-noetic-nodelet] +nodl_python: + ubuntu: + focal: [ros-humble-nodl-python] + jammy: [ros-humble-nodl-python] +nodl_to_policy: + ubuntu: + focal: [ros-humble-nodl-to-policy] + jammy: [ros-humble-nodl-to-policy] +nova_carter_bringup: + ubuntu: + focal: [ros-humble-nova-carter-bringup] + jammy: [ros-humble-nova-carter-bringup] +nova_carter_description: + ubuntu: + focal: [ros-humble-nova-carter-description] + jammy: [ros-humble-nova-carter-description] +nova_carter_docking: + ubuntu: + focal: [ros-humble-nova-carter-docking] + jammy: [ros-humble-nova-carter-docking] +nova_carter_navigation: + ubuntu: + focal: [ros-humble-nova-carter-navigation] + jammy: [ros-humble-nova-carter-navigation] +nova_carter_example_data: + ubuntu: + focal: [ros-humble-nova-carter-example-data] + jammy: [ros-humble-nova-carter-example-data] +nova_developer_kit_bringup: + ubuntu: + focal: [ros-humble-nova-developer-kit-bringup] + jammy: [ros-humble-nova-developer-kit-bringup] +nova_developer_kit_description: + ubuntu: + focal: [ros-humble-nova-developer-kit-description] + jammy: [ros-humble-nova-developer-kit-description] +novatel_gps_msgs: + ubuntu: + focal: [ros-humble-novatel-gps-msgs] + jammy: [ros-humble-novatel-gps-msgs] +novatel_gps_msgs_dbgsym: + ubuntu: + focal: [ros-humble-novatel-gps-msgs-dbgsym] + jammy: [ros-humble-novatel-gps-msgs-dbgsym] +novatel_oem7_driver: + ubuntu: + focal: [ros-humble-novatel-oem7-driver] + jammy: [ros-humble-novatel-oem7-driver] +novatel_oem7_driver_dbgsym: + ubuntu: + focal: [ros-humble-novatel-oem7-driver-dbgsym] + jammy: [ros-humble-novatel-oem7-driver-dbgsym] +novatel_oem7_msgs: + ubuntu: + focal: [ros-humble-novatel-oem7-msgs] + jammy: [ros-humble-novatel-oem7-msgs] +novatel_oem7_msgs_dbgsym: + ubuntu: + focal: [ros-humble-novatel-oem7-msgs-dbgsym] + jammy: [ros-humble-novatel-oem7-msgs-dbgsym] +ntpd_driver: + ubuntu: + focal: [ros-humble-ntpd-driver] + jammy: [ros-humble-ntpd-driver] +ntpd_driver_dbgsym: + ubuntu: + focal: [ros-humble-ntpd-driver-dbgsym] + jammy: [ros-humble-ntpd-driver-dbgsym] +ntrip_client: + ubuntu: + focal: [ros-humble-ntrip-client] + jammy: [ros-humble-ntrip-client] +ntrip_client_node: + ubuntu: + focal: [ros-humble-ntrip-client-node] + jammy: [ros-humble-ntrip-client-node] +ntrip_client_node_dbgsym: + ubuntu: + focal: [ros-humble-ntrip-client-node-dbgsym] + jammy: [ros-humble-ntrip-client-node-dbgsym] +nvblox: + ubuntu: + focal: [nvblox] + jammy: [nvblox] +nvblox_cpu_gpu_tools: + ubuntu: + focal: [ros-humble-nvblox-cpu-gpu-tools] + jammy: [ros-humble-nvblox-cpu-gpu-tools] +nvblox_examples_bringup: + ubuntu: + focal: [ros-humble-nvblox-examples-bringup] + jammy: [ros-humble-nvblox-examples-bringup] +nvblox_image_padding: + ubuntu: + focal: [ros-humble-nvblox-image-padding] + jammy: [ros-humble-nvblox-image-padding] +nvblox_isaac_sim: + ubuntu: + focal: [ros-humble-nvblox-isaac-sim] + jammy: [ros-humble-nvblox-isaac-sim] +nvblox_msgs: + ubuntu: + focal: [ros-humble-nvblox-msgs] + jammy: [ros-humble-nvblox-msgs] +nvblox_nav2: + ubuntu: + focal: [ros-humble-nvblox-nav2] + jammy: [ros-humble-nvblox-nav2] +nvblox_performance_measurement: + ubuntu: + focal: [ros-humble-nvblox-performance-measurement] + jammy: [ros-humble-nvblox-performance-measurement] +nvblox_performance_measurement_msgs: + ubuntu: + focal: [ros-humble-nvblox-performance-measurement-msgs] + jammy: [ros-humble-nvblox-performance-measurement-msgs] +nvblox_ros: + ubuntu: + focal: [ros-humble-nvblox-ros] + jammy: [ros-humble-nvblox-ros] +nvblox_ros_common: + ubuntu: + focal: [ros-humble-nvblox-ros-common] + jammy: [ros-humble-nvblox-ros-common] +nvblox_ros_python_utils: + ubuntu: + focal: [ros-humble-nvblox-ros-python-utils] + jammy: [ros-humble-nvblox-ros-python-utils] +nvblox_rviz_plugin: + ubuntu: + focal: [ros-humble-nvblox-rviz-plugin] + jammy: [ros-humble-nvblox-rviz-plugin] +nvblox_test: + ubuntu: + focal: [ros-humble-nvblox-test] + jammy: [ros-humble-nvblox-test] +object_recognition_msgs: + ubuntu: + focal: [ros-humble-object-recognition-msgs] + jammy: [ros-humble-object-recognition-msgs] +object_recognition_msgs_dbgsym: + ubuntu: + focal: [ros-humble-object-recognition-msgs-dbgsym] + jammy: [ros-humble-object-recognition-msgs-dbgsym] +octomap: + ubuntu: + focal: [ros-humble-octomap] + jammy: [ros-humble-octomap] +octomap_dbgsym: + ubuntu: + focal: [ros-humble-octomap-dbgsym] + jammy: [ros-humble-octomap-dbgsym] +octomap_mapping: + ubuntu: + focal: [ros-humble-octomap-mapping] + jammy: [ros-humble-octomap-mapping] +octomap_msgs: + ubuntu: + focal: [ros-humble-octomap-msgs] + jammy: [ros-humble-octomap-msgs] +octomap_msgs_dbgsym: + ubuntu: + focal: [ros-humble-octomap-msgs-dbgsym] + jammy: [ros-humble-octomap-msgs-dbgsym] +octomap_ros: + ubuntu: + focal: [ros-humble-octomap-ros] + jammy: [ros-humble-octomap-ros] +octomap_ros_dbgsym: + ubuntu: + focal: [ros-humble-octomap-ros-dbgsym] + jammy: [ros-humble-octomap-ros-dbgsym] +octomap_rviz_plugins: + ubuntu: + focal: [ros-humble-octomap-rviz-plugins] + jammy: [ros-humble-octomap-rviz-plugins] +octomap_rviz_plugins_dbgsym: + ubuntu: + focal: [ros-humble-octomap-rviz-plugins-dbgsym] + jammy: [ros-humble-octomap-rviz-plugins-dbgsym] +octomap_server: + ubuntu: + focal: [ros-humble-octomap-server] + jammy: [ros-humble-octomap-server] +octomap_server_dbgsym: + ubuntu: + focal: [ros-humble-octomap-server-dbgsym] + jammy: [ros-humble-octomap-server-dbgsym] +octovis: + ubuntu: + focal: [ros-humble-octovis] + jammy: [ros-humble-octovis] +octovis_dbgsym: + ubuntu: + focal: [ros-humble-octovis-dbgsym] + jammy: [ros-humble-octovis-dbgsym] +odom_to_tf_ros2: + ubuntu: + focal: [ros-humble-odom-to-tf-ros2] + jammy: [ros-humble-odom-to-tf-ros2] +odom_to_tf_ros2_dbgsym: + ubuntu: + focal: [ros-humble-odom-to-tf-ros2-dbgsym] + jammy: [ros-humble-odom-to-tf-ros2-dbgsym] +odometry_flattener: + ubuntu: + focal: [ros-humble-odometry-flattener] + jammy: [ros-humble-odometry-flattener] +ompl: + ubuntu: + focal: [ros-humble-ompl] + jammy: [ros-humble-ompl] +ompl_dbgsym: + ubuntu: + focal: [ros-humble-ompl-dbgsym] + jammy: [ros-humble-ompl-dbgsym] +opennav_docking: + ubuntu: + focal: [ros-humble-opennav-docking] + jammy: [ros-humble-opennav-docking] +opennav_docking_bt: + ubuntu: + focal: [ros-humble-opennav-docking-bt] + jammy: [ros-humble-opennav-docking-bt] +opennav_docking_core: + ubuntu: + focal: [ros-humble-opennav-docking-core] + jammy: [ros-humble-opennav-docking-core] +opennav_docking_msgs: + ubuntu: + focal: [ros-humble-opennav-docking-msgs] + jammy: [ros-humble-opennav-docking-msgs] +openni2_camera: + ubuntu: + focal: [ros-humble-openni2-camera] + jammy: [ros-humble-openni2-camera] +openni2_camera_dbgsym: + ubuntu: + focal: [ros-humble-openni2-camera-dbgsym] + jammy: [ros-humble-openni2-camera-dbgsym] +orocos_kdl_vendor: + ubuntu: + focal: [ros-humble-orocos-kdl-vendor] + jammy: [ros-humble-orocos-kdl-vendor] +orocos_kdl_vendor_dbgsym: + ubuntu: + focal: [ros-humble-orocos-kdl-vendor-dbgsym] + jammy: [ros-humble-orocos-kdl-vendor-dbgsym] +osqp_vendor: + ubuntu: + focal: [ros-humble-osqp-vendor] + jammy: [ros-humble-osqp-vendor] +osqp_vendor_dbgsym: + ubuntu: + focal: [ros-humble-osqp-vendor-dbgsym] + jammy: [ros-humble-osqp-vendor-dbgsym] +osrf_pycommon: + ubuntu: + focal: [ros-humble-osrf-pycommon] + jammy: [ros-humble-osrf-pycommon] +osrf_testing_tools_cpp: + ubuntu: + focal: [ros-humble-osrf-testing-tools-cpp] + jammy: [ros-humble-osrf-testing-tools-cpp] +osrf_testing_tools_cpp_dbgsym: + ubuntu: + focal: [ros-humble-osrf-testing-tools-cpp-dbgsym] + jammy: [ros-humble-osrf-testing-tools-cpp-dbgsym] +ouster_msgs: + ubuntu: + focal: [ros-humble-ouster-msgs] + jammy: [ros-humble-ouster-msgs] +ouster_msgs_dbgsym: + ubuntu: + focal: [ros-humble-ouster-msgs-dbgsym] + jammy: [ros-humble-ouster-msgs-dbgsym] +ouxt_common: + ubuntu: + focal: [ros-humble-ouxt-common] + jammy: [ros-humble-ouxt-common] +ouxt_lint_common: + ubuntu: + focal: [ros-humble-ouxt-lint-common] + jammy: [ros-humble-ouxt-lint-common] +owl_description: + ubuntu: + focal: [ros-humble-owl-description] + jammy: [ros-humble-owl-description] +pal_gazebo_worlds: + ubuntu: + focal: [ros-humble-pal-gazebo-worlds] + jammy: [ros-humble-pal-gazebo-worlds] +pal_gripper: + ubuntu: + focal: [ros-humble-pal-gripper] + jammy: [ros-humble-pal-gripper] +pal_gripper_controller_configuration: + ubuntu: + focal: [ros-humble-pal-gripper-controller-configuration] + jammy: [ros-humble-pal-gripper-controller-configuration] +pal_gripper_description: + ubuntu: + focal: [ros-humble-pal-gripper-description] + jammy: [ros-humble-pal-gripper-description] +pal_navigation_cfg: + ubuntu: + focal: [ros-humble-pal-navigation-cfg] + jammy: [ros-humble-pal-navigation-cfg] +pal_navigation_cfg_bringup: + ubuntu: + focal: [ros-humble-pal-navigation-cfg-bringup] + jammy: [ros-humble-pal-navigation-cfg-bringup] +pal_navigation_cfg_params: + ubuntu: + focal: [ros-humble-pal-navigation-cfg-params] + jammy: [ros-humble-pal-navigation-cfg-params] +pal_statistics: + ubuntu: + focal: [ros-humble-pal-statistics] + jammy: [ros-humble-pal-statistics] +pal_statistics_dbgsym: + ubuntu: + focal: [ros-humble-pal-statistics-dbgsym] + jammy: [ros-humble-pal-statistics-dbgsym] +pal_statistics_msgs: + ubuntu: + focal: [ros-humble-pal-statistics-msgs] + jammy: [ros-humble-pal-statistics-msgs] +pal_statistics_msgs_dbgsym: + ubuntu: + focal: [ros-humble-pal-statistics-msgs-dbgsym] + jammy: [ros-humble-pal-statistics-msgs-dbgsym] +pandar_xt32_description: + ubuntu: + focal: [ros-humble-pandar-xt32-description] + jammy: [ros-humble-pandar-xt32-description] +parameter_traits: + ubuntu: + focal: [ros-humble-parameter-traits] + jammy: [ros-humble-parameter-traits] +pcl_conversions: + ubuntu: + focal: [ros-humble-pcl-conversions] + jammy: [ros-humble-pcl-conversions] +pcl_msgs: + ubuntu: + focal: [ros-humble-pcl-msgs] + jammy: [ros-humble-pcl-msgs] +pcl_msgs_dbgsym: + ubuntu: + focal: [ros-humble-pcl-msgs-dbgsym] + jammy: [ros-humble-pcl-msgs-dbgsym] +pcl_ros: + ubuntu: + focal: [ros-humble-pcl-ros] + jammy: [ros-humble-pcl-ros] +pendulum_control: + ubuntu: + focal: [ros-humble-pendulum-control] + jammy: [ros-humble-pendulum-control] +pendulum_control_dbgsym: + ubuntu: + focal: [ros-humble-pendulum-control-dbgsym] + jammy: [ros-humble-pendulum-control-dbgsym] +pendulum_msgs: + ubuntu: + focal: [ros-humble-pendulum-msgs] + jammy: [ros-humble-pendulum-msgs] +pendulum_msgs_dbgsym: + ubuntu: + focal: [ros-humble-pendulum-msgs-dbgsym] + jammy: [ros-humble-pendulum-msgs-dbgsym] +perception: + ubuntu: + focal: [ros-humble-perception] + jammy: [ros-humble-perception] +perception_pcl: + ubuntu: + focal: [ros-humble-perception-pcl] + jammy: [ros-humble-perception-pcl] +performance_test_fixture: + ubuntu: + focal: [ros-humble-performance-test-fixture] + jammy: [ros-humble-performance-test-fixture] +performance_test_fixture_dbgsym: + ubuntu: + focal: [ros-humble-performance-test-fixture-dbgsym] + jammy: [ros-humble-performance-test-fixture-dbgsym] +phidgets_accelerometer: + ubuntu: + focal: [ros-humble-phidgets-accelerometer] + jammy: [ros-humble-phidgets-accelerometer] +phidgets_accelerometer_dbgsym: + ubuntu: + focal: [ros-humble-phidgets-accelerometer-dbgsym] + jammy: [ros-humble-phidgets-accelerometer-dbgsym] +phidgets_analog_inputs: + ubuntu: + focal: [ros-humble-phidgets-analog-inputs] + jammy: [ros-humble-phidgets-analog-inputs] +phidgets_analog_inputs_dbgsym: + ubuntu: + focal: [ros-humble-phidgets-analog-inputs-dbgsym] + jammy: [ros-humble-phidgets-analog-inputs-dbgsym] +phidgets_analog_outputs: + ubuntu: + focal: [ros-humble-phidgets-analog-outputs] + jammy: [ros-humble-phidgets-analog-outputs] +phidgets_analog_outputs_dbgsym: + ubuntu: + focal: [ros-humble-phidgets-analog-outputs-dbgsym] + jammy: [ros-humble-phidgets-analog-outputs-dbgsym] +phidgets_api: + ubuntu: + focal: [ros-humble-phidgets-api] + jammy: [ros-humble-phidgets-api] +phidgets_api_dbgsym: + ubuntu: + focal: [ros-humble-phidgets-api-dbgsym] + jammy: [ros-humble-phidgets-api-dbgsym] +phidgets_digital_inputs: + ubuntu: + focal: [ros-humble-phidgets-digital-inputs] + jammy: [ros-humble-phidgets-digital-inputs] +phidgets_digital_inputs_dbgsym: + ubuntu: + focal: [ros-humble-phidgets-digital-inputs-dbgsym] + jammy: [ros-humble-phidgets-digital-inputs-dbgsym] +phidgets_digital_outputs: + ubuntu: + focal: [ros-humble-phidgets-digital-outputs] + jammy: [ros-humble-phidgets-digital-outputs] +phidgets_digital_outputs_dbgsym: + ubuntu: + focal: [ros-humble-phidgets-digital-outputs-dbgsym] + jammy: [ros-humble-phidgets-digital-outputs-dbgsym] +phidgets_drivers: + ubuntu: + focal: [ros-humble-phidgets-drivers] + jammy: [ros-humble-phidgets-drivers] +phidgets_gyroscope: + ubuntu: + focal: [ros-humble-phidgets-gyroscope] + jammy: [ros-humble-phidgets-gyroscope] +phidgets_gyroscope_dbgsym: + ubuntu: + focal: [ros-humble-phidgets-gyroscope-dbgsym] + jammy: [ros-humble-phidgets-gyroscope-dbgsym] +phidgets_high_speed_encoder: + ubuntu: + focal: [ros-humble-phidgets-high-speed-encoder] + jammy: [ros-humble-phidgets-high-speed-encoder] +phidgets_high_speed_encoder_dbgsym: + ubuntu: + focal: [ros-humble-phidgets-high-speed-encoder-dbgsym] + jammy: [ros-humble-phidgets-high-speed-encoder-dbgsym] +phidgets_ik: + ubuntu: + focal: [ros-humble-phidgets-ik] + jammy: [ros-humble-phidgets-ik] +phidgets_magnetometer: + ubuntu: + focal: [ros-humble-phidgets-magnetometer] + jammy: [ros-humble-phidgets-magnetometer] +phidgets_magnetometer_dbgsym: + ubuntu: + focal: [ros-humble-phidgets-magnetometer-dbgsym] + jammy: [ros-humble-phidgets-magnetometer-dbgsym] +phidgets_motors: + ubuntu: + focal: [ros-humble-phidgets-motors] + jammy: [ros-humble-phidgets-motors] +phidgets_motors_dbgsym: + ubuntu: + focal: [ros-humble-phidgets-motors-dbgsym] + jammy: [ros-humble-phidgets-motors-dbgsym] +phidgets_msgs: + ubuntu: + focal: [ros-humble-phidgets-msgs] + jammy: [ros-humble-phidgets-msgs] +phidgets_msgs_dbgsym: + ubuntu: + focal: [ros-humble-phidgets-msgs-dbgsym] + jammy: [ros-humble-phidgets-msgs-dbgsym] +phidgets_spatial: + ubuntu: + focal: [ros-humble-phidgets-spatial] + jammy: [ros-humble-phidgets-spatial] +phidgets_spatial_dbgsym: + ubuntu: + focal: [ros-humble-phidgets-spatial-dbgsym] + jammy: [ros-humble-phidgets-spatial-dbgsym] +phidgets_temperature: + ubuntu: + focal: [ros-humble-phidgets-temperature] + jammy: [ros-humble-phidgets-temperature] +phidgets_temperature_dbgsym: + ubuntu: + focal: [ros-humble-phidgets-temperature-dbgsym] + jammy: [ros-humble-phidgets-temperature-dbgsym] +pick_ik: + ubuntu: + focal: [ros-humble-pick-ik] + jammy: [ros-humble-pick-ik] +pick_ik_dbgsym: + ubuntu: + focal: [ros-humble-pick-ik-dbgsym] + jammy: [ros-humble-pick-ik-dbgsym] +picknik_ament_copyright: + ubuntu: + focal: [ros-humble-picknik-ament-copyright] + jammy: [ros-humble-picknik-ament-copyright] +picknik_reset_fault_controller: + ubuntu: + focal: [ros-humble-picknik-reset-fault-controller] + jammy: [ros-humble-picknik-reset-fault-controller] +picknik_reset_fault_controller_dbgsym: + ubuntu: + focal: [ros-humble-picknik-reset-fault-controller-dbgsym] + jammy: [ros-humble-picknik-reset-fault-controller-dbgsym] +picknik_twist_controller: + ubuntu: + focal: [ros-humble-picknik-twist-controller] + jammy: [ros-humble-picknik-twist-controller] +picknik_twist_controller_dbgsym: + ubuntu: + focal: [ros-humble-picknik-twist-controller-dbgsym] + jammy: [ros-humble-picknik-twist-controller-dbgsym] +pilz_industrial_motion_planner: + ubuntu: + focal: [ros-humble-pilz-industrial-motion-planner] + jammy: [ros-humble-pilz-industrial-motion-planner] +pilz_industrial_motion_planner_dbgsym: + ubuntu: + focal: [ros-humble-pilz-industrial-motion-planner-dbgsym] + jammy: [ros-humble-pilz-industrial-motion-planner-dbgsym] +pilz_industrial_motion_planner_testutils: + ubuntu: + focal: [ros-humble-pilz-industrial-motion-planner-testutils] + jammy: [ros-humble-pilz-industrial-motion-planner-testutils] +pilz_industrial_motion_planner_testutils_dbgsym: + ubuntu: + focal: [ros-humble-pilz-industrial-motion-planner-testutils-dbgsym] + jammy: [ros-humble-pilz-industrial-motion-planner-testutils-dbgsym] +pinocchio: + ubuntu: + focal: [ros-humble-pinocchio] + jammy: [ros-humble-pinocchio] +pinocchio_dbgsym: + ubuntu: + focal: [ros-humble-pinocchio-dbgsym] + jammy: [ros-humble-pinocchio-dbgsym] +plansys2_bringup: + ubuntu: + focal: [ros-humble-plansys2-bringup] + jammy: [ros-humble-plansys2-bringup] +plansys2_bringup_dbgsym: + ubuntu: + focal: [ros-humble-plansys2-bringup-dbgsym] + jammy: [ros-humble-plansys2-bringup-dbgsym] +plansys2_bt_actions: + ubuntu: + focal: [ros-humble-plansys2-bt-actions] + jammy: [ros-humble-plansys2-bt-actions] +plansys2_bt_actions_dbgsym: + ubuntu: + focal: [ros-humble-plansys2-bt-actions-dbgsym] + jammy: [ros-humble-plansys2-bt-actions-dbgsym] +plansys2_core: + ubuntu: + focal: [ros-humble-plansys2-core] + jammy: [ros-humble-plansys2-core] +plansys2_core_dbgsym: + ubuntu: + focal: [ros-humble-plansys2-core-dbgsym] + jammy: [ros-humble-plansys2-core-dbgsym] +plansys2_domain_expert: + ubuntu: + focal: [ros-humble-plansys2-domain-expert] + jammy: [ros-humble-plansys2-domain-expert] +plansys2_domain_expert_dbgsym: + ubuntu: + focal: [ros-humble-plansys2-domain-expert-dbgsym] + jammy: [ros-humble-plansys2-domain-expert-dbgsym] +plansys2_executor: + ubuntu: + focal: [ros-humble-plansys2-executor] + jammy: [ros-humble-plansys2-executor] +plansys2_executor_dbgsym: + ubuntu: + focal: [ros-humble-plansys2-executor-dbgsym] + jammy: [ros-humble-plansys2-executor-dbgsym] +plansys2_lifecycle_manager: + ubuntu: + focal: [ros-humble-plansys2-lifecycle-manager] + jammy: [ros-humble-plansys2-lifecycle-manager] +plansys2_lifecycle_manager_dbgsym: + ubuntu: + focal: [ros-humble-plansys2-lifecycle-manager-dbgsym] + jammy: [ros-humble-plansys2-lifecycle-manager-dbgsym] +plansys2_msgs: + ubuntu: + focal: [ros-humble-plansys2-msgs] + jammy: [ros-humble-plansys2-msgs] +plansys2_msgs_dbgsym: + ubuntu: + focal: [ros-humble-plansys2-msgs-dbgsym] + jammy: [ros-humble-plansys2-msgs-dbgsym] +plansys2_pddl_parser: + ubuntu: + focal: [ros-humble-plansys2-pddl-parser] + jammy: [ros-humble-plansys2-pddl-parser] +plansys2_pddl_parser_dbgsym: + ubuntu: + focal: [ros-humble-plansys2-pddl-parser-dbgsym] + jammy: [ros-humble-plansys2-pddl-parser-dbgsym] +plansys2_planner: + ubuntu: + focal: [ros-humble-plansys2-planner] + jammy: [ros-humble-plansys2-planner] +plansys2_planner_dbgsym: + ubuntu: + focal: [ros-humble-plansys2-planner-dbgsym] + jammy: [ros-humble-plansys2-planner-dbgsym] +plansys2_popf_plan_solver: + ubuntu: + focal: [ros-humble-plansys2-popf-plan-solver] + jammy: [ros-humble-plansys2-popf-plan-solver] +plansys2_popf_plan_solver_dbgsym: + ubuntu: + focal: [ros-humble-plansys2-popf-plan-solver-dbgsym] + jammy: [ros-humble-plansys2-popf-plan-solver-dbgsym] +plansys2_problem_expert: + ubuntu: + focal: [ros-humble-plansys2-problem-expert] + jammy: [ros-humble-plansys2-problem-expert] +plansys2_problem_expert_dbgsym: + ubuntu: + focal: [ros-humble-plansys2-problem-expert-dbgsym] + jammy: [ros-humble-plansys2-problem-expert-dbgsym] +plansys2_terminal: + ubuntu: + focal: [ros-humble-plansys2-terminal] + jammy: [ros-humble-plansys2-terminal] +plansys2_terminal_dbgsym: + ubuntu: + focal: [ros-humble-plansys2-terminal-dbgsym] + jammy: [ros-humble-plansys2-terminal-dbgsym] +plansys2_tools: + ubuntu: + focal: [ros-humble-plansys2-tools] + jammy: [ros-humble-plansys2-tools] +plansys2_tools_dbgsym: + ubuntu: + focal: [ros-humble-plansys2-tools-dbgsym] + jammy: [ros-humble-plansys2-tools-dbgsym] +play_motion2: + ubuntu: + focal: [ros-humble-play-motion2] + jammy: [ros-humble-play-motion2] +play_motion2_dbgsym: + ubuntu: + focal: [ros-humble-play-motion2-dbgsym] + jammy: [ros-humble-play-motion2-dbgsym] +play_motion2_msgs: + ubuntu: + focal: [ros-humble-play-motion2-msgs] + jammy: [ros-humble-play-motion2-msgs] +play_motion2_msgs_dbgsym: + ubuntu: + focal: [ros-humble-play-motion2-msgs-dbgsym] + jammy: [ros-humble-play-motion2-msgs-dbgsym] +plotjuggler: + ubuntu: + focal: [ros-humble-plotjuggler] + jammy: [ros-humble-plotjuggler] +plotjuggler_dbgsym: + ubuntu: + focal: [ros-humble-plotjuggler-dbgsym] + jammy: [ros-humble-plotjuggler-dbgsym] +plotjuggler_msgs: + ubuntu: + focal: [ros-humble-plotjuggler-msgs] + jammy: [ros-humble-plotjuggler-msgs] +plotjuggler_msgs_dbgsym: + ubuntu: + focal: [ros-humble-plotjuggler-msgs-dbgsym] + jammy: [ros-humble-plotjuggler-msgs-dbgsym] +plotjuggler_ros: + ubuntu: + focal: [ros-humble-plotjuggler-ros] + jammy: [ros-humble-plotjuggler-ros] +plotjuggler_ros_dbgsym: + ubuntu: + focal: [ros-humble-plotjuggler-ros-dbgsym] + jammy: [ros-humble-plotjuggler-ros-dbgsym] +pluginlib: + ubuntu: + focal: [ros-humble-pluginlib] + jammy: [ros-humble-pluginlib] +pmb2_2dnav: + ubuntu: + focal: [ros-humble-pmb2-2dnav] + jammy: [ros-humble-pmb2-2dnav] +pmb2_bringup: + ubuntu: + focal: [ros-humble-pmb2-bringup] + jammy: [ros-humble-pmb2-bringup] +pmb2_controller_configuration: + ubuntu: + focal: [ros-humble-pmb2-controller-configuration] + jammy: [ros-humble-pmb2-controller-configuration] +pmb2_description: + ubuntu: + focal: [ros-humble-pmb2-description] + jammy: [ros-humble-pmb2-description] +pmb2_laser_sensors: + ubuntu: + focal: [ros-humble-pmb2-laser-sensors] + jammy: [ros-humble-pmb2-laser-sensors] +pmb2_maps: + ubuntu: + focal: [ros-humble-pmb2-maps] + jammy: [ros-humble-pmb2-maps] +pmb2_navigation: + ubuntu: + focal: [ros-humble-pmb2-navigation] + jammy: [ros-humble-pmb2-navigation] +pmb2_robot: + ubuntu: + focal: [ros-humble-pmb2-robot] + jammy: [ros-humble-pmb2-robot] +point_cloud_interfaces: + ubuntu: + focal: [ros-humble-point-cloud-interfaces] + jammy: [ros-humble-point-cloud-interfaces] +point_cloud_interfaces_dbgsym: + ubuntu: + focal: [ros-humble-point-cloud-interfaces-dbgsym] + jammy: [ros-humble-point-cloud-interfaces-dbgsym] +point_cloud_msg_wrapper: + ubuntu: + focal: [ros-humble-point-cloud-msg-wrapper] + jammy: [ros-humble-point-cloud-msg-wrapper] +point_cloud_transport: + ubuntu: + focal: [ros-humble-point-cloud-transport] + jammy: [ros-humble-point-cloud-transport] +point_cloud_transport_dbgsym: + ubuntu: + focal: [ros-humble-point-cloud-transport-dbgsym] + jammy: [ros-humble-point-cloud-transport-dbgsym] +point_cloud_transport_py: + ubuntu: + focal: [ros-humble-point-cloud-transport-py] + jammy: [ros-humble-point-cloud-transport-py] +pointcloud_to_laserscan: + ubuntu: + focal: [ros-humble-pointcloud-to-laserscan] + jammy: [ros-humble-pointcloud-to-laserscan] +pointcloud_to_laserscan_dbgsym: + ubuntu: + focal: [ros-humble-pointcloud-to-laserscan-dbgsym] + jammy: [ros-humble-pointcloud-to-laserscan-dbgsym] +polygon_demos: + ubuntu: + focal: [ros-humble-polygon-demos] + jammy: [ros-humble-polygon-demos] +polygon_demos_dbgsym: + ubuntu: + focal: [ros-humble-polygon-demos-dbgsym] + jammy: [ros-humble-polygon-demos-dbgsym] +polygon_msgs: + ubuntu: + focal: [ros-humble-polygon-msgs] + jammy: [ros-humble-polygon-msgs] +polygon_msgs_dbgsym: + ubuntu: + focal: [ros-humble-polygon-msgs-dbgsym] + jammy: [ros-humble-polygon-msgs-dbgsym] +polygon_rviz_plugins: + ubuntu: + focal: [ros-humble-polygon-rviz-plugins] + jammy: [ros-humble-polygon-rviz-plugins] +polygon_rviz_plugins_dbgsym: + ubuntu: + focal: [ros-humble-polygon-rviz-plugins-dbgsym] + jammy: [ros-humble-polygon-rviz-plugins-dbgsym] +polygon_utils: + ubuntu: + focal: [ros-humble-polygon-utils] + jammy: [ros-humble-polygon-utils] +popf: + ubuntu: + focal: [ros-humble-popf] + jammy: [ros-humble-popf] +popf_dbgsym: + ubuntu: + focal: [ros-humble-popf-dbgsym] + jammy: [ros-humble-popf-dbgsym] +position_controllers: + ubuntu: + focal: [ros-humble-position-controllers] + jammy: [ros-humble-position-controllers] +position_controllers_dbgsym: + ubuntu: + focal: [ros-humble-position-controllers-dbgsym] + jammy: [ros-humble-position-controllers-dbgsym] +proxsuite: + ubuntu: + focal: [ros-humble-proxsuite] + jammy: [ros-humble-proxsuite] +py_trees: + ubuntu: + focal: [ros-humble-py-trees] + jammy: [ros-humble-py-trees] +py_trees_js: + ubuntu: + focal: [ros-humble-py-trees-js] + jammy: [ros-humble-py-trees-js] +py_trees_ros: + ubuntu: + focal: [ros-humble-py-trees-ros] + jammy: [ros-humble-py-trees-ros] +py_trees_ros_interfaces: + ubuntu: + focal: [ros-humble-py-trees-ros-interfaces] + jammy: [ros-humble-py-trees-ros-interfaces] +py_trees_ros_interfaces_dbgsym: + ubuntu: + focal: [ros-humble-py-trees-ros-interfaces-dbgsym] + jammy: [ros-humble-py-trees-ros-interfaces-dbgsym] +pybind11_json_vendor: + ubuntu: + focal: [ros-humble-pybind11-json-vendor] + jammy: [ros-humble-pybind11-json-vendor] +pybind11_vendor: + ubuntu: + focal: [ros-humble-pybind11-vendor] + jammy: [ros-humble-pybind11-vendor] +python3-pymupdf: + ubuntu: + focal: [python3-fitz] + jammy: [python3-fitz] +python_cmake_module: + ubuntu: + focal: [ros-humble-python-cmake-module] + jammy: [ros-humble-python-cmake-module] +python_orocos_kdl_vendor: + ubuntu: + focal: [ros-humble-python-orocos-kdl-vendor] + jammy: [ros-humble-python-orocos-kdl-vendor] +python_qt_binding: + ubuntu: + focal: [ros-humble-python-qt-binding] + jammy: [ros-humble-python-qt-binding] +qt_dotgraph: + ubuntu: + focal: [ros-humble-qt-dotgraph] + jammy: [ros-humble-qt-dotgraph] +qt_gui: + ubuntu: + focal: [ros-humble-qt-gui] + jammy: [ros-humble-qt-gui] +qt_gui_app: + ubuntu: + focal: [ros-humble-qt-gui-app] + jammy: [ros-humble-qt-gui-app] +qt_gui_core: + ubuntu: + focal: [ros-humble-qt-gui-core] + jammy: [ros-humble-qt-gui-core] +qt_gui_cpp: + ubuntu: + focal: [ros-humble-qt-gui-cpp] + jammy: [ros-humble-qt-gui-cpp] +qt_gui_cpp_dbgsym: + ubuntu: + focal: [ros-humble-qt-gui-cpp-dbgsym] + jammy: [ros-humble-qt-gui-cpp-dbgsym] +qt_gui_py_common: + ubuntu: + focal: [ros-humble-qt-gui-py-common] + jammy: [ros-humble-qt-gui-py-common] +quality_of_service_demo_cpp: + ubuntu: + focal: [ros-humble-quality-of-service-demo-cpp] + jammy: [ros-humble-quality-of-service-demo-cpp] +quality_of_service_demo_cpp_dbgsym: + ubuntu: + focal: [ros-humble-quality-of-service-demo-cpp-dbgsym] + jammy: [ros-humble-quality-of-service-demo-cpp-dbgsym] +quality_of_service_demo_py: + ubuntu: + focal: [ros-humble-quality-of-service-demo-py] + jammy: [ros-humble-quality-of-service-demo-py] +quaternion_operation: + ubuntu: + focal: [ros-humble-quaternion-operation] + jammy: [ros-humble-quaternion-operation] +quaternion_operation_dbgsym: + ubuntu: + focal: [ros-humble-quaternion-operation-dbgsym] + jammy: [ros-humble-quaternion-operation-dbgsym] +r2r_spl_7: + ubuntu: + focal: [ros-humble-r2r-spl-7] + jammy: [ros-humble-r2r-spl-7] +radar_msgs: + ubuntu: + focal: [ros-humble-radar-msgs] + jammy: [ros-humble-radar-msgs] +radar_msgs_dbgsym: + ubuntu: + focal: [ros-humble-radar-msgs-dbgsym] + jammy: [ros-humble-radar-msgs-dbgsym] +random_numbers: + ubuntu: + focal: [ros-humble-random-numbers] + jammy: [ros-humble-random-numbers] +random_numbers_dbgsym: + ubuntu: + focal: [ros-humble-random-numbers-dbgsym] + jammy: [ros-humble-random-numbers-dbgsym] +raspimouse: + ubuntu: + focal: [ros-humble-raspimouse] + jammy: [ros-humble-raspimouse] +raspimouse_dbgsym: + ubuntu: + focal: [ros-humble-raspimouse-dbgsym] + jammy: [ros-humble-raspimouse-dbgsym] +raspimouse_description: + ubuntu: + focal: [ros-humble-raspimouse-description] + jammy: [ros-humble-raspimouse-description] +raspimouse_msgs: + ubuntu: + focal: [ros-humble-raspimouse-msgs] + jammy: [ros-humble-raspimouse-msgs] +raspimouse_msgs_dbgsym: + ubuntu: + focal: [ros-humble-raspimouse-msgs-dbgsym] + jammy: [ros-humble-raspimouse-msgs-dbgsym] +raspimouse_navigation: + ubuntu: + focal: [ros-humble-raspimouse-navigation] + jammy: [ros-humble-raspimouse-navigation] +raspimouse_ros2_examples: + ubuntu: + focal: [ros-humble-raspimouse-ros2-examples] + jammy: [ros-humble-raspimouse-ros2-examples] +raspimouse_ros2_examples_dbgsym: + ubuntu: + focal: [ros-humble-raspimouse-ros2-examples-dbgsym] + jammy: [ros-humble-raspimouse-ros2-examples-dbgsym] +raspimouse_slam: + ubuntu: + focal: [ros-humble-raspimouse-slam] + jammy: [ros-humble-raspimouse-slam] +raspimouse_slam_navigation: + ubuntu: + focal: [ros-humble-raspimouse-slam-navigation] + jammy: [ros-humble-raspimouse-slam-navigation] +rc_common_msgs: + ubuntu: + focal: [ros-humble-rc-common-msgs] + jammy: [ros-humble-rc-common-msgs] +rc_common_msgs_dbgsym: + ubuntu: + focal: [ros-humble-rc-common-msgs-dbgsym] + jammy: [ros-humble-rc-common-msgs-dbgsym] +rc_dynamics_api: + ubuntu: + focal: [ros-humble-rc-dynamics-api] + jammy: [ros-humble-rc-dynamics-api] +rc_dynamics_api_dbgsym: + ubuntu: + focal: [ros-humble-rc-dynamics-api-dbgsym] + jammy: [ros-humble-rc-dynamics-api-dbgsym] +rc_genicam_api: + ubuntu: + focal: [ros-humble-rc-genicam-api] + jammy: [ros-humble-rc-genicam-api] +rc_genicam_api_dbgsym: + ubuntu: + focal: [ros-humble-rc-genicam-api-dbgsym] + jammy: [ros-humble-rc-genicam-api-dbgsym] +rc_genicam_driver: + ubuntu: + focal: [ros-humble-rc-genicam-driver] + jammy: [ros-humble-rc-genicam-driver] +rc_genicam_driver_dbgsym: + ubuntu: + focal: [ros-humble-rc-genicam-driver-dbgsym] + jammy: [ros-humble-rc-genicam-driver-dbgsym] +rc_reason_clients: + ubuntu: + focal: [ros-humble-rc-reason-clients] + jammy: [ros-humble-rc-reason-clients] +rc_reason_msgs: + ubuntu: + focal: [ros-humble-rc-reason-msgs] + jammy: [ros-humble-rc-reason-msgs] +rc_reason_msgs_dbgsym: + ubuntu: + focal: [ros-humble-rc-reason-msgs-dbgsym] + jammy: [ros-humble-rc-reason-msgs-dbgsym] +rcdiscover: + ubuntu: + focal: [ros-humble-rcdiscover] + jammy: [ros-humble-rcdiscover] +rcdiscover_dbgsym: + ubuntu: + focal: [ros-humble-rcdiscover-dbgsym] + jammy: [ros-humble-rcdiscover-dbgsym] +rcgcd_spl_14: + ubuntu: + focal: [ros-humble-rcgcd-spl-14] + jammy: [ros-humble-rcgcd-spl-14] +rcgcd_spl_14_conversion: + ubuntu: + focal: [ros-humble-rcgcd-spl-14-conversion] + jammy: [ros-humble-rcgcd-spl-14-conversion] +rcgcd_spl_14_dbgsym: + ubuntu: + focal: [ros-humble-rcgcd-spl-14-dbgsym] + jammy: [ros-humble-rcgcd-spl-14-dbgsym] +rcgcrd_spl_4: + ubuntu: + focal: [ros-humble-rcgcrd-spl-4] + jammy: [ros-humble-rcgcrd-spl-4] +rcgcrd_spl_4_conversion: + ubuntu: + focal: [ros-humble-rcgcrd-spl-4-conversion] + jammy: [ros-humble-rcgcrd-spl-4-conversion] +rcgcrd_spl_4_dbgsym: + ubuntu: + focal: [ros-humble-rcgcrd-spl-4-dbgsym] + jammy: [ros-humble-rcgcrd-spl-4-dbgsym] +rcl: + ubuntu: + focal: [ros-humble-rcl] + jammy: [ros-humble-rcl] +rcl_action: + ubuntu: + focal: [ros-humble-rcl-action] + jammy: [ros-humble-rcl-action] +rcl_action_dbgsym: + ubuntu: + focal: [ros-humble-rcl-action-dbgsym] + jammy: [ros-humble-rcl-action-dbgsym] +rcl_dbgsym: + ubuntu: + focal: [ros-humble-rcl-dbgsym] + jammy: [ros-humble-rcl-dbgsym] +rcl_interfaces: + ubuntu: + focal: [ros-humble-rcl-interfaces] + jammy: [ros-humble-rcl-interfaces] +rcl_interfaces_dbgsym: + ubuntu: + focal: [ros-humble-rcl-interfaces-dbgsym] + jammy: [ros-humble-rcl-interfaces-dbgsym] +rcl_lifecycle: + ubuntu: + focal: [ros-humble-rcl-lifecycle] + jammy: [ros-humble-rcl-lifecycle] +rcl_lifecycle_dbgsym: + ubuntu: + focal: [ros-humble-rcl-lifecycle-dbgsym] + jammy: [ros-humble-rcl-lifecycle-dbgsym] +rcl_logging_interface: + ubuntu: + focal: [ros-humble-rcl-logging-interface] + jammy: [ros-humble-rcl-logging-interface] +rcl_logging_interface_dbgsym: + ubuntu: + focal: [ros-humble-rcl-logging-interface-dbgsym] + jammy: [ros-humble-rcl-logging-interface-dbgsym] +rcl_logging_noop: + ubuntu: + focal: [ros-humble-rcl-logging-noop] + jammy: [ros-humble-rcl-logging-noop] +rcl_logging_noop_dbgsym: + ubuntu: + focal: [ros-humble-rcl-logging-noop-dbgsym] + jammy: [ros-humble-rcl-logging-noop-dbgsym] +rcl_logging_spdlog: + ubuntu: + focal: [ros-humble-rcl-logging-spdlog] + jammy: [ros-humble-rcl-logging-spdlog] +rcl_logging_spdlog_dbgsym: + ubuntu: + focal: [ros-humble-rcl-logging-spdlog-dbgsym] + jammy: [ros-humble-rcl-logging-spdlog-dbgsym] +rcl_yaml_param_parser: + ubuntu: + focal: [ros-humble-rcl-yaml-param-parser] + jammy: [ros-humble-rcl-yaml-param-parser] +rcl_yaml_param_parser_dbgsym: + ubuntu: + focal: [ros-humble-rcl-yaml-param-parser-dbgsym] + jammy: [ros-humble-rcl-yaml-param-parser-dbgsym] +rclc: + ubuntu: + focal: [ros-humble-rclc] + jammy: [ros-humble-rclc] +rclc_dbgsym: + ubuntu: + focal: [ros-humble-rclc-dbgsym] + jammy: [ros-humble-rclc-dbgsym] +rclc_examples: + ubuntu: + focal: [ros-humble-rclc-examples] + jammy: [ros-humble-rclc-examples] +rclc_examples_dbgsym: + ubuntu: + focal: [ros-humble-rclc-examples-dbgsym] + jammy: [ros-humble-rclc-examples-dbgsym] +rclc_lifecycle: + ubuntu: + focal: [ros-humble-rclc-lifecycle] + jammy: [ros-humble-rclc-lifecycle] +rclc_lifecycle_dbgsym: + ubuntu: + focal: [ros-humble-rclc-lifecycle-dbgsym] + jammy: [ros-humble-rclc-lifecycle-dbgsym] +rclc_parameter: + ubuntu: + focal: [ros-humble-rclc-parameter] + jammy: [ros-humble-rclc-parameter] +rclcpp: + ubuntu: + focal: [ros-humble-rclcpp] + jammy: [ros-humble-rclcpp] +rclcpp_action: + ubuntu: + focal: [ros-humble-rclcpp-action] + jammy: [ros-humble-rclcpp-action] +rclcpp_action_dbgsym: + ubuntu: + focal: [ros-humble-rclcpp-action-dbgsym] + jammy: [ros-humble-rclcpp-action-dbgsym] +rclcpp_cascade_lifecycle: + ubuntu: + focal: [ros-humble-rclcpp-cascade-lifecycle] + jammy: [ros-humble-rclcpp-cascade-lifecycle] +rclcpp_cascade_lifecycle_dbgsym: + ubuntu: + focal: [ros-humble-rclcpp-cascade-lifecycle-dbgsym] + jammy: [ros-humble-rclcpp-cascade-lifecycle-dbgsym] +rclcpp_components: + ubuntu: + focal: [ros-humble-rclcpp-components] + jammy: [ros-humble-rclcpp-components] +rclcpp_components_dbgsym: + ubuntu: + focal: [ros-humble-rclcpp-components-dbgsym] + jammy: [ros-humble-rclcpp-components-dbgsym] +rclcpp_dbgsym: + ubuntu: + focal: [ros-humble-rclcpp-dbgsym] + jammy: [ros-humble-rclcpp-dbgsym] +rclcpp_lifecycle: + ubuntu: + focal: [ros-humble-rclcpp-lifecycle] + jammy: [ros-humble-rclcpp-lifecycle] +rclcpp_lifecycle_dbgsym: + ubuntu: + focal: [ros-humble-rclcpp-lifecycle-dbgsym] + jammy: [ros-humble-rclcpp-lifecycle-dbgsym] +rclpy: + ubuntu: + focal: [ros-humble-rclpy] + jammy: [ros-humble-rclpy] +rclpy_message_converter: + ubuntu: + focal: [ros-humble-rclpy-message-converter] + jammy: [ros-humble-rclpy-message-converter] +rclpy_message_converter_msgs: + ubuntu: + focal: [ros-humble-rclpy-message-converter-msgs] + jammy: [ros-humble-rclpy-message-converter-msgs] +rclpy_message_converter_msgs_dbgsym: + ubuntu: + focal: [ros-humble-rclpy-message-converter-msgs-dbgsym] + jammy: [ros-humble-rclpy-message-converter-msgs-dbgsym] +rcpputils: + ubuntu: + focal: [ros-humble-rcpputils] + jammy: [ros-humble-rcpputils] +rcpputils_dbgsym: + ubuntu: + focal: [ros-humble-rcpputils-dbgsym] + jammy: [ros-humble-rcpputils-dbgsym] +rcss3d_agent: + ubuntu: + focal: [ros-humble-rcss3d-agent] + jammy: [ros-humble-rcss3d-agent] +rcss3d_agent_basic: + ubuntu: + focal: [ros-humble-rcss3d-agent-basic] + jammy: [ros-humble-rcss3d-agent-basic] +rcss3d_agent_basic_dbgsym: + ubuntu: + focal: [ros-humble-rcss3d-agent-basic-dbgsym] + jammy: [ros-humble-rcss3d-agent-basic-dbgsym] +rcss3d_agent_dbgsym: + ubuntu: + focal: [ros-humble-rcss3d-agent-dbgsym] + jammy: [ros-humble-rcss3d-agent-dbgsym] +rcss3d_agent_msgs: + ubuntu: + focal: [ros-humble-rcss3d-agent-msgs] + jammy: [ros-humble-rcss3d-agent-msgs] +rcss3d_agent_msgs_dbgsym: + ubuntu: + focal: [ros-humble-rcss3d-agent-msgs-dbgsym] + jammy: [ros-humble-rcss3d-agent-msgs-dbgsym] +rcutils: + ubuntu: + focal: [ros-humble-rcutils] + jammy: [ros-humble-rcutils] +rcutils_dbgsym: + ubuntu: + focal: [ros-humble-rcutils-dbgsym] + jammy: [ros-humble-rcutils-dbgsym] +reach: + ubuntu: + focal: [ros-humble-reach] + jammy: [ros-humble-reach] +reach_dbgsym: + ubuntu: + focal: [ros-humble-reach-dbgsym] + jammy: [ros-humble-reach-dbgsym] +reach_ros: + ubuntu: + focal: [ros-humble-reach-ros] + jammy: [ros-humble-reach-ros] +reach_ros_dbgsym: + ubuntu: + focal: [ros-humble-reach-ros-dbgsym] + jammy: [ros-humble-reach-ros-dbgsym] +realsense2_camera: + ubuntu: + focal: [ros-humble-realsense2-camera] + jammy: [ros-humble-realsense2-camera] +realsense2_camera_dbgsym: + ubuntu: + focal: [ros-humble-realsense2-camera-dbgsym] + jammy: [ros-humble-realsense2-camera-dbgsym] +realsense2_camera_msgs: + ubuntu: + focal: [ros-humble-realsense2-camera-msgs] + jammy: [ros-humble-realsense2-camera-msgs] +realsense2_camera_msgs_dbgsym: + ubuntu: + focal: [ros-humble-realsense2-camera-msgs-dbgsym] + jammy: [ros-humble-realsense2-camera-msgs-dbgsym] +realsense2_description: + ubuntu: + focal: [ros-humble-realsense2-description] + jammy: [ros-humble-realsense2-description] +realsense_splitter: + ubuntu: + focal: [ros-humble-realsense-splitter] + jammy: [ros-humble-realsense-splitter] +realtime_tools: + ubuntu: + focal: [ros-humble-realtime-tools] + jammy: [ros-humble-realtime-tools] +realtime_tools_dbgsym: + ubuntu: + focal: [ros-humble-realtime-tools-dbgsym] + jammy: [ros-humble-realtime-tools-dbgsym] +resource_retriever: + ubuntu: + focal: [ros-humble-resource-retriever] + jammy: [ros-humble-resource-retriever] +resource_retriever_dbgsym: + ubuntu: + focal: [ros-humble-resource-retriever-dbgsym] + jammy: [ros-humble-resource-retriever-dbgsym] +rig_reconfigure: + ubuntu: + focal: [ros-humble-rig-reconfigure] + jammy: [ros-humble-rig-reconfigure] +rig_reconfigure_dbgsym: + ubuntu: + focal: [ros-humble-rig-reconfigure-dbgsym] + jammy: [ros-humble-rig-reconfigure-dbgsym] +rmf_api_msgs: + ubuntu: + focal: [ros-humble-rmf-api-msgs] + jammy: [ros-humble-rmf-api-msgs] +rmf_battery: + ubuntu: + focal: [ros-humble-rmf-battery] + jammy: [ros-humble-rmf-battery] +rmf_battery_dbgsym: + ubuntu: + focal: [ros-humble-rmf-battery-dbgsym] + jammy: [ros-humble-rmf-battery-dbgsym] +rmf_building_map_msgs: + ubuntu: + focal: [ros-humble-rmf-building-map-msgs] + jammy: [ros-humble-rmf-building-map-msgs] +rmf_building_map_msgs_dbgsym: + ubuntu: + focal: [ros-humble-rmf-building-map-msgs-dbgsym] + jammy: [ros-humble-rmf-building-map-msgs-dbgsym] +rmf_building_map_tools: + ubuntu: + focal: [ros-humble-rmf-building-map-tools] + jammy: [ros-humble-rmf-building-map-tools] +rmf_building_sim_common: + ubuntu: + focal: [ros-humble-rmf-building-sim-common] + jammy: [ros-humble-rmf-building-sim-common] +rmf_building_sim_common_dbgsym: + ubuntu: + focal: [ros-humble-rmf-building-sim-common-dbgsym] + jammy: [ros-humble-rmf-building-sim-common-dbgsym] +rmf_building_sim_gz_plugins: + ubuntu: + focal: [ros-humble-rmf-building-sim-gz-plugins] + jammy: [ros-humble-rmf-building-sim-gz-plugins] +rmf_building_sim_gz_plugins_dbgsym: + ubuntu: + focal: [ros-humble-rmf-building-sim-gz-plugins-dbgsym] + jammy: [ros-humble-rmf-building-sim-gz-plugins-dbgsym] +rmf_charger_msgs: + ubuntu: + focal: [ros-humble-rmf-charger-msgs] + jammy: [ros-humble-rmf-charger-msgs] +rmf_charger_msgs_dbgsym: + ubuntu: + focal: [ros-humble-rmf-charger-msgs-dbgsym] + jammy: [ros-humble-rmf-charger-msgs-dbgsym] +rmf_cmake_uncrustify: + ubuntu: + focal: [ros-humble-rmf-cmake-uncrustify] + jammy: [ros-humble-rmf-cmake-uncrustify] +rmf_dispenser_msgs: + ubuntu: + focal: [ros-humble-rmf-dispenser-msgs] + jammy: [ros-humble-rmf-dispenser-msgs] +rmf_dispenser_msgs_dbgsym: + ubuntu: + focal: [ros-humble-rmf-dispenser-msgs-dbgsym] + jammy: [ros-humble-rmf-dispenser-msgs-dbgsym] +rmf_door_msgs: + ubuntu: + focal: [ros-humble-rmf-door-msgs] + jammy: [ros-humble-rmf-door-msgs] +rmf_door_msgs_dbgsym: + ubuntu: + focal: [ros-humble-rmf-door-msgs-dbgsym] + jammy: [ros-humble-rmf-door-msgs-dbgsym] +rmf_fleet_adapter: + ubuntu: + focal: [ros-humble-rmf-fleet-adapter] + jammy: [ros-humble-rmf-fleet-adapter] +rmf_fleet_adapter_dbgsym: + ubuntu: + focal: [ros-humble-rmf-fleet-adapter-dbgsym] + jammy: [ros-humble-rmf-fleet-adapter-dbgsym] +rmf_fleet_adapter_python: + ubuntu: + focal: [ros-humble-rmf-fleet-adapter-python] + jammy: [ros-humble-rmf-fleet-adapter-python] +rmf_fleet_msgs: + ubuntu: + focal: [ros-humble-rmf-fleet-msgs] + jammy: [ros-humble-rmf-fleet-msgs] +rmf_fleet_msgs_dbgsym: + ubuntu: + focal: [ros-humble-rmf-fleet-msgs-dbgsym] + jammy: [ros-humble-rmf-fleet-msgs-dbgsym] +rmf_ingestor_msgs: + ubuntu: + focal: [ros-humble-rmf-ingestor-msgs] + jammy: [ros-humble-rmf-ingestor-msgs] +rmf_ingestor_msgs_dbgsym: + ubuntu: + focal: [ros-humble-rmf-ingestor-msgs-dbgsym] + jammy: [ros-humble-rmf-ingestor-msgs-dbgsym] +rmf_lift_msgs: + ubuntu: + focal: [ros-humble-rmf-lift-msgs] + jammy: [ros-humble-rmf-lift-msgs] +rmf_lift_msgs_dbgsym: + ubuntu: + focal: [ros-humble-rmf-lift-msgs-dbgsym] + jammy: [ros-humble-rmf-lift-msgs-dbgsym] +rmf_obstacle_msgs: + ubuntu: + focal: [ros-humble-rmf-obstacle-msgs] + jammy: [ros-humble-rmf-obstacle-msgs] +rmf_obstacle_msgs_dbgsym: + ubuntu: + focal: [ros-humble-rmf-obstacle-msgs-dbgsym] + jammy: [ros-humble-rmf-obstacle-msgs-dbgsym] +rmf_robot_sim_common: + ubuntu: + focal: [ros-humble-rmf-robot-sim-common] + jammy: [ros-humble-rmf-robot-sim-common] +rmf_robot_sim_common_dbgsym: + ubuntu: + focal: [ros-humble-rmf-robot-sim-common-dbgsym] + jammy: [ros-humble-rmf-robot-sim-common-dbgsym] +rmf_robot_sim_gz_plugins: + ubuntu: + focal: [ros-humble-rmf-robot-sim-gz-plugins] + jammy: [ros-humble-rmf-robot-sim-gz-plugins] +rmf_robot_sim_gz_plugins_dbgsym: + ubuntu: + focal: [ros-humble-rmf-robot-sim-gz-plugins-dbgsym] + jammy: [ros-humble-rmf-robot-sim-gz-plugins-dbgsym] +rmf_scheduler_msgs: + ubuntu: + focal: [ros-humble-rmf-scheduler-msgs] + jammy: [ros-humble-rmf-scheduler-msgs] +rmf_scheduler_msgs_dbgsym: + ubuntu: + focal: [ros-humble-rmf-scheduler-msgs-dbgsym] + jammy: [ros-humble-rmf-scheduler-msgs-dbgsym] +rmf_site_map_msgs: + ubuntu: + focal: [ros-humble-rmf-site-map-msgs] + jammy: [ros-humble-rmf-site-map-msgs] +rmf_site_map_msgs_dbgsym: + ubuntu: + focal: [ros-humble-rmf-site-map-msgs-dbgsym] + jammy: [ros-humble-rmf-site-map-msgs-dbgsym] +rmf_task: + ubuntu: + focal: [ros-humble-rmf-task] + jammy: [ros-humble-rmf-task] +rmf_task_dbgsym: + ubuntu: + focal: [ros-humble-rmf-task-dbgsym] + jammy: [ros-humble-rmf-task-dbgsym] +rmf_task_msgs: + ubuntu: + focal: [ros-humble-rmf-task-msgs] + jammy: [ros-humble-rmf-task-msgs] +rmf_task_msgs_dbgsym: + ubuntu: + focal: [ros-humble-rmf-task-msgs-dbgsym] + jammy: [ros-humble-rmf-task-msgs-dbgsym] +rmf_task_ros2: + ubuntu: + focal: [ros-humble-rmf-task-ros2] + jammy: [ros-humble-rmf-task-ros2] +rmf_task_ros2_dbgsym: + ubuntu: + focal: [ros-humble-rmf-task-ros2-dbgsym] + jammy: [ros-humble-rmf-task-ros2-dbgsym] +rmf_task_sequence: + ubuntu: + focal: [ros-humble-rmf-task-sequence] + jammy: [ros-humble-rmf-task-sequence] +rmf_task_sequence_dbgsym: + ubuntu: + focal: [ros-humble-rmf-task-sequence-dbgsym] + jammy: [ros-humble-rmf-task-sequence-dbgsym] +rmf_traffic: + ubuntu: + focal: [ros-humble-rmf-traffic] + jammy: [ros-humble-rmf-traffic] +rmf_traffic_dbgsym: + ubuntu: + focal: [ros-humble-rmf-traffic-dbgsym] + jammy: [ros-humble-rmf-traffic-dbgsym] +rmf_traffic_editor: + ubuntu: + focal: [ros-humble-rmf-traffic-editor] + jammy: [ros-humble-rmf-traffic-editor] +rmf_traffic_editor_assets: + ubuntu: + focal: [ros-humble-rmf-traffic-editor-assets] + jammy: [ros-humble-rmf-traffic-editor-assets] +rmf_traffic_editor_dbgsym: + ubuntu: + focal: [ros-humble-rmf-traffic-editor-dbgsym] + jammy: [ros-humble-rmf-traffic-editor-dbgsym] +rmf_traffic_editor_test_maps: + ubuntu: + focal: [ros-humble-rmf-traffic-editor-test-maps] + jammy: [ros-humble-rmf-traffic-editor-test-maps] +rmf_traffic_examples: + ubuntu: + focal: [ros-humble-rmf-traffic-examples] + jammy: [ros-humble-rmf-traffic-examples] +rmf_traffic_examples_dbgsym: + ubuntu: + focal: [ros-humble-rmf-traffic-examples-dbgsym] + jammy: [ros-humble-rmf-traffic-examples-dbgsym] +rmf_traffic_msgs: + ubuntu: + focal: [ros-humble-rmf-traffic-msgs] + jammy: [ros-humble-rmf-traffic-msgs] +rmf_traffic_msgs_dbgsym: + ubuntu: + focal: [ros-humble-rmf-traffic-msgs-dbgsym] + jammy: [ros-humble-rmf-traffic-msgs-dbgsym] +rmf_traffic_ros2: + ubuntu: + focal: [ros-humble-rmf-traffic-ros2] + jammy: [ros-humble-rmf-traffic-ros2] +rmf_traffic_ros2_dbgsym: + ubuntu: + focal: [ros-humble-rmf-traffic-ros2-dbgsym] + jammy: [ros-humble-rmf-traffic-ros2-dbgsym] +rmf_utils: + ubuntu: + focal: [ros-humble-rmf-utils] + jammy: [ros-humble-rmf-utils] +rmf_utils_dbgsym: + ubuntu: + focal: [ros-humble-rmf-utils-dbgsym] + jammy: [ros-humble-rmf-utils-dbgsym] +rmf_visualization: + ubuntu: + focal: [ros-humble-rmf-visualization] + jammy: [ros-humble-rmf-visualization] +rmf_visualization_building_systems: + ubuntu: + focal: [ros-humble-rmf-visualization-building-systems] + jammy: [ros-humble-rmf-visualization-building-systems] +rmf_visualization_fleet_states: + ubuntu: + focal: [ros-humble-rmf-visualization-fleet-states] + jammy: [ros-humble-rmf-visualization-fleet-states] +rmf_visualization_fleet_states_dbgsym: + ubuntu: + focal: [ros-humble-rmf-visualization-fleet-states-dbgsym] + jammy: [ros-humble-rmf-visualization-fleet-states-dbgsym] +rmf_visualization_floorplans: + ubuntu: + focal: [ros-humble-rmf-visualization-floorplans] + jammy: [ros-humble-rmf-visualization-floorplans] +rmf_visualization_floorplans_dbgsym: + ubuntu: + focal: [ros-humble-rmf-visualization-floorplans-dbgsym] + jammy: [ros-humble-rmf-visualization-floorplans-dbgsym] +rmf_visualization_msgs: + ubuntu: + focal: [ros-humble-rmf-visualization-msgs] + jammy: [ros-humble-rmf-visualization-msgs] +rmf_visualization_msgs_dbgsym: + ubuntu: + focal: [ros-humble-rmf-visualization-msgs-dbgsym] + jammy: [ros-humble-rmf-visualization-msgs-dbgsym] +rmf_visualization_navgraphs: + ubuntu: + focal: [ros-humble-rmf-visualization-navgraphs] + jammy: [ros-humble-rmf-visualization-navgraphs] +rmf_visualization_navgraphs_dbgsym: + ubuntu: + focal: [ros-humble-rmf-visualization-navgraphs-dbgsym] + jammy: [ros-humble-rmf-visualization-navgraphs-dbgsym] +rmf_visualization_obstacles: + ubuntu: + focal: [ros-humble-rmf-visualization-obstacles] + jammy: [ros-humble-rmf-visualization-obstacles] +rmf_visualization_obstacles_dbgsym: + ubuntu: + focal: [ros-humble-rmf-visualization-obstacles-dbgsym] + jammy: [ros-humble-rmf-visualization-obstacles-dbgsym] +rmf_visualization_rviz2_plugins: + ubuntu: + focal: [ros-humble-rmf-visualization-rviz2-plugins] + jammy: [ros-humble-rmf-visualization-rviz2-plugins] +rmf_visualization_rviz2_plugins_dbgsym: + ubuntu: + focal: [ros-humble-rmf-visualization-rviz2-plugins-dbgsym] + jammy: [ros-humble-rmf-visualization-rviz2-plugins-dbgsym] +rmf_visualization_schedule: + ubuntu: + focal: [ros-humble-rmf-visualization-schedule] + jammy: [ros-humble-rmf-visualization-schedule] +rmf_visualization_schedule_dbgsym: + ubuntu: + focal: [ros-humble-rmf-visualization-schedule-dbgsym] + jammy: [ros-humble-rmf-visualization-schedule-dbgsym] +rmf_websocket: + ubuntu: + focal: [ros-humble-rmf-websocket] + jammy: [ros-humble-rmf-websocket] +rmf_websocket_dbgsym: + ubuntu: + focal: [ros-humble-rmf-websocket-dbgsym] + jammy: [ros-humble-rmf-websocket-dbgsym] +rmf_workcell_msgs: + ubuntu: + focal: [ros-humble-rmf-workcell-msgs] + jammy: [ros-humble-rmf-workcell-msgs] +rmf_workcell_msgs_dbgsym: + ubuntu: + focal: [ros-humble-rmf-workcell-msgs-dbgsym] + jammy: [ros-humble-rmf-workcell-msgs-dbgsym] +rmw: + ubuntu: + focal: [ros-humble-rmw] + jammy: [ros-humble-rmw] +rmw_connextdds: + ubuntu: + focal: [ros-humble-rmw-connextdds] + jammy: [ros-humble-rmw-connextdds] +rmw_connextdds_common: + ubuntu: + focal: [ros-humble-rmw-connextdds-common] + jammy: [ros-humble-rmw-connextdds-common] +rmw_connextdds_common_dbgsym: + ubuntu: + focal: [ros-humble-rmw-connextdds-common-dbgsym] + jammy: [ros-humble-rmw-connextdds-common-dbgsym] +rmw_connextdds_dbgsym: + ubuntu: + focal: [ros-humble-rmw-connextdds-dbgsym] + jammy: [ros-humble-rmw-connextdds-dbgsym] +rmw_cyclonedds_cpp: + ubuntu: + focal: [ros-humble-rmw-cyclonedds-cpp] + jammy: [ros-humble-rmw-cyclonedds-cpp] +rmw_cyclonedds_cpp_dbgsym: + ubuntu: + focal: [ros-humble-rmw-cyclonedds-cpp-dbgsym] + jammy: [ros-humble-rmw-cyclonedds-cpp-dbgsym] +rmw_dbgsym: + ubuntu: + focal: [ros-humble-rmw-dbgsym] + jammy: [ros-humble-rmw-dbgsym] +rmw_dds_common: + ubuntu: + focal: [ros-humble-rmw-dds-common] + jammy: [ros-humble-rmw-dds-common] +rmw_dds_common_dbgsym: + ubuntu: + focal: [ros-humble-rmw-dds-common-dbgsym] + jammy: [ros-humble-rmw-dds-common-dbgsym] +rmw_fastrtps_cpp: + ubuntu: + focal: [ros-humble-rmw-fastrtps-cpp] + jammy: [ros-humble-rmw-fastrtps-cpp] +rmw_fastrtps_cpp_dbgsym: + ubuntu: + focal: [ros-humble-rmw-fastrtps-cpp-dbgsym] + jammy: [ros-humble-rmw-fastrtps-cpp-dbgsym] +rmw_fastrtps_dynamic_cpp: + ubuntu: + focal: [ros-humble-rmw-fastrtps-dynamic-cpp] + jammy: [ros-humble-rmw-fastrtps-dynamic-cpp] +rmw_fastrtps_dynamic_cpp_dbgsym: + ubuntu: + focal: [ros-humble-rmw-fastrtps-dynamic-cpp-dbgsym] + jammy: [ros-humble-rmw-fastrtps-dynamic-cpp-dbgsym] +rmw_fastrtps_shared_cpp: + ubuntu: + focal: [ros-humble-rmw-fastrtps-shared-cpp] + jammy: [ros-humble-rmw-fastrtps-shared-cpp] +rmw_fastrtps_shared_cpp_dbgsym: + ubuntu: + focal: [ros-humble-rmw-fastrtps-shared-cpp-dbgsym] + jammy: [ros-humble-rmw-fastrtps-shared-cpp-dbgsym] +rmw_implementation: + ubuntu: + focal: [ros-humble-rmw-implementation] + jammy: [ros-humble-rmw-implementation] +rmw_implementation_cmake: + ubuntu: + focal: [ros-humble-rmw-implementation-cmake] + jammy: [ros-humble-rmw-implementation-cmake] +rmw_implementation_dbgsym: + ubuntu: + focal: [ros-humble-rmw-implementation-dbgsym] + jammy: [ros-humble-rmw-implementation-dbgsym] +robot_calibration: + ubuntu: + focal: [ros-humble-robot-calibration] + jammy: [ros-humble-robot-calibration] +robot_calibration_dbgsym: + ubuntu: + focal: [ros-humble-robot-calibration-dbgsym] + jammy: [ros-humble-robot-calibration-dbgsym] +robot_calibration_msgs: + ubuntu: + focal: [ros-humble-robot-calibration-msgs] + jammy: [ros-humble-robot-calibration-msgs] +robot_calibration_msgs_dbgsym: + ubuntu: + focal: [ros-humble-robot-calibration-msgs-dbgsym] + jammy: [ros-humble-robot-calibration-msgs-dbgsym] +robot_controllers: + ubuntu: + focal: [ros-humble-robot-controllers] + jammy: [ros-humble-robot-controllers] +robot_controllers_dbgsym: + ubuntu: + focal: [ros-humble-robot-controllers-dbgsym] + jammy: [ros-humble-robot-controllers-dbgsym] +robot_controllers_interface: + ubuntu: + focal: [ros-humble-robot-controllers-interface] + jammy: [ros-humble-robot-controllers-interface] +robot_controllers_interface_dbgsym: + ubuntu: + focal: [ros-humble-robot-controllers-interface-dbgsym] + jammy: [ros-humble-robot-controllers-interface-dbgsym] +robot_controllers_msgs: + ubuntu: + focal: [ros-humble-robot-controllers-msgs] + jammy: [ros-humble-robot-controllers-msgs] +robot_controllers_msgs_dbgsym: + ubuntu: + focal: [ros-humble-robot-controllers-msgs-dbgsym] + jammy: [ros-humble-robot-controllers-msgs-dbgsym] +robot_localization: + ubuntu: + focal: [ros-humble-robot-localization] + jammy: [ros-humble-robot-localization] +robot_localization_dbgsym: + ubuntu: + focal: [ros-humble-robot-localization-dbgsym] + jammy: [ros-humble-robot-localization-dbgsym] +robot_state_publisher: + ubuntu: + focal: [ros-humble-robot-state-publisher] + jammy: [ros-humble-robot-state-publisher] +robot_state_publisher_dbgsym: + ubuntu: + focal: [ros-humble-robot-state-publisher-dbgsym] + jammy: [ros-humble-robot-state-publisher-dbgsym] +robot_upstart: + ubuntu: + focal: [ros-humble-robot-upstart] + jammy: [ros-humble-robot-upstart] +robotiq_controllers: + ubuntu: + focal: [ros-humble-robotiq-controllers] + jammy: [ros-humble-robotiq-controllers] +robotiq_controllers_dbgsym: + ubuntu: + focal: [ros-humble-robotiq-controllers-dbgsym] + jammy: [ros-humble-robotiq-controllers-dbgsym] +robotiq_description: + ubuntu: + focal: [ros-humble-robotiq-description] + jammy: [ros-humble-robotiq-description] +robotraconteur: + ubuntu: + focal: [ros-humble-robotraconteur] + jammy: [ros-humble-robotraconteur] +robotraconteur_dbgsym: + ubuntu: + focal: [ros-humble-robotraconteur-dbgsym] + jammy: [ros-humble-robotraconteur-dbgsym] +ros2_benchmark: + ubuntu: + focal: [ros-humble-ros2-benchmark] + jammy: [ros-humble-ros2-benchmark] +ros2_benchmark_interfaces: + ubuntu: + focal: [ros-humble-ros2-benchmark-interfaces] + jammy: [ros-humble-ros2-benchmark-interfaces] +ros2_benchmark_msgs: + ubuntu: + focal: [ros-noetic-ros2-benchmark-msgs] + jammy: [ros-noetic-ros2-benchmark-msgs] +ros2_control: + ubuntu: + focal: [ros-humble-ros2-control] + jammy: [ros-humble-ros2-control] +ros2_control_test_assets: + ubuntu: + focal: [ros-humble-ros2-control-test-assets] + jammy: [ros-humble-ros2-control-test-assets] +ros2_controllers: + ubuntu: + focal: [ros-humble-ros2-controllers] + jammy: [ros-humble-ros2-controllers] +ros2_controllers_test_nodes: + ubuntu: + focal: [ros-humble-ros2-controllers-test-nodes] + jammy: [ros-humble-ros2-controllers-test-nodes] +ros2_h264_encoder: + ubuntu: + focal: [ros-humble-ros2-h264-encoder] + jammy: [ros-humble-ros2-h264-encoder] +ros2_socketcan: + ubuntu: + focal: [ros-humble-ros2-socketcan] + jammy: [ros-humble-ros2-socketcan] +ros2_socketcan_dbgsym: + ubuntu: + focal: [ros-humble-ros2-socketcan-dbgsym] + jammy: [ros-humble-ros2-socketcan-dbgsym] +ros2acceleration: + ubuntu: + focal: [ros-humble-ros2acceleration] + jammy: [ros-humble-ros2acceleration] +ros2action: + ubuntu: + focal: [ros-humble-ros2action] + jammy: [ros-humble-ros2action] +ros2bag: + ubuntu: + focal: [ros-humble-ros2bag] + jammy: [ros-humble-ros2bag] +ros2bag_tools: + ubuntu: + focal: [ros-humble-ros2bag-tools] + jammy: [ros-humble-ros2bag-tools] +ros2cli: + ubuntu: + focal: [ros-humble-ros2cli] + jammy: [ros-humble-ros2cli] +ros2cli_common_extensions: + ubuntu: + focal: [ros-humble-ros2cli-common-extensions] + jammy: [ros-humble-ros2cli-common-extensions] +ros2cli_test_interfaces: + ubuntu: + focal: [ros-humble-ros2cli-test-interfaces] + jammy: [ros-humble-ros2cli-test-interfaces] +ros2cli_test_interfaces_dbgsym: + ubuntu: + focal: [ros-humble-ros2cli-test-interfaces-dbgsym] + jammy: [ros-humble-ros2cli-test-interfaces-dbgsym] +ros2component: + ubuntu: + focal: [ros-humble-ros2component] + jammy: [ros-humble-ros2component] +ros2controlcli: + ubuntu: + focal: [ros-humble-ros2controlcli] + jammy: [ros-humble-ros2controlcli] +ros2doctor: + ubuntu: + focal: [ros-humble-ros2doctor] + jammy: [ros-humble-ros2doctor] +ros2interface: + ubuntu: + focal: [ros-humble-ros2interface] + jammy: [ros-humble-ros2interface] +ros2launch: + ubuntu: + focal: [ros-humble-ros2launch] + jammy: [ros-humble-ros2launch] +ros2launch_security: + ubuntu: + focal: [ros-humble-ros2launch-security] + jammy: [ros-humble-ros2launch-security] +ros2launch_security_examples: + ubuntu: + focal: [ros-humble-ros2launch-security-examples] + jammy: [ros-humble-ros2launch-security-examples] +ros2launch_security_examples_dbgsym: + ubuntu: + focal: [ros-humble-ros2launch-security-examples-dbgsym] + jammy: [ros-humble-ros2launch-security-examples-dbgsym] +ros2lifecycle: + ubuntu: + focal: [ros-humble-ros2lifecycle] + jammy: [ros-humble-ros2lifecycle] +ros2lifecycle_test_fixtures: + ubuntu: + focal: [ros-humble-ros2lifecycle-test-fixtures] + jammy: [ros-humble-ros2lifecycle-test-fixtures] +ros2lifecycle_test_fixtures_dbgsym: + ubuntu: + focal: [ros-humble-ros2lifecycle-test-fixtures-dbgsym] + jammy: [ros-humble-ros2lifecycle-test-fixtures-dbgsym] +ros2multicast: + ubuntu: + focal: [ros-humble-ros2multicast] + jammy: [ros-humble-ros2multicast] +ros2node: + ubuntu: + focal: [ros-humble-ros2node] + jammy: [ros-humble-ros2node] +ros2nodl: + ubuntu: + focal: [ros-humble-ros2nodl] + jammy: [ros-humble-ros2nodl] +ros2param: + ubuntu: + focal: [ros-humble-ros2param] + jammy: [ros-humble-ros2param] +ros2pkg: + ubuntu: + focal: [ros-humble-ros2pkg] + jammy: [ros-humble-ros2pkg] +ros2run: + ubuntu: + focal: [ros-humble-ros2run] + jammy: [ros-humble-ros2run] +ros2service: + ubuntu: + focal: [ros-humble-ros2service] + jammy: [ros-humble-ros2service] +ros2test: + ubuntu: + focal: [ros-humble-ros2test] + jammy: [ros-humble-ros2test] +ros2topic: + ubuntu: + focal: [ros-humble-ros2topic] + jammy: [ros-humble-ros2topic] +ros2trace: + ubuntu: + focal: [ros-humble-ros2trace] + jammy: [ros-humble-ros2trace] +ros2trace_analysis: + ubuntu: + focal: [ros-humble-ros2trace-analysis] + jammy: [ros-humble-ros2trace-analysis] +ros_base: + ubuntu: + focal: [ros-humble-ros-base] + jammy: [ros-humble-ros-base] +ros_core: + ubuntu: + focal: [ros-humble-ros-core] + jammy: [ros-humble-ros-core] +ros_environment: + ubuntu: + focal: [ros-humble-ros-environment] + jammy: [ros-humble-ros-environment] +ros_gz: + ubuntu: + focal: [ros-humble-ros-gz] + jammy: [ros-humble-ros-gz] +ros_gz_bridge: + ubuntu: + focal: [ros-humble-ros-gz-bridge] + jammy: [ros-humble-ros-gz-bridge] +ros_gz_bridge_dbgsym: + ubuntu: + focal: [ros-humble-ros-gz-bridge-dbgsym] + jammy: [ros-humble-ros-gz-bridge-dbgsym] +ros_gz_image: + ubuntu: + focal: [ros-humble-ros-gz-image] + jammy: [ros-humble-ros-gz-image] +ros_gz_image_dbgsym: + ubuntu: + focal: [ros-humble-ros-gz-image-dbgsym] + jammy: [ros-humble-ros-gz-image-dbgsym] +ros_gz_interfaces: + ubuntu: + focal: [ros-humble-ros-gz-interfaces] + jammy: [ros-humble-ros-gz-interfaces] +ros_gz_interfaces_dbgsym: + ubuntu: + focal: [ros-humble-ros-gz-interfaces-dbgsym] + jammy: [ros-humble-ros-gz-interfaces-dbgsym] +ros_gz_sim: + ubuntu: + focal: [ros-humble-ros-gz-sim] + jammy: [ros-humble-ros-gz-sim] +ros_gz_sim_dbgsym: + ubuntu: + focal: [ros-humble-ros-gz-sim-dbgsym] + jammy: [ros-humble-ros-gz-sim-dbgsym] +ros_gz_sim_demos: + ubuntu: + focal: [ros-humble-ros-gz-sim-demos] + jammy: [ros-humble-ros-gz-sim-demos] +ros_ign: + ubuntu: + focal: [ros-humble-ros-ign] + jammy: [ros-humble-ros-ign] +ros_ign_bridge: + ubuntu: + focal: [ros-humble-ros-ign-bridge] + jammy: [ros-humble-ros-ign-bridge] +ros_ign_bridge_dbgsym: + ubuntu: + focal: [ros-humble-ros-ign-bridge-dbgsym] + jammy: [ros-humble-ros-ign-bridge-dbgsym] +ros_ign_gazebo: + ubuntu: + focal: [ros-humble-ros-ign-gazebo] + jammy: [ros-humble-ros-ign-gazebo] +ros_ign_gazebo_dbgsym: + ubuntu: + focal: [ros-humble-ros-ign-gazebo-dbgsym] + jammy: [ros-humble-ros-ign-gazebo-dbgsym] +ros_ign_gazebo_demos: + ubuntu: + focal: [ros-humble-ros-ign-gazebo-demos] + jammy: [ros-humble-ros-ign-gazebo-demos] +ros_ign_image: + ubuntu: + focal: [ros-humble-ros-ign-image] + jammy: [ros-humble-ros-ign-image] +ros_ign_image_dbgsym: + ubuntu: + focal: [ros-humble-ros-ign-image-dbgsym] + jammy: [ros-humble-ros-ign-image-dbgsym] +ros_ign_interfaces: + ubuntu: + focal: [ros-humble-ros-ign-interfaces] + jammy: [ros-humble-ros-ign-interfaces] +ros_ign_interfaces_dbgsym: + ubuntu: + focal: [ros-humble-ros-ign-interfaces-dbgsym] + jammy: [ros-humble-ros-ign-interfaces-dbgsym] +ros_image_to_qimage: + ubuntu: + focal: [ros-humble-ros-image-to-qimage] + jammy: [ros-humble-ros-image-to-qimage] +ros_industrial_cmake_boilerplate: + ubuntu: + focal: [ros-humble-ros-industrial-cmake-boilerplate] + jammy: [ros-humble-ros-industrial-cmake-boilerplate] +ros_testing: + ubuntu: + focal: [ros-humble-ros-testing] + jammy: [ros-humble-ros-testing] +ros_workspace: + ubuntu: + focal: [ros-humble-ros-workspace] + jammy: [ros-humble-ros-workspace] +rosapi: + ubuntu: + focal: [ros-humble-rosapi] + jammy: [ros-humble-rosapi] +rosapi_msgs: + ubuntu: + focal: [ros-humble-rosapi-msgs] + jammy: [ros-humble-rosapi-msgs] +rosapi_msgs_dbgsym: + ubuntu: + focal: [ros-humble-rosapi-msgs-dbgsym] + jammy: [ros-humble-rosapi-msgs-dbgsym] +rosbag2: + ubuntu: + focal: [ros-humble-rosbag2] + jammy: [ros-humble-rosbag2] +rosbag2_compression: + ubuntu: + focal: [ros-humble-rosbag2-compression] + jammy: [ros-humble-rosbag2-compression] +rosbag2_compression_dbgsym: + ubuntu: + focal: [ros-humble-rosbag2-compression-dbgsym] + jammy: [ros-humble-rosbag2-compression-dbgsym] +rosbag2_compression_zstd: + ubuntu: + focal: [ros-humble-rosbag2-compression-zstd] + jammy: [ros-humble-rosbag2-compression-zstd] +rosbag2_compression_zstd_dbgsym: + ubuntu: + focal: [ros-humble-rosbag2-compression-zstd-dbgsym] + jammy: [ros-humble-rosbag2-compression-zstd-dbgsym] +rosbag2_cpp: + ubuntu: + focal: [ros-humble-rosbag2-cpp] + jammy: [ros-humble-rosbag2-cpp] +rosbag2_cpp_dbgsym: + ubuntu: + focal: [ros-humble-rosbag2-cpp-dbgsym] + jammy: [ros-humble-rosbag2-cpp-dbgsym] +rosbag2_interfaces: + ubuntu: + focal: [ros-humble-rosbag2-interfaces] + jammy: [ros-humble-rosbag2-interfaces] +rosbag2_interfaces_dbgsym: + ubuntu: + focal: [ros-humble-rosbag2-interfaces-dbgsym] + jammy: [ros-humble-rosbag2-interfaces-dbgsym] +rosbag2_performance_benchmarking: + ubuntu: + focal: [ros-humble-rosbag2-performance-benchmarking] + jammy: [ros-humble-rosbag2-performance-benchmarking] +rosbag2_py: + ubuntu: + focal: [ros-humble-rosbag2-py] + jammy: [ros-humble-rosbag2-py] +rosbag2_storage: + ubuntu: + focal: [ros-humble-rosbag2-storage] + jammy: [ros-humble-rosbag2-storage] +rosbag2_storage_dbgsym: + ubuntu: + focal: [ros-humble-rosbag2-storage-dbgsym] + jammy: [ros-humble-rosbag2-storage-dbgsym] +rosbag2_storage_default_plugins: + ubuntu: + focal: [ros-humble-rosbag2-storage-default-plugins] + jammy: [ros-humble-rosbag2-storage-default-plugins] +rosbag2_storage_default_plugins_dbgsym: + ubuntu: + focal: [ros-humble-rosbag2-storage-default-plugins-dbgsym] + jammy: [ros-humble-rosbag2-storage-default-plugins-dbgsym] +rosbag2_storage_mcap: + ubuntu: + focal: [ros-humble-rosbag2-storage-mcap] + jammy: [ros-humble-rosbag2-storage-mcap] +rosbag2_storage_mcap_dbgsym: + ubuntu: + focal: [ros-humble-rosbag2-storage-mcap-dbgsym] + jammy: [ros-humble-rosbag2-storage-mcap-dbgsym] +rosbag2_storage_mcap_testdata: + ubuntu: + focal: [ros-humble-rosbag2-storage-mcap-testdata] + jammy: [ros-humble-rosbag2-storage-mcap-testdata] +rosbag2_storage_mcap_testdata_dbgsym: + ubuntu: + focal: [ros-humble-rosbag2-storage-mcap-testdata-dbgsym] + jammy: [ros-humble-rosbag2-storage-mcap-testdata-dbgsym] +rosbag2_test_common: + ubuntu: + focal: [ros-humble-rosbag2-test-common] + jammy: [ros-humble-rosbag2-test-common] +rosbag2_tests: + ubuntu: + focal: [ros-humble-rosbag2-tests] + jammy: [ros-humble-rosbag2-tests] +rosbag2_tools: + ubuntu: + focal: [ros-humble-rosbag2-tools] + jammy: [ros-humble-rosbag2-tools] +rosbag2_transport: + ubuntu: + focal: [ros-humble-rosbag2-transport] + jammy: [ros-humble-rosbag2-transport] +rosbag2_transport_dbgsym: + ubuntu: + focal: [ros-humble-rosbag2-transport-dbgsym] + jammy: [ros-humble-rosbag2-transport-dbgsym] +rosbridge_library: + ubuntu: + focal: [ros-humble-rosbridge-library] + jammy: [ros-humble-rosbridge-library] +rosbridge_msgs: + ubuntu: + focal: [ros-humble-rosbridge-msgs] + jammy: [ros-humble-rosbridge-msgs] +rosbridge_msgs_dbgsym: + ubuntu: + focal: [ros-humble-rosbridge-msgs-dbgsym] + jammy: [ros-humble-rosbridge-msgs-dbgsym] +rosbridge_server: + ubuntu: + focal: [ros-humble-rosbridge-server] + jammy: [ros-humble-rosbridge-server] +rosbridge_suite: + ubuntu: + focal: [ros-humble-rosbridge-suite] + jammy: [ros-humble-rosbridge-suite] +rosbridge_test_msgs: + ubuntu: + focal: [ros-humble-rosbridge-test-msgs] + jammy: [ros-humble-rosbridge-test-msgs] +rosbridge_test_msgs_dbgsym: + ubuntu: + focal: [ros-humble-rosbridge-test-msgs-dbgsym] + jammy: [ros-humble-rosbridge-test-msgs-dbgsym] +roscpp: + ubuntu: + focal: [ros-noetic-roscpp] + jammy: [ros-noetic-roscpp] +rosgraph_msgs: + ubuntu: + focal: [ros-humble-rosgraph-msgs] + jammy: [ros-humble-rosgraph-msgs] +rosgraph_msgs_dbgsym: + ubuntu: + focal: [ros-humble-rosgraph-msgs-dbgsym] + jammy: [ros-humble-rosgraph-msgs-dbgsym] +rosidl_adapter: + ubuntu: + focal: [ros-humble-rosidl-adapter] + jammy: [ros-humble-rosidl-adapter] +rosidl_cli: + ubuntu: + focal: [ros-humble-rosidl-cli] + jammy: [ros-humble-rosidl-cli] +rosidl_cmake: + ubuntu: + focal: [ros-humble-rosidl-cmake] + jammy: [ros-humble-rosidl-cmake] +rosidl_default_generators: + ubuntu: + focal: [ros-humble-rosidl-default-generators] + jammy: [ros-humble-rosidl-default-generators] +rosidl_default_runtime: + ubuntu: + focal: [ros-humble-rosidl-default-runtime] + jammy: [ros-humble-rosidl-default-runtime] +rosidl_generator_c: + ubuntu: + focal: [ros-humble-rosidl-generator-c] + jammy: [ros-humble-rosidl-generator-c] +rosidl_generator_cpp: + ubuntu: + focal: [ros-humble-rosidl-generator-cpp] + jammy: [ros-humble-rosidl-generator-cpp] +rosidl_generator_dds_idl: + ubuntu: + focal: [ros-humble-rosidl-generator-dds-idl] + jammy: [ros-humble-rosidl-generator-dds-idl] +rosidl_generator_py: + ubuntu: + focal: [ros-humble-rosidl-generator-py] + jammy: [ros-humble-rosidl-generator-py] +rosidl_parser: + ubuntu: + focal: [ros-humble-rosidl-parser] + jammy: [ros-humble-rosidl-parser] +rosidl_runtime_c: + ubuntu: + focal: [ros-humble-rosidl-runtime-c] + jammy: [ros-humble-rosidl-runtime-c] +rosidl_runtime_c_dbgsym: + ubuntu: + focal: [ros-humble-rosidl-runtime-c-dbgsym] + jammy: [ros-humble-rosidl-runtime-c-dbgsym] +rosidl_runtime_cpp: + ubuntu: + focal: [ros-humble-rosidl-runtime-cpp] + jammy: [ros-humble-rosidl-runtime-cpp] +rosidl_runtime_py: + ubuntu: + focal: [ros-humble-rosidl-runtime-py] + jammy: [ros-humble-rosidl-runtime-py] +rosidl_typesupport_c: + ubuntu: + focal: [ros-humble-rosidl-typesupport-c] + jammy: [ros-humble-rosidl-typesupport-c] +rosidl_typesupport_c_dbgsym: + ubuntu: + focal: [ros-humble-rosidl-typesupport-c-dbgsym] + jammy: [ros-humble-rosidl-typesupport-c-dbgsym] +rosidl_typesupport_cpp: + ubuntu: + focal: [ros-humble-rosidl-typesupport-cpp] + jammy: [ros-humble-rosidl-typesupport-cpp] +rosidl_typesupport_cpp_dbgsym: + ubuntu: + focal: [ros-humble-rosidl-typesupport-cpp-dbgsym] + jammy: [ros-humble-rosidl-typesupport-cpp-dbgsym] +rosidl_typesupport_fastrtps_c: + ubuntu: + focal: [ros-humble-rosidl-typesupport-fastrtps-c] + jammy: [ros-humble-rosidl-typesupport-fastrtps-c] +rosidl_typesupport_fastrtps_c_dbgsym: + ubuntu: + focal: [ros-humble-rosidl-typesupport-fastrtps-c-dbgsym] + jammy: [ros-humble-rosidl-typesupport-fastrtps-c-dbgsym] +rosidl_typesupport_fastrtps_cpp: + ubuntu: + focal: [ros-humble-rosidl-typesupport-fastrtps-cpp] + jammy: [ros-humble-rosidl-typesupport-fastrtps-cpp] +rosidl_typesupport_fastrtps_cpp_dbgsym: + ubuntu: + focal: [ros-humble-rosidl-typesupport-fastrtps-cpp-dbgsym] + jammy: [ros-humble-rosidl-typesupport-fastrtps-cpp-dbgsym] +rosidl_typesupport_interface: + ubuntu: + focal: [ros-humble-rosidl-typesupport-interface] + jammy: [ros-humble-rosidl-typesupport-interface] +rosidl_typesupport_introspection_c: + ubuntu: + focal: [ros-humble-rosidl-typesupport-introspection-c] + jammy: [ros-humble-rosidl-typesupport-introspection-c] +rosidl_typesupport_introspection_c_dbgsym: + ubuntu: + focal: [ros-humble-rosidl-typesupport-introspection-c-dbgsym] + jammy: [ros-humble-rosidl-typesupport-introspection-c-dbgsym] +rosidl_typesupport_introspection_cpp: + ubuntu: + focal: [ros-humble-rosidl-typesupport-introspection-cpp] + jammy: [ros-humble-rosidl-typesupport-introspection-cpp] +rosidl_typesupport_introspection_cpp_dbgsym: + ubuntu: + focal: [ros-humble-rosidl-typesupport-introspection-cpp-dbgsym] + jammy: [ros-humble-rosidl-typesupport-introspection-cpp-dbgsym] +roslib: + ubuntu: + focal: [python3-roslib] + jammy: [python3-roslib] +rosparam_shortcuts: + ubuntu: + focal: [ros-humble-rosparam-shortcuts] + jammy: [ros-humble-rosparam-shortcuts] +rospy: + ubuntu: + focal: [ros-noetic-rospy] + jammy: [ros-noetic-rospy] +rot_conv: + ubuntu: + focal: [ros-humble-rot-conv] + jammy: [ros-humble-rot-conv] +rot_conv_dbgsym: + ubuntu: + focal: [ros-humble-rot-conv-dbgsym] + jammy: [ros-humble-rot-conv-dbgsym] +rplidar_ros: + ubuntu: + focal: [ros-humble-rplidar-ros] + jammy: [ros-humble-rplidar-ros] +rplidar_ros_dbgsym: + ubuntu: + focal: [ros-humble-rplidar-ros-dbgsym] + jammy: [ros-humble-rplidar-ros-dbgsym] +rplidar_s2e_description: + ubuntu: + focal: [ros-humble-rplidar-s2e-description] + jammy: [ros-humble-rplidar-s2e-description] +rpyutils: + ubuntu: + focal: [ros-humble-rpyutils] + jammy: [ros-humble-rpyutils] +rqt: + ubuntu: + focal: [ros-humble-rqt] + jammy: [ros-humble-rqt] +rqt_action: + ubuntu: + focal: [ros-humble-rqt-action] + jammy: [ros-humble-rqt-action] +rqt_bag: + ubuntu: + focal: [ros-humble-rqt-bag] + jammy: [ros-humble-rqt-bag] +rqt_bag_plugins: + ubuntu: + focal: [ros-humble-rqt-bag-plugins] + jammy: [ros-humble-rqt-bag-plugins] +rqt_common_plugins: + ubuntu: + focal: [ros-humble-rqt-common-plugins] + jammy: [ros-humble-rqt-common-plugins] +rqt_console: + ubuntu: + focal: [ros-humble-rqt-console] + jammy: [ros-humble-rqt-console] +rqt_controller_manager: + ubuntu: + focal: [ros-humble-rqt-controller-manager] + jammy: [ros-humble-rqt-controller-manager] +rqt_graph: + ubuntu: + focal: [ros-humble-rqt-graph] + jammy: [ros-humble-rqt-graph] +rqt_gui: + ubuntu: + focal: [ros-humble-rqt-gui] + jammy: [ros-humble-rqt-gui] +rqt_gui_cpp: + ubuntu: + focal: [ros-humble-rqt-gui-cpp] + jammy: [ros-humble-rqt-gui-cpp] +rqt_gui_cpp_dbgsym: + ubuntu: + focal: [ros-humble-rqt-gui-cpp-dbgsym] + jammy: [ros-humble-rqt-gui-cpp-dbgsym] +rqt_gui_py: + ubuntu: + focal: [ros-humble-rqt-gui-py] + jammy: [ros-humble-rqt-gui-py] +rqt_image_overlay: + ubuntu: + focal: [ros-humble-rqt-image-overlay] + jammy: [ros-humble-rqt-image-overlay] +rqt_image_overlay_dbgsym: + ubuntu: + focal: [ros-humble-rqt-image-overlay-dbgsym] + jammy: [ros-humble-rqt-image-overlay-dbgsym] +rqt_image_overlay_layer: + ubuntu: + focal: [ros-humble-rqt-image-overlay-layer] + jammy: [ros-humble-rqt-image-overlay-layer] +rqt_image_view: + ubuntu: + focal: [ros-humble-rqt-image-view] + jammy: [ros-humble-rqt-image-view] +rqt_image_view_dbgsym: + ubuntu: + focal: [ros-humble-rqt-image-view-dbgsym] + jammy: [ros-humble-rqt-image-view-dbgsym] +rqt_joint_trajectory_controller: + ubuntu: + focal: [ros-humble-rqt-joint-trajectory-controller] + jammy: [ros-humble-rqt-joint-trajectory-controller] +rqt_moveit: + ubuntu: + focal: [ros-humble-rqt-moveit] + jammy: [ros-humble-rqt-moveit] +rqt_msg: + ubuntu: + focal: [ros-humble-rqt-msg] + jammy: [ros-humble-rqt-msg] +rqt_plot: + ubuntu: + focal: [ros-humble-rqt-plot] + jammy: [ros-humble-rqt-plot] +rqt_publisher: + ubuntu: + focal: [ros-humble-rqt-publisher] + jammy: [ros-humble-rqt-publisher] +rqt_py_common: + ubuntu: + focal: [ros-humble-rqt-py-common] + jammy: [ros-humble-rqt-py-common] +rqt_py_console: + ubuntu: + focal: [ros-humble-rqt-py-console] + jammy: [ros-humble-rqt-py-console] +rqt_reconfigure: + ubuntu: + focal: [ros-humble-rqt-reconfigure] + jammy: [ros-humble-rqt-reconfigure] +rqt_robot_dashboard: + ubuntu: + focal: [ros-humble-rqt-robot-dashboard] + jammy: [ros-humble-rqt-robot-dashboard] +rqt_robot_monitor: + ubuntu: + focal: [ros-humble-rqt-robot-monitor] + jammy: [ros-humble-rqt-robot-monitor] +rqt_robot_steering: + ubuntu: + focal: [ros-humble-rqt-robot-steering] + jammy: [ros-humble-rqt-robot-steering] +rqt_runtime_monitor: + ubuntu: + focal: [ros-humble-rqt-runtime-monitor] + jammy: [ros-humble-rqt-runtime-monitor] +rqt_service_caller: + ubuntu: + focal: [ros-humble-rqt-service-caller] + jammy: [ros-humble-rqt-service-caller] +rqt_shell: + ubuntu: + focal: [ros-humble-rqt-shell] + jammy: [ros-humble-rqt-shell] +rqt_srv: + ubuntu: + focal: [ros-humble-rqt-srv] + jammy: [ros-humble-rqt-srv] +rqt_tf_tree: + ubuntu: + focal: [ros-humble-rqt-tf-tree] + jammy: [ros-humble-rqt-tf-tree] +rqt_topic: + ubuntu: + focal: [ros-humble-rqt-topic] + jammy: [ros-humble-rqt-topic] +rsl: + ubuntu: + focal: [ros-humble-rsl] + jammy: [ros-humble-rsl] +rsl_dbgsym: + ubuntu: + focal: [ros-humble-rsl-dbgsym] + jammy: [ros-humble-rsl-dbgsym] +rt_manipulators_cpp: + ubuntu: + focal: [ros-humble-rt-manipulators-cpp] + jammy: [ros-humble-rt-manipulators-cpp] +rt_manipulators_cpp_dbgsym: + ubuntu: + focal: [ros-humble-rt-manipulators-cpp-dbgsym] + jammy: [ros-humble-rt-manipulators-cpp-dbgsym] +rt_manipulators_examples: + ubuntu: + focal: [ros-humble-rt-manipulators-examples] + jammy: [ros-humble-rt-manipulators-examples] +rt_manipulators_examples_dbgsym: + ubuntu: + focal: [ros-humble-rt-manipulators-examples-dbgsym] + jammy: [ros-humble-rt-manipulators-examples-dbgsym] +rt_usb_9axisimu_driver: + ubuntu: + focal: [ros-humble-rt-usb-9axisimu-driver] + jammy: [ros-humble-rt-usb-9axisimu-driver] +rt_usb_9axisimu_driver_dbgsym: + ubuntu: + focal: [ros-humble-rt-usb-9axisimu-driver-dbgsym] + jammy: [ros-humble-rt-usb-9axisimu-driver-dbgsym] +rtabmap: + ubuntu: + focal: [ros-humble-rtabmap] + jammy: [ros-humble-rtabmap] +rtabmap_conversions: + ubuntu: + focal: [ros-humble-rtabmap-conversions] + jammy: [ros-humble-rtabmap-conversions] +rtabmap_conversions_dbgsym: + ubuntu: + focal: [ros-humble-rtabmap-conversions-dbgsym] + jammy: [ros-humble-rtabmap-conversions-dbgsym] +rtabmap_dbgsym: + ubuntu: + focal: [ros-humble-rtabmap-dbgsym] + jammy: [ros-humble-rtabmap-dbgsym] +rtabmap_demos: + ubuntu: + focal: [ros-humble-rtabmap-demos] + jammy: [ros-humble-rtabmap-demos] +rtabmap_examples: + ubuntu: + focal: [ros-humble-rtabmap-examples] + jammy: [ros-humble-rtabmap-examples] +rtabmap_launch: + ubuntu: + focal: [ros-humble-rtabmap-launch] + jammy: [ros-humble-rtabmap-launch] +rtabmap_msgs: + ubuntu: + focal: [ros-humble-rtabmap-msgs] + jammy: [ros-humble-rtabmap-msgs] +rtabmap_msgs_dbgsym: + ubuntu: + focal: [ros-humble-rtabmap-msgs-dbgsym] + jammy: [ros-humble-rtabmap-msgs-dbgsym] +rtabmap_odom: + ubuntu: + focal: [ros-humble-rtabmap-odom] + jammy: [ros-humble-rtabmap-odom] +rtabmap_odom_dbgsym: + ubuntu: + focal: [ros-humble-rtabmap-odom-dbgsym] + jammy: [ros-humble-rtabmap-odom-dbgsym] +rtabmap_python: + ubuntu: + focal: [ros-humble-rtabmap-python] + jammy: [ros-humble-rtabmap-python] +rtabmap_ros: + ubuntu: + focal: [ros-humble-rtabmap-ros] + jammy: [ros-humble-rtabmap-ros] +rtabmap_rviz_plugins: + ubuntu: + focal: [ros-humble-rtabmap-rviz-plugins] + jammy: [ros-humble-rtabmap-rviz-plugins] +rtabmap_rviz_plugins_dbgsym: + ubuntu: + focal: [ros-humble-rtabmap-rviz-plugins-dbgsym] + jammy: [ros-humble-rtabmap-rviz-plugins-dbgsym] +rtabmap_slam: + ubuntu: + focal: [ros-humble-rtabmap-slam] + jammy: [ros-humble-rtabmap-slam] +rtabmap_slam_dbgsym: + ubuntu: + focal: [ros-humble-rtabmap-slam-dbgsym] + jammy: [ros-humble-rtabmap-slam-dbgsym] +rtabmap_sync: + ubuntu: + focal: [ros-humble-rtabmap-sync] + jammy: [ros-humble-rtabmap-sync] +rtabmap_sync_dbgsym: + ubuntu: + focal: [ros-humble-rtabmap-sync-dbgsym] + jammy: [ros-humble-rtabmap-sync-dbgsym] +rtabmap_util: + ubuntu: + focal: [ros-humble-rtabmap-util] + jammy: [ros-humble-rtabmap-util] +rtabmap_util_dbgsym: + ubuntu: + focal: [ros-humble-rtabmap-util-dbgsym] + jammy: [ros-humble-rtabmap-util-dbgsym] +rtabmap_viz: + ubuntu: + focal: [ros-humble-rtabmap-viz] + jammy: [ros-humble-rtabmap-viz] +rtabmap_viz_dbgsym: + ubuntu: + focal: [ros-humble-rtabmap-viz-dbgsym] + jammy: [ros-humble-rtabmap-viz-dbgsym] +rtcm_msgs: + ubuntu: + focal: [ros-humble-rtcm-msgs] + jammy: [ros-humble-rtcm-msgs] +rtcm_msgs_dbgsym: + ubuntu: + focal: [ros-humble-rtcm-msgs-dbgsym] + jammy: [ros-humble-rtcm-msgs-dbgsym] +rti_connext_dds_cmake_module: + ubuntu: + focal: [ros-humble-rti-connext-dds-cmake-module] + jammy: [ros-humble-rti-connext-dds-cmake-module] +rttest: + ubuntu: + focal: [ros-humble-rttest] + jammy: [ros-humble-rttest] +rttest_dbgsym: + ubuntu: + focal: [ros-humble-rttest-dbgsym] + jammy: [ros-humble-rttest-dbgsym] +ruckig: + ubuntu: + focal: [ros-humble-ruckig] + jammy: [ros-humble-ruckig] +ruckig_dbgsym: + ubuntu: + focal: [ros-humble-ruckig-dbgsym] + jammy: [ros-humble-ruckig-dbgsym] +rviz2: + ubuntu: + focal: [ros-humble-rviz2] + jammy: [ros-humble-rviz2] +rviz2_dbgsym: + ubuntu: + focal: [ros-humble-rviz2-dbgsym] + jammy: [ros-humble-rviz2-dbgsym] +rviz_2d_overlay_msgs: + ubuntu: + focal: [ros-humble-rviz-2d-overlay-msgs] + jammy: [ros-humble-rviz-2d-overlay-msgs] +rviz_2d_overlay_msgs_dbgsym: + ubuntu: + focal: [ros-humble-rviz-2d-overlay-msgs-dbgsym] + jammy: [ros-humble-rviz-2d-overlay-msgs-dbgsym] +rviz_2d_overlay_plugins: + ubuntu: + focal: [ros-humble-rviz-2d-overlay-plugins] + jammy: [ros-humble-rviz-2d-overlay-plugins] +rviz_2d_overlay_plugins_dbgsym: + ubuntu: + focal: [ros-humble-rviz-2d-overlay-plugins-dbgsym] + jammy: [ros-humble-rviz-2d-overlay-plugins-dbgsym] +rviz_assimp_vendor: + ubuntu: + focal: [ros-humble-rviz-assimp-vendor] + jammy: [ros-humble-rviz-assimp-vendor] +rviz_common: + ubuntu: + focal: [ros-humble-rviz-common] + jammy: [ros-humble-rviz-common] +rviz_common_dbgsym: + ubuntu: + focal: [ros-humble-rviz-common-dbgsym] + jammy: [ros-humble-rviz-common-dbgsym] +rviz_default_plugins: + ubuntu: + focal: [ros-humble-rviz-default-plugins] + jammy: [ros-humble-rviz-default-plugins] +rviz_default_plugins_dbgsym: + ubuntu: + focal: [ros-humble-rviz-default-plugins-dbgsym] + jammy: [ros-humble-rviz-default-plugins-dbgsym] +rviz_imu_plugin: + ubuntu: + focal: [ros-humble-rviz-imu-plugin] + jammy: [ros-humble-rviz-imu-plugin] +rviz_imu_plugin_dbgsym: + ubuntu: + focal: [ros-humble-rviz-imu-plugin-dbgsym] + jammy: [ros-humble-rviz-imu-plugin-dbgsym] +rviz_marker_tools: + ubuntu: + focal: [ros-humble-rviz-marker-tools] + jammy: [ros-humble-rviz-marker-tools] +rviz_ogre_vendor: + ubuntu: + focal: [ros-humble-rviz-ogre-vendor] + jammy: [ros-humble-rviz-ogre-vendor] +rviz_ogre_vendor_dbgsym: + ubuntu: + focal: [ros-humble-rviz-ogre-vendor-dbgsym] + jammy: [ros-humble-rviz-ogre-vendor-dbgsym] +rviz_rendering: + ubuntu: + focal: [ros-humble-rviz-rendering] + jammy: [ros-humble-rviz-rendering] +rviz_rendering_dbgsym: + ubuntu: + focal: [ros-humble-rviz-rendering-dbgsym] + jammy: [ros-humble-rviz-rendering-dbgsym] +rviz_rendering_tests: + ubuntu: + focal: [ros-humble-rviz-rendering-tests] + jammy: [ros-humble-rviz-rendering-tests] +rviz_satellite: + ubuntu: + focal: [ros-humble-rviz-satellite] + jammy: [ros-humble-rviz-satellite] +rviz_satellite_dbgsym: + ubuntu: + focal: [ros-humble-rviz-satellite-dbgsym] + jammy: [ros-humble-rviz-satellite-dbgsym] +rviz_visual_testing_framework: + ubuntu: + focal: [ros-humble-rviz-visual-testing-framework] + jammy: [ros-humble-rviz-visual-testing-framework] +rviz_visual_tools: + ubuntu: + focal: [ros-humble-rviz-visual-tools] + jammy: [ros-humble-rviz-visual-tools] +rviz_visual_tools_dbgsym: + ubuntu: + focal: [ros-humble-rviz-visual-tools-dbgsym] + jammy: [ros-humble-rviz-visual-tools-dbgsym] +schunk_svh_description: + ubuntu: + focal: [ros-humble-schunk-svh-description] + jammy: [ros-humble-schunk-svh-description] +schunk_svh_driver: + ubuntu: + focal: [ros-humble-schunk-svh-driver] + jammy: [ros-humble-schunk-svh-driver] +schunk_svh_driver_dbgsym: + ubuntu: + focal: [ros-humble-schunk-svh-driver-dbgsym] + jammy: [ros-humble-schunk-svh-driver-dbgsym] +schunk_svh_library: + ubuntu: + focal: [ros-humble-schunk-svh-library] + jammy: [ros-humble-schunk-svh-library] +schunk_svh_library_dbgsym: + ubuntu: + focal: [ros-humble-schunk-svh-library-dbgsym] + jammy: [ros-humble-schunk-svh-library-dbgsym] +schunk_svh_tests: + ubuntu: + focal: [ros-humble-schunk-svh-tests] + jammy: [ros-humble-schunk-svh-tests] +sdformat_test_files: + ubuntu: + focal: [ros-humble-sdformat-test-files] + jammy: [ros-humble-sdformat-test-files] +sdformat_urdf: + ubuntu: + focal: [ros-humble-sdformat-urdf] + jammy: [ros-humble-sdformat-urdf] +sdformat_urdf_dbgsym: + ubuntu: + focal: [ros-humble-sdformat-urdf-dbgsym] + jammy: [ros-humble-sdformat-urdf-dbgsym] +sdl2_vendor: + ubuntu: + focal: [ros-humble-sdl2-vendor] + jammy: [ros-humble-sdl2-vendor] +self_test: + ubuntu: + focal: [ros-humble-self-test] + jammy: [ros-humble-self-test] +self_test_dbgsym: + ubuntu: + focal: [ros-humble-self-test-dbgsym] + jammy: [ros-humble-self-test-dbgsym] +semantic_label_conversion: + ubuntu: + focal: [ros-humble-semantic-label-conversion] + jammy: [ros-humble-semantic-label-conversion] +sensor_msgs: + ubuntu: + focal: [ros-humble-sensor-msgs] + jammy: [ros-humble-sensor-msgs] +sensor_msgs_dbgsym: + ubuntu: + focal: [ros-humble-sensor-msgs-dbgsym] + jammy: [ros-humble-sensor-msgs-dbgsym] +sensor_msgs_py: + ubuntu: + focal: [ros-humble-sensor-msgs-py] + jammy: [ros-humble-sensor-msgs-py] +septentrio_gnss_driver: + ubuntu: + focal: [ros-humble-septentrio-gnss-driver] + jammy: [ros-humble-septentrio-gnss-driver] +septentrio_gnss_driver_dbgsym: + ubuntu: + focal: [ros-humble-septentrio-gnss-driver-dbgsym] + jammy: [ros-humble-septentrio-gnss-driver-dbgsym] +serial_driver: + ubuntu: + focal: [ros-humble-serial-driver] + jammy: [ros-humble-serial-driver] +serial_driver_dbgsym: + ubuntu: + focal: [ros-humble-serial-driver-dbgsym] + jammy: [ros-humble-serial-driver-dbgsym] +shape_msgs: + ubuntu: + focal: [ros-humble-shape-msgs] + jammy: [ros-humble-shape-msgs] +shape_msgs_dbgsym: + ubuntu: + focal: [ros-humble-shape-msgs-dbgsym] + jammy: [ros-humble-shape-msgs-dbgsym] +shared_queues_vendor: + ubuntu: + focal: [ros-humble-shared-queues-vendor] + jammy: [ros-humble-shared-queues-vendor] +sick_safetyscanners2: + ubuntu: + focal: [ros-humble-sick-safetyscanners2] + jammy: [ros-humble-sick-safetyscanners2] +sick_safetyscanners2_dbgsym: + ubuntu: + focal: [ros-humble-sick-safetyscanners2-dbgsym] + jammy: [ros-humble-sick-safetyscanners2-dbgsym] +sick_safetyscanners2_interfaces: + ubuntu: + focal: [ros-humble-sick-safetyscanners2-interfaces] + jammy: [ros-humble-sick-safetyscanners2-interfaces] +sick_safetyscanners2_interfaces_dbgsym: + ubuntu: + focal: [ros-humble-sick-safetyscanners2-interfaces-dbgsym] + jammy: [ros-humble-sick-safetyscanners2-interfaces-dbgsym] +sick_safetyscanners_base: + ubuntu: + focal: [ros-humble-sick-safetyscanners-base] + jammy: [ros-humble-sick-safetyscanners-base] +sick_safetyscanners_base_dbgsym: + ubuntu: + focal: [ros-humble-sick-safetyscanners-base-dbgsym] + jammy: [ros-humble-sick-safetyscanners-base-dbgsym] +simple_actions: + ubuntu: + focal: [ros-humble-simple-actions] + jammy: [ros-humble-simple-actions] +simple_actions_dbgsym: + ubuntu: + focal: [ros-humble-simple-actions-dbgsym] + jammy: [ros-humble-simple-actions-dbgsym] +simple_launch: + ubuntu: + focal: [ros-humble-simple-launch] + jammy: [ros-humble-simple-launch] +simple_term_menu_vendor: + ubuntu: + focal: [ros-humble-simple-term-menu-vendor] + jammy: [ros-humble-simple-term-menu-vendor] +simulation: + ubuntu: + focal: [ros-humble-simulation] + jammy: [ros-humble-simulation] +slam_toolbox: + ubuntu: + focal: [ros-humble-slam-toolbox] + jammy: [ros-humble-slam-toolbox] +slam_toolbox_dbgsym: + ubuntu: + focal: [ros-humble-slam-toolbox-dbgsym] + jammy: [ros-humble-slam-toolbox-dbgsym] +slider_publisher: + ubuntu: + focal: [ros-humble-slider-publisher] + jammy: [ros-humble-slider-publisher] +sllidar_ros2: + ubuntu: + focal: [ros-humble-sllidar-ros2] + jammy: [ros-humble-sllidar-ros2] +smacc2: + ubuntu: + focal: [ros-humble-smacc2] + jammy: [ros-humble-smacc2] +smacc2_dbgsym: + ubuntu: + focal: [ros-humble-smacc2-dbgsym] + jammy: [ros-humble-smacc2-dbgsym] +smacc2_msgs: + ubuntu: + focal: [ros-humble-smacc2-msgs] + jammy: [ros-humble-smacc2-msgs] +smacc2_msgs_dbgsym: + ubuntu: + focal: [ros-humble-smacc2-msgs-dbgsym] + jammy: [ros-humble-smacc2-msgs-dbgsym] +smach: + ubuntu: + focal: [ros-humble-smach] + jammy: [ros-humble-smach] +smach_msgs: + ubuntu: + focal: [ros-humble-smach-msgs] + jammy: [ros-humble-smach-msgs] +smach_msgs_dbgsym: + ubuntu: + focal: [ros-humble-smach-msgs-dbgsym] + jammy: [ros-humble-smach-msgs-dbgsym] +smach_ros: + ubuntu: + focal: [ros-humble-smach-ros] + jammy: [ros-humble-smach-ros] +smclib: + ubuntu: + focal: [ros-humble-smclib] + jammy: [ros-humble-smclib] +snowbot_operating_system: + ubuntu: + focal: [ros-humble-snowbot-operating-system] + jammy: [ros-humble-snowbot-operating-system] +snowbot_operating_system_dbgsym: + ubuntu: + focal: [ros-humble-snowbot-operating-system-dbgsym] + jammy: [ros-humble-snowbot-operating-system-dbgsym] +soccer_interfaces: + ubuntu: + focal: [ros-humble-soccer-interfaces] + jammy: [ros-humble-soccer-interfaces] +soccer_marker_generation: + ubuntu: + focal: [ros-humble-soccer-marker-generation] + jammy: [ros-humble-soccer-marker-generation] +soccer_marker_generation_dbgsym: + ubuntu: + focal: [ros-humble-soccer-marker-generation-dbgsym] + jammy: [ros-humble-soccer-marker-generation-dbgsym] +soccer_object_msgs: + ubuntu: + focal: [ros-humble-soccer-object-msgs] + jammy: [ros-humble-soccer-object-msgs] +soccer_object_msgs_dbgsym: + ubuntu: + focal: [ros-humble-soccer-object-msgs-dbgsym] + jammy: [ros-humble-soccer-object-msgs-dbgsym] +soccer_vision_2d_msgs: + ubuntu: + focal: [ros-humble-soccer-vision-2d-msgs] + jammy: [ros-humble-soccer-vision-2d-msgs] +soccer_vision_2d_msgs_dbgsym: + ubuntu: + focal: [ros-humble-soccer-vision-2d-msgs-dbgsym] + jammy: [ros-humble-soccer-vision-2d-msgs-dbgsym] +soccer_vision_3d_msgs: + ubuntu: + focal: [ros-humble-soccer-vision-3d-msgs] + jammy: [ros-humble-soccer-vision-3d-msgs] +soccer_vision_3d_msgs_dbgsym: + ubuntu: + focal: [ros-humble-soccer-vision-3d-msgs-dbgsym] + jammy: [ros-humble-soccer-vision-3d-msgs-dbgsym] +soccer_vision_attribute_msgs: + ubuntu: + focal: [ros-humble-soccer-vision-attribute-msgs] + jammy: [ros-humble-soccer-vision-attribute-msgs] +soccer_vision_attribute_msgs_dbgsym: + ubuntu: + focal: [ros-humble-soccer-vision-attribute-msgs-dbgsym] + jammy: [ros-humble-soccer-vision-attribute-msgs-dbgsym] +social_nav_msgs: + ubuntu: + focal: [ros-humble-social-nav-msgs] + jammy: [ros-humble-social-nav-msgs] +social_nav_msgs_dbgsym: + ubuntu: + focal: [ros-humble-social-nav-msgs-dbgsym] + jammy: [ros-humble-social-nav-msgs-dbgsym] +social_nav_util: + ubuntu: + focal: [ros-humble-social-nav-util] + jammy: [ros-humble-social-nav-util] +sol_vendor: + ubuntu: + focal: [ros-humble-sol-vendor] + jammy: [ros-humble-sol-vendor] +sophus: + ubuntu: + focal: [ros-humble-sophus] + jammy: [ros-humble-sophus] +spacenav: + ubuntu: + focal: [ros-humble-spacenav] + jammy: [ros-humble-spacenav] +spacenav_dbgsym: + ubuntu: + focal: [ros-humble-spacenav-dbgsym] + jammy: [ros-humble-spacenav-dbgsym] +spdlog_vendor: + ubuntu: + focal: [ros-humble-spdlog-vendor] + jammy: [ros-humble-spdlog-vendor] +splsm_7: + ubuntu: + focal: [ros-humble-splsm-7] + jammy: [ros-humble-splsm-7] +splsm_7_conversion: + ubuntu: + focal: [ros-humble-splsm-7-conversion] + jammy: [ros-humble-splsm-7-conversion] +splsm_7_dbgsym: + ubuntu: + focal: [ros-humble-splsm-7-dbgsym] + jammy: [ros-humble-splsm-7-dbgsym] +sqlite3_vendor: + ubuntu: + focal: [ros-humble-sqlite3-vendor] + jammy: [ros-humble-sqlite3-vendor] +srdfdom: + ubuntu: + focal: [ros-humble-srdfdom] + jammy: [ros-humble-srdfdom] +srdfdom_dbgsym: + ubuntu: + focal: [ros-humble-srdfdom-dbgsym] + jammy: [ros-humble-srdfdom-dbgsym] +sros2: + ubuntu: + focal: [ros-humble-sros2] + jammy: [ros-humble-sros2] +sros2_cmake: + ubuntu: + focal: [ros-humble-sros2-cmake] + jammy: [ros-humble-sros2-cmake] +statistics_msgs: + ubuntu: + focal: [ros-humble-statistics-msgs] + jammy: [ros-humble-statistics-msgs] +statistics_msgs_dbgsym: + ubuntu: + focal: [ros-humble-statistics-msgs-dbgsym] + jammy: [ros-humble-statistics-msgs-dbgsym] +std_msgs: + ubuntu: + focal: [ros-humble-std-msgs] + jammy: [ros-humble-std-msgs] +std_msgs_dbgsym: + ubuntu: + focal: [ros-humble-std-msgs-dbgsym] + jammy: [ros-humble-std-msgs-dbgsym] +std_srvs: + ubuntu: + focal: [ros-humble-std-srvs] + jammy: [ros-humble-std-srvs] +std_srvs_dbgsym: + ubuntu: + focal: [ros-humble-std-srvs-dbgsym] + jammy: [ros-humble-std-srvs-dbgsym] +steering_controllers_library: + ubuntu: + focal: [ros-humble-steering-controllers-library] + jammy: [ros-humble-steering-controllers-library] +steering_controllers_library_dbgsym: + ubuntu: + focal: [ros-humble-steering-controllers-library-dbgsym] + jammy: [ros-humble-steering-controllers-library-dbgsym] +stereo_image_proc: + ubuntu: + focal: [ros-humble-stereo-image-proc] + jammy: [ros-humble-stereo-image-proc] +stereo_image_proc_dbgsym: + ubuntu: + focal: [ros-humble-stereo-image-proc-dbgsym] + jammy: [ros-humble-stereo-image-proc-dbgsym] +stereo_msgs: + ubuntu: + focal: [ros-humble-stereo-msgs] + jammy: [ros-humble-stereo-msgs] +stereo_msgs_dbgsym: + ubuntu: + focal: [ros-humble-stereo-msgs-dbgsym] + jammy: [ros-humble-stereo-msgs-dbgsym] +stomp: + ubuntu: + focal: [ros-humble-stomp] + jammy: [ros-humble-stomp] +stomp_dbgsym: + ubuntu: + focal: [ros-humble-stomp-dbgsym] + jammy: [ros-humble-stomp-dbgsym] +stubborn_buddies: + ubuntu: + focal: [ros-humble-stubborn-buddies] + jammy: [ros-humble-stubborn-buddies] +stubborn_buddies_dbgsym: + ubuntu: + focal: [ros-humble-stubborn-buddies-dbgsym] + jammy: [ros-humble-stubborn-buddies-dbgsym] +stubborn_buddies_msgs: + ubuntu: + focal: [ros-humble-stubborn-buddies-msgs] + jammy: [ros-humble-stubborn-buddies-msgs] +stubborn_buddies_msgs_dbgsym: + ubuntu: + focal: [ros-humble-stubborn-buddies-msgs-dbgsym] + jammy: [ros-humble-stubborn-buddies-msgs-dbgsym] +swri_cli_tools: + ubuntu: + focal: [ros-humble-swri-cli-tools] + jammy: [ros-humble-swri-cli-tools] +swri_console: + ubuntu: + focal: [ros-humble-swri-console] + jammy: [ros-humble-swri-console] +swri_console_dbgsym: + ubuntu: + focal: [ros-humble-swri-console-dbgsym] + jammy: [ros-humble-swri-console-dbgsym] +swri_dbw_interface: + ubuntu: + focal: [ros-humble-swri-dbw-interface] + jammy: [ros-humble-swri-dbw-interface] +swri_math_util: + ubuntu: + focal: [ros-humble-swri-math-util] + jammy: [ros-humble-swri-math-util] +swri_math_util_dbgsym: + ubuntu: + focal: [ros-humble-swri-math-util-dbgsym] + jammy: [ros-humble-swri-math-util-dbgsym] +swri_opencv_util: + ubuntu: + focal: [ros-humble-swri-opencv-util] + jammy: [ros-humble-swri-opencv-util] +swri_opencv_util_dbgsym: + ubuntu: + focal: [ros-humble-swri-opencv-util-dbgsym] + jammy: [ros-humble-swri-opencv-util-dbgsym] +swri_prefix_tools: + ubuntu: + focal: [ros-humble-swri-prefix-tools] + jammy: [ros-humble-swri-prefix-tools] +swri_serial_util: + ubuntu: + focal: [ros-humble-swri-serial-util] + jammy: [ros-humble-swri-serial-util] +swri_serial_util_dbgsym: + ubuntu: + focal: [ros-humble-swri-serial-util-dbgsym] + jammy: [ros-humble-swri-serial-util-dbgsym] +swri_system_util: + ubuntu: + focal: [ros-humble-swri-system-util] + jammy: [ros-humble-swri-system-util] +swri_system_util_dbgsym: + ubuntu: + focal: [ros-humble-swri-system-util-dbgsym] + jammy: [ros-humble-swri-system-util-dbgsym] +system_fingerprint: + ubuntu: + focal: [ros-humble-system-fingerprint] + jammy: [ros-humble-system-fingerprint] +system_modes: + ubuntu: + focal: [ros-humble-system-modes] + jammy: [ros-humble-system-modes] +system_modes_dbgsym: + ubuntu: + focal: [ros-humble-system-modes-dbgsym] + jammy: [ros-humble-system-modes-dbgsym] +system_modes_examples: + ubuntu: + focal: [ros-humble-system-modes-examples] + jammy: [ros-humble-system-modes-examples] +system_modes_examples_dbgsym: + ubuntu: + focal: [ros-humble-system-modes-examples-dbgsym] + jammy: [ros-humble-system-modes-examples-dbgsym] +system_modes_msgs: + ubuntu: + focal: [ros-humble-system-modes-msgs] + jammy: [ros-humble-system-modes-msgs] +system_modes_msgs_dbgsym: + ubuntu: + focal: [ros-humble-system-modes-msgs-dbgsym] + jammy: [ros-humble-system-modes-msgs-dbgsym] +tango_icons_vendor: + ubuntu: + focal: [ros-humble-tango-icons-vendor] + jammy: [ros-humble-tango-icons-vendor] +tcb_span: + ubuntu: + focal: [ros-humble-tcb-span] + jammy: [ros-humble-tcb-span] +teleop_tools: + ubuntu: + focal: [ros-humble-teleop-tools] + jammy: [ros-humble-teleop-tools] +teleop_tools_msgs: + ubuntu: + focal: [ros-humble-teleop-tools-msgs] + jammy: [ros-humble-teleop-tools-msgs] +teleop_tools_msgs_dbgsym: + ubuntu: + focal: [ros-humble-teleop-tools-msgs-dbgsym] + jammy: [ros-humble-teleop-tools-msgs-dbgsym] +teleop_twist_joy: + ubuntu: + focal: [ros-humble-teleop-twist-joy] + jammy: [ros-humble-teleop-twist-joy] +teleop_twist_joy_dbgsym: + ubuntu: + focal: [ros-humble-teleop-twist-joy-dbgsym] + jammy: [ros-humble-teleop-twist-joy-dbgsym] +teleop_twist_keyboard: + ubuntu: + focal: [ros-humble-teleop-twist-keyboard] + jammy: [ros-humble-teleop-twist-keyboard] +tensorrt_cmake_module: + ubuntu: + focal: [ros-humble-tensorrt-cmake-module] + jammy: [ros-humble-tensorrt-cmake-module] +test_apex_test_tools: + ubuntu: + focal: [ros-humble-test-apex-test-tools] + jammy: [ros-humble-test-apex-test-tools] +test_interface_files: + ubuntu: + focal: [ros-humble-test-interface-files] + jammy: [ros-humble-test-interface-files] +test_msgs: + ubuntu: + focal: [ros-humble-test-msgs] + jammy: [ros-humble-test-msgs] +test_msgs_dbgsym: + ubuntu: + focal: [ros-humble-test-msgs-dbgsym] + jammy: [ros-humble-test-msgs-dbgsym] +tf2: + ubuntu: + focal: [ros-humble-tf2] + jammy: [ros-humble-tf2] +tf2_bullet: + ubuntu: + focal: [ros-humble-tf2-bullet] + jammy: [ros-humble-tf2-bullet] +tf2_dbgsym: + ubuntu: + focal: [ros-humble-tf2-dbgsym] + jammy: [ros-humble-tf2-dbgsym] +tf2_eigen: + ubuntu: + focal: [ros-humble-tf2-eigen] + jammy: [ros-humble-tf2-eigen] +tf2_eigen_kdl: + ubuntu: + focal: [ros-humble-tf2-eigen-kdl] + jammy: [ros-humble-tf2-eigen-kdl] +tf2_eigen_kdl_dbgsym: + ubuntu: + focal: [ros-humble-tf2-eigen-kdl-dbgsym] + jammy: [ros-humble-tf2-eigen-kdl-dbgsym] +tf2_geometry_msgs: + ubuntu: + focal: [ros-humble-tf2-geometry-msgs] + jammy: [ros-humble-tf2-geometry-msgs] +tf2_kdl: + ubuntu: + focal: [ros-humble-tf2-kdl] + jammy: [ros-humble-tf2-kdl] +tf2_msgs: + ubuntu: + focal: [ros-humble-tf2-msgs] + jammy: [ros-humble-tf2-msgs] +tf2_msgs_dbgsym: + ubuntu: + focal: [ros-humble-tf2-msgs-dbgsym] + jammy: [ros-humble-tf2-msgs-dbgsym] +tf2_py: + ubuntu: + focal: [ros-humble-tf2-py] + jammy: [ros-humble-tf2-py] +tf2_py_dbgsym: + ubuntu: + focal: [ros-humble-tf2-py-dbgsym] + jammy: [ros-humble-tf2-py-dbgsym] +tf2_ros: + ubuntu: + focal: [ros-humble-tf2-ros] + jammy: [ros-humble-tf2-ros] +tf2_ros_dbgsym: + ubuntu: + focal: [ros-humble-tf2-ros-dbgsym] + jammy: [ros-humble-tf2-ros-dbgsym] +tf2_ros_py: + ubuntu: + focal: [ros-humble-tf2-ros-py] + jammy: [ros-humble-tf2-ros-py] +tf2_sensor_msgs: + ubuntu: + focal: [ros-humble-tf2-sensor-msgs] + jammy: [ros-humble-tf2-sensor-msgs] +tf2_tools: + ubuntu: + focal: [ros-humble-tf2-tools] + jammy: [ros-humble-tf2-tools] +tf_transformations: + ubuntu: + focal: [ros-humble-tf-transformations] + jammy: [ros-humble-tf-transformations] +theora_image_transport: + ubuntu: + focal: [ros-humble-theora-image-transport] + jammy: [ros-humble-theora-image-transport] +theora_image_transport_dbgsym: + ubuntu: + focal: [ros-humble-theora-image-transport-dbgsym] + jammy: [ros-humble-theora-image-transport-dbgsym] +tiago_2dnav: + ubuntu: + focal: [ros-humble-tiago-2dnav] + jammy: [ros-humble-tiago-2dnav] +tiago_bringup: + ubuntu: + focal: [ros-humble-tiago-bringup] + jammy: [ros-humble-tiago-bringup] +tiago_controller_configuration: + ubuntu: + focal: [ros-humble-tiago-controller-configuration] + jammy: [ros-humble-tiago-controller-configuration] +tiago_description: + ubuntu: + focal: [ros-humble-tiago-description] + jammy: [ros-humble-tiago-description] +tiago_laser_sensors: + ubuntu: + focal: [ros-humble-tiago-laser-sensors] + jammy: [ros-humble-tiago-laser-sensors] +tiago_moveit_config: + ubuntu: + focal: [ros-humble-tiago-moveit-config] + jammy: [ros-humble-tiago-moveit-config] +tiago_navigation: + ubuntu: + focal: [ros-humble-tiago-navigation] + jammy: [ros-humble-tiago-navigation] +tiago_robot: + ubuntu: + focal: [ros-humble-tiago-robot] + jammy: [ros-humble-tiago-robot] +tinyspline_vendor: + ubuntu: + focal: [ros-humble-tinyspline-vendor] + jammy: [ros-humble-tinyspline-vendor] +tinyspline_vendor_dbgsym: + ubuntu: + focal: [ros-humble-tinyspline-vendor-dbgsym] + jammy: [ros-humble-tinyspline-vendor-dbgsym] +tinyxml2_vendor: + ubuntu: + focal: [ros-humble-tinyxml2-vendor] + jammy: [ros-humble-tinyxml2-vendor] +tinyxml_vendor: + ubuntu: + focal: [ros-humble-tinyxml-vendor] + jammy: [ros-humble-tinyxml-vendor] +tl_expected: + ubuntu: + focal: [ros-humble-tl-expected] + jammy: [ros-humble-tl-expected] +tlsf: + ubuntu: + focal: [ros-humble-tlsf] + jammy: [ros-humble-tlsf] +tlsf_cpp: + ubuntu: + focal: [ros-humble-tlsf-cpp] + jammy: [ros-humble-tlsf-cpp] +tlsf_cpp_dbgsym: + ubuntu: + focal: [ros-humble-tlsf-cpp-dbgsym] + jammy: [ros-humble-tlsf-cpp-dbgsym] +topic_based_ros2_control: + ubuntu: + focal: [ros-humble-topic-based-ros2-control] + jammy: [ros-humble-topic-based-ros2-control] +topic_based_ros2_control_dbgsym: + ubuntu: + focal: [ros-humble-topic-based-ros2-control-dbgsym] + jammy: [ros-humble-topic-based-ros2-control-dbgsym] +topic_monitor: + ubuntu: + focal: [ros-humble-topic-monitor] + jammy: [ros-humble-topic-monitor] +topic_statistics_demo: + ubuntu: + focal: [ros-humble-topic-statistics-demo] + jammy: [ros-humble-topic-statistics-demo] +topic_statistics_demo_dbgsym: + ubuntu: + focal: [ros-humble-topic-statistics-demo-dbgsym] + jammy: [ros-humble-topic-statistics-demo-dbgsym] +topic_tools: + ubuntu: + focal: [ros-humble-topic-tools] + jammy: [ros-humble-topic-tools] +topic_tools_dbgsym: + ubuntu: + focal: [ros-humble-topic-tools-dbgsym] + jammy: [ros-humble-topic-tools-dbgsym] +topic_tools_interfaces: + ubuntu: + focal: [ros-humble-topic-tools-interfaces] + jammy: [ros-humble-topic-tools-interfaces] +topic_tools_interfaces_dbgsym: + ubuntu: + focal: [ros-humble-topic-tools-interfaces-dbgsym] + jammy: [ros-humble-topic-tools-interfaces-dbgsym] +tracetools: + ubuntu: + focal: [ros-humble-tracetools] + jammy: [ros-humble-tracetools] +tracetools_acceleration: + ubuntu: + focal: [ros-humble-tracetools-acceleration] + jammy: [ros-humble-tracetools-acceleration] +tracetools_acceleration_dbgsym: + ubuntu: + focal: [ros-humble-tracetools-acceleration-dbgsym] + jammy: [ros-humble-tracetools-acceleration-dbgsym] +tracetools_analysis: + ubuntu: + focal: [ros-humble-tracetools-analysis] + jammy: [ros-humble-tracetools-analysis] +tracetools_dbgsym: + ubuntu: + focal: [ros-humble-tracetools-dbgsym] + jammy: [ros-humble-tracetools-dbgsym] +tracetools_image_pipeline: + ubuntu: + focal: [ros-humble-tracetools-image-pipeline] + jammy: [ros-humble-tracetools-image-pipeline] +tracetools_image_pipeline_dbgsym: + ubuntu: + focal: [ros-humble-tracetools-image-pipeline-dbgsym] + jammy: [ros-humble-tracetools-image-pipeline-dbgsym] +tracetools_launch: + ubuntu: + focal: [ros-humble-tracetools-launch] + jammy: [ros-humble-tracetools-launch] +tracetools_read: + ubuntu: + focal: [ros-humble-tracetools-read] + jammy: [ros-humble-tracetools-read] +tracetools_test: + ubuntu: + focal: [ros-humble-tracetools-test] + jammy: [ros-humble-tracetools-test] +tracetools_trace: + ubuntu: + focal: [ros-humble-tracetools-trace] + jammy: [ros-humble-tracetools-trace] +trajectory_msgs: + ubuntu: + focal: [ros-humble-trajectory-msgs] + jammy: [ros-humble-trajectory-msgs] +trajectory_msgs_dbgsym: + ubuntu: + focal: [ros-humble-trajectory-msgs-dbgsym] + jammy: [ros-humble-trajectory-msgs-dbgsym] +transmission_interface: + ubuntu: + focal: [ros-humble-transmission-interface] + jammy: [ros-humble-transmission-interface] +transmission_interface_dbgsym: + ubuntu: + focal: [ros-humble-transmission-interface-dbgsym] + jammy: [ros-humble-transmission-interface-dbgsym] +tricycle_controller: + ubuntu: + focal: [ros-humble-tricycle-controller] + jammy: [ros-humble-tricycle-controller] +tricycle_controller_dbgsym: + ubuntu: + focal: [ros-humble-tricycle-controller-dbgsym] + jammy: [ros-humble-tricycle-controller-dbgsym] +tricycle_steering_controller: + ubuntu: + focal: [ros-humble-tricycle-steering-controller] + jammy: [ros-humble-tricycle-steering-controller] +tricycle_steering_controller_dbgsym: + ubuntu: + focal: [ros-humble-tricycle-steering-controller-dbgsym] + jammy: [ros-humble-tricycle-steering-controller-dbgsym] +turbojpeg_compressed_image_transport: + ubuntu: + focal: [ros-humble-turbojpeg-compressed-image-transport] + jammy: [ros-humble-turbojpeg-compressed-image-transport] +turbojpeg_compressed_image_transport_dbgsym: + ubuntu: + focal: [ros-humble-turbojpeg-compressed-image-transport-dbgsym] + jammy: [ros-humble-turbojpeg-compressed-image-transport-dbgsym] +turtle_tf2_cpp: + ubuntu: + focal: [ros-humble-turtle-tf2-cpp] + jammy: [ros-humble-turtle-tf2-cpp] +turtle_tf2_cpp_dbgsym: + ubuntu: + focal: [ros-humble-turtle-tf2-cpp-dbgsym] + jammy: [ros-humble-turtle-tf2-cpp-dbgsym] +turtle_tf2_py: + ubuntu: + focal: [ros-humble-turtle-tf2-py] + jammy: [ros-humble-turtle-tf2-py] +turtlebot3: + ubuntu: + focal: [ros-humble-turtlebot3] + jammy: [ros-humble-turtlebot3] +turtlebot3_bringup: + ubuntu: + focal: [ros-humble-turtlebot3-bringup] + jammy: [ros-humble-turtlebot3-bringup] +turtlebot3_cartographer: + ubuntu: + focal: [ros-humble-turtlebot3-cartographer] + jammy: [ros-humble-turtlebot3-cartographer] +turtlebot3_description: + ubuntu: + focal: [ros-humble-turtlebot3-description] + jammy: [ros-humble-turtlebot3-description] +turtlebot3_example: + ubuntu: + focal: [ros-humble-turtlebot3-example] + jammy: [ros-humble-turtlebot3-example] +turtlebot3_fake_node: + ubuntu: + focal: [ros-humble-turtlebot3-fake-node] + jammy: [ros-humble-turtlebot3-fake-node] +turtlebot3_fake_node_dbgsym: + ubuntu: + focal: [ros-humble-turtlebot3-fake-node-dbgsym] + jammy: [ros-humble-turtlebot3-fake-node-dbgsym] +turtlebot3_manipulation_cartographer: + ubuntu: + focal: [ros-humble-turtlebot3-manipulation-cartographer] + jammy: [ros-humble-turtlebot3-manipulation-cartographer] +turtlebot3_manipulation_description: + ubuntu: + focal: [ros-humble-turtlebot3-manipulation-description] + jammy: [ros-humble-turtlebot3-manipulation-description] +turtlebot3_manipulation_hardware: + ubuntu: + focal: [ros-humble-turtlebot3-manipulation-hardware] + jammy: [ros-humble-turtlebot3-manipulation-hardware] +turtlebot3_manipulation_hardware_dbgsym: + ubuntu: + focal: [ros-humble-turtlebot3-manipulation-hardware-dbgsym] + jammy: [ros-humble-turtlebot3-manipulation-hardware-dbgsym] +turtlebot3_manipulation_moveit_config: + ubuntu: + focal: [ros-humble-turtlebot3-manipulation-moveit-config] + jammy: [ros-humble-turtlebot3-manipulation-moveit-config] +turtlebot3_manipulation_navigation2: + ubuntu: + focal: [ros-humble-turtlebot3-manipulation-navigation2] + jammy: [ros-humble-turtlebot3-manipulation-navigation2] +turtlebot3_msgs: + ubuntu: + focal: [ros-humble-turtlebot3-msgs] + jammy: [ros-humble-turtlebot3-msgs] +turtlebot3_msgs_dbgsym: + ubuntu: + focal: [ros-humble-turtlebot3-msgs-dbgsym] + jammy: [ros-humble-turtlebot3-msgs-dbgsym] +turtlebot3_navigation2: + ubuntu: + focal: [ros-humble-turtlebot3-navigation2] + jammy: [ros-humble-turtlebot3-navigation2] +turtlebot3_node: + ubuntu: + focal: [ros-humble-turtlebot3-node] + jammy: [ros-humble-turtlebot3-node] +turtlebot3_node_dbgsym: + ubuntu: + focal: [ros-humble-turtlebot3-node-dbgsym] + jammy: [ros-humble-turtlebot3-node-dbgsym] +turtlebot3_teleop: + ubuntu: + focal: [ros-humble-turtlebot3-teleop] + jammy: [ros-humble-turtlebot3-teleop] +turtlebot4_base: + ubuntu: + focal: [ros-humble-turtlebot4-base] + jammy: [ros-humble-turtlebot4-base] +turtlebot4_base_dbgsym: + ubuntu: + focal: [ros-humble-turtlebot4-base-dbgsym] + jammy: [ros-humble-turtlebot4-base-dbgsym] +turtlebot4_bringup: + ubuntu: + focal: [ros-humble-turtlebot4-bringup] + jammy: [ros-humble-turtlebot4-bringup] +turtlebot4_cpp_tutorials: + ubuntu: + focal: [ros-humble-turtlebot4-cpp-tutorials] + jammy: [ros-humble-turtlebot4-cpp-tutorials] +turtlebot4_cpp_tutorials_dbgsym: + ubuntu: + focal: [ros-humble-turtlebot4-cpp-tutorials-dbgsym] + jammy: [ros-humble-turtlebot4-cpp-tutorials-dbgsym] +turtlebot4_description: + ubuntu: + focal: [ros-humble-turtlebot4-description] + jammy: [ros-humble-turtlebot4-description] +turtlebot4_desktop: + ubuntu: + focal: [ros-humble-turtlebot4-desktop] + jammy: [ros-humble-turtlebot4-desktop] +turtlebot4_diagnostics: + ubuntu: + focal: [ros-humble-turtlebot4-diagnostics] + jammy: [ros-humble-turtlebot4-diagnostics] +turtlebot4_ignition_bringup: + ubuntu: + focal: [ros-humble-turtlebot4-ignition-bringup] + jammy: [ros-humble-turtlebot4-ignition-bringup] +turtlebot4_ignition_gui_plugins: + ubuntu: + focal: [ros-humble-turtlebot4-ignition-gui-plugins] + jammy: [ros-humble-turtlebot4-ignition-gui-plugins] +turtlebot4_ignition_gui_plugins_dbgsym: + ubuntu: + focal: [ros-humble-turtlebot4-ignition-gui-plugins-dbgsym] + jammy: [ros-humble-turtlebot4-ignition-gui-plugins-dbgsym] +turtlebot4_ignition_toolbox: + ubuntu: + focal: [ros-humble-turtlebot4-ignition-toolbox] + jammy: [ros-humble-turtlebot4-ignition-toolbox] +turtlebot4_ignition_toolbox_dbgsym: + ubuntu: + focal: [ros-humble-turtlebot4-ignition-toolbox-dbgsym] + jammy: [ros-humble-turtlebot4-ignition-toolbox-dbgsym] +turtlebot4_msgs: + ubuntu: + focal: [ros-humble-turtlebot4-msgs] + jammy: [ros-humble-turtlebot4-msgs] +turtlebot4_msgs_dbgsym: + ubuntu: + focal: [ros-humble-turtlebot4-msgs-dbgsym] + jammy: [ros-humble-turtlebot4-msgs-dbgsym] +turtlebot4_navigation: + ubuntu: + focal: [ros-humble-turtlebot4-navigation] + jammy: [ros-humble-turtlebot4-navigation] +turtlebot4_node: + ubuntu: + focal: [ros-humble-turtlebot4-node] + jammy: [ros-humble-turtlebot4-node] +turtlebot4_node_dbgsym: + ubuntu: + focal: [ros-humble-turtlebot4-node-dbgsym] + jammy: [ros-humble-turtlebot4-node-dbgsym] +turtlebot4_python_tutorials: + ubuntu: + focal: [ros-humble-turtlebot4-python-tutorials] + jammy: [ros-humble-turtlebot4-python-tutorials] +turtlebot4_robot: + ubuntu: + focal: [ros-humble-turtlebot4-robot] + jammy: [ros-humble-turtlebot4-robot] +turtlebot4_setup: + ubuntu: + focal: [ros-humble-turtlebot4-setup] + jammy: [ros-humble-turtlebot4-setup] +turtlebot4_simulator: + ubuntu: + focal: [ros-humble-turtlebot4-simulator] + jammy: [ros-humble-turtlebot4-simulator] +turtlebot4_tests: + ubuntu: + focal: [ros-humble-turtlebot4-tests] + jammy: [ros-humble-turtlebot4-tests] +turtlebot4_tutorials: + ubuntu: + focal: [ros-humble-turtlebot4-tutorials] + jammy: [ros-humble-turtlebot4-tutorials] +turtlebot4_viz: + ubuntu: + focal: [ros-humble-turtlebot4-viz] + jammy: [ros-humble-turtlebot4-viz] +turtlesim: + ubuntu: + focal: [ros-humble-turtlesim] + jammy: [ros-humble-turtlesim] +turtlesim_dbgsym: + ubuntu: + focal: [ros-humble-turtlesim-dbgsym] + jammy: [ros-humble-turtlesim-dbgsym] +tuw_airskin_msgs: + ubuntu: + focal: [ros-humble-tuw-airskin-msgs] + jammy: [ros-humble-tuw-airskin-msgs] +tuw_airskin_msgs_dbgsym: + ubuntu: + focal: [ros-humble-tuw-airskin-msgs-dbgsym] + jammy: [ros-humble-tuw-airskin-msgs-dbgsym] +tuw_geometry: + ubuntu: + focal: [ros-humble-tuw-geometry] + jammy: [ros-humble-tuw-geometry] +tuw_geometry_dbgsym: + ubuntu: + focal: [ros-humble-tuw-geometry-dbgsym] + jammy: [ros-humble-tuw-geometry-dbgsym] +tuw_geometry_msgs: + ubuntu: + focal: [ros-humble-tuw-geometry-msgs] + jammy: [ros-humble-tuw-geometry-msgs] +tuw_geometry_msgs_dbgsym: + ubuntu: + focal: [ros-humble-tuw-geometry-msgs-dbgsym] + jammy: [ros-humble-tuw-geometry-msgs-dbgsym] +tuw_msgs: + ubuntu: + focal: [ros-humble-tuw-msgs] + jammy: [ros-humble-tuw-msgs] +tuw_multi_robot_msgs: + ubuntu: + focal: [ros-humble-tuw-multi-robot-msgs] + jammy: [ros-humble-tuw-multi-robot-msgs] +tuw_multi_robot_msgs_dbgsym: + ubuntu: + focal: [ros-humble-tuw-multi-robot-msgs-dbgsym] + jammy: [ros-humble-tuw-multi-robot-msgs-dbgsym] +tuw_nav_msgs: + ubuntu: + focal: [ros-humble-tuw-nav-msgs] + jammy: [ros-humble-tuw-nav-msgs] +tuw_nav_msgs_dbgsym: + ubuntu: + focal: [ros-humble-tuw-nav-msgs-dbgsym] + jammy: [ros-humble-tuw-nav-msgs-dbgsym] +tuw_object_msgs: + ubuntu: + focal: [ros-humble-tuw-object-msgs] + jammy: [ros-humble-tuw-object-msgs] +tuw_object_msgs_dbgsym: + ubuntu: + focal: [ros-humble-tuw-object-msgs-dbgsym] + jammy: [ros-humble-tuw-object-msgs-dbgsym] +tvm_vendor: + ubuntu: + focal: [ros-humble-tvm-vendor] + jammy: [ros-humble-tvm-vendor] +tvm_vendor_dbgsym: + ubuntu: + focal: [ros-humble-tvm-vendor-dbgsym] + jammy: [ros-humble-tvm-vendor-dbgsym] +twist_mux: + ubuntu: + focal: [ros-humble-twist-mux] + jammy: [ros-humble-twist-mux] +twist_mux_dbgsym: + ubuntu: + focal: [ros-humble-twist-mux-dbgsym] + jammy: [ros-humble-twist-mux-dbgsym] +twist_mux_msgs: + ubuntu: + focal: [ros-humble-twist-mux-msgs] + jammy: [ros-humble-twist-mux-msgs] +twist_mux_msgs_dbgsym: + ubuntu: + focal: [ros-humble-twist-mux-msgs-dbgsym] + jammy: [ros-humble-twist-mux-msgs-dbgsym] +twist_stamper: + ubuntu: + focal: [ros-humble-twist-stamper] + jammy: [ros-humble-twist-stamper] +ublox: + ubuntu: + focal: [ros-humble-ublox] + jammy: [ros-humble-ublox] +ublox_dgnss: + ubuntu: + focal: [ros-humble-ublox-dgnss] + jammy: [ros-humble-ublox-dgnss] +ublox_dgnss_node: + ubuntu: + focal: [ros-humble-ublox-dgnss-node] + jammy: [ros-humble-ublox-dgnss-node] +ublox_dgnss_node_dbgsym: + ubuntu: + focal: [ros-humble-ublox-dgnss-node-dbgsym] + jammy: [ros-humble-ublox-dgnss-node-dbgsym] +ublox_gps: + ubuntu: + focal: [ros-humble-ublox-gps] + jammy: [ros-humble-ublox-gps] +ublox_gps_dbgsym: + ubuntu: + focal: [ros-humble-ublox-gps-dbgsym] + jammy: [ros-humble-ublox-gps-dbgsym] +ublox_msgs: + ubuntu: + focal: [ros-humble-ublox-msgs] + jammy: [ros-humble-ublox-msgs] +ublox_msgs_dbgsym: + ubuntu: + focal: [ros-humble-ublox-msgs-dbgsym] + jammy: [ros-humble-ublox-msgs-dbgsym] +ublox_nav_sat_fix_hp_node: + ubuntu: + focal: [ros-humble-ublox-nav-sat-fix-hp-node] + jammy: [ros-humble-ublox-nav-sat-fix-hp-node] +ublox_nav_sat_fix_hp_node_dbgsym: + ubuntu: + focal: [ros-humble-ublox-nav-sat-fix-hp-node-dbgsym] + jammy: [ros-humble-ublox-nav-sat-fix-hp-node-dbgsym] +ublox_serialization: + ubuntu: + focal: [ros-humble-ublox-serialization] + jammy: [ros-humble-ublox-serialization] +ublox_ubx_interfaces: + ubuntu: + focal: [ros-humble-ublox-ubx-interfaces] + jammy: [ros-humble-ublox-ubx-interfaces] +ublox_ubx_interfaces_dbgsym: + ubuntu: + focal: [ros-humble-ublox-ubx-interfaces-dbgsym] + jammy: [ros-humble-ublox-ubx-interfaces-dbgsym] +ublox_ubx_msgs: + ubuntu: + focal: [ros-humble-ublox-ubx-msgs] + jammy: [ros-humble-ublox-ubx-msgs] +ublox_ubx_msgs_dbgsym: + ubuntu: + focal: [ros-humble-ublox-ubx-msgs-dbgsym] + jammy: [ros-humble-ublox-ubx-msgs-dbgsym] +udp_driver: + ubuntu: + focal: [ros-humble-udp-driver] + jammy: [ros-humble-udp-driver] +udp_driver_dbgsym: + ubuntu: + focal: [ros-humble-udp-driver-dbgsym] + jammy: [ros-humble-udp-driver-dbgsym] +udp_msgs: + ubuntu: + focal: [ros-humble-udp-msgs] + jammy: [ros-humble-udp-msgs] +udp_msgs_dbgsym: + ubuntu: + focal: [ros-humble-udp-msgs-dbgsym] + jammy: [ros-humble-udp-msgs-dbgsym] +uncrustify_vendor: + ubuntu: + focal: [ros-humble-uncrustify-vendor] + jammy: [ros-humble-uncrustify-vendor] +uncrustify_vendor_dbgsym: + ubuntu: + focal: [ros-humble-uncrustify-vendor-dbgsym] + jammy: [ros-humble-uncrustify-vendor-dbgsym] +unique_identifier_msgs: + ubuntu: + focal: [ros-humble-unique-identifier-msgs] + jammy: [ros-humble-unique-identifier-msgs] +unique_identifier_msgs_dbgsym: + ubuntu: + focal: [ros-humble-unique-identifier-msgs-dbgsym] + jammy: [ros-humble-unique-identifier-msgs-dbgsym] +ur: + ubuntu: + focal: [ros-humble-ur] + jammy: [ros-humble-ur] +ur_bringup: + ubuntu: + focal: [ros-humble-ur-bringup] + jammy: [ros-humble-ur-bringup] +ur_calibration: + ubuntu: + focal: [ros-humble-ur-calibration] + jammy: [ros-humble-ur-calibration] +ur_calibration_dbgsym: + ubuntu: + focal: [ros-humble-ur-calibration-dbgsym] + jammy: [ros-humble-ur-calibration-dbgsym] +ur_client_library: + ubuntu: + focal: [ros-humble-ur-client-library] + jammy: [ros-humble-ur-client-library] +ur_client_library_dbgsym: + ubuntu: + focal: [ros-humble-ur-client-library-dbgsym] + jammy: [ros-humble-ur-client-library-dbgsym] +ur_controllers: + ubuntu: + focal: [ros-humble-ur-controllers] + jammy: [ros-humble-ur-controllers] +ur_controllers_dbgsym: + ubuntu: + focal: [ros-humble-ur-controllers-dbgsym] + jammy: [ros-humble-ur-controllers-dbgsym] +ur_dashboard_msgs: + ubuntu: + focal: [ros-humble-ur-dashboard-msgs] + jammy: [ros-humble-ur-dashboard-msgs] +ur_dashboard_msgs_dbgsym: + ubuntu: + focal: [ros-humble-ur-dashboard-msgs-dbgsym] + jammy: [ros-humble-ur-dashboard-msgs-dbgsym] +ur_description: + ubuntu: + focal: [ros-humble-ur-description] + jammy: [ros-humble-ur-description] +ur_moveit_config: + ubuntu: + focal: [ros-humble-ur-moveit-config] + jammy: [ros-humble-ur-moveit-config] +ur_msgs: + ubuntu: + focal: [ros-humble-ur-msgs] + jammy: [ros-humble-ur-msgs] +ur_msgs_dbgsym: + ubuntu: + focal: [ros-humble-ur-msgs-dbgsym] + jammy: [ros-humble-ur-msgs-dbgsym] +ur_robot_driver: + ubuntu: + focal: [ros-humble-ur-robot-driver] + jammy: [ros-humble-ur-robot-driver] +ur_robot_driver_dbgsym: + ubuntu: + focal: [ros-humble-ur-robot-driver-dbgsym] + jammy: [ros-humble-ur-robot-driver-dbgsym] +urdf: + ubuntu: + focal: [ros-humble-urdf] + jammy: [ros-humble-urdf] +urdf_dbgsym: + ubuntu: + focal: [ros-humble-urdf-dbgsym] + jammy: [ros-humble-urdf-dbgsym] +urdf_launch: + ubuntu: + focal: [ros-humble-urdf-launch] + jammy: [ros-humble-urdf-launch] +urdf_parser_plugin: + ubuntu: + focal: [ros-humble-urdf-parser-plugin] + jammy: [ros-humble-urdf-parser-plugin] +urdf_test: + ubuntu: + focal: [ros-humble-urdf-test] + jammy: [ros-humble-urdf-test] +urdf_tutorial: + ubuntu: + focal: [ros-humble-urdf-tutorial] + jammy: [ros-humble-urdf-tutorial] +urdfdom: + ubuntu: + focal: [ros-humble-urdfdom] + jammy: [ros-humble-urdfdom] +urdfdom_dbgsym: + ubuntu: + focal: [ros-humble-urdfdom-dbgsym] + jammy: [ros-humble-urdfdom-dbgsym] +urdfdom_headers: + ubuntu: + focal: [ros-humble-urdfdom-headers] + jammy: [ros-humble-urdfdom-headers] +urdfdom_py: + ubuntu: + focal: [ros-humble-urdfdom-py] + jammy: [ros-humble-urdfdom-py] +urg_c: + ubuntu: + focal: [ros-humble-urg-c] + jammy: [ros-humble-urg-c] +urg_c_dbgsym: + ubuntu: + focal: [ros-humble-urg-c-dbgsym] + jammy: [ros-humble-urg-c-dbgsym] +urg_node: + ubuntu: + focal: [ros-humble-urg-node] + jammy: [ros-humble-urg-node] +urg_node_dbgsym: + ubuntu: + focal: [ros-humble-urg-node-dbgsym] + jammy: [ros-humble-urg-node-dbgsym] +urg_node_msgs: + ubuntu: + focal: [ros-humble-urg-node-msgs] + jammy: [ros-humble-urg-node-msgs] +urg_node_msgs_dbgsym: + ubuntu: + focal: [ros-humble-urg-node-msgs-dbgsym] + jammy: [ros-humble-urg-node-msgs-dbgsym] +usb_cam: + ubuntu: + focal: [ros-humble-usb-cam] + jammy: [ros-humble-usb-cam] +usb_cam_dbgsym: + ubuntu: + focal: [ros-humble-usb-cam-dbgsym] + jammy: [ros-humble-usb-cam-dbgsym] +v4l2_camera: + ubuntu: + focal: [ros-humble-v4l2-camera] + jammy: [ros-humble-v4l2-camera] +v4l2_camera_dbgsym: + ubuntu: + focal: [ros-humble-v4l2-camera-dbgsym] + jammy: [ros-humble-v4l2-camera-dbgsym] +vda5050_msgs: + ubuntu: + focal: [ros-humble-vda5050-msgs] + jammy: [ros-humble-vda5050-msgs] +velocity_controllers: + ubuntu: + focal: [ros-humble-velocity-controllers] + jammy: [ros-humble-velocity-controllers] +velocity_controllers_dbgsym: + ubuntu: + focal: [ros-humble-velocity-controllers-dbgsym] + jammy: [ros-humble-velocity-controllers-dbgsym] +velodyne: + ubuntu: + focal: [ros-humble-velodyne] + jammy: [ros-humble-velodyne] +velodyne_description: + ubuntu: + focal: [ros-humble-velodyne-description] + jammy: [ros-humble-velodyne-description] +velodyne_driver: + ubuntu: + focal: [ros-humble-velodyne-driver] + jammy: [ros-humble-velodyne-driver] +velodyne_driver_dbgsym: + ubuntu: + focal: [ros-humble-velodyne-driver-dbgsym] + jammy: [ros-humble-velodyne-driver-dbgsym] +velodyne_laserscan: + ubuntu: + focal: [ros-humble-velodyne-laserscan] + jammy: [ros-humble-velodyne-laserscan] +velodyne_laserscan_dbgsym: + ubuntu: + focal: [ros-humble-velodyne-laserscan-dbgsym] + jammy: [ros-humble-velodyne-laserscan-dbgsym] +velodyne_msgs: + ubuntu: + focal: [ros-humble-velodyne-msgs] + jammy: [ros-humble-velodyne-msgs] +velodyne_msgs_dbgsym: + ubuntu: + focal: [ros-humble-velodyne-msgs-dbgsym] + jammy: [ros-humble-velodyne-msgs-dbgsym] +velodyne_pointcloud: + ubuntu: + focal: [ros-humble-velodyne-pointcloud] + jammy: [ros-humble-velodyne-pointcloud] +velodyne_pointcloud_dbgsym: + ubuntu: + focal: [ros-humble-velodyne-pointcloud-dbgsym] + jammy: [ros-humble-velodyne-pointcloud-dbgsym] +vision_msgs: + ubuntu: + focal: [ros-humble-vision-msgs] + jammy: [ros-humble-vision-msgs] +vision_msgs_dbgsym: + ubuntu: + focal: [ros-humble-vision-msgs-dbgsym] + jammy: [ros-humble-vision-msgs-dbgsym] +vision_msgs_layers: + ubuntu: + focal: [ros-humble-vision-msgs-layers] + jammy: [ros-humble-vision-msgs-layers] +vision_msgs_layers_dbgsym: + ubuntu: + focal: [ros-humble-vision-msgs-layers-dbgsym] + jammy: [ros-humble-vision-msgs-layers-dbgsym] +vision_msgs_rviz_plugins: + ubuntu: + focal: [ros-humble-vision-msgs-rviz-plugins] + jammy: [ros-humble-vision-msgs-rviz-plugins] +vision_msgs_rviz_plugins_dbgsym: + ubuntu: + focal: [ros-humble-vision-msgs-rviz-plugins-dbgsym] + jammy: [ros-humble-vision-msgs-rviz-plugins-dbgsym] +vision_opencv: + ubuntu: + focal: [ros-humble-vision-opencv] + jammy: [ros-humble-vision-opencv] +visp: + ubuntu: + focal: [ros-humble-visp] + jammy: [ros-humble-visp] +visp_dbgsym: + ubuntu: + focal: [ros-humble-visp-dbgsym] + jammy: [ros-humble-visp-dbgsym] +visualization_msgs: + ubuntu: + focal: [ros-humble-visualization-msgs] + jammy: [ros-humble-visualization-msgs] +visualization_msgs_dbgsym: + ubuntu: + focal: [ros-humble-visualization-msgs-dbgsym] + jammy: [ros-humble-visualization-msgs-dbgsym] +vitis_common: + ubuntu: + focal: [ros-humble-vitis-common] + jammy: [ros-humble-vitis-common] +vrpn: + ubuntu: + focal: [ros-humble-vrpn] + jammy: [ros-humble-vrpn] +vrpn_mocap: + ubuntu: + focal: [ros-humble-vrpn-mocap] + jammy: [ros-humble-vrpn-mocap] +vrpn_mocap_dbgsym: + ubuntu: + focal: [ros-humble-vrpn-mocap-dbgsym] + jammy: [ros-humble-vrpn-mocap-dbgsym] +wall_follower_ros2: + ubuntu: + focal: [ros-humble-wall-follower-ros2] + jammy: [ros-humble-wall-follower-ros2] +wall_follower_ros2_dbgsym: + ubuntu: + focal: [ros-humble-wall-follower-ros2-dbgsym] + jammy: [ros-humble-wall-follower-ros2-dbgsym] +warehouse_ros: + ubuntu: + focal: [ros-humble-warehouse-ros] + jammy: [ros-humble-warehouse-ros] +warehouse_ros_dbgsym: + ubuntu: + focal: [ros-humble-warehouse-ros-dbgsym] + jammy: [ros-humble-warehouse-ros-dbgsym] +warehouse_ros_sqlite: + ubuntu: + focal: [ros-humble-warehouse-ros-sqlite] + jammy: [ros-humble-warehouse-ros-sqlite] +warehouse_ros_sqlite_dbgsym: + ubuntu: + focal: [ros-humble-warehouse-ros-sqlite-dbgsym] + jammy: [ros-humble-warehouse-ros-sqlite-dbgsym] +webots_ros2_importer: + ubuntu: + focal: [ros-humble-webots-ros2-importer] + jammy: [ros-humble-webots-ros2-importer] +webots_ros2_msgs: + ubuntu: + focal: [ros-humble-webots-ros2-msgs] + jammy: [ros-humble-webots-ros2-msgs] +webots_ros2_msgs_dbgsym: + ubuntu: + focal: [ros-humble-webots-ros2-msgs-dbgsym] + jammy: [ros-humble-webots-ros2-msgs-dbgsym] +weight_scale_interfaces: + ubuntu: + focal: [ros-humble-weight-scale-interfaces] + jammy: [ros-humble-weight-scale-interfaces] +weight_scale_interfaces_dbgsym: + ubuntu: + focal: [ros-humble-weight-scale-interfaces-dbgsym] + jammy: [ros-humble-weight-scale-interfaces-dbgsym] +wiimote: + ubuntu: + focal: [ros-humble-wiimote] + jammy: [ros-humble-wiimote] +wiimote_dbgsym: + ubuntu: + focal: [ros-humble-wiimote-dbgsym] + jammy: [ros-humble-wiimote-dbgsym] +wiimote_msgs: + ubuntu: + focal: [ros-humble-wiimote-msgs] + jammy: [ros-humble-wiimote-msgs] +wiimote_msgs_dbgsym: + ubuntu: + focal: [ros-humble-wiimote-msgs-dbgsym] + jammy: [ros-humble-wiimote-msgs-dbgsym] +wireless_msgs: + ubuntu: + focal: [ros-humble-wireless-msgs] + jammy: [ros-humble-wireless-msgs] +wireless_msgs_dbgsym: + ubuntu: + focal: [ros-humble-wireless-msgs-dbgsym] + jammy: [ros-humble-wireless-msgs-dbgsym] +wireless_watcher: + ubuntu: + focal: [ros-humble-wireless-watcher] + jammy: [ros-humble-wireless-watcher] +x264: + ubuntu: + focal: [libx264-dev] + jammy: [libx264-dev] +xacro: + ubuntu: + focal: [ros-humble-xacro] + jammy: [ros-humble-xacro] +yaml_cpp_vendor: + ubuntu: + focal: [ros-humble-yaml-cpp-vendor] + jammy: [ros-humble-yaml-cpp-vendor] +zbar_ros: + ubuntu: + focal: [ros-humble-zbar-ros] + jammy: [ros-humble-zbar-ros] +zbar_ros_dbgsym: + ubuntu: + focal: [ros-humble-zbar-ros-dbgsym] + jammy: [ros-humble-zbar-ros-dbgsym] +zed_components: + ubuntu: + focal: [ros-humble-zed-components] + jammy: [ros-humble-zed-components] +zed_interfaces: + ubuntu: + focal: [ros-humble-zed-interfaces] + jammy: [ros-humble-zed-interfaces] +zed_ros2: + ubuntu: + focal: [ros-humble-zed-ros2] + jammy: [ros-humble-zed-ros2] +zed_wrapper: + ubuntu: + focal: [ros-humble-zed-wrapper] + jammy: [ros-humble-zed-wrapper] +zenoh_bridge_dds: + ubuntu: + focal: [ros-humble-zenoh-bridge-dds] + jammy: [ros-humble-zenoh-bridge-dds] +zenoh_bridge_dds_dbgsym: + ubuntu: + focal: [ros-humble-zenoh-bridge-dds-dbgsym] + jammy: [ros-humble-zenoh-bridge-dds-dbgsym] +zlib_point_cloud_transport: + ubuntu: + focal: [ros-humble-zlib-point-cloud-transport] + jammy: [ros-humble-zlib-point-cloud-transport] +zlib_point_cloud_transport_dbgsym: + ubuntu: + focal: [ros-humble-zlib-point-cloud-transport-dbgsym] + jammy: [ros-humble-zlib-point-cloud-transport-dbgsym] +zmqpp_vendor: + ubuntu: + focal: [ros-humble-zmqpp-vendor] + jammy: [ros-humble-zmqpp-vendor] +zmqpp_vendor_dbgsym: + ubuntu: + focal: [ros-humble-zmqpp-vendor-dbgsym] + jammy: [ros-humble-zmqpp-vendor-dbgsym] +zstd_point_cloud_transport: + ubuntu: + focal: [ros-humble-zstd-point-cloud-transport] + jammy: [ros-humble-zstd-point-cloud-transport] +zstd_point_cloud_transport_dbgsym: + ubuntu: + focal: [ros-humble-zstd-point-cloud-transport-dbgsym] + jammy: [ros-humble-zstd-point-cloud-transport-dbgsym] +zstd_vendor: + ubuntu: + focal: [ros-humble-zstd-vendor] + jammy: [ros-humble-zstd-vendor] +zstd_vendor_dbgsym: + ubuntu: + focal: [ros-humble-zstd-vendor-dbgsym] + jammy: [ros-humble-zstd-vendor-dbgsym] diff --git a/docker/scripts/install-unitree-ros2.sh b/docker/scripts/install-unitree-ros2.sh index 9c9a96a..d7e3259 100644 --- a/docker/scripts/install-unitree-ros2.sh +++ b/docker/scripts/install-unitree-ros2.sh @@ -3,7 +3,7 @@ set -e apt-get install -y ros-humble-rmw-cyclonedds-cpp ros-humble-rosidl-generator-dds-idl -cd /workspace +cd ~ git clone https://github.com/unitreerobotics/unitree_ros2 cd unitree_ros2/cyclonedds_ws/src git clone https://github.com/ros2/rmw_cyclonedds -b humble @@ -11,4 +11,4 @@ git clone https://github.com/eclipse-cyclonedds/cyclonedds -b releases/0.10.x cd .. colcon build --packages-select cyclonedds source /opt/ros/humble/setup.bash -colcon build \ No newline at end of file +colcon build diff --git a/docker/scripts/install-zed-x86_64.sh b/docker/scripts/install-zed-x86_64.sh index 198aa79..484babc 100644 --- a/docker/scripts/install-zed-x86_64.sh +++ b/docker/scripts/install-zed-x86_64.sh @@ -14,6 +14,10 @@ export CUDA_MINOR="$(nvcc --version | grep -o -P ' release .{0,4}' | cut -d. -f2 sudo apt-get update -y || true sudo apt-get install --no-install-recommends lsb-release wget less udev sudo zstd build-essential cmake libpng-dev libgomp1 -y +# TODO: Remove this when zed-ros2-wrapper has a compatible version with ZED_SDK 4.1 (which supports cuda 12.2). +CUDA_MAJOR=12 +CUDA_MINOR=1 + # Download zed SDK installation RUN file to /tmp directory cd /tmp wget -q -O ZED_SDK_Linux_Ubuntu${UBUNTU_RELEASE_YEAR}.run https://download.stereolabs.com/zedsdk/${ZED_SDK_MAJOR}.${ZED_SDK_MINOR}/cu${CUDA_MAJOR}${CUDA_MINOR%.*}/ubuntu${UBUNTU_RELEASE_YEAR} diff --git a/docker/scripts/workspace-entrypoint.sh b/docker/scripts/workspace-entrypoint.sh index 9478355..17834d7 100755 --- a/docker/scripts/workspace-entrypoint.sh +++ b/docker/scripts/workspace-entrypoint.sh @@ -12,13 +12,14 @@ echo "source /opt/ros/${ROS_DISTRO}/setup.bash" >> ~/.bashrc source /opt/ros/${ROS_DISTRO}/setup.bash -sudo apt-get update -rosdep update - # Restart udev daemon sudo service udev restart -export CMAKE_PREFIX_PATH=/workspace/unitree_ros2/cyclonedds_ws/install/cyclonedds/ -python3 -m pip install --upgrade pip -cd /workspaces/Go2Py/ && python3 -m pip install -e . -source /home/realsenes-ws/install/setup.bash + +cd ~ +source /realsense-ws/install/setup.bash +#source $HOME/unitree_ros2/cyclonedds_ws/install/setup.bash +#export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp +#export CYCLONEDDS_URI=' +# +# ' $@ diff --git a/docker/tao/tao-converter-aarch64-tensorrt8.4.zip b/docker/tao/tao-converter-aarch64-tensorrt8.4.zip deleted file mode 100644 index 94e8c6bf5dccd896de708bd387930d8737ee2902..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35923 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 RWl)gaWxxCMr-U!3KLBTHVFLgF diff --git a/scripts/.isaac_ros_common-config b/scripts/.isaac_ros_common-config index ec4e466..b8d1b1f 100644 --- a/scripts/.isaac_ros_common-config +++ b/scripts/.isaac_ros_common-config @@ -1,2 +1,2 @@ -CONFIG_IMAGE_KEY="ros2_humble.go2py.realsense" +CONFIG_IMAGE_KEY="ros2_humble.realsense.go2py" CONFIG_DOCKER_SEARCH_DIRS=(../docker) diff --git a/scripts/build_base_image.sh b/scripts/build_base_image.sh index c619468..a843829 100755 --- a/scripts/build_base_image.sh +++ b/scripts/build_base_image.sh @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash # # Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. # @@ -7,196 +7,14 @@ # and any modifications thereto. Any use, reproduction, disclosure or # distribution of this software and related documentation without an express # license agreement from NVIDIA CORPORATION is strictly prohibited. +set -e ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" source $ROOT/utils/print_color.sh -DOCKER_DIR="${ROOT}/../docker" -function usage() { - print_info "Usage: build_base_image.sh" {target image, period delimited components, required} {target image name, optional} {disable_build boolean, optional} - print_info "Copyright (c) 2022, NVIDIA CORPORATION." -} - -DOCKER_SEARCH_DIRS=(${DOCKER_DIR}) - -# Read and parse config file if exists -# -# CONFIG_DOCKER_SEARCH_DIRS (array, can be empty) - -if [[ -f "${ROOT}/.isaac_ros_common-config" ]]; then - . "${ROOT}/.isaac_ros_common-config" - - # Prepend configured docker search dirs - if [ ${#CONFIG_DOCKER_SEARCH_DIRS[@]} -gt 0 ]; then - for (( i=${#CONFIG_DOCKER_SEARCH_DIRS[@]}-1 ; i>=0 ; i-- )); do - - # If the path is relative, then prefix ROOT to the path - if [[ "${CONFIG_DOCKER_SEARCH_DIRS[i]}" != /* ]]; then - CONFIG_DOCKER_SEARCH_DIRS[$i]="${ROOT}/${CONFIG_DOCKER_SEARCH_DIRS[i]}" - fi - done - - CONFIG_DOCKER_SEARCH_DIRS+=(${DOCKER_SEARCH_DIRS[@]}) - DOCKER_SEARCH_DIRS=(${CONFIG_DOCKER_SEARCH_DIRS[@]}) - - print_info "Using configured docker search paths: ${DOCKER_SEARCH_DIRS[*]}" - fi +BUILDKIT_DISABLED_STR="" +if [[ ! -z "$5" ]]; then + BUILDKIT_DISABLED_STR="--disable_buildkit" fi -TARGET_IMAGE_STR="$1" -if [[ -z "$TARGET_IMAGE_STR" ]]; then - print_error "target image not specified" - exit 1 -fi -shift 1 - -TARGET_IMAGE_NAME="$1" -if [[ -z "$TARGET_IMAGE_NAME" ]]; then - TARGET_IMAGE_NAME="${TARGET_IMAGE_STR//./-}-image" - print_warning "Target image name not specified, using ${TARGET_IMAGE_NAME}" -fi -shift 1 - - -BASE_IMAGE_NAME="$1" -if [[ -z "$BASE_IMAGE_NAME" ]]; then - print_warning "Using base image name not specified, using '${BASE_IMAGE_NAME}'" -fi -shift 1 - -DOCKER_CONTEXT_DIR="$1" -if [[ -z "$DOCKER_CONTEXT_DIR" ]]; then - print_warning "Using docker context dir not specified, using Dockerfile directory" -fi -shift 1 - -DOCKER_BUILDKIT=1 -DISABLE_BUILDKIT_STR="$1" -if [[ ! -z "$DISABLE_BUILDKIT_STR" ]]; then - print_warning "WARNING: Explicitly disabling BuildKit" - DOCKER_BUILDKIT=0 -fi -shift 1 - -ON_EXIT=() -function cleanup { - for command in "${ON_EXIT[@]}" - do - $command &>/dev/null - done -} -trap cleanup EXIT - -PLATFORM="$(uname -m)" - -# Resolve Dockerfiles by matching target image ids to available files -TARGET_IMAGE_IDS=(${TARGET_IMAGE_STR//./ }) -IMAGE_IDS=(${TARGET_IMAGE_IDS[@]}) - -# Loop over components and find largest tail sequences -# For example, a target image id of 'aarch64.jp5.carter.nav' should match -# Dockerfiles with suffixes in the following order: -# ".aarch64.jp5.carter.nav", ".jp5.carter.nav", ".carter.nav", ".nav" -# If the first file found is ".carter.nav", the matching recurses by then -# looking for the preceding components ".aarch64.jp5" in the same manner - -DOCKERFILES=() -DOCKERFILE_CONTEXT_DIRS=() -until [ ${#IMAGE_IDS[@]} -le 0 ]; do - UNMATCHED_ID_COUNT=${#IMAGE_IDS[@]} - - for (( i=0; i<${#IMAGE_IDS[@]}; i++ )) do - LAYER_IMAGE_IDS=${IMAGE_IDS[@]:i} - LAYER_IMAGE_SUFFIX="${LAYER_IMAGE_IDS[@]// /.}" - - for DOCKER_SEARCH_DIR in ${DOCKER_SEARCH_DIRS[@]}; do - DOCKERFILE="${DOCKER_SEARCH_DIR}/Dockerfile.${LAYER_IMAGE_SUFFIX}" - - if [[ -f "${DOCKERFILE}" ]]; then - DOCKERFILES+=(${DOCKERFILE}) - DOCKERFILE_CONTEXT_DIRS+=(${DOCKER_SEARCH_DIR}) - IMAGE_IDS=(${IMAGE_IDS[@]:0:i}) - break 2 - fi - done - done - - if [ ${UNMATCHED_ID_COUNT} -eq ${#IMAGE_IDS[@]} ]; then - UNMATCHED_IDS=${IMAGE_IDS[@]} - MATCHED_DOCKERFILES=${DOCKERFILES[@]} - print_error "Could not resolve Dockerfiles for target image ids: ${UNMATCHED_IDS// /.}" - - if [ ${#DOCKERFILES[@]} -gt 0 ]; then - print_warning "Partially resolved the following Dockerfiles for target image: ${TARGET_IMAGE_STR}" - for DOCKERFILE in ${DOCKERFILES[@]}; do - print_warning "${DOCKERFILE}" - done - fi - exit 1 - fi -done - -# Arguments for docker build -BUILD_ARGS+=("--build-arg" "USERNAME="admin"") -BUILD_ARGS+=("--build-arg" "USER_UID=`id -u`") -BUILD_ARGS+=("--build-arg" "USER_GID=`id -g`") -BUILD_ARGS+=("--build-arg" "PLATFORM=$PLATFORM") - -# Check if GPU is installed -if [[ $PLATFORM == "x86_64" ]]; then - if type nvidia-smi &>/dev/null; then - GPU_ATTACHED=(`nvidia-smi -a | grep "Attached GPUs"`) - if [ ! -z $GPU_ATTACHED ]; then - BUILD_ARGS+=("--build-arg" "HAS_GPU="true"") - fi - fi -fi - -print_info "Resolved the following Dockerfiles for target image: ${TARGET_IMAGE_STR}" -for DOCKERFILE in ${DOCKERFILES[@]}; do - print_info "${DOCKERFILE}" -done - -# Build image layers -for (( i=${#DOCKERFILES[@]}-1 ; i>=0 ; i-- )); do - DOCKERFILE=${DOCKERFILES[i]} - DOCKERFILE_CONTEXT_DIR=${DOCKERFILE_CONTEXT_DIRS[i]} - IMAGE_NAME=${DOCKERFILE#*"/Dockerfile."} - IMAGE_NAME="${IMAGE_NAME//./-}-image" - - # Build the base images in layers first - BASE_IMAGE_ARG= - if [ $i -eq $(( ${#DOCKERFILES[@]} - 1 )) ]; then - if [[ ! -z "${BASE_IMAGE_NAME}" ]] ; then - BASE_IMAGE_ARG="--build-arg BASE_IMAGE="${BASE_IMAGE_NAME}"" - fi - fi - - if [ $i -lt $(( ${#DOCKERFILES[@]} - 1 )) ]; then - BASE_DOCKERFILE=${DOCKERFILES[i+1]} - BASE_IMAGE_NAME=${BASE_DOCKERFILE#*"/Dockerfile."} - BASE_IMAGE_NAME="${BASE_IMAGE_NAME//./-}-image" - - BASE_IMAGE_ARG="--build-arg BASE_IMAGE="${BASE_IMAGE_NAME}"" - fi - - # The last image should be the target image name - # Use docker context dir script arg only for last image - DOCKER_CONTEXT_ARG=${DOCKERFILE_CONTEXT_DIR} - if [ $i -eq 0 ]; then - IMAGE_NAME=${TARGET_IMAGE_NAME} - if [[ ! -z "${DOCKER_CONTEXT_DIR}" ]]; then - DOCKER_CONTEXT_ARG=${DOCKER_CONTEXT_DIR} - fi - fi - - print_warning "Building ${DOCKERFILE} as image: ${IMAGE_NAME} with base: ${BASE_IMAGE_NAME}" - - DOCKER_BUILDKIT=${DOCKER_BUILDKIT} docker build -f ${DOCKERFILE} \ - --network host \ - -t ${IMAGE_NAME} \ - ${BASE_IMAGE_ARG} \ - "${BUILD_ARGS[@]}" \ - $@ \ - ${DOCKER_CONTEXT_ARG} -done +$ROOT/build_image_layers.sh --image_key "$1" --image_name "$2" --base_image "$3" --context_dir "$4" $BUILDKIT_DISABLED_STR \ No newline at end of file diff --git a/scripts/build_image_layers.sh b/scripts/build_image_layers.sh new file mode 100755 index 0000000..8224317 --- /dev/null +++ b/scripts/build_image_layers.sh @@ -0,0 +1,342 @@ +#!/bin/bash +# +# Copyright (c) 2022-2024, NVIDIA CORPORATION. All rights reserved. +# +# NVIDIA CORPORATION and its licensors retain all intellectual property +# and proprietary rights in and to this software, related documentation +# and any modifications thereto. Any use, reproduction, disclosure or +# distribution of this software and related documentation without an express +# license agreement from NVIDIA CORPORATION is strictly prohibited. +set -e + +ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" +source $ROOT/utils/print_color.sh +DOCKER_DIR="${ROOT}/../docker" + +function usage() { + print_info "Usage: ${0##*/}" + print_info "Copyright (c) 2024, NVIDIA CORPORATION." +} + +# Initialize arguments +DOCKER_BUILDKIT=1 +IGNORE_COMPOSITE_KEYS=0 +ADDITIONAL_BUILD_ARGS=() +DOCKER_SEARCH_DIRS=(${DOCKER_DIR}) +SKIP_REGISTRY_CHECK=0 +BASE_DOCKER_REGISTRY_NAMES=("nvcr.io/isaac/ros") + +# Read and parse config file if exists +# +# CONFIG_DOCKER_SEARCH_DIRS (array, can be empty) + +if [[ -f "${ROOT}/.isaac_ros_common-config" ]]; then + . "${ROOT}/.isaac_ros_common-config" +fi + +# Override with config from user home directory if exists +if [[ -f ~/.isaac_ros_common-config ]]; then + . ~/.isaac_ros_common-config +fi + +# Prepend configured docker search dirs +if [ ${#CONFIG_DOCKER_SEARCH_DIRS[@]} -gt 0 ]; then + for (( i=${#CONFIG_DOCKER_SEARCH_DIRS[@]}-1 ; i>=0 ; i-- )); do + + # If the path is relative, then prefix ROOT to the path + if [[ "${CONFIG_DOCKER_SEARCH_DIRS[i]}" != /* ]]; then + CONFIG_DOCKER_SEARCH_DIRS[$i]="${ROOT}/${CONFIG_DOCKER_SEARCH_DIRS[i]}" + fi + done + + CONFIG_DOCKER_SEARCH_DIRS+=(${DOCKER_SEARCH_DIRS[@]}) + DOCKER_SEARCH_DIRS=(${CONFIG_DOCKER_SEARCH_DIRS[@]}) +fi + +# Parse command-line args +VALID_ARGS=$(getopt -o hra:b:c:ki:n:u --long help,skip_registry_check,build_arg:,base_image:,context_dir:,disable_buildkit,image_key:,image_name:,ignore_composite_keys -- "$@") +eval set -- "$VALID_ARGS" +while [ : ]; do + case "$1" in + -a | --build_arg) + ADDITIONAL_BUILD_ARGS+=("$2") + shift 2 + ;; + -b | --base_image) + BASE_IMAGE_NAME="$2" + shift 2 + ;; + -c | --context_dir) + DOCKER_CONTEXT_DIR="$2" + shift 2 + ;; + -k | --disable_buildkit) + DOCKER_BUILDKIT=0 + shift + ;; + -i | --image_key) + TARGET_IMAGE_STR="$2" + shift 2 + ;; + -n | --image_name) + TARGET_IMAGE_NAME="$2" + shift 2 + ;; + -r | --skip_registry_check) + SKIP_REGISTRY_CHECK=1 + shift + ;; + -y | --ignore_composite_keys) + IGNORE_COMPOSITE_KEYS=1 + shift + ;; + -h | --help) + usage + exit 0 + ;; + --) shift; + break + ;; + esac +done + +# Check arguments +if [[ -z "$TARGET_IMAGE_STR" ]]; then + print_error "Target image not specified with -i/--image_key" + exit 1 +fi + +if [[ -z "$TARGET_IMAGE_NAME" ]]; then + TARGET_IMAGE_NAME="${TARGET_IMAGE_STR//./-}-image" + print_warning "Target image name not specified, using ${TARGET_IMAGE_NAME}" +fi + +if [[ ! -z "$DOCKER_CONTEXT_DIR" ]]; then + DOCKER_SEARCH_DIRS+=($DOCKER_CONTEXT_DIR) +fi + +# Summarize final arguments for script +print_info "Building layered image for key ${TARGET_IMAGE_STR} as ${TARGET_IMAGE_NAME}" +if [[ ! -z "${BASE_IMAGE_NAME}" ]]; then + print_info "Build image on top of base: |${BASE_IMAGE_NAME}|" +fi + +print_info "Using configured docker search paths: ${DOCKER_SEARCH_DIRS[*]}" +if [[ ! -z "${DOCKER_CONTEXT_DIR}" ]]; then + print_info "Docker context directory for final layer: ${DOCKER_CONTEXT_DIR}" +fi +for BUILD_ARG in "${ADDITIONAL_BUILD_ARGS[@]}" +do + print_info "Additional build arg: ${BUILD_ARG}" +done +if [[ $DOCKER_BUILDKIT -eq 0 ]]; then + print_warning "WARNING: Explicitly disabling BuildKit" +fi + +if [[ $IGNORE_COMPOSITE_KEYS -eq 1 ]]; then + print_warning "WARNING: Explicitly disabling matching composite image keys" +fi + +if [[ $SKIP_REGISTRY_CHECK -eq 1 ]]; then + print_warning "WARNING: Skipping remote registry check for prebuilt images" +fi + +# Setup on-exit cleanup +ON_EXIT=() +function cleanup { + for command in "${ON_EXIT[@]}" + do + $command &>/dev/null + done +} +trap cleanup EXIT + +PLATFORM="$(uname -m)" + +# Resolve Dockerfiles by matching target image ids to available files +TARGET_IMAGE_IDS=(${TARGET_IMAGE_STR//./ }) +IMAGE_IDS=(${TARGET_IMAGE_IDS[@]}) + +# Loop over components and find largest tail sequences +# For example, a target image id of 'aarch64.jp5.carter.nav' should match +# Dockerfiles with suffixes in the following order: +# ".aarch64.jp5.carter.nav", ".jp5.carter.nav", ".carter.nav", ".nav" +# If the first file found is ".carter.nav", the matching recurses by then +# looking for the preceding components ".aarch64.jp5" in the same manner +DOCKERFILES=() +DOCKERFILE_CONTEXT_DIRS=() +until [ ${#IMAGE_IDS[@]} -le 0 ]; do + UNMATCHED_ID_COUNT=${#IMAGE_IDS[@]} + + for (( i=0; i<${#IMAGE_IDS[@]}; i++ )) do + # Abort matching composite keys if disabled + if [[ $IGNORE_COMPOSITE_KEYS -gt 1 && $i -eq 1 ]]; then + break + fi + + LAYER_IMAGE_IDS=${IMAGE_IDS[@]:i} + LAYER_IMAGE_SUFFIX="${LAYER_IMAGE_IDS[@]// /.}" + + for DOCKER_SEARCH_DIR in ${DOCKER_SEARCH_DIRS[@]}; do + DOCKERFILE="${DOCKER_SEARCH_DIR}/Dockerfile.${LAYER_IMAGE_SUFFIX}" + + if [[ -f "${DOCKERFILE}" ]]; then + DOCKERFILES+=(${DOCKERFILE}) + DOCKERFILE_CONTEXT_DIRS+=(${DOCKER_SEARCH_DIR}) + IMAGE_IDS=(${IMAGE_IDS[@]:0:i}) + break 2 + fi + done + done + + if [ ${UNMATCHED_ID_COUNT} -eq ${#IMAGE_IDS[@]} ]; then + UNMATCHED_IDS=${IMAGE_IDS[@]} + MATCHED_DOCKERFILES=${DOCKERFILES[@]} + print_error "Could not resolve Dockerfiles for target image ids: ${UNMATCHED_IDS// /.}" + + if [ ${#DOCKERFILES[@]} -gt 0 ]; then + print_warning "Partially resolved the following Dockerfiles for target image: ${TARGET_IMAGE_STR}" + for DOCKERFILE in ${DOCKERFILES[@]}; do + print_warning "${DOCKERFILE}" + done + fi + exit 1 + fi +done + +# Find pre-built image if available +if [[ $SKIP_REGISTRY_CHECK -eq 0 && -z "${BASE_IMAGE_NAME}" ]]; then + # Generate the possible base image names to look for from first image key onward + BASE_IMAGE_FULLNAMES=() + BASE_DOCKERFILES=() + BASE_DOCKERFILE_CONTEXT_DIRS=() + BASE_IMAGE_DOCKERFILES_INDICES=() + for (( i=${#DOCKERFILES[@]}-1 ; i>=0 ; i-- )); do + BASE_DOCKERFILES+=(${DOCKERFILES[i]}) + BASE_DOCKERFILE_CONTEXT_DIRS+=(${DOCKERFILE_CONTEXT_DIRS[i]}) + BASE_IMAGE_KEYS=() + + DOCKER_HASH_FILE=$(mktemp) + ON_EXIT+=("rm -Rf ${DOCKER_HASH_FILE}") + + # Determine hash of all Dockerfiles for this base image name + for (( j=0 ; j<${#BASE_DOCKERFILES[@]} ; j++ )); do + BASE_DOCKERFILE=${BASE_DOCKERFILES[j]} + BASE_DOCKERFILE_CONTEXT_DIR=${BASE_DOCKERFILE_CONTEXT_DIRS[j]} + LAYER_IMAGE_SUFFIX=${BASE_DOCKERFILE#*"/Dockerfile."} + BASE_IMAGE_KEYS+=(${LAYER_IMAGE_SUFFIX//./ }) + + pushd . >/dev/null + cd $BASE_DOCKERFILE_CONTEXT_DIR + BASE_DOCKERFILE="Dockerfile.${LAYER_IMAGE_SUFFIX}" + md5sum ${BASE_DOCKERFILE} >> $DOCKER_HASH_FILE + popd >/dev/null + done + SOURCE_DOCKERFILE_HASH=($(md5sum $DOCKER_HASH_FILE)) + + # Determine base image name + for (( j=${#BASE_DOCKER_REGISTRY_NAMES[@]}-1 ; j>= 0; j-- )); do + BASE_DOCKER_REGISTRY_NAME=${BASE_DOCKER_REGISTRY_NAMES[j]} + BASE_IMAGE_TAG=${BASE_IMAGE_KEYS[*]} + BASE_IMAGE_TAG=${BASE_IMAGE_TAG// /.} + BASE_IMAGE_FULLNAME="${BASE_DOCKER_REGISTRY_NAME}:${BASE_IMAGE_TAG//./-}_${SOURCE_DOCKERFILE_HASH}" + BASE_IMAGE_FULLNAMES+=(${BASE_IMAGE_FULLNAME}) + + # Remember which index goes with this base image so we can skip those Dockerfiles + # if this image exists + BASE_IMAGE_DOCKERFILES_INDICES+=($i) + done + done + + for (( i=${#BASE_IMAGE_FULLNAMES[@]}-1 ; i>=0 ; i-- )); do + BASE_IMAGE_FULLNAME=${BASE_IMAGE_FULLNAMES[i]} + + # Check if image exists on remote server + print_info "Checking if base image ${BASE_IMAGE_FULLNAME} exists on remote registry" + OUTPUT=$(docker manifest inspect ${BASE_IMAGE_FULLNAME} >/dev/null 2>&1 ; echo $?) + if [[ ${OUTPUT} -eq 0 ]]; then + BASE_IMAGE_NAME=${BASE_IMAGE_FULLNAME} + DOCKERFILES=(${DOCKERFILES[@]:0:${BASE_IMAGE_DOCKERFILES_INDICES[i]-1}}) + print_info "Found pre-built base image: ${BASE_IMAGE_FULLNAME}" + docker pull ${BASE_IMAGE_FULLNAME} + print_info "Finished pulling pre-built base image: ${BASE_IMAGE_FULLNAME}" + break + fi + done +fi + +# Arguments for docker build +BUILD_ARGS+=("--build-arg" "USERNAME="admin"") +BUILD_ARGS+=("--build-arg" "USER_UID=`id -u`") +BUILD_ARGS+=("--build-arg" "USER_GID=`id -g`") +BUILD_ARGS+=("--build-arg" "PLATFORM=$PLATFORM") + +for BUILD_ARG in ${ADDITIONAL_BUILD_ARGS[@]} +do + BUILD_ARGS+=("--build-arg" "${BUILD_ARG}") +done + +# Check if GPU is installed +if [[ $PLATFORM == "x86_64" ]]; then + GPU_ATTACHED=(`nvidia-smi -a | grep "Attached GPUs" || true`) + if [ -z $GPU_ATTACHED ]; then + print_warning "No GPU detected! Not setting build args for HAS_GPU" + else + BUILD_ARGS+=("--build-arg" "HAS_GPU="true"") + fi +fi + +if [ ${#DOCKERFILES[@]} -gt 0 ]; then + print_info "Resolved the following ${#DOCKERFILES[@]} Dockerfiles for target image: ${TARGET_IMAGE_STR}" + for DOCKERFILE in ${DOCKERFILES[@]}; do + print_info "${DOCKERFILE}" + done +else + docker tag ${BASE_IMAGE_NAME} ${TARGET_IMAGE_NAME} + print_info "Nothing to build, retagged ${BASE_IMAGE_NAME} as ${TARGET_IMAGE_NAME}" + exit 0 +fi + +# Build image layers +for (( i=${#DOCKERFILES[@]}-1 ; i>=0 ; i-- )); do + DOCKERFILE=${DOCKERFILES[i]} + DOCKERFILE_CONTEXT_DIR=${DOCKERFILE_CONTEXT_DIRS[i]} + IMAGE_NAME=${DOCKERFILE#*"/Dockerfile."} + IMAGE_NAME="${IMAGE_NAME//./-}-image" + + # Build the base images in layers first + BASE_IMAGE_ARG= + if [ $i -eq $(( ${#DOCKERFILES[@]} - 1 )) ]; then + if [[ ! -z "${BASE_IMAGE_NAME}" ]] ; then + BASE_IMAGE_ARG="--build-arg BASE_IMAGE="${BASE_IMAGE_NAME}"" + fi + fi + + if [ $i -lt $(( ${#DOCKERFILES[@]} - 1 )) ]; then + BASE_DOCKERFILE=${DOCKERFILES[i+1]} + BASE_IMAGE_NAME=${BASE_DOCKERFILE#*"/Dockerfile."} + BASE_IMAGE_NAME="${BASE_IMAGE_NAME//./-}-image" + + BASE_IMAGE_ARG="--build-arg BASE_IMAGE="${BASE_IMAGE_NAME}"" + fi + + # The last image should be the target image name + # Use docker context dir script arg only for last image + DOCKER_CONTEXT_ARG=${DOCKERFILE_CONTEXT_DIR} + if [ $i -eq 0 ]; then + IMAGE_NAME=${TARGET_IMAGE_NAME} + if [[ ! -z "${DOCKER_CONTEXT_DIR}" ]]; then + DOCKER_CONTEXT_ARG=${DOCKER_CONTEXT_DIR} + fi + fi + + print_warning "Building ${DOCKERFILE} as image: ${IMAGE_NAME} with base: ${BASE_IMAGE_NAME}" + + DOCKER_BUILDKIT=${DOCKER_BUILDKIT} docker build -f ${DOCKERFILE} \ + --network host \ + -t ${IMAGE_NAME} \ + ${BASE_IMAGE_ARG} \ + "${BUILD_ARGS[@]}" \ + $@ \ + ${DOCKER_CONTEXT_ARG} +done diff --git a/scripts/deploy/_Dockerfile.deploy b/scripts/deploy/_Dockerfile.deploy new file mode 100644 index 0000000..4b3acc9 --- /dev/null +++ b/scripts/deploy/_Dockerfile.deploy @@ -0,0 +1,48 @@ +# Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved. +# +# NVIDIA CORPORATION and its licensors retain all intellectual property +# and proprietary rights in and to this software, related documentation +# and any modifications thereto. Any use, reproduction, disclosure or +# distribution of this software and related documentation without an express +# license agreement from NVIDIA CORPORATION is strictly prohibited. + +ARG SET_LAUNCH_CMD +ARG BASE_IMAGE=nvidia/cuda:12.2.2-runtime-ubuntu22.04 +FROM ${BASE_IMAGE} as deploy_base + +# Setup entrypoint +COPY deploy-entrypoint.sh /usr/local/bin/scripts/deploy-entrypoint.sh +RUN chmod +x /usr/local/bin/scripts/deploy-entrypoint.sh +ENTRYPOINT [ "/usr/local/bin/scripts/deploy-entrypoint.sh" ] + +# Install additional debians +ARG INSTALL_DEBIANS_CSV +RUN --mount=type=cache,target=/var/cache/apt \ + if [[ ! -z "${INSTALL_DEBIANS_CSV}" ]]; then \ + apt-get update && apt-get install -y ${INSTALL_DEBIANS_CSV//,/ } ; \ + fi + +# Copy built products into container +COPY staging/ / + +# Switch to non-root user +USER ${USERNAME:?} + +# ----------- + +FROM deploy_base as deploy_has_launch_0 +# ----------- + +FROM deploy_base as deploy_has_launch_1 +# Default argument +ARG LAUNCH_FILE +ENV LAUNCH_FILE=${LAUNCH_FILE:?} + +ARG LAUNCH_PACKAGE +ENV LAUNCH_PACKAGE=${LAUNCH_PACKAGE:?} + +CMD ros2 launch $LAUNCH_PACKAGE $LAUNCH_FILE +# ----------- + + +FROM deploy_has_launch_${SET_LAUNCH_CMD} as final \ No newline at end of file diff --git a/scripts/deploy/_Dockerfile.deploy_ws b/scripts/deploy/_Dockerfile.deploy_ws new file mode 100644 index 0000000..135fe3b --- /dev/null +++ b/scripts/deploy/_Dockerfile.deploy_ws @@ -0,0 +1,21 @@ +# Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved. +# +# NVIDIA CORPORATION and its licensors retain all intellectual property +# and proprietary rights in and to this software, related documentation +# and any modifications thereto. Any use, reproduction, disclosure or +# distribution of this software and related documentation without an express +# license agreement from NVIDIA CORPORATION is strictly prohibited. + +ARG BASE_IMAGE=nvidia/cuda:12.2.2-runtime-ubuntu22.04 +FROM ${BASE_IMAGE} as deploy_ros_ws + +ARG ROS_WS +ENV ROS_WS=${ROS_WS:?} + +RUN --mount=type=cache,target=/var/cache/apt \ +. /opt/ros/${ROS_DISTRO}/setup.sh && rosdep update --rosdistro ${ROS_DISTRO} \ + && rosdep install -y -r \ + --from-path ${ROS_WS}/install \ + --rosdistro ${ROS_DISTRO} \ + --ignore-src \ + --skip-keys "libyaml-cpp-dev fastcdr rti-connext-dds-6.0.1 rti-connext-dds-5.3.1 urdfdom_headers libopencv-dev libopencv-contrib-dev libopencv-imgproc-dev python-opencv python3-opencv" diff --git a/scripts/deploy/_deploy-entrypoint.sh b/scripts/deploy/_deploy-entrypoint.sh new file mode 100644 index 0000000..262a4ef --- /dev/null +++ b/scripts/deploy/_deploy-entrypoint.sh @@ -0,0 +1,28 @@ +#!/bin/bash +##################################################################################### +# SPDX-FileCopyrightText: Copyright (c) 2019 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# 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. +##################################################################################### + + +source ${ROS_ROOT:?}/setup.bash + +# Source ROS workspace if exists +if [[ ! -z "${ROS_WS}" ]]; then + source ${ROS_WS}/install/setup.bash +fi + +set -x +exec "$@" diff --git a/scripts/docker_deploy.sh b/scripts/docker_deploy.sh new file mode 100755 index 0000000..a11013e --- /dev/null +++ b/scripts/docker_deploy.sh @@ -0,0 +1,261 @@ +#!/bin/bash -e +# +# Copyright (c) 2021-2022, NVIDIA CORPORATION. All rights reserved. +# +# NVIDIA CORPORATION and its licensors retain all intellectual property +# and proprietary rights in and to this software, related documentation +# and any modifications thereto. Any use, reproduction, disclosure or +# distribution of this software and related documentation without an express +# license agreement from NVIDIA CORPORATION is strictly prohibited. + +ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" +source $ROOT/utils/print_color.sh + +# Builds image (ARG MODE=deploy) with base image key, then layers any roots or debians you specify, +# then does rosdep install of a ROS WS if you specify one, then layers on suffix image key, and +# sets a default command to run 'ros2 launch {launch package} {launch file}' + +# Example: installs two debians, copies three directories (includes ROS_WS/remaps one), runs package and launch file +# ./docker_deploy.sh -i "libnvvpi3,tensorrt" -d /workspaces/isaac_ros-dev/tests -d /home/nvidia/scripts:/home/admin/scripts -w /workspaces/isaac_ros-dev/ros_ws -b "aarch64.ros2_humble" -p "isaac_ros_image_proc" -f "isaac_ros_image_flip.launch.py" + +# Read and parse config file if exists +# +# CONFIG_BASE_IMAGE_KEY (string, can be empty) + +if [[ -f "${ROOT}/.isaac_ros_common-config" ]]; then + . "${ROOT}/.isaac_ros_common-config" +fi + +# Override with config from user home directory if exists +if [[ -f ~/.isaac_ros_common-config ]]; then + . ~/.isaac_ros_common-config +fi + +INCLUDE_DIRS=() +INCLUDE_TARBALLS=() +SET_LAUNCH_CMD=0 +CUSTOM_APT_SOURCES=() +VALID_ARGS=$(getopt -o w:d:b:n:s:f:p:i:t:a: --long ros_ws:include_dir:base_image_key:name:suffix_image_key:launch_file:launch_package:install_debians:include_tarball:custom_apt_source -- "$@") +eval set -- "$VALID_ARGS" +while [ : ]; do + case "$1" in + -a | --custom_apt_source) + CUSTOM_APT_SOURCES+=("$2") + shift 2 + ;; + -b | --base_image_key) + BASE_IMAGE_KEY="$2" + shift 2 + ;; + -d | --include_dir) + INCLUDE_DIRS+=("$2") + shift 2 + ;; + -f | --launch_file) + LAUNCH_FILE="$2" + shift 2 + ;; + -i | --install_debians) + INSTALL_DEBIANS_CSV="$2" + shift 2 + ;; + -n | --name) + DEPLOY_IMAGE_NAME="$2" + shift 2 + ;; + -p | --launch_package) + LAUNCH_PACKAGE="$2" + shift 2 + ;; + -s | --suffix_image_key) + SUFFIX_IMAGE_KEY="$2" + shift 2 + ;; + -t | --include_tarball) + INCLUDE_TARBALLS+=("$2") + shift 2 + ;; + -w | --ros_ws) + ROS_WS="$2" + shift 2 + ;; + --) shift; + break + ;; + esac +done + +# Check arguments +PLATFORM="$(uname -m)" + +# Check that both launch file and package are set, or neither +if [[ ! -z "${LAUNCH_FILE}${LAUNCH_PACKAGE}" ]]; then + if [[ -z "${LAUNCH_FILE}" || -z "${LAUNCH_PACKAGE}" ]]; then + print_error "Launch package (-p/--launch_package) and launch file (-f/--launch_file) must both be specified or both empty." + exit 1 + fi +fi + +if [[ ! -z "${LAUNCH_FILE}" ]]; then + SET_LAUNCH_CMD=1 +fi + +if [[ -z "${BASE_IMAGE_KEY}" ]]; then + BASE_IMAGE_KEY="${PLATFORM}.ros2_humble" + print_warning "Base image key not specified, assuming $BASE_IMAGE_KEY" +fi + +if [[ -z "${DEPLOY_IMAGE_NAME}" ]]; then + DEPLOY_IMAGE_NAME="isaac_ros_deploy" + print_warning "Deploy image name not specified, assuming $DEPLOY_IMAGE_NAME" +fi + +if [[ ${#CUSTOM_APT_SOURCES[@]} -gt 100 ]]; then + print_error "Unable to handle more than 100 custom apt sources." + exit 1 +fi + +# Always include install directory of ROS workspace +if [[ ! -z "${ROS_WS}" ]]; then + SYMLINKS_IN_INSTALL_SPACE=$(find "${ROS_WS}/install" -type l) + if [ -n "${SYMLINKS_IN_INSTALL_SPACE}" ]; then + print_warning "Found symlinks in install space. Symlinked install spaces are not supported. Please use an isolated or merge install instead. Symlinks:" + print_warning $SYMLINKS_IN_INSTALL_SPACE + fi + + # Resolve ROS_WS_DEST from install directory setup.sh + ROS_WS_DEST=/workspaces/isaac_ros-dev + FILE_CONTENT=$(< "${ROS_WS}/install/setup.sh") + REGEX="_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX=([^[:space:]]*)" + if [[ $FILE_CONTENT =~ $REGEX ]]; then + ROS_WS_DEST="${BASH_REMATCH[1]%/*}" + fi + + INCLUDE_DIRS+=( "$ROS_WS/install:${ROS_WS_DEST}/install" ) +fi + +# Always suffix .user to base image +# If the configured key does not have .user, append it last +if [[ $BASE_IMAGE_KEY != *".user"* ]]; then + BASE_IMAGE_KEY="${BASE_IMAGE_KEY}.user" +fi + +# Summarize final arguments for script +print_info "Building deployable image ${DEPLOY_IMAGE_NAME}" +print_info "Base image key: |${BASE_IMAGE_KEY}| / suffix image_key: |${SUFFIX_IMAGE_KEY}|" +if [[ ! -z "${LAUNCH_FILE}" ]]; then + print_info "Entrypoint to launch ${LAUNCH_PACKAGE}/${LAUNCH_FILE}" +fi +if [[ ! -z "${INSTALL_DEBIANS_CSV}" ]]; then + print_info "Installing debians: ${INSTALL_DEBIANS_CSV}" +fi +if [[ ! -z "${ROS_WS}" ]]; then + print_info "Installing ROS workspace at ${ROS_WS} to ${ROS_WS_DEST}" +fi +for INCLUDE_DIR in "${INCLUDE_DIRS[@]}" +do + print_info "Installing directory: ${INCLUDE_DIR}" +done +for INCLUDE_TARBALL in "${INCLUDE_TARBALLS[@]}" +do + print_info "Installing tarball: ${INCLUDE_TARBALL}" +done +for CUSTOM_APT_SOURCE in "${CUSTOM_APT_SOURCES[@]}" +do + print_info "Adding custom apt source: ${CUSTOM_APT_SOURCE}" +done +print_info "Begin building deployable image" + +# Setup on-exit cleanup tasks +ON_EXIT=() +function cleanup { + for command in "${ON_EXIT[@]}" + do + $command + done +} +trap cleanup EXIT + +pushd . >/dev/null +cd $ROOT +ON_EXIT+=("popd") + +# Setup staging temp directory +TEMP_DIR=`mktemp -d -t isaac_ros_deploy_XXXXXXXX` +ON_EXIT+=("rm -Rf ${TEMP_DIR}") + +pushd . >/dev/null +ON_EXIT+=("popd") + +cd $TEMP_DIR +cp -f $ROOT/deploy/_Dockerfile.deploy ${TEMP_DIR}/Dockerfile.deploy +cp -f $ROOT/deploy/_Dockerfile.deploy_ws ${TEMP_DIR}/Dockerfile.deploy_ws +cp -f $ROOT/deploy/_deploy-entrypoint.sh ${TEMP_DIR}/deploy-entrypoint.sh + +mkdir -p ${TEMP_DIR}/staging + +# Stage directories +for INCLUDE_DIR in "${INCLUDE_DIRS[@]}" +do + SRC_DIR=${INCLUDE_DIR} + DEST_DIR=${INCLUDE_DIR} + INCLUDE_DIR_REMAP_ARRAY=(${INCLUDE_DIR//:/ }) + if [[ ${#INCLUDE_DIR_REMAP_ARRAY[@]} -gt 1 ]]; then + SRC_DIR=${INCLUDE_DIR_REMAP_ARRAY[0]} + DEST_DIR=${INCLUDE_DIR_REMAP_ARRAY[1]} + fi + + print_info "Staging $SRC_DIR->$DEST_DIR" + mkdir -p ${TEMP_DIR}/staging/${DEST_DIR#/} + rsync -azL ${SRC_DIR}/ ${TEMP_DIR}/staging/${DEST_DIR#/} +done + +# Stage tarballs +for INCLUDE_TARBALL in "${INCLUDE_TARBALLS[@]}" +do + print_info "Staging tarball $INCLUDE_TARBALL" + tar -xzvf $INCLUDE_TARBALL -C ${TEMP_DIR}/staging +done + +# Delete all .git files and credentials +find $TEMP_DIR -type d -name ".git" | xargs -d '\n' rm -rf + +BASE_DEPLOY_IMAGE_NAME="${DEPLOY_IMAGE_NAME}-base" +INSTALLED_DEPLOY_IMAGE_NAME="${DEPLOY_IMAGE_NAME}-installed" + +# Stage custom apt sources +for (( i=0; i<${#CUSTOM_APT_SOURCES[@]}; i++ )) do + printf -v APT_SOURCE_IDX "%02d" $i + CUSTOM_APT_SOURCE_FILE="${TEMP_DIR}/staging/etc/apt/sources.list.d/${APT_SOURCE_IDX}_custom_apt_source" + mkdir -p ${CUSTOM_APT_SOURCE_FILE%/*} + echo "${CUSTOM_APT_SOURCES[$i]}" >> ${CUSTOM_APT_SOURCE_FILE} +done + +# Build base image +print_info "Building deploy base image: ${BASE_DEPLOY_IMAGE_NAME} with key ${BASE_IMAGE_KEY}" +$ROOT/build_image_layers.sh --image_key "${BASE_IMAGE_KEY}" --image_name "${BASE_DEPLOY_IMAGE_NAME}" --build_arg "MODE=deploy" + +# Install staged files and setup launch command +print_info "Building install image with launch file ${LAUNCH_FILE} in package ${LAUNCH_PACKAGE}" +$ROOT/build_image_layers.sh --image_key "deploy" --image_name "${INSTALLED_DEPLOY_IMAGE_NAME}" --base_image "${BASE_DEPLOY_IMAGE_NAME}" --context_dir "${TEMP_DIR}" \ + --build_arg "MODE=deploy" --build_arg "SET_LAUNCH_CMD=${SET_LAUNCH_CMD}" --build_arg "LAUNCH_FILE=${LAUNCH_FILE}" --build_arg "LAUNCH_PACKAGE=${LAUNCH_PACKAGE}" --build_arg "INSTALL_DEBIANS_CSV=${INSTALL_DEBIANS_CSV}" + +# Optional, if ROS_WS, install rosdeps +if [[ ! -z "${ROS_WS}" ]]; then + print_info "Building ROS workspace image for path ${ROS_WS}" + PREVIOUS_STAGE="${INSTALLED_DEPLOY_IMAGE_NAME}" + INSTALLED_DEPLOY_IMAGE_NAME="${DEPLOY_IMAGE_NAME}-rosws" + $ROOT/build_image_layers.sh --image_key "deploy_ws" --image_name "${INSTALLED_DEPLOY_IMAGE_NAME}" --base_image "${PREVIOUS_STAGE}" --context_dir "${TEMP_DIR}" --build_arg "MODE=deploy ROS_WS=${ROS_WS_DEST}" +fi + +# Optional, build suffix image if specified +if [[ ! -z "${SUFFIX_IMAGE_KEY}" ]]; then + print_info "Building suffix deploy image for key ${SUFFIX_IMAGE_KEY}" + PREVIOUS_STAGE="${INSTALLED_DEPLOY_IMAGE_NAME}" + INSTALLED_DEPLOY_IMAGE_NAME="${DEPLOY_IMAGE_NAME}-suffix" + $ROOT/build_image_layers.sh --image_key "SUFFIX_IMAGE_KEY" --image_name "${INSTALLED_DEPLOY_IMAGE_NAME}" --base_image "${PREVIOUS_STAGE}" --build_arg "MODE=deploy" +fi + +# Retag last image +docker tag "${INSTALLED_DEPLOY_IMAGE_NAME}" "${DEPLOY_IMAGE_NAME}" +print_info "DONE, image: ${DEPLOY_IMAGE_NAME}" diff --git a/scripts/run_dev.sh b/scripts/run_dev.sh index 7b3ac14..91f5172 100755 --- a/scripts/run_dev.sh +++ b/scripts/run_dev.sh @@ -1,6 +1,6 @@ #!/bin/bash # -# Copyright (c) 2021-2022, NVIDIA CORPORATION. All rights reserved. +# Copyright (c) 2021-2024, NVIDIA CORPORATION. All rights reserved. # # NVIDIA CORPORATION and its licensors retain all intellectual property # and proprietary rights in and to this software, related documentation @@ -8,14 +8,18 @@ # distribution of this software and related documentation without an express # license agreement from NVIDIA CORPORATION is strictly prohibited. +set -e + ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" source $ROOT/utils/print_color.sh function usage() { - print_info "Usage: run_dev.sh" {isaac_ros_dev directory path OPTIONAL} - print_info "Copyright (c) 2021-2022, NVIDIA CORPORATION." + print_info "Usage: run_dev.sh {-d isaac_ros_dev directory path OPTIONAL}" + print_info "Copyright (c) 2021-2024, NVIDIA CORPORATION." } +DOCKER_ARGS=() + # Read and parse config file if exists # # CONFIG_IMAGE_KEY (string, can be empty) @@ -24,28 +28,57 @@ if [[ -f "${ROOT}/.isaac_ros_common-config" ]]; then . "${ROOT}/.isaac_ros_common-config" fi -ISAAC_ROS_DEV_DIR="$1" -if [[ -z "$ISAAC_ROS_DEV_DIR" ]]; then - ISAAC_ROS_DEV_DIR_DEFAULTS=("$HOME/workspaces/Go2Py" "/workspaces/Go2Py") - for ISAAC_ROS_DEV_DIR in "${ISAAC_ROS_DEV_DIR_DEFAULTS[@]}" - do - if [[ -d "$ISAAC_ROS_DEV_DIR" ]]; then - break - fi - done - - if [[ ! -d "$ISAAC_ROS_DEV_DIR" ]]; then - ISAAC_ROS_DEV_DIR=$(realpath "$ROOT/../") - fi - print_warning "isaac_ros_dev not specified, assuming $ISAAC_ROS_DEV_DIR" -else - if [[ ! -d "$ISAAC_ROS_DEV_DIR" ]]; then - print_error "Specified isaac_ros_dev does not exist: $ISAAC_ROS_DEV_DIR" - exit 1 - fi - shift 1 +# Override with config from user home directory if exists +if [[ -f ~/.isaac_ros_common-config ]]; then + . ~/.isaac_ros_common-config fi +# Parse command-line args +IMAGE_KEY=ros2_humble.realsense.go2py + +# Pick up config image key if specified +if [[ ! -z "${CONFIG_IMAGE_KEY}" ]]; then + IMAGE_KEY=$CONFIG_IMAGE_KEY +fi + +ISAAC_ROS_DEV_DIR="${ISAAC_ROS_WS}" +SKIP_IMAGE_BUILD=0 +VERBOSE=0 +VALID_ARGS=$(getopt -o hvd:i:ba: --long help,verbose,isaac_ros_dev_dir:,image_key_suffix:,skip_image_build,docker_arg: -- "$@") +eval set -- "$VALID_ARGS" +while [ : ]; do + case "$1" in + -d | --isaac_ros_dev_dir) + ISAAC_ROS_DEV_DIR="$2" + shift 2 + ;; + -i | --image_key) + IMAGE_KEY="$2" + shift 2 + ;; + -b | --skip_image_build) + SKIP_IMAGE_BUILD=1 + shift + ;; + -a | --docker_arg) + DOCKER_ARGS+=("$2") + shift 2 + ;; + -v | --verbose) + VERBOSE=1 + shift + ;; + -h | --help) + usage + exit 0 + ;; + --) shift; + break + ;; + esac +done + +# Setup on-exit traps ON_EXIT=() function cleanup { for command in "${ON_EXIT[@]}" @@ -59,6 +92,28 @@ pushd . >/dev/null cd $ROOT ON_EXIT+=("popd") +# Fall back if isaac_ros_dev_dir not specified +if [[ -z "$ISAAC_ROS_DEV_DIR" ]]; then + ISAAC_ROS_DEV_DIR_DEFAULTS=("$HOME/workspaces/isaac_ros-dev" "/workspaces/isaac_ros-dev" "/mnt/nova_ssd/workspaces/isaac_ros-dev") + for ISAAC_ROS_DEV_DIR in "${ISAAC_ROS_DEV_DIR_DEFAULTS[@]}" + do + if [[ -d "$ISAAC_ROS_DEV_DIR" ]]; then + break + fi + done + + if [[ ! -d "$ISAAC_ROS_DEV_DIR" ]]; then + ISAAC_ROS_DEV_DIR=$(realpath "$ROOT/../") + fi + print_warning "isaac_ros_dev not specified, assuming $ISAAC_ROS_DEV_DIR" +fi + +# Validate isaac_ros_dev_dir +if [[ ! -d "$ISAAC_ROS_DEV_DIR" ]]; then + print_error "Specified isaac_ros_dev does not exist: $ISAAC_ROS_DEV_DIR" + exit 1 +fi + # Prevent running as root. if [[ $(id -u) -eq 0 ]]; then print_error "This script cannot be executed with root privileges." @@ -85,7 +140,7 @@ fi # Check if git-lfs is installed. git lfs &>/dev/null if [[ $? -ne 0 ]] ; then - print_error "git-lfs is not installed. Please make sure git-lfs is installed before you clone the repo." + print_error "git-lfs is not insalled. Please make sure git-lfs is installed before you clone the repo." exit 1 fi @@ -97,37 +152,14 @@ if [[ $? -eq 0 ]]; then for (( i=0; i<${#LFS_FILES_STATUS}; i++ )); do f="${LFS_FILES_STATUS:$i:1}" if [[ "$f" == "-" ]]; then - print_error "LFS files are missing. Please re-clone the repo after installing git-lfs." + print_error "LFS files are missing. Please re-clone repos after installing git-lfs." exit 1 fi done fi +# Determine base image key PLATFORM="$(uname -m)" - -# BASE_NAME="isaac_ros_dev-$PLATFORM" -BASE_NAME="go2py-isaac-ros" -CONTAINER_NAME="go2py-isaac-ros-container" -# CONTAINER_NAME="$BASE_NAME-container" - -# Remove any exited containers. -if [ "$(docker ps -a --quiet --filter status=exited --filter name=$CONTAINER_NAME)" ]; then - docker rm $CONTAINER_NAME > /dev/null -fi - -# Reuse existing container. -if [ "$(docker ps -a --quiet --filter status=running --filter name=$CONTAINER_NAME)" ]; then - print_info "Attaching to running container: $CONTAINER_NAME" - docker exec -i -t -u admin --workdir /workspaces/Go2Py $CONTAINER_NAME /bin/bash $@ - exit 0 -fi - -# Build image -IMAGE_KEY=ros2_humble -if [[ ! -z "${CONFIG_IMAGE_KEY}" ]]; then - IMAGE_KEY=$CONFIG_IMAGE_KEY -fi - BASE_IMAGE_KEY=$PLATFORM.user if [[ ! -z "${IMAGE_KEY}" ]]; then BASE_IMAGE_KEY=$PLATFORM.$IMAGE_KEY @@ -138,11 +170,56 @@ if [[ ! -z "${IMAGE_KEY}" ]]; then fi fi -print_info "Building $BASE_IMAGE_KEY base as image: $BASE_NAME using key $BASE_IMAGE_KEY" -$ROOT/build_base_image.sh $BASE_IMAGE_KEY $BASE_NAME '' '' '' +# Check skip image build from env +if [[ ! -z $SKIP_DOCKER_BUILD ]]; then + SKIP_IMAGE_BUILD=1 +fi -if [ $? -ne 0 ]; then - print_error "Failed to build base image: $BASE_NAME, aborting." +# Check skip image build from config +if [[ ! -z $CONFIG_SKIP_IMAGE_BUILD ]]; then + SKIP_IMAGE_BUILD=1 +fi + +BASE_NAME="go2py_isaac_ros_dev-$PLATFORM" +if [[ ! -z "$CONFIG_CONTAINER_NAME_SUFFIX" ]] ; then + BASE_NAME="$BASE_NAME-$CONFIG_CONTAINER_NAME_SUFFIX" +fi +CONTAINER_NAME="$BASE_NAME-container" + +# Remove any exited containers. +if [ "$(docker ps -a --quiet --filter status=exited --filter name=$CONTAINER_NAME)" ]; then + docker rm $CONTAINER_NAME > /dev/null +fi + +# Re-use existing container. +if [ "$(docker ps -a --quiet --filter status=running --filter name=$CONTAINER_NAME)" ]; then + print_info "Attaching to running container: $CONTAINER_NAME" + docker exec -i -t -u admin --workdir /workspaces/isaac_ros-dev $CONTAINER_NAME /bin/bash $@ + exit 0 +fi + +# Summarize launch +print_info "Launching Isaac ROS Dev container with image key ${BASE_IMAGE_KEY}: ${ISAAC_ROS_DEV_DIR}" + +# Build imag to launch +if [[ $SKIP_IMAGE_BUILD -ne 1 ]]; then + print_info "Building $BASE_IMAGE_KEY base as image: $BASE_NAME" + $ROOT/build_image_layers.sh --image_key "$BASE_IMAGE_KEY" --image_name "$BASE_NAME" + + # Check result + if [ $? -ne 0 ]; then + if [[ -z $(docker image ls --quiet $BASE_NAME) ]]; then + print_error "Building image failed and no cached image found for $BASE_NAME, aborting." + exit 1 + else + print_warning "Unable to build image, but cached image found." + fi + fi +fi + +# Check image is available +if [[ -z $(docker image ls --quiet $BASE_NAME) ]]; then + print_error "No built image found for $BASE_NAME, aborting." exit 1 fi @@ -155,24 +232,16 @@ DOCKER_ARGS+=("-e NVIDIA_DRIVER_CAPABILITIES=all") DOCKER_ARGS+=("-e FASTRTPS_DEFAULT_PROFILES_FILE=/usr/local/share/middleware_profiles/rtps_udp_profile.xml") DOCKER_ARGS+=("-e ROS_DOMAIN_ID") DOCKER_ARGS+=("-e USER") +DOCKER_ARGS+=("-e ISAAC_ROS_WS=/workspaces/isaac_ros-dev") if [[ $PLATFORM == "aarch64" ]]; then DOCKER_ARGS+=("-v /usr/bin/tegrastats:/usr/bin/tegrastats") - DOCKER_ARGS+=("-v /tmp/argus_socket:/tmp/argus_socket") - DOCKER_ARGS+=("-v /usr/local/cuda-11.4/targets/aarch64-linux/lib/libcusolver.so.11:/usr/local/cuda-11.4/targets/aarch64-linux/lib/libcusolver.so.11") - DOCKER_ARGS+=("-v /usr/local/cuda-11.4/targets/aarch64-linux/lib/libcusparse.so.11:/usr/local/cuda-11.4/targets/aarch64-linux/lib/libcusparse.so.11") - DOCKER_ARGS+=("-v /usr/local/cuda-11.4/targets/aarch64-linux/lib/libcurand.so.10:/usr/local/cuda-11.4/targets/aarch64-linux/lib/libcurand.so.10") - DOCKER_ARGS+=("-v /usr/local/cuda-11.4/targets/aarch64-linux/lib/libcufft.so.10:/usr/local/cuda-11.4/targets/aarch64-linux/lib/libcufft.so.10") - DOCKER_ARGS+=("-v /usr/local/cuda-11.4/targets/aarch64-linux/lib/libnvToolsExt.so:/usr/local/cuda-11.4/targets/aarch64-linux/lib/libnvToolsExt.so") - DOCKER_ARGS+=("-v /usr/local/cuda-11.4/targets/aarch64-linux/lib/libcupti.so.11.4:/usr/local/cuda-11.4/targets/aarch64-linux/lib/libcupti.so.11.4") - DOCKER_ARGS+=("-v /usr/local/cuda-11.4/targets/aarch64-linux/lib/libcudla.so.1:/usr/local/cuda-11.4/targets/aarch64-linux/lib/libcudla.so.1") - DOCKER_ARGS+=("-v /usr/local/cuda-11.4/targets/aarch64-linux/include/nvToolsExt.h:/usr/local/cuda-11.4/targets/aarch64-linux/include/nvToolsExt.h") + DOCKER_ARGS+=("-v /tmp/:/tmp/") DOCKER_ARGS+=("-v /usr/lib/aarch64-linux-gnu/tegra:/usr/lib/aarch64-linux-gnu/tegra") DOCKER_ARGS+=("-v /usr/src/jetson_multimedia_api:/usr/src/jetson_multimedia_api") - DOCKER_ARGS+=("-v /opt/nvidia/nsight-systems-cli:/opt/nvidia/nsight-systems-cli") DOCKER_ARGS+=("--pid=host") - DOCKER_ARGS+=("-v /opt/nvidia/vpi2:/opt/nvidia/vpi2") - DOCKER_ARGS+=("-v /usr/share/vpi2:/usr/share/vpi2") + DOCKER_ARGS+=("-v /usr/share/vpi3:/usr/share/vpi3") + DOCKER_ARGS+=("-v /dev/input:/dev/input") # If jtop present, give the container access if [[ $(getent group jtop) ]]; then @@ -183,10 +252,20 @@ if [[ $PLATFORM == "aarch64" ]]; then fi # Optionally load custom docker arguments from file -DOCKER_ARGS_FILE="$ROOT/.isaac_ros_dev-dockerargs" -if [[ -f "$DOCKER_ARGS_FILE" ]]; then - print_info "Using additional Docker run arguments from $DOCKER_ARGS_FILE" - readarray -t DOCKER_ARGS_FILE_LINES < $DOCKER_ARGS_FILE +if [[ -z "${DOCKER_ARGS_FILE}" ]]; then + DOCKER_ARGS_FILE=".isaac_ros_dev-dockerargs" +fi + +# Check for dockerargs file in home directory, then locally in root +if [[ -f ~/${DOCKER_ARGS_FILE} ]]; then + DOCKER_ARGS_FILEPATH=`realpath ~/${DOCKER_ARGS_FILE}` +elif [[ -f "${ROOT}/${DOCKER_ARGS_FILE}" ]]; then + DOCKER_ARGS_FILEPATH="${ROOT}/${DOCKER_ARGS_FILE}" +fi + +if [[ -f "${DOCKER_ARGS_FILEPATH}" ]]; then + print_info "Using additional Docker run arguments from $DOCKER_ARGS_FILEPATH" + readarray -t DOCKER_ARGS_FILE_LINES < $DOCKER_ARGS_FILEPATH for arg in "${DOCKER_ARGS_FILE_LINES[@]}"; do DOCKER_ARGS+=($(eval "echo $arg | envsubst")) done @@ -194,18 +273,19 @@ fi # Run container from image print_info "Running $CONTAINER_NAME" +if [[ $VERBOSE -eq 1 ]]; then + set -x +fi docker run -it --rm \ --privileged \ --network host \ ${DOCKER_ARGS[@]} \ - -v $ISAAC_ROS_DEV_DIR:/workspaces/Go2Py \ - -v /dev/*:/dev/* \ + -v $ISAAC_ROS_DEV_DIR:/workspaces/isaac_ros-dev \ -v /etc/localtime:/etc/localtime:ro \ --name "$CONTAINER_NAME" \ --runtime nvidia \ --user="admin" \ --entrypoint /usr/local/bin/scripts/workspace-entrypoint.sh \ - --workdir /workspaces/Go2Py \ - $@ \ + --workdir /workspaces/isaac_ros-dev \ $BASE_NAME \ /bin/bash