Note
NVIDIA Isaac ROS
See github.com/NVIDIA-ISAAC-ROS
for optimized CV/AI packages and NITROS zero-copy transport.
For Isaac ROS containers, use the Isaac ROS Docker Development Environment.
Below are ROS/ROS2 base containers for JetPack. These build ROS from source to run them on the needed versions of Ubuntu.
Supported ROS distros: melodic
noetic
foxy
galactic
humble
iron
Supported ROS packages: ros_base
ros_core
desktop
Since the ROS distributions included in these containers are built from source, you should not install additional ROS packages for them from apt - instead these should be built from source too. There is a helper script for this /ros2_install.sh
which takes either a list of ROS package names or URL of a git repo, and builds/installs them in a ROS workspace:
# adds foxglove to ROS_ROOT (under /opt/ros)
/ros2_install.sh foxglove_bridge
# adds jetson-inference nodes under /ros2_workspace
ROS_WORKSPACE=/ros2_workspace /ros2_install.sh https://github.com/dusty-nv/ros_deep_learning
You can run this from the ROS2 container using a mounted directory for your workspace (where your compiled packages will be saved outside container), or via another Dockerfile using the ROS2 container as base (in which case your packages will be built into the container itself):
Examples of this being done you can find in the ros:humble-foxglove
and jetson-inference:humble
containers.