GithubHelp home page GithubHelp logo

rbonghi / isaac_ros_base Goto Github PK

View Code? Open in Web Editor NEW
18.0 3.0 5.0 133 KB

๐Ÿ‹๐Ÿ‹ Multi architecture Isaac ROS for NVIDIA Jetson and x86 - CI based

License: MIT License

Shell 100.00%
docker humble isaac-ros nvidia-docker ros-humble ros2

isaac_ros_base's Introduction

Isaac ROS Base - Multi architecture & CI based

Docker Pulls GitHub

Multi architecture cross compilable Isaac ROS for x86 and NVIDIA Jetson with Jetpack 5+

Requirements

To build these NVIDIA Docker you can choose one of these options:

  1. Desktop
    • NVIDIA Graphic card
  2. NVIDIA Jetson
    • Xavier or Orin series
    • NVIDIA Jetpack 5+

Images available

All images are based with:

Software Version JP=5.0.2 Version JP=5.1
Ubuntu 20.04 20.04
L4T 35.1 35.2
CUDA 11.4 11.4
OpenCV 4.5.0 with CUDA 4.5.0 with CUDA
TensorRT 8.4 8.4
Triton 2.24.0 2.30.0

Images:

Name AMD64 ARM64 Note Build Time
rbonghi/isaac_ros_base:humble-core-devel Docker Image Size (tag) Docker Image Size (tag) Minimal packages ros-core and all main package for vision compiled with CUDA 16000s (L4T 35.1)
15000s (L4T 35.2)
rbonghi/isaac_ros_base:humble-base-devel Docker Image Size (tag) Docker Image Size (tag) 16000s (L4T 35.1)
16000s (L4T 35.2)
rbonghi/isaac_ros_base:gems-devel Docker Image Size (tag) Docker Image Size (tag) Isaac ROS argus camera is available only on ARM64 platform
rbonghi/isaac_ros_base:isaac-runtime Soon Soon

Work with Isaac ROS base

Example to build Isaac ROS packages multi-platform

cd example
docker build -t isaac-ros-base/packages:latest -f Dockerfile.isaac .

Build

There are two ways to use this repository, build locally the isaac_ros_base images or use in CI, but you need to install a local runner on your desktop with NVIDIA graphic card.

Setup Docker runtime on Jetson

To enable access to the CUDA compiler (nvcc) during docker build operations, add "default-runtime": "nvidia" to your /etc/docker/daemon.json configuration file before attempting to build the containers:

{
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    },
    "default-runtime": "nvidia"
}

You will then want to restart the Docker service or reboot your system before proceeding.

sudo systemctl restart docker.service

Add your user on your docker group

sudo usermod -aG docker $USER

Logout and login on your session.

Build locally

If you want to run locally use and follow the help:

Warning: You can use this script only on:

  • x86 machines with NVIDIA graphic card
  • NVIDIA Jetson Orin or Xavier series
./docker_build_ros.sh

isaac_ros_runner

Follow README in isaac_ros_runner folder

Multistage images

Name AMD64 ARM64 Build Time
rbonghi/isaac_ros_base:opencv-4.5.0 Docker Image Size (tag) Docker Image Size (tag)
rbonghi/isaac_ros_base:devel Docker Image Size (tag) Docker Image Size (tag) 2000s (L4T 35.1)
2500s (L4T 35.2)
rbonghi/isaac_ros_base:runtime Soon Soon

isaac_ros_base's People

Contributors

dependabot[bot] avatar rbonghi avatar rbonghinv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

isaac_ros_base's Issues

Question about docker build environment: CMake version for docker build seems to be different than my installed version. Environment variable?

Hi, Thankyou for putting together this repository for Docker!
I am attempting to build for Orin Nano Development Kit. I have Jetpack 5.1.1 installed on Orin Nano.
I start a build on Orin Nano using:

cd example
docker build -t isaac-ros-base/packages:latest -f Dockerfile.isaac .\

The build continues, and then fails with:

_Starting >>> isaac_ros_common
Starting >>> isaac_ros_test
--- stderr: isaac_ros_common
CMake Error at CMakeLists.txt:9 (cmake_minimum_required):
CMake 3.23.2 or higher is required. You are running version 3.16.3

Failed <<< isaac_ros_common [0.61s, exited with code 1]
Aborted <<< isaac_ros_test [1.62s]_

I am assuming CMake 3.16.3 is default shipping version with Jetpack 5.1.1?

I will simply update to the latest version of CMake. Is this the correct approach?
Thanks for your help!

[QST] What's the relationship between this project and the official nvidia ngc isaac_ros_deb_base container.

First of all I would say it's a great project to help us create docker images to run issac_ros.

At the same time, there is a official container which is published without dockerfile in ngc catlog, which is https://catalog.ngc.nvidia.com/orgs/nvidia/teams/isaac/containers/ros , and is recommended in https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_common/blob/main/docker/Dockerfile.x86_64.ros2_humble so developers can use it freely(without the dockerfile!).

Does this project have any relationship with the nvidia version of container?

  1. Does this project try to reverse-engineering the closed source ngc version?
  2. Or it is just a standalone project that will get its own path.

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.