### Install Isaac ROS Examples Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_image_segmentation/isaac_ros_segformer/index.html Installs the necessary Isaac ROS examples package. This is a prerequisite for running the provided launch files. ```bash sudo apt-get update ``` ```bash sudo apt-get install -y ros-jazzy-isaac-ros-examples ``` -------------------------------- ### Install Isaac ROS Examples Package Source: https://nvidia-isaac-ros.github.io/concepts/pose_estimation/foundationpose/tutorial_tracking.html Install the Isaac ROS examples package, which includes necessary nodes and configurations for running demos. ```bash sudo apt-get update sudo apt-get install -y ros-jazzy-isaac-ros-examples ``` -------------------------------- ### Install apt dependencies Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_image_segmentation/isaac_ros_unet/index.html Installs essential command-line tools required for downloading assets. Run this before downloading quickstart data. ```bash sudo apt-get install -y curl jq tar ``` -------------------------------- ### Install cuMotion Examples (Binary) Source: https://nvidia-isaac-ros.github.io/concepts/manipulation/cumotion_moveit/tutorial_isaac_sim.html Install the prebuilt Debian package for Isaac ROS cuMotion examples and its dependencies. Ensure your package list is updated before installation. ```bash sudo apt-get update ``` ```bash sudo apt-get install -y ros-jazzy-isaac-ros-cumotion-examples ``` -------------------------------- ### Run Nvblox Example Launch File Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_nvblox/isaac_ros_nvblox/index.html Launches an example simulation using isaac_ros_nvblox, specifying the path to the quickstart assets and disabling navigation. ```bash ros2 launch nvblox_examples_bringup isaac_sim_example.launch.py \ rosbag:=${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_nvblox/quickstart \ navigation:=False ``` -------------------------------- ### Install ZED Camera and Example Dependencies Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_compression/isaac_ros_h264_encoder/index.html Installs required ROS packages for ZED camera integration, stereo image processing, and Isaac ROS examples. These are prerequisites for running the ZED camera launch file. ```bash sudo apt-get update ``` ```bash sudo apt-get install -y ros-jazzy-isaac-ros-examples ros-jazzy-isaac-ros-stereo-image-proc ros-jazzy-isaac-ros-zed ``` -------------------------------- ### Install RealSense and Examples Dependencies Source: https://nvidia-isaac-ros.github.io/concepts/pose_estimation/foundationpose/tutorial_tracking.html Install the necessary Isaac ROS RealSense and examples packages. This includes dependencies for camera integration and running demos. ```bash sudo apt-get update sudo apt-get install -y ros-jazzy-isaac-ros-examples ros-jazzy-isaac-ros-realsense ``` -------------------------------- ### Install Nova Orin Init Source: https://nvidia-isaac-ros.github.io/nova/_sources/nova_init/index.rst.txt Update APT and install the Nova Orin Init package. This is the primary command for initial setup. ```bash sudo apt update && sudo apt install nova-orin-init ``` -------------------------------- ### Automatic Setup During Build Source: https://nvidia-isaac-ros.github.io/reference_workflows/isaac_for_manipulation/packages/isaac_ros_manipulation_asset_bringup/index.html Enable asset installation and build the package to automatically download models. This is the most common usage. ```bash # Enable asset installation export MANIPULATOR_INSTALL_ASSETS=1 # Build the package (automatically downloads models) cd ${ISAAC_ROS_WS} colcon build --packages-up-to isaac_ros_manipulation_asset_bringup ``` -------------------------------- ### Verify Nova Installation Source: https://nvidia-isaac-ros.github.io/nova/_sources/nova_init/index.rst.txt After installation, this output indicates the available Nova YAML configuration examples. Select one or 'none' for a custom configuration. ```text No Nova YAML specified. The following example files are available: none, hawk-2_owl-4, owl-4, nova-devkit, nova-orin, hawk-1, hawk-4_owl-4, hawk-2, nova-carter. Select one of the examples for a predefined yaml or none if you would like to write your own custom. Use `show ` if you want to see the YAML. Response: ``` -------------------------------- ### Install FoundationStereo Models (Prebuilt) Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_dnn_stereo_depth/isaac_ros_foundationstereo/index.html Downloads and installs the pre-trained FoundationStereo model files using the installed model installation script. Supports 'high_res' or 'low_res' model resolutions. ```bash sudo apt-get update ``` ```bash ros2 run isaac_ros_foundationstereo_models_install install_foundationstereo_models.sh --eula \ --model_res high_res ``` -------------------------------- ### Pick and Place Tutorial Setup Source: https://nvidia-isaac-ros.github.io/reference_workflows/isaac_for_manipulation/packages/isaac_ros_manipulation_asset_bringup/index.html Build the package to download necessary models for the Pick and Place tutorial. This includes FoundationPose and SyntheticaDETR models. ```bash export MANIPULATOR_INSTALL_ASSETS=1 colcon build --packages-up-to isaac_ros_manipulation_asset_bringup ``` -------------------------------- ### Setup Perception Models (Binary Package) Source: https://nvidia-isaac-ros.github.io/reference_workflows/isaac_for_manipulation/tutorials/setup/setup_with_gripper.html Sets up perception models like FoundationPose, SyntheticaDETR, and downloads sample object assets using the binary package. This also serves as a final verification. ```bash export MANIPULATOR_INSTALL_ASSETS=1 export FOUNDATIONSTEREO_MODEL_RES=low_res ros2 run isaac_ros_manipulation_asset_bringup setup_perception_models.py --models all ``` -------------------------------- ### Launch Object Following Example Source: https://nvidia-isaac-ros.github.io/reference_workflows/isaac_for_manipulation/tutorials/isaac_sim/tutorial_isaac_sim_object_following.html Launch the object following example using the specified workflow configuration file. ```bash ros2 launch isaac_ros_manipulation_bringup workflows.launch.py \ manipulator_workflow_config:=$(ros2 pkg prefix --share isaac_ros_manipulation_bringup)/params/sim_launch_params.yaml ``` -------------------------------- ### Install NITROS Bridge Quickstart Assets Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_nitros/isaac_ros_nitros_bridge/index.html Installs necessary libraries and downloads quickstart assets from NGC for the Isaac ROS NITROS Bridge. Ensure your development environment is set up before running. ```bash sudo apt-get install -y curl jq tar ``` ```bash NGC_ORG="nvidia" NGC_TEAM="isaac" PACKAGE_NAME="isaac_ros_nitros_bridge_ros2" NGC_RESOURCE="isaac_ros_nitros_bridge_ros2_assets" NGC_FILENAME="quickstart.tar.gz" MAJOR_VERSION=4 MINOR_VERSION=4 VERSION_REQ_URL="https://catalog.ngc.nvidia.com/api/resources/versions?orgName=$NGC_ORG&teamName=$NGC_TEAM&name=$NGC_RESOURCE&isPublic=true&pageNumber=0&pageSize=100&sortOrder=CREATED_DATE_DESC" AVAILABLE_VERSIONS=$(curl -s \ -H "Accept: application/json" "$VERSION_REQ_URL") LATEST_VERSION_ID=$(echo $AVAILABLE_VERSIONS | jq -r \ ".recipeVersions[] \ | .versionId as $v \ | $v | select(test("^\\d+\\.\\d+\\.\\d+$")) \ | split(\".\") | {major: .[0]|tonumber, minor: .[1]|tonumber, patch: .[2]|tonumber} \ | select(.major == $MAJOR_VERSION and .minor <= $MINOR_VERSION) \ | $v \ " | sort -V | tail -n 1 ) if [ -z "$LATEST_VERSION_ID" ]; then echo "No corresponding version found for Isaac ROS $MAJOR_VERSION.$MINOR_VERSION" echo "Found versions:" echo $AVAILABLE_VERSIONS | jq -r '.recipeVersions[].versionId' else mkdir -p ${ISAAC_ROS_WS}/isaac_ros_assets && \ FILE_REQ_URL="https://api.ngc.nvidia.com/v2/resources/$NGC_ORG/$NGC_TEAM/$NGC_RESOURCE/\versions/$LATEST_VERSION_ID/files/$NGC_FILENAME" && \ curl -LO --request GET "${FILE_REQ_URL}" && \ tar -xf ${NGC_FILENAME} -C ${ISAAC_ROS_WS}/isaac_ros_assets && \ rm ${NGC_FILENAME} fi ``` -------------------------------- ### Install MuJoCo ROS Control Package Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_physical_ai/isaac_ros_unitree_g1_teleop_bringup/index.html Install the `mujoco_ros2_control` package, which is a dependency for simulation environments. Ensure to source the ROS setup after installation. ```bash sudo apt-get install -y ros-jazzy-mujoco-ros2-control source /opt/ros/jazzy/setup.bash ``` -------------------------------- ### Run U-Net with Rosbag Quickstart Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_image_segmentation/isaac_ros_unet/index.html Launch the U-Net segmentation demo using a quickstart rosbag. This is useful for testing the package without live camera input. ```bash ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:=unet interface_specs_file:${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_unet/quickstart_interface_specs.json engine_file_path:${ISAAC_ROS_WS}/isaac_ros_assets/models/peoplesemsegnet/deployable_quantized_vanilla_unet_onnx_v2.0/1/model.plan input_binding_names:=['input_1:0'] ``` -------------------------------- ### Install Isaac ROS ZED Dependencies Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_image_pipeline/isaac_ros_image_proc/index.html Installs the necessary Isaac ROS examples and ZED packages. ```bash sudo apt-get update ``` ```bash sudo apt-get install -y ros-jazzy-isaac-ros-examples ros-jazzy-isaac-ros-zed ``` -------------------------------- ### Manual Setup for All Models Source: https://nvidia-isaac-ros.github.io/reference_workflows/isaac_for_manipulation/packages/isaac_ros_manipulation_asset_bringup/index.html Manually run the setup script to download all perception models and display the directory structure. Ensure the MANIPULATOR_INSTALL_ASSETS environment variable is set. ```bash # Set the environment variable export MANIPULATOR_INSTALL_ASSETS=1 # Run the setup script for all models ros2 run isaac_ros_manipulation_asset_bringup setup_perception_models.py \ --models all \ --show-structure ``` -------------------------------- ### Install ZED and Examples Dependencies Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_object_detection/isaac_ros_yolov8/index.html Installs dependencies for using Isaac ROS with a ZED camera, including the examples and stereo image processing packages. Ensure your ZED camera is set up and the Isaac ROS environment is activated. ```bash sudo apt-get update ``` ```bash sudo apt-get install -y ros-jazzy-isaac-ros-examples ros-jazzy-isaac-ros-stereo-image-proc ros-jazzy-isaac-ros-zed ``` -------------------------------- ### Copy Model Configuration Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_pose_estimation/isaac_ros_centerpose/index.html Copies the quickstart model configuration file to the model repository. Ensure the configuration name matches the model repository name. ```bash cp ${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_centerpose/config.pbtxt ${ISAAC_ROS_WS}/isaac_ros_assets/models/centerpose_shoe/config.pbtxt ``` -------------------------------- ### Run PyNITROS Quickstart Launch File Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_nitros/isaac_ros_pynitros/index.html Launches the PyNITROS quickstart demo. This requires the rosbag path to be correctly specified. ```bash cd ${ISAAC_ROS_WS} && \ ros2 launch isaac_ros_pynitros isaac_ros_pynitros_quickstart.launch.py rosbag_path:=${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_pynitros/quickstart.bag ``` -------------------------------- ### Download Quickstart Assets from NGC Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_image_pipeline/isaac_ros_stereo_image_proc/index.html Downloads the quickstart assets for `isaac_ros_stereo_image_proc` from NGC. This script determines the latest compatible version and downloads the `quickstart.tar.gz` file. ```bash NGC_ORG="nvidia" NGC_TEAM="isaac" PACKAGE_NAME="isaac_ros_stereo_image_proc" NGC_RESOURCE="isaac_ros_stereo_image_proc_assets" NGC_FILENAME="quickstart.tar.gz" MAJOR_VERSION=4 MINOR_VERSION=4 VERSION_REQ_URL="https://catalog.ngc.nvidia.com/api/resources/versions?orgName=$NGC_ORG&teamName=$NGC_TEAM&name=$NGC_RESOURCE&isPublic=true&pageNumber=0&pageSize=100&sortOrder=CREATED_DATE_DESC" AVAILABLE_VERSIONS=$(curl -s \ -H "Accept: application/json" "$VERSION_REQ_URL") LATEST_VERSION_ID=$(echo $AVAILABLE_VERSIONS | jq -r " .recipeVersions[] | .versionId as $v | $v | select(test("^\\d+\\.\\d+\\.\\d+$")) | split(".") | {major: .[0]|tonumber, minor: .[1]|tonumber, patch: .[2]|tonumber} | select(.major == $MAJOR_VERSION and .minor <= $MINOR_VERSION) | $v " | sort -V | tail -n 1 ) if [ -z "$LATEST_VERSION_ID" ]; then echo "No corresponding version found for Isaac ROS $MAJOR_VERSION.$MINOR_VERSION" echo "Found versions:" echo $AVAILABLE_VERSIONS | jq -r '.recipeVersions[].versionId' else mkdir -p ${ISAAC_ROS_WS}/isaac_ros_assets && \ FILE_REQ_URL="https://api.ngc.nvidia.com/v2/resources/$NGC_ORG/$NGC_TEAM/$NGC_RESOURCE/\versions/$LATEST_VERSION_ID/files/$NGC_FILENAME" && \ curl -LO --request GET "${FILE_REQ_URL}" && \ tar -xf ${NGC_FILENAME} -C ${ISAAC_ROS_WS}/isaac_ros_assets && \ rm ${NGC_FILENAME} fi ``` -------------------------------- ### Install ROS Dependencies Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_object_detection/isaac_ros_detectnet/index.html Installs necessary ROS 2 packages for Isaac ROS examples and specific hardware support. ```bash sudo apt-get update ``` ```bash sudo apt-get install -y ros-jazzy-isaac-ros-examples ``` ```bash sudo apt-get install -y ros-jazzy-isaac-ros-examples ros-jazzy-isaac-ros-realsense ``` ```bash sudo apt-get install -y ros-jazzy-isaac-ros-examples ros-jazzy-isaac-ros-stereo-image-proc ros-jazzy-isaac-ros-zed ``` -------------------------------- ### Check Docker buildx Version Source: https://nvidia-isaac-ros.github.io/troubleshooting/dev_env.html Use this command to verify if the Docker `buildx` component is installed and functional. If it's missing or broken, follow the official Docker installation guide to install it. ```bash docker buildx version ``` -------------------------------- ### Download Quickstart Assets from NGC Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_object_detection/isaac_ros_detectnet/index.html Downloads the quickstart assets for `isaac_ros_detectnet` from NGC, dynamically selecting the latest compatible version. ```bash NGC_ORG="nvidia" NGC_TEAM="isaac" PACKAGE_NAME="isaac_ros_detectnet" NGC_RESOURCE="isaac_ros_detectnet_assets" NGC_FILENAME="quickstart.tar.gz" MAJOR_VERSION=4 MINOR_VERSION=4 VERSION_REQ_URL="https://catalog.ngc.nvidia.com/api/resources/versions?orgName=$NGC_ORG&teamName=$NGC_TEAM&name=$NGC_RESOURCE&isPublic=true&pageNumber=0&pageSize=100&sortOrder=CREATED_DATE_DESC" AVAILABLE_VERSIONS=$(curl -s \ -H "Accept: application/json" "$VERSION_REQ_URL") LATEST_VERSION_ID=$(echo $AVAILABLE_VERSIONS | jq -r \ ".recipeVersions[] | .versionId as \$v | \$v | select(test("^\\d+\\.\\d+\\.\\d+$")) | split(\".\") | {major: .[0]|tonumber, minor: .[1]|tonumber, patch: .[2]|tonumber} | select(.major == $MAJOR_VERSION and .minor <= $MINOR_VERSION) | \$v " | sort -V | tail -n 1 ) if [ -z "$LATEST_VERSION_ID" ]; then echo "No corresponding version found for Isaac ROS $MAJOR_VERSION.$MINOR_VERSION" echo "Found versions:" echo $AVAILABLE_VERSIONS | jq -r '.recipeVersions[].versionId' else mkdir -p ${ISAAC_ROS_WS}/isaac_ros_assets && \ FILE_REQ_URL="https://api.ngc.nvidia.com/v2/resources/$NGC_ORG/$NGC_TEAM/$NGC_RESOURCE/\versions/$LATEST_VERSION_ID/files/$NGC_FILENAME" && \ curl -LO --request GET "${FILE_REQ_URL}" && \ tar -xf ${NGC_FILENAME} -C ${ISAAC_ROS_WS}/isaac_ros_assets && \ rm ${NGC_FILENAME} fi ``` -------------------------------- ### Isaac Sim Tutorials Setup Source: https://nvidia-isaac-ros.github.io/reference_workflows/isaac_for_manipulation/packages/isaac_ros_manipulation_asset_bringup/index.html Build the package with specific model resolution for Isaac Sim tutorials to ensure consistent model availability. The MANIPULATOR_INSTALL_ASSETS and FOUNDATIONSTEREO_MODEL_RES environment variables should be set. ```bash export MANIPULATOR_INSTALL_ASSETS=1 export FOUNDATIONSTEREO_MODEL_RES=low_res colcon build --packages-up-to isaac_ros_manipulation_asset_bringup ``` -------------------------------- ### Launch RealSense Example (Live) Source: https://nvidia-isaac-ros.github.io/concepts/scene_reconstruction/nvblox/tutorials/tutorial_realsense.html Launch the RealSense example using the provided launch file. This command is used when running with live data from a RealSense sensor. ```bash ros2 launch nvblox_examples_bringup realsense_example.launch.py ``` -------------------------------- ### Install Nav2 Bringup Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_nvblox/isaac_ros_nvblox/index.html Installs the Nav2 bringup package, which is required for examples that involve navigation. This can be omitted if navigation is disabled in the launch file. ```bash sudo apt-get install -y ros-jazzy-nav2-bringup ``` -------------------------------- ### Launch RViz with Quickstart Configuration Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_mapping_and_localization/isaac_ros_occupancy_grid_localizer/index.html Launches RViz with a specific configuration file for the occupancy grid localizer quickstart. This helps visualize the localization process. ```bash rviz2 -d $(ros2 pkg prefix isaac_ros_occupancy_grid_localizer --share)/rviz/quickstart.rviz ``` -------------------------------- ### Install RealSense and Examples Dependencies Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_image_segmentation/isaac_ros_segformer/index.html Installs the necessary packages for using SegFormer with a RealSense camera. Ensure your RealSense camera is already set up. ```bash sudo apt-get update ``` ```bash sudo apt-get install -y ros-jazzy-isaac-ros-examples ros-jazzy-isaac-ros-realsense ``` -------------------------------- ### Download Quickstart Assets from NGC Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_pose_estimation/isaac_ros_foundationpose/index.html Downloads the quickstart assets for `isaac_ros_foundationpose` from NGC. This script determines the latest compatible version and downloads the `quickstart.tar.gz` file. ```bash NGC_ORG="nvidia" NGC_TEAM="isaac" PACKAGE_NAME="isaac_ros_foundationpose" NGC_RESOURCE="isaac_ros_foundationpose_assets" NGC_FILENAME="quickstart.tar.gz" MAJOR_VERSION=4 MINOR_VERSION=4 VERSION_REQ_URL="https://catalog.ngc.nvidia.com/api/resources/versions?orgName=$NGC_ORG&teamName=$NGC_TEAM&name=$NGC_RESOURCE&isPublic=true&pageNumber=0&pageSize=100&sortOrder=CREATED_DATE_DESC" AVAILABLE_VERSIONS=$(curl -s \ -H "Accept: application/json" "$VERSION_REQ_URL") LATEST_VERSION_ID=$(echo $AVAILABLE_VERSIONS | jq -r \ ".recipeVersions[] \ | .versionId as $v \ | $v | select(test("^\\d+\\.\\d+\\.\\d+$")) \ | split(".") | {major: .[0]|tonumber, minor: .[1]|tonumber, patch: .[2]|tonumber} \ | select(.major == $MAJOR_VERSION and .minor <= $MINOR_VERSION) \ | $v \ " | sort -V | tail -n 1 ) if [ -z "$LATEST_VERSION_ID" ]; then echo "No corresponding version found for Isaac ROS $MAJOR_VERSION.$MINOR_VERSION" echo "Found versions:" echo $AVAILABLE_VERSIONS | jq -r '.recipeVersions[].versionId' else mkdir -p ${ISAAC_ROS_WS}/isaac_ros_assets && \ FILE_REQ_URL="https://api.ngc.nvidia.com/v2/resources/$NGC_ORG/$NGC_TEAM/$NGC_RESOURCE/\versions/$LATEST_VERSION_ID/files/$NGC_FILENAME" && \ curl -LO --request GET "${FILE_REQ_URL}" && \ tar -xf ${NGC_FILENAME} -C ${ISAAC_ROS_WS}/isaac_ros_assets && \ rm ${NGC_FILENAME} fi ``` -------------------------------- ### Install Unitree G1 Teleop Bringup Debian Package Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_physical_ai/isaac_ros_unitree_g1_teleop_bringup/index.html Install the prebuilt Debian package for `isaac_ros_unitree_g1_teleop_bringup`. This is the recommended method for quick setup. ```bash sudo apt-get install -y ros-jazzy-isaac-ros-unitree-g1-teleop-bringup ``` -------------------------------- ### Download Quickstart Assets from NGC Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_object_detection/isaac_ros_grounding_dino/index.html Downloads the Grounding DINO quickstart assets from NGC. This script finds the latest compatible version and downloads the tarball, extracting it into the ISAAC_ROS_WS assets directory. ```bash NGC_ORG="nvidia" NGC_TEAM="isaac" PACKAGE_NAME="isaac_ros_grounding_dino" NGC_RESOURCE="isaac_ros_grounding_dino_assets" NGC_FILENAME="quickstart.tar.gz" MAJOR_VERSION=4 MINOR_VERSION=4 VERSION_REQ_URL="https://catalog.ngc.nvidia.com/api/resources/versions?orgName=$NGC_ORG&teamName=$NGC_TEAM&name=$NGC_RESOURCE&isPublic=true&pageNumber=0&pageSize=100&sortOrder=CREATED_DATE_DESC" AVAILABLE_VERSIONS=$(curl -s \ -H "Accept: application/json" "$VERSION_REQ_URL") LATEST_VERSION_ID=$(echo $AVAILABLE_VERSIONS | jq -r \ ".recipeVersions[] \ | .versionId as $v \ | $v | select(test("^\\d+\\.\\d+\\.\\d+$")) \ | split(\".\") | {major: .[0]|tonumber, minor: .[1]|tonumber, patch: .[2]|tonumber} \ | select(.major == $MAJOR_VERSION and .minor <= $MINOR_VERSION) \ | $v \ " | sort -V | tail -n 1 ) if [ -z "$LATEST_VERSION_ID" ]; then echo "No corresponding version found for Isaac ROS $MAJOR_VERSION.$MINOR_VERSION" echo "Found versions:" echo $AVAILABLE_VERSIONS | jq -r '.recipeVersions[].versionId' else mkdir -p ${ISAAC_ROS_WS}/isaac_ros_assets && \ FILE_REQ_URL="https://api.ngc.nvidia.com/v2/resources/$NGC_ORG/$NGC_TEAM/$NGC_RESOURCE/\versions/$LATEST_VERSION_ID/files/$NGC_FILENAME" && \ curl -LO --request GET "${FILE_REQ_URL}" && \ tar -xf ${NGC_FILENAME} -C ${ISAAC_ROS_WS}/isaac_ros_assets && \ rm ${NGC_FILENAME} fi ``` -------------------------------- ### Download Quickstart Assets from NGC Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_dnn_stereo_depth/isaac_ros_foundationstereo/index.html Downloads the quickstart assets for isaac_ros_foundationstereo from NGC. This script dynamically finds the latest compatible version based on the specified major and minor versions and extracts the assets to the ISAAC_ROS_WS directory. ```bash NGC_ORG="nvidia" NGC_TEAM="isaac" PACKAGE_NAME="isaac_ros_foundationstereo" NGC_RESOURCE="isaac_ros_foundationstereo_assets" NGC_FILENAME="quickstart.tar.gz" MAJOR_VERSION=4 MINOR_VERSION=4 VERSION_REQ_URL="https://catalog.ngc.nvidia.com/api/resources/versions?orgName=$NGC_ORG&teamName=$NGC_TEAM&name=$NGC_RESOURCE&isPublic=true&pageNumber=0&pageSize=100&sortOrder=CREATED_DATE_DESC" AVAILABLE_VERSIONS=$(curl -s \ -H "Accept: application/json" "$VERSION_REQ_URL") LATEST_VERSION_ID=$(echo $AVAILABLE_VERSIONS | jq -r \ ".recipeVersions[] \ | .versionId as $v \ | $v | select(test("^\\d+\\.\\d+\\.\\d+$")) \ | split(".") | {major: .[0]|tonumber, minor: .[1]|tonumber, patch: .[2]|tonumber} \ | select(.major == $MAJOR_VERSION and .minor <= $MINOR_VERSION) \ | $v \ " | sort -V | tail -n 1 ) if [ -z "$LATEST_VERSION_ID" ]; then echo "No corresponding version found for Isaac ROS $MAJOR_VERSION.$MINOR_VERSION" echo "Found versions:" echo $AVAILABLE_VERSIONS | jq -r '.recipeVersions[].versionId' else mkdir -p ${ISAAC_ROS_WS}/isaac_ros_assets && \ FILE_REQ_URL="https://api.ngc.nvidia.com/v2/resources/$NGC_ORG/$NGC_TEAM/$NGC_RESOURCE/\versions/$LATEST_VERSION_ID/files/$NGC_FILENAME" && \ curl -LO --request GET "${FILE_REQ_URL}" && \ tar -xf ${NGC_FILENAME} -C ${ISAAC_ROS_WS}/isaac_ros_assets && \ rm ${NGC_FILENAME} fi ``` -------------------------------- ### Install Cyclone DDS Source: https://nvidia-isaac-ros.github.io/reference_workflows/isaac_for_manipulation/tutorials/isaac_sim/tutorial_isaac_sim_pick_and_place.html Install the Cyclone DDS Real-Time Publish-Subscribe (RTPS) Dynamic Distribution Edge (DDS) implementation. This is a one-time setup. ```bash sudo apt-get install -y ros-jazzy-rmw-cyclonedds-cpp ``` -------------------------------- ### Install RViz2 Source: https://nvidia-isaac-ros.github.io/concepts/fiducials/apriltag/tutorial_usb_cam.html Install the RViz2 visualization tool and source the ROS 2 Jazzy setup script. This is needed to visualize the AprilTag detection results. ```bash sudo apt-get install -y ros-jazzy-rviz2 source /opt/ros/jazzy/setup.bash ``` -------------------------------- ### Install RealSense Dependencies Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_image_pipeline/isaac_ros_stereo_image_proc/index.html Installs necessary ROS packages for RealSense camera integration and stereo image processing. Ensure RealSense setup is complete before running. ```bash sudo apt-get update ``` ```bash sudo apt-get install -y ros-jazzy-isaac-ros-examples ros-jazzy-isaac-ros-realsense ros-jazzy-isaac-ros-depth-image-proc ros-jazzy-isaac-ros-image-proc ``` -------------------------------- ### Install Dependencies and Build zed_wrapper (Virtual Env/Bare Metal) Source: https://nvidia-isaac-ros.github.io/getting_started/sensors/zed_setup.html Install ROS dependencies for zed_wrapper and build the package for Virtual Environment or Bare Metal setups. ```bash cd ${ISAAC_ROS_WS} && \ sudo apt update && \ rosdep update && rosdep install --from-paths src/zed-ros2-wrapper --ignore-src -r -y && \ colcon build --symlink-install --packages-up-to zed_wrapper ``` -------------------------------- ### Launch ZED X Stereo Example Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_image_pipeline/isaac_ros_stereo_image_proc/index.html Launches the Isaac ROS example for ZED X series cameras. Use 'zedx_quickstart_interface_specs.json' for camera configuration. ```bash ros2 launch isaac_ros_examples isaac_ros_examples.launch.py \ launch_fragments:=zed_stereo_rect,disparity,disparity_to_depth,point_cloud_xyz \ interface_specs_file:=${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_stereo_image_proc/zedx_quickstart_interface_specs.json ``` -------------------------------- ### Install ZED Camera Dependencies Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_image_pipeline/isaac_ros_stereo_image_proc/index.html Installs required ROS packages for ZED camera integration, depth image processing, and stereo image processing. Ensure ZED setup is complete. ```bash sudo apt-get update ``` ```bash sudo apt-get install -y ros-jazzy-isaac-ros-examples ros-jazzy-isaac-ros-depth-image-proc ros-jazzy-isaac-ros-image-proc ros-jazzy-isaac-ros-zed ``` -------------------------------- ### Launch Isaac Sim Example with Sensor Configuration Source: https://nvidia-isaac-ros.github.io/concepts/scene_reconstruction/nvblox/tutorials/tutorial_isaac_sim.html Launch the Nvblox example with options to enable 3D lidar and specify the number of cameras. ```bash ros2 launch nvblox_examples_bringup isaac_sim_example.launch.py \ lidar:=<"lidar"> num_cameras:=<"num_cameras"> ``` -------------------------------- ### Launch Nvblox Isaac Sim Example Source: https://nvidia-isaac-ros.github.io/concepts/scene_reconstruction/nvblox/tutorials/tutorial_isaac_sim.html Launch the dynamic scene reconstruction example using ROS 2. This command starts the Nvblox ROS node with dynamic mode enabled. ```bash ros2 launch nvblox_examples_bringup isaac_sim_example.launch.py \ mode:=dynamic ``` -------------------------------- ### Install ZED and Image Processing Dependencies Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_image_segmentation/isaac_ros_unet/index.html Install the required dependencies for using ZED cameras with Isaac ROS image processing and U-Net segmentation. Ensure ZED camera setup is complete. ```bash sudo apt-get update ``` ```bash sudo apt-get install -y ros-jazzy-isaac-ros-examples ros-jazzy-isaac-ros-image-proc ros-jazzy-isaac-ros-zed ``` -------------------------------- ### Build and Source Workspace Source: https://nvidia-isaac-ros.github.io/getting_started/sensors/camera_calibration.html Build the workspace with the newly cloned package and source the setup file to activate the environment. ```bash cd /workspaces/isaac_ros-dev && \ colcon build --symlink-install && \ source install/setup.bash ``` -------------------------------- ### Install Prebuilt H264 Encoder Package Source: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_compression/isaac_ros_h264_encoder/index.html Updates the apt package list and installs the prebuilt Debian package for the Isaac ROS H264 Encoder. This is a quick way to get the package if building from source is not required. ```bash sudo apt-get update ``` ```bash sudo apt-get install -y ros-jazzy-isaac-ros-h264-encoder ```