
Jetson Isaac ROSNVIDIA 官方机器人开发栈1. Isaac ROS 概述Isaac ROS 是 NVIDIA 基于 ROS2 的机器人开发栈专门为 Jetson 优化Isaac ROS 核心模块 ├── 视觉 SLAMVisual SLAM │ ├── cuVSLAMGPU 加速视觉里程计 │ └── 支持单目/双目/RGB-D 相机 ├── 导航Navigation │ ├── nvblox3D 占用地图 │ ├── Nav2 集成 │ └── DNN 视觉导航 ├── 感知Perception │ ├── DNN 推理TensorRT │ ├── 深度估计 │ ├── 立体视觉 │ └── 语义分割 ├── 机械臂Manipulation │ ├── 关节控制 │ ├── 路径规划 │ └── 抓取检测 └── 基础设施 ├── Isaac ROS Dev Dockers ├── Nova Carter 仿真 └── 评测工具2. 安装 Isaac ROS# 创建工作空间mkdir-p~/isaac_ros_ws/srccd~/isaac_ros_ws/src# 克隆 Isaac ROS 仓库gitclone https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_common.gitgitclone https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_visual_slam.gitgitclone https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_nvblox.gitgitclone https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_dnn_inference.gitgitclone https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_depth_estimation.git# 安装依赖cd~/isaac_ros_ws rosdepinstall-i-r--from-paths src--rosdistrohumble-y# 编译colcon build --symlink-installsourceinstall/setup.bash3. 视觉 SLAMcuVSLAM# launch/visual_slam.launch.pyfromlaunchimportLaunchDescriptionfromlaunch_ros.actionsimportNodedefgenerate_launch_description():returnLaunchDescription([# CSI 摄像头Node(packageisaac_ros_argus_camera,executableisaac_ros_argus_camera_mono,namecamera,parameters[{device:0,width:1280,height:720,frame_rate:30.0,}]),# cuVSLAMNode(packageisaac_ros_visual_slam,executablevisual_slam_node,namevisual_slam,parameters[{enable_rectified_pose:True,enable_debug_mode:False,enable_slam_visualization:True,enable_landmarks_view:True,enable_observations_view:True,rectified_images:True,camera_fps:30,fix_imu_to_camera:True,enable_imu:False,verbosity:1,}],remappings[(visual_slam/image_0,camera/image_raw),(visual_slam/camera_info_0,camera/camera_info),]),# RVizNode(packagerviz2,executablerviz2,namerviz2,arguments[-d,config/slam.rviz],),])4. nvblox 3D 地图# launch/nvblox.launch.pyfromlaunchimportLaunchDescriptionfromlaunch_ros.actionsimportNodedefgenerate_launch_description():returnLaunchDescription([# RGB-D 相机Node(packagerealsense2_camera,executablerealsense2_camera_node,namecamera,parameters[{depth_module.depth_profile:640x480/30,rgb_camera.color_profile:640x480/30,align_depth.enable:True,}]),# nvbloxNode(packagenvblox_ros,executablenvblox_node,namenvblox,parameters[{global_frame:map,voxel_size:0.05,use_color:True,use_depth:True,use_esdf:True,mesh_update_rate_hz:10.0,max_depth:10.0,}],remappings[(depth/image,/camera/depth/image_rect_raw),(depth/camera_info,/camera/depth/camera_info),(color/image,/camera/color/image_raw),]),])5. DNN 视觉感知# launch/perception.launch.pyfromlaunchimportLaunchDescriptionfromlaunch_ros.actionsimportNodedefgenerate_launch_description():returnLaunchDescription([# TensorRT 推理Node(packageisaac_ros_tensor_rt,executabletensor_rt_node,namedetector,parameters[{model_file_path:/app/models/yolov8s.onnx,engine_file_path:/app/models/yolov8s.engine,input_tensor_names:[images],output_tensor_names:[output0],force_engine_update:False,tensor_mean:[0.0,0.0,0.0],tensor_std:[255.0,255.0,255.0],}]),# 深度估计Node(packageisaac_ros_depth_estimation,executableews_depth_estimator_node,namedepth_estimator,parameters[{model_file_path:/app/models/depth_anything_v2.onnx,engine_file_path:/app/models/depth_anything_v2.engine,}]),])6. Isaac ROS Dev Docker# 使用 Docker 开发推荐cd~/isaac_ros_ws/src/isaac_ros_common ./scripts/run_dev.sh# Docker 内已预装# - ROS2 Humble# - CUDA / cuDNN / TensorRT# - Isaac ROS 所有包7. 性能基准Isaac ROS 性能Orin NX 16GB ┌─────────────────┬──────────┬──────────┐ │ 模块 │ 分辨率 │ FPS │ ├─────────────────┼──────────┼──────────┤ │ cuVSLAM │ 1280x720 │ 30 │ │ nvblox │ 640x480 │ 10 │ │ DNN 推理 │ 640x640 │ 60 │ │ 深度估计 │ 640x480 │ 30 │ │ 完整感知栈 │ 640x480 │ 15-20 │ └─────────────────┴──────────┴──────────┘总结模块功能Isaac ROS 包视觉 SLAM定位建图isaac_ros_visual_slam3D 地图占用地图isaac_ros_nvbloxDNN 推理目标检测isaac_ros_tensor_rt深度估计单目深度isaac_ros_depth_estimation导航路径规划Nav2 nvblox核心要点GPU 加速cuVSLAM、nvblox 都是 GPU 优化的Docker 开发推荐使用 Isaac ROS Dev DockerNav2 集成与 ROS2 导航栈无缝集成模块化按需选择模块不必全部安装