Skip to content

Commit 76fcea3

Browse files
authored
Merge pull request #11 from NVIDIA-ISAAC-ROS/release-dp-2
Isaac ROS 0.20.0 (DP2)
2 parents 41950cb + b61bb87 commit 76fcea3

20 files changed

+470
-205
lines changed

CONTRIBUTING.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Isaac ROS Contribution Rules
2+
3+
Any contribution that you make to this repository will
4+
be under the Apache 2 License, as dictated by that
5+
[license](http://www.apache.org/licenses/LICENSE-2.0.html):
6+
7+
> **5. Submission of Contributions.** Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
8+
9+
Contributors must sign-off each commit by adding a `Signed-off-by: ...`
10+
line to commit messages to certify that they have the right to submit
11+
the code they are contributing to the project according to the
12+
[Developer Certificate of Origin (DCO)](https://developercertificate.org/).
13+
14+
[//]: # (202201002)

LICENSE

Lines changed: 201 additions & 65 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 71 additions & 24 deletions
Large diffs are not rendered by default.

docs/tutorial-isaac-sim.md

Lines changed: 34 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,62 @@
1-
# Tutorial with Isaac Sim
1+
# Tutorial for DNN Image Segmentation with Isaac Sim
2+
3+
<div align="center"><img alt="Coloured Segmentation Mask" src="../resources/Isaac_sim_peoplesemsegnet_shuffleseg_rqt.png" width="600px" title="U-Net Shuffleseg result in rqt_image_view"/></div>
4+
5+
## Overview
6+
7+
This tutorial walks you through a pipeline for [Image Segmentation](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_image_segmentation) of people using images from Isaac Sim.
8+
9+
## Tutorial Walkthrough
210

311
1. Complete the [Quickstart section](../README.md#quickstart) in the main README till step 9.
412
2. Launch the Docker container using the `run_dev.sh` script:
13+
514
```bash
615
cd ~/workspaces/isaac_ros-dev/src/isaac_ros_common && \
716
./scripts/run_dev.sh
817
```
18+
919
3. Inside the container, build and source the workspace:
20+
1021
```bash
1122
cd /workspaces/isaac_ros-dev && \
1223
colcon build --symlink-install && \
1324
source install/setup.bash
1425
```
26+
1527
4. Install and launch Isaac Sim following the steps in the [Isaac ROS Isaac Sim Setup Guide](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_common/blob/main/docs/isaac-sim-sil-setup.md)
16-
5. Open up the Isaac ROS Common USD scene (using the "content" window) located at:
28+
5. Open up the Isaac ROS Common USD scene (using the "content" window) located at:
1729
`omniverse://localhost/NVIDIA/Assets/Isaac/2022.1/Isaac/Samples/ROS2/Scenario/carter_warehouse_apriltags_worker.usd`.
1830

1931
And wait for it to load completely.
2032
> **Note:** To use a different server, replace `localhost` with `<your_nucleus_server>`
2133
6. Go to the stage tab and select `/World/Carter_ROS`, then in properties tab -> Transform -> Translate -> X change `-3.0` to `0.0`.
2234
<div align="center"><img src="../resources/Isaac_sim_set_carter.png" width="400px"/></div>
23-
</br>
24-
7. Change the left camera topic name. Go to the stage tab and select `/World/Carter_ROS/ROS_Cameras/ros2_create_camera_left_rgb`, properties tab -> Compute Node -> Inputs -> topicName change `rgb_left` to `image`.
35+
36+
7. Change the left camera topic name. Go to the stage tab and select `/World/Carter_ROS/ROS_Cameras/ros2_create_camera_left_rgb`, properties tab -> Compute Node -> Inputs -> topicName change `rgb_left` to `image`.
2537
<div align="center"><img src="../resources/Isaac_sim_topic_rename.png" width="400px"/></div>
26-
</br>
2738
8. Press **Play** to start publishing data from the Isaac Sim application.
2839
<div align="center"><img src="../resources/Isaac_sim_image_segmentation.png" width="800px"/></div>
29-
</br>
40+
3041
9. Run the following launch files to start the inferencing:
31-
32-
```bash
33-
ros2 launch isaac_ros_unet isaac_ros_unet_triton.launch.py model_name:=peoplesemsegnet_shuffleseg model_repository_paths:=['/tmp/models'] input_binding_names:=['input_2:0'] output_binding_names:=['argmax_1'] network_output_type:='argmax'
34-
```
35-
</br>
42+
43+
```bash
44+
ros2 launch isaac_ros_unet isaac_ros_unet_triton.launch.py model_name:=peoplesemsegnet_shuffleseg model_repository_paths:=['/tmp/models'] input_binding_names:=['input_2:0'] output_binding_names:=['argmax_1'] network_output_type:='argmax'
45+
```
46+
3647
10. Visualize and validate the output of the package by launching `rqt_image_view` in another terminal:
3748

38-
```bash
39-
cd ~/workspaces/isaac_ros-dev/src/isaac_ros_common && \
40-
./scripts/run_dev.sh
41-
```
42-
Then launch `rqt_image_view`:
43-
```bash
44-
ros2 run rqt_image_view rqt_image_view
45-
```
46-
Then inside the `rqt_image_view` GUI, change the topic to `/unet/colored_segmentation_mask` to view a colorized segmentation mask.
49+
```bash
50+
cd ~/workspaces/isaac_ros-dev/src/isaac_ros_common && \
51+
./scripts/run_dev.sh
52+
```
53+
54+
Then launch `rqt_image_view`:
55+
56+
```bash
57+
ros2 run rqt_image_view rqt_image_view
58+
```
4759

48-
<div align="center"><img alt="Coloured Segmentation Mask" src="../resources/Isaac_sim_peoplesemsegnet_shuffleseg_rqt.png" width="350" title="U-Net Shuffleseg result in rqt_image_view"/></div>
60+
Then inside the `rqt_image_view` GUI, change the topic to `/unet/colored_segmentation_mask` to view a colorized segmentation mask.
4961

50-
**Note:** The raw segmentation is also published to `/unet/raw_segmentation_mask`. However, the raw pixels correspond to the class labels and so the output is unsuitable for human visual inspection.
62+
**Note:** The raw segmentation is also published to `/unet/raw_segmentation_mask`. However, the raw pixels correspond to the class labels and so the output is unsuitable for human visual inspection.

docs/tutorial-nitros-graph.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ If you have an [Argus-compatible camera](https://github.com/NVIDIA-ISAAC-ROS/isa
1414
To start the graph, follow the steps below:
1515

1616
1. Follow the [Quickstart section](../README.md#quickstart) up to step 7 in the main README.
17-
17+
1818
2. Outside the container, clone additional repositories required to run Argus-compatible camera under `~/workspaces/isaac_ros-dev/src`.
1919

2020
```bash
@@ -29,30 +29,38 @@ To start the graph, follow the steps below:
2929
git clone https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_image_pipeline
3030
```
3131

32-
3. Inside the container, build and source the workspace:
32+
3. Inside the container, build and source the workspace:
33+
3334
```bash
3435
cd /workspaces/isaac_ros-dev && \
3536
colcon build --symlink-install && \
3637
source install/setup.bash
3738
```
38-
4. (Optional) Run tests to verify complete and correct installation:
39+
40+
4. (Optional) Run tests to verify complete and correct installation:
41+
3942
```bash
4043
colcon test
4144
```
4245

4346
5. Run the following launch files to start the graph:
47+
4448
```bash
4549
ros2 launch isaac_ros_unet isaac_ros_argus_unet_triton.launch.py model_name:=peoplesemsegnet_shuffleseg model_repository_paths:=['/tmp/models'] input_binding_names:=['input_2:0'] output_binding_names:=['argmax_1'] network_output_type:='argmax'
4650
```
4751

4852
6. Visualize and validate the output of the package by launching `rqt_image_view` in another terminal:
4953
In another terminal, enter the Docker container again:
54+
5055
```bash
5156
cd ~/workspaces/isaac_ros-dev/src/isaac_ros_common && \
5257
./scripts/run_dev.sh
5358
```
59+
5460
Then launch `rqt_image_view`:
61+
5562
```bash
5663
ros2 run rqt_image_view rqt_image_view
5764
```
65+
5866
Then inside the `rqt_image_view` GUI, change the topic to `/unet/colored_segmentation_mask` to view a colorized segmentation mask. You may also view the raw segmentation, which is published to `/unet/raw_segmentation_mask`, where the raw pixels correspond to the class labels making it unsuitable for human visual inspection.

isaac_ros_unet/CMakeLists.txt

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,19 @@
1-
# Copyright (c) 2021-2022, NVIDIA CORPORATION. All rights reserved.
1+
# SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES
2+
# Copyright (c) 2021-2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
23
#
3-
# NVIDIA CORPORATION and its licensors retain all intellectual property
4-
# and proprietary rights in and to this software, related documentation
5-
# and any modifications thereto. Any use, reproduction, disclosure or
6-
# distribution of this software and related documentation without an express
7-
# license agreement from NVIDIA CORPORATION is strictly prohibited.
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
#
16+
# SPDX-License-Identifier: Apache-2.0
817

918
cmake_minimum_required(VERSION 3.5)
1019
project(isaac_ros_unet LANGUAGES C CXX)
@@ -52,19 +61,9 @@ install(TARGETS unet_decoder_node
5261
RUNTIME DESTINATION bin
5362
)
5463

55-
# Install extensions directory
56-
if( ${ARCHITECTURE} STREQUAL "x86_64" )
57-
install(DIRECTORY gxf/lib/gxf_x86_64/ DESTINATION share/${PROJECT_NAME}/gxf)
58-
elseif( ${ARCHITECTURE} STREQUAL "aarch64" )
59-
install(DIRECTORY gxf/lib/gxf_jetpack50/ DESTINATION share/${PROJECT_NAME}/gxf)
60-
endif()
6164

6265
if(BUILD_TESTING)
6366
find_package(ament_lint_auto REQUIRED)
64-
65-
# Ignore copyright notices since we use custom NVIDIA Isaac ROS Software License
66-
set(ament_cmake_copyright_FOUND TRUE)
67-
6867
ament_lint_auto_find_test_dependencies()
6968

7069
find_package(launch_testing_ament_cmake REQUIRED)

isaac_ros_unet/config/unet_decoder_node.yaml

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,20 @@
11
%YAML 1.2
2-
# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved.
2+
# SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES
3+
# Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
34
#
4-
# NVIDIA CORPORATION and its licensors retain all intellectual property
5-
# and proprietary rights in and to this software, related documentation
6-
# and any modifications thereto. Any use, reproduction, disclosure or
7-
# distribution of this software and related documentation without an express
8-
# license agreement from NVIDIA CORPORATION is strictly prohibited.
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
#
17+
# SPDX-License-Identifier: Apache-2.0
918
---
1019
name: segmentation_postprocessor
1120
components:

isaac_ros_unet/gxf/lib/gxf_jetpack50/segmentation_postprocessor/libgxf_cuda.so

Lines changed: 0 additions & 3 deletions
This file was deleted.

isaac_ros_unet/gxf/lib/gxf_jetpack50/segmentation_postprocessor/libgxf_multimedia.so

Lines changed: 0 additions & 3 deletions
This file was deleted.

isaac_ros_unet/gxf/lib/gxf_jetpack50/segmentation_postprocessor/libgxf_segmentation_postprocessor.so

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)