Skip to content

Commit 92bc677

Browse files
Merge pull request #60 from NVIDIA-ISAAC-ROS/release-4.1
Isaac ROS 4.1
2 parents d45429c + ecd44eb commit 92bc677

File tree

14 files changed

+108
-49
lines changed

14 files changed

+108
-49
lines changed

README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
NVIDIA-accelerated, deep learned model support for object detection including DetectNet.
44

5-
<div align="center"><img alt="original image" src="https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/release-4.0/resources/isaac_ros_docs/repositories_and_packages/isaac_ros_object_detection/isaac_ros_object_detection_example.png/" width="300px"/>
6-
<img alt="bounding box predictions using DetectNet" src="https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/release-4.0/resources/isaac_ros_docs/repositories_and_packages/isaac_ros_object_detection/isaac_ros_object_detection_example_bbox.png/" width="300px"/></div>
5+
<div align="center"><img alt="original image" src="https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/release-4.1/resources/isaac_ros_docs/repositories_and_packages/isaac_ros_object_detection/isaac_ros_object_detection_example.png/" width="300px"/>
6+
<img alt="bounding box predictions using DetectNet" src="https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/release-4.1/resources/isaac_ros_docs/repositories_and_packages/isaac_ros_object_detection/isaac_ros_object_detection_example_bbox.png/" width="300px"/></div>
77

88
## Overview
99

@@ -21,7 +21,7 @@ is performed by a GPU-accelerated model of the appropriate architecture:
2121
The output prediction can be used by perception functions to
2222
understand the presence and spatial location of an object in an image.
2323

24-
<div align="center"><a class="reference internal image-reference" href="https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/release-4.0/resources/isaac_ros_docs/repositories_and_packages/isaac_ros_object_detection/isaac_ros_object_detection_nodegraph.png/"><img alt="image" src="https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/release-4.0/resources/isaac_ros_docs/repositories_and_packages/isaac_ros_object_detection/isaac_ros_object_detection_nodegraph.png/" width="800px"/></a></div>
24+
<div align="center"><a class="reference internal image-reference" href="https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/release-4.1/resources/isaac_ros_docs/repositories_and_packages/isaac_ros_object_detection/isaac_ros_object_detection_nodegraph.png/"><img alt="image" src="https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/release-4.1/resources/isaac_ros_docs/repositories_and_packages/isaac_ros_object_detection/isaac_ros_object_detection_nodegraph.png/" width="800px"/></a></div>
2525

2626
Each Isaac ROS Object Detection package is used in a graph of nodes to provide a
2727
bounding box detection array with object classes from an input image. A
@@ -49,7 +49,7 @@ image, which provides 1K pixels for the person, and fail to detect the
4949
same person in the downscaled resolution, which only provides 0.25K
5050
pixels for the person.
5151

52-
<div align="center"><a class="reference internal image-reference" href="https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/release-4.0/resources/isaac_ros_docs/repositories_and_packages/isaac_ros_object_detection/isaac_ros_object_detection_example_bboxseg.png/"><img alt="image" src="https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/release-4.0/resources/isaac_ros_docs/repositories_and_packages/isaac_ros_object_detection/isaac_ros_object_detection_example_bboxseg.png/" width="800px"/></a></div>
52+
<div align="center"><a class="reference internal image-reference" href="https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/release-4.1/resources/isaac_ros_docs/repositories_and_packages/isaac_ros_object_detection/isaac_ros_object_detection_example_bboxseg.png/"><img alt="image" src="https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/release-4.1/resources/isaac_ros_docs/repositories_and_packages/isaac_ros_object_detection/isaac_ros_object_detection_example_bboxseg.png/" width="800px"/></a></div>
5353

5454
Object detection classifies a rectangle of pixels as containing an
5555
object, whereas image segmentation provides more information and uses
@@ -66,9 +66,9 @@ This package is powered by [NVIDIA Isaac Transport for ROS (NITROS)](https://dev
6666

6767
| Sample Graph<br/><br/> | Input Size<br/><br/> | AGX Thor<br/><br/> | x86_64 w/ RTX 5090<br/><br/> |
6868
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
69-
| [DetectNet Object Detection Graph](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.0/benchmarks/isaac_ros_detectnet_benchmark/scripts/isaac_ros_detectnet_graph.py)<br/><br/> | 544p<br/><br/> | [143 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.0/results/isaac_ros_detectnet_graph-agx_thor.json)<br/><br/><br/>27 ms @ 30Hz<br/><br/> | [242 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.0/results/isaac_ros_detectnet_graph-x86-5090.json)<br/><br/><br/>17 ms @ 30Hz<br/><br/> |
70-
| [Grounding DINO Object Detection Graph](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.0/benchmarks/isaac_ros_grounding_dino_benchmark/scripts/isaac_ros_grounding_dino_graph.py)<br/><br/> | 544p<br/><br/> | [22.9 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.0/results/isaac_ros_grounding_dino_graph-agx_thor.json)<br/><br/><br/>70 ms @ 30Hz<br/><br/> | [144 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.0/results/isaac_ros_grounding_dino_graph-x86-5090.json)<br/><br/><br/>15 ms @ 30Hz<br/><br/> |
71-
| [RT-DETR Object Detection Graph](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.0/benchmarks/isaac_ros_rtdetr_benchmark/scripts/isaac_ros_rtdetr_graph.py)<br/><br/><br/>SyntheticaDETR<br/><br/> | 720p<br/><br/> | [219 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.0/results/isaac_ros_rtdetr_graph-agx_thor.json)<br/><br/><br/>23 ms @ 30Hz<br/><br/> | [457 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.0/results/isaac_ros_rtdetr_graph-x86-5090.json)<br/><br/><br/>8.0 ms @ 30Hz<br/><br/> |
69+
| [DetectNet Object Detection Graph](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.1/benchmarks/isaac_ros_detectnet_benchmark/scripts/isaac_ros_detectnet_graph.py)<br/><br/> | 544p<br/><br/> | [143 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.1/results/isaac_ros_detectnet_graph-agx_thor.json)<br/><br/><br/>27 ms @ 30Hz<br/><br/> | [242 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.1/results/isaac_ros_detectnet_graph-x86-5090.json)<br/><br/><br/>17 ms @ 30Hz<br/><br/> |
70+
| [Grounding DINO Object Detection Graph](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.1/benchmarks/isaac_ros_grounding_dino_benchmark/scripts/isaac_ros_grounding_dino_graph.py)<br/><br/> | 544p<br/><br/> | [22.9 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.1/results/isaac_ros_grounding_dino_graph-agx_thor.json)<br/><br/><br/>70 ms @ 30Hz<br/><br/> | [144 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.1/results/isaac_ros_grounding_dino_graph-x86-5090.json)<br/><br/><br/>15 ms @ 30Hz<br/><br/> |
71+
| [RT-DETR Object Detection Graph](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.1/benchmarks/isaac_ros_rtdetr_benchmark/scripts/isaac_ros_rtdetr_graph.py)<br/><br/><br/>SyntheticaDETR<br/><br/> | 720p<br/><br/> | [219 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.1/results/isaac_ros_rtdetr_graph-agx_thor.json)<br/><br/><br/>23 ms @ 30Hz<br/><br/> | [457 fps](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_benchmark/blob/release-4.1/results/isaac_ros_rtdetr_graph-x86-5090.json)<br/><br/><br/>8.0 ms @ 30Hz<br/><br/> |
7272

7373
---
7474

@@ -103,4 +103,4 @@ Please visit the [Isaac ROS Documentation](https://nvidia-isaac-ros.github.io/re
103103

104104
## Latest
105105

106-
Update 2025-10-24: Added Grounding DINO object detection package
106+
Update 2026-02-02: Support for two new Docker-optional development and deployment modes

gxf_isaac_detectnet/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ SPDX-License-Identifier: Apache-2.0
2121
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
2222
<package format="3">
2323
<name>gxf_isaac_detectnet</name>
24-
<version>4.0.0</version>
24+
<version>4.1.0</version>
2525
<description>Detectnet GXF extension.</description>
2626

2727
<maintainer email="isaac-ros-maintainers@nvidia.com">Isaac ROS Maintainers</maintainer>

isaac_ros_detectnet/package.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ SPDX-License-Identifier: Apache-2.0
2121
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
2222
<package format="3">
2323
<name>isaac_ros_detectnet</name>
24-
<version>4.0.0</version>
24+
<version>4.1.0</version>
2525
<description>DetectNet model processing</description>
2626

2727
<maintainer email="isaac-ros-maintainers@nvidia.com">Isaac ROS Maintainers</maintainer>
@@ -49,6 +49,7 @@ SPDX-License-Identifier: Apache-2.0
4949
<test_depend>isaac_ros_test</test_depend>
5050
<test_depend>isaac_ros_dnn_image_encoder</test_depend>
5151
<test_depend>isaac_ros_triton</test_depend>
52+
<test_depend>gxf_isaac_tensor_rt</test_depend>
5253

5354
<export>
5455
<build_type>ament_cmake</build_type>

isaac_ros_detectnet/scripts/setup_model.sh

Lines changed: 52 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,21 @@
2020
# This script prepares the pretrained detectnet model for quick deployment with Triton
2121
# inside the Docker container
2222

23+
if [ -n "$TENSORRT_COMMAND" ]; then
24+
# If a custom tensorrt is used, ensure it's lib directory is added to the LD_LIBRARY_PATH
25+
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:$(readlink -f $(dirname ${TENSORRT_COMMAND})/../../../lib/$(uname -p)-linux-gnu/)"
26+
fi
27+
if [ -z "$ISAAC_ROS_WS" ] && [ -n "$ISAAC_ROS_ASSET_MODEL_PATH" ]; then
28+
ISAAC_ROS_WS="$(readlink -f $(dirname ${ISAAC_ROS_ASSET_MODEL_PATH})/../../../..)"
29+
fi
30+
2331
# default arguments
32+
ASSET_NAME="peoplenet"
33+
MODELS_DIR="${ISAAC_ROS_WS}/isaac_ros_assets/models/${ASSET_NAME}"
34+
EULA_URL="https://catalog.ngc.nvidia.com/orgs/nvidia/teams/tao/models/peoplenet?version=deployable_quantized_onnx_v2.6.3"
35+
ASSET_DIR="${MODELS_DIR}"
36+
ASSET_INSTALL_PATHS="${ASSET_DIR}/1/model.plan"
37+
2438
MODEL_LINK="https://api.ngc.nvidia.com/v2/models/org/nvidia/team/tao/peoplenet/deployable_quantized_onnx_v2.6.3/files?redirect=true&path=resnet34_peoplenet.onnx"
2539
MODEL_FILE_NAME="resnet34_peoplenet.onnx"
2640
HEIGHT="544"
@@ -30,6 +44,8 @@ CONFIG_FILE="peoplenet_config.pbtxt"
3044
PRECISION="int8"
3145
MAX_BATCH_SIZE="16"
3246

47+
source "${ISAAC_ROS_ASSET_EULA_SH:-isaac_ros_asset_eula.sh}"
48+
3349
function print_parameters() {
3450
echo
3551
echo "***************************"
@@ -45,16 +61,16 @@ function print_parameters() {
4561
}
4662

4763
function check_labels_files() {
48-
if [[ ! -f "labels.txt" ]]
64+
if [[ ! -f "${1:-.}/labels.txt" ]]
4965
then
5066
echo "Labels file does not exist with the model."
51-
touch labels.txt
67+
touch ${1:-.}/labels.txt
5268
echo "Please enter number of labels."
5369
read N_LABELS
5470
for (( i=0; i < $N_LABELS ; i=i+1 )); do
5571
echo "Please enter label string"
5672
read label
57-
echo $label >> labels.txt
73+
echo $label >> ${1:-.}/labels.txt
5874
done
5975
else
6076
echo "Labels file received with model."
@@ -80,19 +96,40 @@ function setup_model() {
8096
echo Creating Directory : "${OUTPUT_PATH}/1"
8197
rm -rf ${OUTPUT_PATH}
8298
mkdir -p ${OUTPUT_PATH}/1
83-
cd ${OUTPUT_PATH}/1
8499
echo Downloading .onnx file from $MODEL_LINK
85100
echo From $MODEL_LINK
86-
wget --content-disposition $MODEL_LINK -O resnet34_peoplenet.onnx
101+
isaac_ros_common_download_asset --url "${MODEL_LINK}" --output-path "${OUTPUT_PATH}/1/${MODEL_FILE_NAME}" --cache-path "${ISAAC_ROS_DETECTNET_MODEL}"
102+
MODEL_DOWNLOAD_RESULT=$?
87103
echo Checking if labels.txt exists
88104
echo From $LABELS_LINK
89-
wget --content-disposition $LABELS_LINK -O labels.txt
90-
check_labels_files
105+
isaac_ros_common_download_asset --url "${LABELS_LINK}" --output-path "${OUTPUT_PATH}/1/labels.txt" --cache-path "${ISAAC_ROS_DETECTNET_LABELS}"
106+
LABELS_DOWNLOAD_RESULT=$?
107+
108+
if [[ -n ${ISAAC_ROS_ASSETS_TEST} ]]; then
109+
if [[ ${MODEL_DOWNLOAD_RESULT} -ne 0 ]]; then
110+
echo "ERROR: Remote model does not match cached model."
111+
exit 1
112+
fi
113+
if [[ ${LABELS_DOWNLOAD_RESULT} -ne 0 ]]; then
114+
echo "ERROR: Remote labels do not match cached labels."
115+
exit 1
116+
fi
117+
exit 0
118+
elif [[ ${MODEL_DOWNLOAD_RESULT} -ne 0 ]]; then
119+
echo "ERROR: Failed to download model."
120+
exit 1
121+
elif [[ ${LABELS_DOWNLOAD_RESULT} -ne 0 ]]; then
122+
echo "ERROR: Failed to download labels."
123+
exit 1
124+
fi
125+
126+
check_labels_files "${OUTPUT_PATH}/1"
127+
91128
echo Converting .onnx to a TensorRT Engine Plan
92129

93130
# if model doesnt have labels.txt file, then create one manually
94131
# create custom model
95-
/usr/src/tensorrt/bin/trtexec \
132+
${TENSORRT_COMMAND:-/usr/src/tensorrt/bin/trtexec} \
96133
--maxShapes="input_1:0":${MAX_BATCH_SIZE}x3x${HEIGHT}x${WIDTH} \
97134
--minShapes="input_1:0":1x3x${HEIGHT}x${WIDTH} \
98135
--optShapes="input_1:0":1x3x${HEIGHT}x${WIDTH} \
@@ -103,9 +140,13 @@ function setup_model() {
103140
--skipInference
104141

105142
echo Copying .pbtxt config file to ${OUTPUT_PATH}
106-
export ISAAC_ROS_DETECTNET_PATH=$(ros2 pkg prefix isaac_ros_detectnet --share)
107-
cp $ISAAC_ROS_DETECTNET_PATH/config/$CONFIG_FILE \
108-
${OUTPUT_PATH}/config.pbtxt
143+
if [ -n "$ISAAC_ROS_DETECTNET_CONFIG" ]; then
144+
cp $ISAAC_ROS_DETECTNET_CONFIG ${OUTPUT_PATH}/config.pbtxt
145+
else
146+
export ISAAC_ROS_DETECTNET_PATH=$(ros2 pkg prefix isaac_ros_detectnet --share)
147+
cp $ISAAC_ROS_DETECTNET_PATH/config/$CONFIG_FILE \
148+
${OUTPUT_PATH}/config.pbtxt
149+
fi
109150
echo Completed quickstart setup
110151
}
111152

isaac_ros_detectnet/test/isaac_ros_detectnet_pol_test.py

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ def generate_test_description():
103103
if os.environ.get('USE_BAZEL_RUNFILES_PATH', '0') == '1':
104104
trtexec_executable = r.Rlocation(
105105
'/'.join([
106-
'_repo_rules2+tensorrt_x86_64_1030',
106+
'_repo_rules2+tensorrt_x86_64_10130',
107107
'usr',
108108
'src',
109109
'tensorrt',
@@ -212,12 +212,15 @@ class IsaacROSDetectNetPipelineTest(IsaacROSBaseTest):
212212
filepath = pathlib.Path(os.path.dirname(__file__))
213213
INIT_WAIT_SEC = 10
214214

215+
# Timeout for first successful inference (model loading + inference pipeline ready)
216+
TIMEOUT_SEC = 300
217+
215218
@IsaacROSBaseTest.for_each_test_case()
216219
def test_image_detection(self, test_folder):
217220

218221
time.sleep(self.INIT_WAIT_SEC)
219222

220-
self.node._logger.info('Starting to test')
223+
self.node._logger.info('Starting Isaac ROS DetectNet POL Test')
221224

222225
"""Expect the node to segment an image."""
223226
self.generate_namespace_lookup(
@@ -242,21 +245,24 @@ def test_image_detection(self, test_folder):
242245
camera_info.header = image.header
243246
camera_info.distortion_model = 'plumb_bob'
244247

245-
TIMEOUT = 60
246-
end_time = time.time() + TIMEOUT
247-
done = False
248-
while time.time() < end_time:
248+
# Publish images until we receive at least one detection response
249+
self.node._logger.info(
250+
'Publishing images until detection response received '
251+
f'(timeout={self.TIMEOUT_SEC}s)')
252+
start_time = time.time()
253+
while 'detectnet/detections' not in received_messages:
254+
if time.time() - start_time > self.TIMEOUT_SEC:
255+
self.fail('Timed out waiting for detection response')
249256
image_pub.publish(image)
250257
camera_info_pub.publish(camera_info)
251258
rclpy.spin_once(self.node, timeout_sec=0.1)
259+
time.sleep(1)
252260

253-
if 'detectnet/detections' in received_messages:
254-
done = True
255-
break
256-
257-
self.assertTrue(
258-
done, "Didn't receive output on detectnet/detections topic!")
261+
self.node._logger.info(
262+
f'Received detection response after {time.time() - start_time:.1f}s')
259263

264+
self.node._logger.info('Finished Isaac ROS DetectNet POL Test')
260265
finally:
261266
self.node.destroy_subscription(detectnet_detections)
262267
self.node.destroy_publisher(image_pub)
268+
self.node.destroy_publisher(camera_info_pub)

isaac_ros_grounding_dino/package.xml

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ SPDX-License-Identifier: Apache-2.0
2121
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
2222
<package format="3">
2323
<name>isaac_ros_grounding_dino</name>
24-
<version>4.0.0</version>
24+
<version>4.1.0</version>
2525
<description>Grounding DINO model processing</description>
2626

2727
<maintainer email="isaac-ros-maintainers@nvidia.com">Isaac ROS Maintainers</maintainer>
@@ -50,11 +50,7 @@ SPDX-License-Identifier: Apache-2.0
5050
<exec_depend>isaac_ros_dnn_image_encoder</exec_depend>
5151
<exec_depend>isaac_ros_image_proc</exec_depend>
5252
<exec_depend>isaac_ros_tensor_rt</exec_depend>
53-
54-
55-
<!-- NOTE: The following dependencies are needed but commented out -->
56-
<!-- because bloom-generate cannot yet handle pip dependencies correctly. -->
57-
<!-- <exec_depend>python3-transformers-pip</exec_depend> -->
53+
<exec_depend>python3-transformers-pip-shim</exec_depend>
5854

5955
<test_depend>ament_lint_auto</test_depend>
6056
<test_depend>ament_lint_common</test_depend>

isaac_ros_grounding_dino_interfaces/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
2222
<package format="3">
2323
<name>isaac_ros_grounding_dino_interfaces</name>
24-
<version>4.0.0</version>
24+
<version>4.1.0</version>
2525
<description>Interfaces for Isaac ROS Grounding DINO</description>
2626
<maintainer email="isaac-ros-maintainers@nvidia.com">Isaac ROS Maintainers</maintainer>
2727
<license>Apache-2.0</license>

isaac_ros_grounding_dino_models_install/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
2222
<package format="3">
2323
<name>isaac_ros_grounding_dino_models_install</name>
24-
<version>4.0.0</version>
24+
<version>4.1.0</version>
2525
<description>Scripts to download and convert Grounding DINO models for Isaac ROS</description>
2626

2727
<maintainer email="isaac-ros-maintainers@nvidia.com">Isaac ROS Maintainers</maintainer>

isaac_ros_peoplenet_models_install/asset_scripts/install_peoplenet_amr_rs.sh

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,15 @@ source "${ISAAC_ROS_ASSET_EULA_SH:-isaac_ros_asset_eula.sh}"
2929

3030
mkdir -p $(dirname "$ASSET_INSTALL_PATHS")
3131

32-
wget -nv -T 30 -t 1 "${MODEL_URL}" -O "${ASSET_DIR}/model.onnx"
32+
isaac_ros_common_download_asset --url "${MODEL_URL}" --output-path "${ASSET_DIR}/model.onnx" --cache-path "${ISAAC_ROS_PEOPLENET_AMR_MODEL}"
33+
ESS_MODEL_DOWNLOAD_RESULT=$?
34+
if [[ -n ${ISAAC_ROS_ASSETS_TEST} ]]; then
35+
exit ${ESS_MODEL_DOWNLOAD_RESULT}
36+
elif [[ ${ESS_MODEL_DOWNLOAD_RESULT} -ne 0 ]]; then
37+
echo "ERROR: Failed to download ESS model."
38+
exit 1
39+
fi
40+
3341
echo "Converting PeopleNet AMR onnx file to plan file."
3442
${TENSORRT_COMMAND:-/usr/src/tensorrt/bin/trtexec} \
3543
--maxShapes="preprocess/input_1:0":1x480x640x3 \

0 commit comments

Comments
 (0)