Skip to content

Commit 8c96f47

Browse files
authored
Merge pull request #16 from NVIDIA-ISAAC-ROS/release-4.3
Release Isaac ROS 4.3.0
2 parents c9666b7 + c8648ef commit 8c96f47

12 files changed

Lines changed: 117 additions & 36 deletions

config/.build_image_layers.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ context_overrides:
66
cache_to_registry_names: []
77
cache_from_registry_names:
88
- nvcr.io/nvidia/isaac/ros
9-
remote_builder: []
9+
remote_builder: {}

config/pip_shim_constraints.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -406,7 +406,7 @@ svg.path==7.0
406406
sympy==1.14.0
407407
tabulate==0.9.0
408408
tensordict==0.10.0
409-
tensorrt==10.13.2.6
409+
tensorrt==10.13.3.9
410410
termcolor==1.1.0
411411
textual==6.8.0
412412
tf2-geometry-msgs==0.36.16

debian/changelog

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
isaac-ros-cli (2.2.0-1) noble; urgency=low
2+
3+
* Support SIPL and Eagle CoE camera workflows.
4+
* Update ZED support to SDK v5.2.
5+
* Align TensorRT pinning with JetPack 7.1.
6+
* Fix `run_dev` compatibility with newer `nvidia-container-toolkit`.
7+
8+
-- Isaac ROS Maintainers <isaac-ros-maintainers@nvidia.com> Thu, 19 Mar 2026 12:00:00 +0000
9+
110
isaac-ros-cli (2.1.1-1) noble; urgency=high
211

312
* Fix `tensordict` pip shim constraint.

docker/Dockerfile.isaac_ros

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
4747
&& curl -fsSL https://isaac.download.nvidia.com/isaac-ros/repos.key | gpg --dearmor | tee -a $k > /dev/null \
4848
&& f="/etc/apt/sources.list.d/nvidia-isaac-ros.list" \
4949
&& touch $f \
50-
&& s="deb [signed-by=$k] https://isaac.download.nvidia.com/isaac-ros/release-4.2 $(lsb_release -cs)${ISAAC_DEBIAN_DISTRO_SUFFIX} ${ISAAC_DEBIAN_COMPONENTS}" \
50+
&& s="deb [signed-by=$k] https://isaac.download.nvidia.com/isaac-ros/release-4.3 $(lsb_release -cs)${ISAAC_DEBIAN_DISTRO_SUFFIX} ${ISAAC_DEBIAN_COMPONENTS}" \
5151
&& (grep -qxF "$s" $f || echo "$s" | tee -a $f) \
5252
&& apt-get update
5353

docker/Dockerfile.noble

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -421,20 +421,6 @@ apt-get update && apt-get install -y \
421421
udev \
422422
can-utils
423423

424-
# Copy scripts
425-
RUN mkdir -p /usr/local/bin/scripts
426-
COPY scripts/*entrypoint.sh /usr/local/bin/scripts/
427-
RUN chmod +x /usr/local/bin/scripts/*.sh || true
428-
429-
# Copy script additions
430-
RUN mkdir -p /usr/local/bin/scripts/entrypoint_additions
431-
COPY scripts/entrypoint_addition[s]/*.sh /usr/local/bin/scripts/entrypoint_additions/
432-
RUN chmod +x /usr/local/bin/scripts/entrypoint_additions/*.sh || true
433-
434-
# Copy middleware profiles
435-
RUN mkdir -p /usr/local/share/middleware_profiles
436-
COPY middleware_profile[s]/*profile.xml /usr/local/share/middleware_profiles/
437-
438424
# Store list of packages (must be last)
439425
RUN mkdir -p /opt/nvidia/isaac_ros_dev_base && dpkg-query -W | sort > /opt/nvidia/isaac_ros_dev_base/base-end-packages.csv
440426

docker/Dockerfile.zed

Lines changed: 64 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,23 +31,83 @@ RUN chmod +x /opt/zed/install-zed-x86_64.sh /opt/zed/install-zed-aarch64.sh && \
3131
# ------------------------------------------------------------------------------
3232
# Install zed-ros2-wrapper into a workspace and build it
3333
# Expects:
34-
# - ROS 2 Jazzy already installed in the base image with ${ROS_ROOT} set
35-
# - rosdep initialized (as in our ros2_jazzy base)
34+
# - ROS 2 Jazzy already installed in the base image at /opt/ros/${ROS_DISTRO}
35+
# - rosdep initialized (as in our isaac_ros base)
3636
# -------------------------------------------------------------------------------
37+
ARG ROS_DISTRO=jazzy
38+
ENV ROS_DISTRO=${ROS_DISTRO}
39+
ENV ROS_ROOT=/opt/ros/${ROS_DISTRO}
40+
3741
ARG ISAAC_ROS_WS=/opt/ros_ws
3842
ENV ISAAC_ROS_WS=${ISAAC_ROS_WS}
3943

4044
# Clone zed-ros2-wrapper (with submodules)
4145
RUN --mount=type=cache,sharing=locked,target=/var/cache/apt --mount=type=cache,sharing=locked,target=/var/lib/apt/lists \
4246
mkdir -p ${ISAAC_ROS_WS}/src && cd ${ISAAC_ROS_WS}/src \
43-
&& git clone --recurse-submodules https://github.com/stereolabs/zed-ros2-wrapper
47+
&& git clone --recurse-submodules https://github.com/stereolabs/zed-ros2-wrapper -b v5.2.0
48+
49+
# Disable ZED SDK AI features by default in zed-ros2-wrapper config.
50+
# We install the ZED SDK with `skip_od_module`, so Neural Depth / Object Detection / Body Tracking
51+
# must not be requested at runtime (avoids TensorRT dependency and SDK "corrupted installation" errors).
52+
RUN python3 - <<'PY'
53+
from __future__ import annotations
54+
55+
from pathlib import Path
56+
57+
cfg_dir = Path("/opt/ros_ws/src/zed-ros2-wrapper/zed_wrapper/config")
58+
if not cfg_dir.is_dir():
59+
raise SystemExit(f"Expected config directory not found: {cfg_dir}")
60+
61+
def patch_text(text: str) -> str:
62+
# SDK5-style config (strings)
63+
text = text.replace("depth_mode: 'NEURAL_LIGHT'", "depth_mode: 'NONE'")
64+
text = text.replace("depth_mode: 'NEURAL'", "depth_mode: 'NONE'")
65+
text = text.replace("depth_mode: 'NEURAL_PLUS'", "depth_mode: 'NONE'")
66+
# Older-style config (numeric quality: 0 == NONE)
67+
text = text.replace("quality: 1", "quality: 0")
68+
text = text.replace("quality: 2", "quality: 0")
69+
text = text.replace("quality: 3", "quality: 0")
70+
# Explicitly disable detection/tracking toggles if present
71+
text = text.replace("od_enabled: true", "od_enabled: false")
72+
text = text.replace("bt_enabled: true", "bt_enabled: false")
73+
return text
74+
75+
patched_any = False
76+
for path in sorted(cfg_dir.glob("common*.yaml")):
77+
original = path.read_text(encoding="utf-8")
78+
patched = patch_text(original)
79+
if patched != original:
80+
path.write_text(patched, encoding="utf-8")
81+
patched_any = True
82+
83+
if not patched_any:
84+
raise SystemExit(
85+
f"No common*.yaml files were modified under {cfg_dir}. "
86+
"Wrapper config format may have changed."
87+
)
88+
PY
4489

4590
# Install dependencies and build only up to zed_wrapper
4691
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
4792
cd ${ISAAC_ROS_WS} \
4893
&& apt-get update \
49-
&& source ${ROS_ROOT}/setup.bash \
94+
&& if [[ -f "${ROS_ROOT}/setup.bash" ]]; then source "${ROS_ROOT}/setup.bash"; else echo "Missing ROS setup: ${ROS_ROOT}/setup.bash" && exit 1; fi \
5095
&& rosdep update \
96+
# zed-ros2-wrapper's build expects CUDA toolchain to be available.
97+
# Install CUDA via rosdep (matches isaac_ros_zed's `cuda-toolkit` dependency).
98+
&& mkdir -p /tmp/isaac_ros_zed_deps \
99+
&& printf '%s\n' \
100+
'<?xml version="1.0"?>' \
101+
'<package format="3">' \
102+
' <name>isaac_ros_zed_deps</name>' \
103+
' <version>0.0.0</version>' \
104+
' <description>Dependency shim for ZED image build</description>' \
105+
' <maintainer email="isaac-ros-maintainers@nvidia.com">Isaac ROS Maintainers</maintainer>' \
106+
' <license>Apache-2.0</license>' \
107+
' <depend>cuda-toolkit</depend>' \
108+
'</package>' \
109+
> /tmp/isaac_ros_zed_deps/package.xml \
110+
&& rosdep install --from-paths /tmp/isaac_ros_zed_deps --ignore-src -r -y \
51111
&& rosdep install --from-paths src/zed-ros2-wrapper --ignore-src -r -y \
52112
&& colcon build --symlink-install --packages-up-to zed_wrapper \
53113
&& echo "source ${ISAAC_ROS_WS}/install/setup.bash" | tee --append /etc/bash.bashrc

docker/packaging/isaac-ros-tensorrt-13-0.pref

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@
1515
# SPDX-License-Identifier: Apache-2.0
1616

1717
Package: libnvinfer* tensorrt* libnvonnxparsers* python3-libnvinfer*
18-
Pin: version 10.13.2.6-1+cuda13.0
18+
Pin: version 10.13.3.9-1+cuda13.0
1919
Pin-Priority: 1001

docker/rosdep/extra_rosdeps.yaml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3770,6 +3770,11 @@ isaac_ros_examples:
37703770
focal: [ros-humble-isaac-ros-examples]
37713771
jammy: [ros-humble-isaac-ros-examples]
37723772
noble: [ros-jazzy-isaac-ros-examples]
3773+
isaac_ros_fii:
3774+
ubuntu:
3775+
focal: [ros-humble-isaac-ros-fii]
3776+
jammy: [ros-humble-isaac-ros-fii]
3777+
noble: [ros-jazzy-isaac-ros-fii]
37733778
isaac_ros_foundationpose:
37743779
ubuntu:
37753780
focal: [ros-humble-isaac-ros-foundationpose]
@@ -4282,6 +4287,9 @@ isaac_ros_segway_rmp:
42824287
focal: [ros-humble-isaac-ros-segway-rmp]
42834288
jammy: [ros-humble-isaac-ros-segway-rmp]
42844289
noble: [ros-jazzy-isaac-ros-segway-rmp]
4290+
isaac_ros_sipl_camera:
4291+
ubuntu:
4292+
noble: [ros-jazzy-isaac-ros-sipl-camera]
42854293
isaac_ros_stereo_image_proc:
42864294
ubuntu:
42874295
focal: [ros-humble-isaac-ros-stereo-image-proc]
@@ -9860,6 +9868,16 @@ schunk_svh_tests:
98609868
focal: [ros-humble-schunk-svh-tests]
98619869
jammy: [ros-humble-schunk-svh-tests]
98629870
noble: [ros-jazzy-schunk-svh-tests]
9871+
onrobot_screwdriver_driver:
9872+
ubuntu:
9873+
focal: [ros-humble-onrobot-screwdriver-driver]
9874+
jammy: [ros-humble-onrobot-screwdriver-driver]
9875+
noble: [ros-jazzy-onrobot-screwdriver-driver]
9876+
onrobot_screwdriver_driver_interfaces:
9877+
ubuntu:
9878+
focal: [ros-humble-onrobot-screwdriver-driver-interfaces]
9879+
jammy: [ros-humble-onrobot-screwdriver-driver-interfaces]
9880+
noble: [ros-jazzy-onrobot-screwdriver-driver-interfaces]
98639881
sdformat_test_files:
98649882
ubuntu:
98659883
focal: [ros-humble-sdformat-test-files]

docker/scripts/install-zed-aarch64.sh

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,11 @@ sudo apt-get install --no-install-recommends lsb-release wget less zstd udev sud
77
# Download zed SDK installation RUN file to /tmp directory
88
cd /tmp
99

10-
wget -q -O ZED_SDK_Linux.run https://stereolabs.sfo2.cdn.digitaloceanspaces.com/zedsdk/5.1/ZED_SDK_Tegra_L4T38.2_v5.1.1.zstd.run
11-
sudo chmod 777 ./ZED_SDK_Linux.run
12-
sudo -u admin ./ZED_SDK_Linux.run silent skip_od_module skip_python skip_drivers
13-
# Symlink required to use the streaming features on Jetson inside a container, based on
14-
# https://github.com/stereolabs/zed-docker/blob/fd514606174d8bb09f21a229f1099205b284ecb6/4.X/l4t/devel/Dockerfile#L27C5-L27C95
15-
sudo ln -sf /usr/lib/aarch64-linux-gnu/tegra/libv4l2.so.0 /usr/lib/aarch64-linux-gnu/libv4l2.so
10+
wget -q -O ZED_SDK_Linux.run https://stereolabs.sfo2.cdn.digitaloceanspaces.com/zedsdk/5.2/ZED_SDK_Tegra_L4T38.4_v5.2.0.zstd.run
11+
chmod +x ./ZED_SDK_Linux.run
12+
echo "Installing ZED SDK"
13+
sudo ./ZED_SDK_Linux.run silent skip_od_module skip_python skip_drivers
1614

1715
# Cleanup
18-
sudo rm -rf /usr/local/zed/resources/*
19-
rm -rf ZED_SDK_Linux.run
16+
rm ZED_SDK_Linux.run
2017
sudo rm -rf /var/lib/apt/lists/*

docker/scripts/install-zed-x86_64.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
# Extract ubuntu release year from /etc/lsb-release
44
# Expects "/etc/lsb-release" to contain a line similar to "DISTRIB_RELEASE=20.04"
55
export UBUNTU_RELEASE_YEAR="$(grep -o -P 'DISTRIB_RELEASE=.{0,2}' /etc/lsb-release | cut -d= -f2)"
6-
export ZED_SDK_MAJOR=5 ZED_SDK_MINOR=1
6+
export ZED_SDK_MAJOR=5 ZED_SDK_MINOR=2
77

88
# Extract cuda major and minor version from nvcc --version
99
# Expects "nvcc --version" to contain a line similar to "release 11.8"
10-
export CUDA_MAJOR="$(nvcc --version | grep -o -P ' release .{0,4}' | cut -d. -f1 | cut -d ' ' -f3)"
11-
export CUDA_MINOR="$(nvcc --version | grep -o -P ' release .{0,4}' | cut -d. -f2)"
10+
export CUDA_MAJOR="13"
11+
export CUDA_MINOR="0"
1212

1313

1414
# Download dependencies for zed SDK installation RUN file

0 commit comments

Comments
 (0)