# New ROS/ROS2 AI Packages and Docker Images for NVIDIA Jetson

**URL:** <https://discourse.openrobotics.org/t/new-ros-ros2-ai-packages-and-docker-images-for-nvidia-jetson/19080>\
**Category:** ROS General\
**Tags:** ros2, embedded, foxy, wg-edgeai, deep-learning\
**Created:** [February 21, 2021, 11:51pm UTC](https://discourse.openrobotics.org/t/new-ros-ros2-ai-packages-and-docker-images-for-nvidia-jetson/19080 "2021-02-21T23:51:36Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![ak-nv](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/ak-nv/32/9425_2.png) [@ak-nv](https://discourse.openrobotics.org/u/ak-nv)\
**Post date:** [February 21, 2021, 11:51pm UTC](https://discourse.openrobotics.org/t/new-ros-ros2-ai-packages-and-docker-images-for-nvidia-jetson/19080/1 "2021-02-21T23:51:36Z")

</div>

Our team at NVIDIA has created ROS2 containers for NVIDIA Jetson platform based on [ROS2 Installation Guide](https://index.ros.org/doc/ros2/Installation/) and [dusty-nv/jetson-containers](https://github.com/dusty-nv/jetson-containers)

NVIDIA Jetson provides various AI application ROS/ROS2 packages, please [find here more information](https://nvidia-ai-iot.github.io/ros2_jetson/)

ROS2 Foxy / Eloquent with PyTorch and TensorRT Docker Image consists of following:

- DL Libraries: PyTorch v1.7.0, TorchVision v0.8.1, NVIDIA TensorRT 7.1.3
- ML Libraries: scikit-learn, numpy etc
- Widely used developer repositories: torch2trt, trt\_pose
- ROS2 Packages:  
- [NVIDIA-AI-IOT/ros2\_trt\_pose](https://github.com/NVIDIA-AI-IOT/ros2_trt_pose)  
- [NVIDIA-AI-IOT/ros2\_trt\_pose\_hand](https://github.com/NVIDIA-AI-IOT/ros2_trt_pose_hand)

ROS2 Foxy / Eloquent NVIDIA DeepStream SDK Docker image consists of following:

- NVIDIA DeepStream SDK for Classification, Object detection
- ROS2 packages: [NVIDIA-AI-IOT/ros2\_deepstream](https://github.com/NVIDIA-AI-IOT/ros2_deepstream) , `vision_msgs`

All containers will have #cyclonedds support.  
To learn more: How to pull docker image and build your own, please follow ReadMe [here](https://github.com/NVIDIA-AI-IOT/ros2_jetson/tree/main/docker)

We also have released two more new packages for edge AI applications :

- ROS2 Package for Accelerate NVAprilTags: [NVIDIA-AI-IOT/ros2-nvapriltags](https://github.com/NVIDIA-AI-IOT/ros2-nvapriltags)
- NVIDIA TensorRT accelerated ROS2 Package for Hand Pose estimation and Gesture Classification: [NVIDIA-AI-IOT/ros2\_trt\_pose\_hand](https://github.com/NVIDIA-AI-IOT/ros2_trt_pose_hand)

For previously released package, please find ROS2 WG meeting notes [here](https://vimeo.com/487339164), GitHub Links [here](https://nvidia-ai-iot.github.io/ros2_jetson/ros2-packages/) and Blog post [here](https://developer.nvidia.com/blog/implementing-robotics-applications-with-ros-2-and-ai-on-jetson-platform-2/)

If you face any problem please open an issue on the GitHub repo and we will try to address them soon.

---

<div class="post-metadata">

**Author:** ![fkromer](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/fkromer/32/2446_2.png) [@fkromer](https://discourse.openrobotics.org/u/fkromer)\
**Post date:** [February 22, 2021, 1:00pm UTC](https://discourse.openrobotics.org/t/new-ros-ros2-ai-packages-and-docker-images-for-nvidia-jetson/19080/2 "2021-02-22T13:00:27Z")

</div>

Wow, great examples. Are you thinking about to provide inference examples based on [ONNX](https://onnx.ai/) packaged models as well? In comparison to Python pickle-based packaged models ONNX packaged models can be run on top of a lot of potentially way faster [runtimes](https://www.onnxruntime.ai/). I’m not quite sure about if there is NVIDIA specifc hardware acceleration supported already but according to the [ONNX website](https://onnx.ai/supported-tools.html) in general NVIDIA acceleration seems to be supported or at least planned.

---

<div class="post-metadata">

**Author:** ![ak-nv](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/ak-nv/32/9425_2.png) [@ak-nv](https://discourse.openrobotics.org/u/ak-nv)\
**Post date:** [February 22, 2021, 7:56pm UTC](https://discourse.openrobotics.org/t/new-ros-ros2-ai-packages-and-docker-images-for-nvidia-jetson/19080/3 "2021-02-22T19:56:11Z")

</div>

Thank you @fkromer

We accelerated using NVIDA TensorRT with [torch2trt](https://github.com/NVIDIA-AI-IOT/torch2trt): An easy to use PyTorch to TensorRT converter. In TensorRT, we first convert PyTorch model to ONNX and then to TensorRT.

All the packages are accelerated for NVIDIA Jetson Hardware.

For example: [Human Pose Estimation ROS2 Package](https://github.com/NVIDIA-AI-IOT/ros2_trt_pose) accelerated with TensorRT has higher FPS with lower GPU utilization.

For more on NVIDIA TensorRT, please find brief highlights [here](https://docs.nvidia.com/deeplearning/tensorrt/developer-guide/index.html#overview)

---

<div class="post-metadata">

**Author:** ![wolfv](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/wolfv/32/2863_2.png) [@wolfv](https://discourse.openrobotics.org/u/wolfv)\
**Post date:** [February 26, 2021, 10:18am UTC](https://discourse.openrobotics.org/t/new-ros-ros2-ai-packages-and-docker-images-for-nvidia-jetson/19080/4 "2021-02-26T10:18:32Z")

</div>

Hi @ak-nv we’ve been working quite hard on ROS 1 and ROS 2 packages for conda. These packages are cross-platform, and we could use cuda / cudnn etc. from the conda-forge channel. NVidia is actually quite active in the _conda-forge_ community which our effort is based on. I am wondering if there is any interest by NVidia to also make the conda-package route attractive for Jetson? We already have ARM64 packages for ROS noetic, and for Foxy we just need to turn it on. Would be happy to give you a demo / chat about this. PS: Here is a link with our recent updates [Cross-platform conda packages for ROS | by Wolf Vollprecht | robostack | Medium](https://medium.com/robostack/cross-platform-conda-packages-for-ros-fa1974fd1de3)

---

<div class="post-metadata">

**Author:** ![togaen](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/togaen/32/7010_2.png) [@togaen](https://discourse.openrobotics.org/u/togaen)\
**Post date:** [March 10, 2021, 2:32pm UTC](https://discourse.openrobotics.org/t/new-ros-ros2-ai-packages-and-docker-images-for-nvidia-jetson/19080/5 "2021-03-10T14:32:55Z")

</div>

@ak-nv This is quite helpful. Do your containers also provide OpenCV?

---

<div class="post-metadata">

**Author:** ![ak-nv](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/ak-nv/32/9425_2.png) [@ak-nv](https://discourse.openrobotics.org/u/ak-nv)\
**Post date:** [March 10, 2021, 7:09pm UTC](https://discourse.openrobotics.org/t/new-ros-ros2-ai-packages-and-docker-images-for-nvidia-jetson/19080/6 "2021-03-10T19:09:05Z")

</div>

Yes. Please also check [DockerFiles](https://github.com/NVIDIA-AI-IOT/ros2_jetson/tree/main/docker) if needed.

---

<div class="post-metadata">

**Author:** ![togaen](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/togaen/32/7010_2.png) [@togaen](https://discourse.openrobotics.org/u/togaen)\
**Post date:** [March 10, 2021, 7:34pm UTC](https://discourse.openrobotics.org/t/new-ros-ros2-ai-packages-and-docker-images-for-nvidia-jetson/19080/7 "2021-03-10T19:34:51Z")

</div>

Great, thanks. I was having trouble building anything that used opencv in the docker, but I think it was just that the `libopencv-dev` package was missing.

---

<div class="post-metadata">

**Author:** ![ak-nv](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/ak-nv/32/9425_2.png) [@ak-nv](https://discourse.openrobotics.org/u/ak-nv)\
**Post date:** [October 21, 2021, 2:53pm UTC](https://discourse.openrobotics.org/t/new-ros-ros2-ai-packages-and-docker-images-for-nvidia-jetson/19080/8 "2021-10-21T14:53:58Z")

</div>

Isaac ROS is available now at [github.com/NVIDIA-ISAAC-ROS](http://github.com/NVIDIA-ISAAC-ROS). Clone the repositories you need into your ROS workspace to build from source with colcon alongside your other ROS2 packages.

Our latest release includes hardware accelerated ROS2 Foxy packages for image processing and deep learning, tested on Jetson [AGX Xavier](https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-agx-xavier/) with [JetPack 4.6](https://developer.nvidia.com/embedded/jetpack).

- Stereo visual inertial odometry (60 fps at 720p)
- DNN model inference for custom and [pre-trained DNNs](https://ngc.nvidia.com/catalog/models) with included examples for [DOPE](https://github.com/NVlabs/Deep_Object_Pose) 3D pose estimation & [U-NET](https://ngc.nvidia.com/catalog/resources/nvidia:unet) semantic image segmentation (pre-trained PeopleSemSegNet 25fps at 544p)
- AprilTag detection (52fps at 1080p)
- Image pre-processing (lens distortion correction, color space conversion, scaling)
- Stereo depth estimation (disparity and point cloud)
- Camera support (CSI & GMSL interface imagers)
