Mapping and Localization with Isaac Perceptor with a RealSense d435i

Hi,

Context

I am following this : Tutorial: Mapping and Localization with Isaac Perceptor

My goal is to create a map from a rosbag with this command :

ros2 run isaac_mapping_ros create_map_offline.py --sensor_data_bag=<PATH_TO_BAG> --base_output_folder=<PATH_TO_OUTPUT_FOLDER>

I work with a RealSense d435i that is not mounted on a robot. It is just plugged to my computer through USB.

I assume I have installed all the dependencies required to make it work. I have even checked with : Quickstart with a Pre-recorded Rosbag

Issue

When I use the command with a rosbag I saved I get :

/workspaces/isaac_ros-dev$ ros2 run isaac_mapping_ros create_map_offline.py --sensor_data_bag=/workspaces/isaac_ros-dev/test_bag --base_output_folder=/workspaces/isaac_ros-dev/test_bag_output
Storing all maps and logs in /workspaces/isaac_ros-dev/test_bag_output/2025-08-06_16-20-25_test_bag.
Bag Duration: 9 seconds, Map Creation Starts: 16:20:25, Estimated Completion: 16:23:32
Extract edex: Estimated completion at 16:21:12. Running...⏳
  I0806 16:20:25.940966 262101 data_converter_utils.cpp:842] No camera info topic to config mapping, try to infer it from bag topic name
  I0806 16:20:25.940966 262101 data_converter_utils.cpp:842] No camera info topic to config mapping, try to infer it from bag topic name
  I0806 16:20:25.941171 262101 data_converter_utils.cpp:714] Add camera_front_stereo_camera_left and camera_front_stereo_camera_right to a stereo pair
  I0806 16:20:25.940966 262101 data_converter_utils.cpp:842] No camera info topic to config mapping, try to infer it from bag topic name
  I0806 16:20:25.941171 262101 data_converter_utils.cpp:714] Add camera_front_stereo_camera_left and camera_front_stereo_camera_right to a stereo pair
  I0806 16:20:25.940966 262101 data_converter_utils.cpp:842] No camera info topic to config mapping, try to infer it from bag topic name
  I0806 16:20:25.941171 262101 data_converter_utils.cpp:714] Add camera_front_stereo_camera_left and camera_front_stereo_camera_right to a stereo pair
  I0806 16:20:25.940966 262101 data_converter_utils.cpp:842] No camera info topic to config mapping, try to infer it from bag topic name
  I0806 16:20:25.941171 262101 data_converter_utils.cpp:714] Add camera_front_stereo_camera_left and camera_front_stereo_camera_right to a stereo pair
  I0806 16:20:25.940966 262101 data_converter_utils.cpp:842] No camera info topic to config mapping, try to infer it from bag topic name
  I0806 16:20:25.941171 262101 data_converter_utils.cpp:714] Add camera_front_stereo_camera_left and camera_front_stereo_camera_right to a stereo pair
  I0806 16:20:25.940966 262101 data_converter_utils.cpp:842] No camera info topic to config mapping, try to infer it from bag topic name
  I0806 16:20:25.941171 262101 data_converter_utils.cpp:714] Add camera_front_stereo_camera_left and camera_front_stereo_camera_right to a stereo pair
  I0806 16:20:25.940966 262101 data_converter_utils.cpp:842] No camera info topic to config mapping, try to infer it from bag topic name
  I0806 16:20:25.941171 262101 data_converter_utils.cpp:714] Add camera_front_stereo_camera_left and camera_front_stereo_camera_right to a stereo pair
  I0806 16:20:25.941174 262101 data_converter_utils.cpp:717] Add camera info topic: /camera/front_stereo_camera/left/camera_info camera image topic: /camera/front_stereo_camera/left/ima  I0806 16:20:25.941171 262101 data_converter_utils.cpp:714] Add camera_front_stereo_camera_left and camera_front_stereo_camera_right to a stereo pair
  I0806 16:20:25.941174 262101 data_converter_utils.cpp:717] Add camera info topic: /camera/front_stereo_camera/left/camera_info camera image topic: /camera/front_stereo_camera/left/image_compressed
  I0806 16:20:25.941174 262101 data_converter_utils.cpp:717] Add camera info topic: /camera/front_stereo_camera/left/camera_info camera image topic: /camera/front_stereo_camera/left/image_compressed
  I0806 16:20:25.941175 262101 data_converter_utils.cpp:717] Add camera info topic: /camera/front_stereo_camera/right/camera_info camera image topic: /camera/front_stereo_camera/right/i  I0806 16:20:25.941175 262101 data_converter_utils.cpp:717] Add camera info topic: /camera/front_stereo_camera/right/camera_info camera image topic: /camera/front_stereo_camera/right/image_compressed
  I0806 16:20:26.072695 262101 rosbag_to_mapping_data.cpp:264] Not using any pose to select frames
  I0806 16:20:26.505429 262142 data_converter_utils.cpp:1102] For camera camera_front_stereo_camera_left: Write: 500 frames, decoded: 500 frames
Extract edex: Success ✅️ [1.23s]
Create cuVSLAM map: Success ✅️ [58.70s]
Optimize odometry pose with keyframe pose Running...⏳
  Minimizer                            0.000931
Optimize odometry pose with keyframe pose: Success ✅️ [0.39s]
Update frame metadata pose: Success ✅️ [0.46s]
Select map frames Running...⏳
  I0806 16:21:26.985641 262218 select_frames_meta.cpp:53] Loaded 1680 frames metadata
Select map frames: Success ✅️ [0.58s]
Copy map frames: Success ✅️ [0.12s]
Run ESS inference: Estimated completion at 16:22:27. Running...⏳
  Trying to launch ESS
  Trying to launch ESS
  [INFO] [launch]: All log files can be found below /home/admin/.ros/log/2025-08-06-16-21-27-805397-ptb-07008730.lyon.inria.fr-262325
  Trying to launch ESS
  [INFO] [launch]: All log files can be found below /home/admin/.ros/log/2025-08-06-16-21-27-805397-ptb-07008730.lyon.inria.fr-262325
  Trying to launch ESS
  [INFO] [launch]: All log files can be found below /home/admin/.ros/log/2025-08-06-16-21-27-805397-ptb-07008730.lyon.inria.fr-262325
  Trying to launch ESS
  [INFO] [launch]: All log files can be found below /home/admin/.ros/log/2025-08-06-16-21-27-805397-ptb-07008730.lyon.inria.fr-262325
  [INFO] [launch]: All log files can be found below /home/admin/.ros/log/2025-08-06-16-21-27-805397-ptb-07008730.lyon.inria.fr-262325
  [INFO] [launch]: Default logging verbosity is set to INFO
  [INFO] [launch]: Default logging verbosity is set to INFO
  [INFO] [component_container_mt-1]: process started with pid [262337]
  [INFO] [component_container_mt-1]: process started with pid [262337]
  [component_container_mt-1] [INFO] [1754490088.100621715] [disparity.disparity_container]: Load Library: /opt/ros/humble/lib/libess_disparity_node.so
  [component_container_mt-1] [INFO] [1754490088.100621715] [disparity.disparity_container]: Load Library: /opt/ros/humble/lib/libess_disparity_node.so
  [component_container_mt-1] [INFO] [1754490088.117891717] [disparity.disparity_container]: Found class: rclcpp_components::NodeFactoryTemplate<nvidia::isaac_ros::dnn_stereo_depth::ESSD  [component_container_mt-1] [INFO] [1754490088.117891717] [disparity.disparity_container]: Found class: rclcpp_components::NodeFactoryTemplate<nvidia::isaac_ros::dnn_stereo_depth::ESSDisparityNode>
  [component_container_mt-1] [INFO] [1754490088.117907304] [disparity.disparity_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<nvidia::isaac_ros::dnn_stereo_depth  [component_container_mt-1] [INFO] [1754490088.218886046] [disparity]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_ess.so
  [component_container_mt-1] [INFO] [1754490088.225138984] [disparity]: [NitrosNode] Loading graph to the optimizer
  [component_container_mt-1] [INFO] [1754490088.227980188] [disparity]: [NitrosNode] Running optimization
  [component_container_mt-1] [INFO] [1754490088.312746520] [disparity]: [NitrosNode] Obtaining graph IO group info from the optimizer
  [component_container_mt-1] [INFO] [1754490088.317052042] [disparity]: [NitrosNode] Starting negotiation...
  [INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/disparity' in container '/disparity/disparity_container'
  [component_container_mt-1] [INFO] [1754490089.317479465] [disparity]: [NitrosNode] Starting post negotiation setup
  [component_container_mt-1] [INFO] [1754490089.317526194] [disparity]: [NitrosNode] Getting data format negotiation results
  [component_container_mt-1] [INFO] [1754490089.317551178] [disparity]: [NitrosPublisher] Negotiation ended with no results
  [component_container_mt-1] [INFO] [1754490089.317558484] [disparity]: [NitrosPublisher] Use only the compatible publisher: topic_name="/disparity", data_format="nitros_disparity_image  [component_container_mt-1] [INFO] [1754490089.317558484] [disparity]: [NitrosPublisher] Use only the compatible publisher: topic_name="/disparity", data_format="nitros_disparity_image_32FC1"
  [component_container_mt-1] [INFO] [1754490089.317566239] [disparity]: [NitrosPublisher] Negotiation ended with no results
  [component_container_mt-1] [INFO] [1754490089.317572372] [disparity]: [NitrosPublisher] Use only the compatible publisher: topic_name="/camera_info", data_format="nitros_camera_info"
  [component_container_mt-1] [INFO] [1754490089.317572372] [disparity]: [NitrosPublisher] Use only the compatible publisher: topic_name="/camera_info", data_format="nitros_camera_info"
  [component_container_mt-1] [INFO] [1754490089.317585834] [disparity]: [NitrosSubscriber] Negotiation ended with no results
  [component_container_mt-1] [INFO] [1754490089.317585834] [disparity]: [NitrosSubscriber] Negotiation ended with no results
  [component_container_mt-1] [INFO] [1754490089.317592500] [disparity]: [NitrosSubscriber] Use the compatible subscriber: topic_name="/left/image_rect", data_format="nitros_image_rgb8"
  [component_container_mt-1] [INFO] [1754490089.317592500] [disparity]: [NitrosSubscriber] Use the compatible subscriber: topic_name="/left/image_rect", data_format="nitros_image_rgb8"
  [component_container_mt-1] [INFO] [1754490089.317600990] [disparity]: [NitrosSubscriber] Negotiation ended with no results
  [component_container_mt-1] [INFO] [1754490089.317600990] [disparity]: [NitrosSubscriber] Negotiation ended with no results
  [component_container_mt-1] [INFO] [1754490089.317607083] [disparity]: [NitrosSubscriber] Use the compatible subscriber: topic_name="/right/image_rect", data_format="nitros_image_rgb8"
  [component_container_mt-1] [INFO] [1754490089.317613024] [disparity]: [NitrosSubscriber] Negotiation ended with no results
  [component_container_mt-1] [INFO] [1754490089.317607083] [disparity]: [NitrosSubscriber] Use the compatible subscriber: topic_name="/right/image_rect", data_format="nitros_image_rgb8"
  [component_container_mt-1] [INFO] [1754490089.317613024] [disparity]: [NitrosSubscriber] Negotiation ended with no results
  [component_container_mt-1] [INFO] [1754490089.317618664] [disparity]: [NitrosSubscriber] Use the compatible subscriber: topic_name="/left/camera_info", data_format="nitros_camera_info  [component_container_mt-1] [INFO] [1754490089.317613024] [disparity]: [NitrosSubscriber] Negotiation ended with no results
  [component_container_mt-1] [INFO] [1754490089.317618664] [disparity]: [NitrosSubscriber] Use the compatible subscriber: topic_name="/left/camera_info", data_format="nitros_camera_info"
  [component_container_mt-1] [INFO] [1754490089.317646384] [disparity]: [NitrosSubscriber] Negotiation ended with no results
  [component_container_mt-1] [INFO] [1754490089.317618664] [disparity]: [NitrosSubscriber] Use the compatible subscriber: topic_name="/left/camera_info", data_format="nitros_camera_info"
  [component_container_mt-1] [INFO] [1754490089.317646384] [disparity]: [NitrosSubscriber] Negotiation ended with no results
  [component_container_mt-1] [INFO] [1754490089.317653859] [disparity]: [NitrosSubscriber] Use the compatible subscriber: topic_name="/right/camera_info", data_format="nitros_camera_inf  [component_container_mt-1] [INFO] [1754490089.317646384] [disparity]: [NitrosSubscriber] Negotiation ended with no results
  [component_container_mt-1] [INFO] [1754490089.317653859] [disparity]: [NitrosSubscriber] Use the compatible subscriber: topic_name="/right/camera_info", data_format="nitros_camera_info"
  [component_container_mt-1] [INFO] [1754490089.317653859] [disparity]: [NitrosSubscriber] Use the compatible subscriber: topic_name="/right/camera_info", data_format="nitros_camera_info"
  [component_container_mt-1] [INFO] [1754490089.317805040] [disparity]: [NitrosNode] Exporting the final graph based on the negotiation results
  [component_container_mt-1] [INFO] [1754490089.317805040] [disparity]: [NitrosNode] Exporting the final graph based on the negotiation results
  [component_container_mt-1] [INFO] [1754490089.492394257] [disparity]: [NitrosNode] Wrote the final top level YAML graph to "/tmp/isaac_ros_nitros/graphs/XLZDTBNAYC/XLZDTBNAYC.yaml"
  [component_container_mt-1] [INFO] [1754490089.492394257] [disparity]: [NitrosNode] Wrote the final top level YAML graph to "/tmp/isaac_ros_nitros/graphs/XLZDTBNAYC/XLZDTBNAYC.yaml"
  [component_container_mt-1] [INFO] [1754490089.492433364] [disparity]: [ESSDisparityNode] preLoadGraphCallback().
  [component_container_mt-1] [INFO] [1754490089.492433364] [disparity]: [ESSDisparityNode] preLoadGraphCallback().
  [component_container_mt-1] [INFO] [1754490089.492460890] [disparity]: [ESSDisparityNode] Setting tensorrt_plugin: isaac_ros_assets/models/dnn_stereo_disparity/dnn_stereo_disparity_v4.  [component_container_mt-1] [INFO] [1754490089.492460890] [disparity]: [ESSDisparityNode] Setting tensorrt_plugin: isaac_ros_assets/models/dnn_stereo_disparity/dnn_stereo_disparity_v4.1.0_onnx/plugins/x86_64/ess_plugins.so.
  [component_container_mt-1] [INFO] [1754490089.492463798] [disparity]: [NitrosNode] Loading application
Run ESS inference: Fail ❌ [2.60s]
Logs:
  Trying to launch ESS
  [INFO] [launch]: All log files can be found below /home/admin/.ros/log/2025-08-06-16-21-27-805397-ptb-07008730.lyon.inria.fr-262325
  [INFO] [launch]: Default logging verbosity is set to INFO
  [INFO] [component_container_mt-1]: process started with pid [262337]
  [component_container_mt-1] [INFO] [1754490088.100621715] [disparity.disparity_container]: Load Library: /opt/ros/humble/lib/libess_disparity_node.so
  [component_container_mt-1] [INFO] [1754490088.117891717] [disparity.disparity_container]: Found class: rclcpp_components::NodeFactoryTemplate<nvidia::isaac_ros::dnn_stereo_depth::ESSDisparityNode>
  [component_container_mt-1] [INFO] [1754490088.117907304] [disparity.disparity_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<nvidia::isaac_ros::dnn_stereo_depth::ESSDisparityNode>
  [component_container_mt-1] [INFO] [1754490088.200619154] [disparity]: [NitrosNode] Initializing NitrosNode
  [component_container_mt-1] [INFO] [1754490088.201100104] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/std/libgxf_std.so
  [component_container_mt-1] [INFO] [1754490088.201785986] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_gxf_helpers.so
  [component_container_mt-1] [INFO] [1754490088.203085788] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_sight.so
  [component_container_mt-1] [INFO] [1754490088.204547396] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_atlas.so
  [component_container_mt-1] 2025-08-06 16:21:28.208 WARN  external/com_nvidia_gxf/gxf/std/program.cpp@538: No GXF scheduler specified.
  [component_container_mt-1] [INFO] [1754490088.208585909] [disparity]: [NitrosNode] Starting NitrosNode
  [component_container_mt-1] [INFO] [1754490088.210225881] [disparity]: [NitrosNode] Loading extensions
  [component_container_mt-1] [INFO] [1754490088.210515934] [disparity]: [NitrosContext] Loading extension: gxf/lib/multimedia/libgxf_multimedia.so
  [component_container_mt-1] [INFO] [1754490088.210781791] [disparity]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_message_compositor.so
  [component_container_mt-1] [INFO] [1754490088.212138383] [disparity]: [NitrosContext] Loading extension: gxf/lib/cuda/libgxf_cuda.so
  [component_container_mt-1] [INFO] [1754490088.213272597] [disparity]: [NitrosContext] Loading extension: gxf/lib/serialization/libgxf_serialization.so
  [component_container_mt-1] [INFO] [1754490088.214811272] [disparity]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_video_buffer_utils.so
  [component_container_mt-1] [INFO] [1754490088.215353569] [disparity]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_messages.so
  [component_container_mt-1] [INFO] [1754490088.215722319] [disparity]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_tensorops.so
  [component_container_mt-1] [INFO] [1754490088.217417511] [disparity]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_sgm.so
  [component_container_mt-1] [INFO] [1754490088.217766423] [disparity]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_messages_throttler.so
  [component_container_mt-1] [INFO] [1754490088.218886046] [disparity]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_ess.so
  [component_container_mt-1] [INFO] [1754490088.225138984] [disparity]: [NitrosNode] Loading graph to the optimizer
  [component_container_mt-1] [INFO] [1754490088.227980188] [disparity]: [NitrosNode] Running optimization
  [component_container_mt-1] [INFO] [1754490088.312746520] [disparity]: [NitrosNode] Obtaining graph IO group info from the optimizer
  [component_container_mt-1] [INFO] [1754490088.317052042] [disparity]: [NitrosNode] Starting negotiation...
  [INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/disparity' in container '/disparity/disparity_container'
  [component_container_mt-1] [INFO] [1754490089.317479465] [disparity]: [NitrosNode] Starting post negotiation setup
  [component_container_mt-1] [INFO] [1754490089.317526194] [disparity]: [NitrosNode] Getting data format negotiation results
  [component_container_mt-1] [INFO] [1754490089.317551178] [disparity]: [NitrosPublisher] Negotiation ended with no results
  [component_container_mt-1] [INFO] [1754490089.317558484] [disparity]: [NitrosPublisher] Use only the compatible publisher: topic_name="/disparity", data_format="nitros_disparity_image_32FC1"
  [component_container_mt-1] [INFO] [1754490089.317566239] [disparity]: [NitrosPublisher] Negotiation ended with no results
  [component_container_mt-1] [INFO] [1754490089.317572372] [disparity]: [NitrosPublisher] Use only the compatible publisher: topic_name="/camera_info", data_format="nitros_camera_info"
  [component_container_mt-1] [INFO] [1754490089.317585834] [disparity]: [NitrosSubscriber] Negotiation ended with no results
  [component_container_mt-1] [INFO] [1754490089.317592500] [disparity]: [NitrosSubscriber] Use the compatible subscriber: topic_name="/left/image_rect", data_format="nitros_image_rgb8"
  [component_container_mt-1] [INFO] [1754490089.317600990] [disparity]: [NitrosSubscriber] Negotiation ended with no results
  [component_container_mt-1] [INFO] [1754490089.317607083] [disparity]: [NitrosSubscriber] Use the compatible subscriber: topic_name="/right/image_rect", data_format="nitros_image_rgb8"
  [component_container_mt-1] [INFO] [1754490089.317613024] [disparity]: [NitrosSubscriber] Negotiation ended with no results
  [component_container_mt-1] [INFO] [1754490089.317618664] [disparity]: [NitrosSubscriber] Use the compatible subscriber: topic_name="/left/camera_info", data_format="nitros_camera_info"
  [component_container_mt-1] [INFO] [1754490089.317646384] [disparity]: [NitrosSubscriber] Negotiation ended with no results
  [component_container_mt-1] [INFO] [1754490089.317653859] [disparity]: [NitrosSubscriber] Use the compatible subscriber: topic_name="/right/camera_info", data_format="nitros_camera_info"
  [component_container_mt-1] [INFO] [1754490089.317805040] [disparity]: [NitrosNode] Exporting the final graph based on the negotiation results
  [component_container_mt-1] [INFO] [1754490089.492394257] [disparity]: [NitrosNode] Wrote the final top level YAML graph to "/tmp/isaac_ros_nitros/graphs/XLZDTBNAYC/XLZDTBNAYC.yaml"
  [component_container_mt-1] [INFO] [1754490089.492433364] [disparity]: [ESSDisparityNode] preLoadGraphCallback().
  [component_container_mt-1] [INFO] [1754490089.492460890] [disparity]: [ESSDisparityNode] Setting tensorrt_plugin: isaac_ros_assets/models/dnn_stereo_disparity/dnn_stereo_disparity_v4.1.0_onnx/plugins/x86_64/ess_plugins.so.
  [component_container_mt-1] [INFO] [1754490089.492463798] [disparity]: [NitrosNode] Loading application
  [component_container_mt-1] [INFO] [1754490089.494865365] [disparity]: [ESSDisparityNode] Setting engine_file_path: isaac_ros_assets/models/dnn_stereo_disparity/dnn_stereo_disparity_v4.1.0_onnx/ess.engine.
  [component_container_mt-1] [INFO] [1754490089.494892643] [disparity]: [ESSDisparityNode] postLoadGraphCallback() with image [1200 x 1920]
  [component_container_mt-1] [INFO] [1754490089.494895692] [disparity]: [ESSDisparityNode] postLoadGraphCallback() block_size = 9216000.
  [component_container_mt-1] [INFO] [1754490089.494897828] [disparity]: [NitrosNode] Initializing and running GXF graph
  [component_container_mt-1] [INFO] [1754490089.571024747] [disparity]: [NitrosNode] Node was started
  ESS has fully initialized
  Processing number of keyframes: 0
  Traceback (most recent call last):
    File "/opt/ros/humble/lib/isaac_mapping_ros/run_ess_ros_offline.py", line 485, in <module>
      main()
    File "/opt/ros/humble/lib/isaac_mapping_ros/run_ess_ros_offline.py", line 481, in main
      runner.extract_data()
    File "/opt/ros/humble/lib/isaac_mapping_ros/run_ess_ros_offline.py", line 424, in extract_data
      raise ValueError("No keyframes found in the metadata file")
  ValueError: No keyframes found in the metadata file
  [ros2run]: Process exited with failure 1
  
Failed to run command 'ros2 run isaac_mapping_ros run_ess_ros_offline.py --image_dir=/workspaces/isaac_ros-dev/test_bag_output/2025-08-06_16-20-25_test_bag/map_frames/raw --output_dir=/workspaces/isaac_ros-dev/test_bag_output/2025-08-06_16-20-25_test_bag/map_frames/depth --frames_meta_file=/workspaces/isaac_ros-dev/test_bag_output/2025-08-06_16-20-25_test_bag/map_frames/raw/frames_meta.json'.
Traceback (most recent call last):
  File "/opt/ros/humble/lib/isaac_mapping_ros/create_map_offline.py", line 459, in <module>
    main()
  File "/opt/ros/humble/lib/isaac_mapping_ros/create_map_offline.py", line 181, in main
    run_depth_inference(map_frames_image_dir, map_frames_depth_dir, map_frames_meta_file,
  File "/opt/ros/humble/lib/isaac_mapping_ros/create_map_offline.py", line 367, in run_depth_inference
    subprocess_utils.run_command(
  File "/workspaces/isaac_ros-dev/build/isaac_common_py/isaac_common_py/subprocess_utils.py", line 168, in run_command
    raise subprocess.CalledProcessError(returncode=process.returncode, cmd=[command_str])
subprocess.CalledProcessError: Command '['ros2 run isaac_mapping_ros run_ess_ros_offline.py --image_dir=/workspaces/isaac_ros-dev/test_bag_output/2025-08-06_16-20-25_test_bag/map_frames/raw --output_dir=/workspaces/isaac_ros-dev/test_bag_output/2025-08-06_16-20-25_test_bag/map_frames/depth --frames_meta_file=/workspaces/isaac_ros-dev/test_bag_output/2025-08-06_16-20-25_test_bag/map_frames/raw/frames_meta.json']' returned non-zero exit status 1.
[ros2run]: Process exited with failure 1

So in my case, the mapping is not achieved…

Prerequisite

1- I launch the camera driver :

ros2 run realsense2_camera realsense2_camera_node \
  --ros-args \
  -p enable_infra1:=true \
  -p enable_infra2:=true \
  -p enable_color:=false \
  -p enable_depth:=false \
  -p depth_module.emitter_enabled:=0 \
  -p depth_module.profile:="640x360x90" \
  -p enable_gyro:=true \
  -p enable_accel:=true \
  -p gyro_fps:=200 \
  -p accel_fps:=200 \
  -p unite_imu_method:=2 \
  --remap /camera/infra1/camera_info:=/camera/front_stereo_camera/right/camera_info \
  --remap /camera/infra2/camera_info:=/camera/front_stereo_camera/left/camera_info \
  --remap /camera/infra1/image_rect_raw:=/camera/front_stereo_camera/right/image_compressed \
  --remap /camera/infra2/image_rect_raw:=/camera/front_stereo_camera/left/image_compressed \
  --remap __ns:=/camera \
  --remap __node:=camera

2- I publish a static tf base=>link :

ros2 run tf2_ros static_transform_publisher 0 0 0 0 0 0 base_link camera_link

3- I save the rosbag :

ros2 bag record --storage mcap -o test_bag \
/camera/accel/imu_info \
/camera/accel/metadata \
/camera/accel/sample \
/camera/color/camera_info \
/camera/color/image_raw \
/camera/color/image_compressed \
/camera/color/metadata \
/camera/extrinsics/depth_to_accel \
/camera/extrinsics/depth_to_color \
/camera/extrinsics/depth_to_depth \
/camera/extrinsics/depth_to_gyro \
/camera/extrinsics/depth_to_infra1 \
/camera/extrinsics/depth_to_infra2 \
/camera/gyro/imu_info \
/camera/gyro/metadata \
/camera/gyro/sample \
/camera/imu \
/camera/infra1/camera_info \
/camera/infra1/image_rect_raw \
/camera/infra1/image_compressed \
/camera/infra1/metadata \
/camera/infra2/camera_info \
/camera/infra2/image_rect_raw \
/camera/infra2/image_compressed \
/camera/infra2/metadata \
/parameter_events \
/rosout \
/camera/front_stereo_camera/right/camera_info \
/camera/front_stereo_camera/left/camera_info \
/camera/front_stereo_camera/right/image_compressed \
/camera/front_stereo_camera/left/image_compressed \
/tf_static \
/tf

Please note that some topics listed here were not published

4 - I start the mapping process

ros2 run isaac_mapping_ros create_map_offline.py --sensor_data_bag=/workspaces/isaac_ros-dev/test_bag --base_output_folder=/workspaces/isaac_ros-dev/test_bag_output

Observations

While tracking down my issue, I noticed that all the .tum files were full of poses like this :

1754490007.866327047 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000
1754490007.877454996 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000
1754490007.888581038 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000
1754490007.899707794 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000
1754490007.910835981 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000
1754490007.921962976 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000
1754490007.933089972 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000
1754490007.944217205 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000
1754490007.955343962 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000
1754490007.966470957 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000
1754490007.977597952 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000
1754490007.988725901 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000

I went up in the process and tested this command manually corresponding to what would normally be launched in create_map_offline.py :

ros2 run isaac_mapping_ros rosbag_to_mapping_data \
  --output_folder_path=/workspaces/isaac_ros-dev/test_bag_output/2025-08-06_16-20-25_test_bag/edex \
  --sensor_data_bag_file=/workspaces/isaac_ros-dev/test_bag \
  --min_inter_frame_distance=0.0 \
  --min_inter_frame_rotation_degrees=0.0 \
  --sample_sync_threshold_microseconds=100 \
  --feature_type=sift \
  --generate_edex=True \
  --image_extension=.jpg 

This is what I obtained :

ros2 run isaac_mapping_ros rosbag_to_mapping_data \
  --output_folder_path=/workspaces/isaac_ros-dev/test_bag_output/2025-08-06_16-20-25_test_bag/edex \
  --sensor_data_bag_file=/workspaces/isaac_ros-dev/test_bag \
  --min_inter_frame_distance=0.0 \
  --min_inter_frame_rotation_degrees=0.0 \
  --sample_sync_threshold_microseconds=100 \
  --feature_type=sift \
  --generate_edex=True \
  --image_extension=.jpg 
I0806 16:30:59.322954 262527 data_converter_utils.cpp:842] No camera info topic to config mapping, try to infer it from bag topic name
I0806 16:30:59.323172 262527 data_converter_utils.cpp:714] Add camera_front_stereo_camera_left and camera_front_stereo_camera_right to a stereo pair
I0806 16:30:59.323174 262527 data_converter_utils.cpp:717] Add camera info topic: /camera/front_stereo_camera/left/camera_info camera image topic: /camera/front_stereo_camera/left/image_compressed
I0806 16:30:59.323176 262527 data_converter_utils.cpp:717] Add camera info topic: /camera/front_stereo_camera/right/camera_info camera image topic: /camera/front_stereo_camera/right/image_compressed
I0806 16:30:59.456346 262527 rosbag_to_mapping_data.cpp:264] Not using any pose to select frames
I0806 16:30:59.894697 262567 data_converter_utils.cpp:1102] For camera camera_front_stereo_camera_left: Write: 500 frames, decoded: 500 frames
I0806 16:30:59.901713 262572 data_converter_utils.cpp:1102] For camera camera_front_stereo_camera_right: Write: 500 frames, decoded: 500 frames
I0806 16:31:00.192888 262527 data_converter_utils.cpp:1204] For camera camera_front_stereo_camera_left: got message 841, decoded: 841, total image written: 841
I0806 16:31:00.192898 262527 data_converter_utils.cpp:1204] For camera camera_front_stereo_camera_right: got message 840, decoded: 840, total image written: 840
W0806 16:31:00.193528 262527 rosbag_to_mapping_data.cpp:217] Input stereo pair: [camera_front_stereo_camera_left,camera_front_stereo_camera_right: has invalid transform:t(m): [0.000 0.000 0.000], quat(x,y,z,w): [0.000, 0.000, 0.000, 1.000]
I0806 16:31:00.233573 262527 rosbag_to_mapping_data.cpp:374] Converting edex files
W0806 16:31:00.234221 262527 keyframe_edex_utils.cc:109] Mismatch in number of cameras in frame and existing cameras: 1 vs 2 in sample id: 841
I0806 16:31:00.237920 262527 rosbag_to_mapping_data.cpp:387] frame_meta jsonl  saved: /workspaces/isaac_ros-dev/test_bag_output/2025-08-06_16-20-25_test_bag/edex/frame_metadata.jsonl
I0806 16:31:00.237941 262527 rosbag_to_mapping_data.cpp:394] stereo edex file saved: /workspaces/isaac_ros-dev/test_bag_output/2025-08-06_16-20-25_test_bag/edex/stereo.edex
==========================================================================
Profile Timers:
                ConvertImageToCvMat, average time used: 0.00946884 ms,       1681 event(s), total time used:  0.0159171 secs
                 DeserializeMessage, average time used:  0.0140144 ms,       1681 event(s), total time used:  0.0235582 secs
      ExtractCameraImagesFromRosbag, average time used:     736.94 ms,          1 event(s), total time used:    0.73694 secs
              ExtractCameraMetadata, average time used:    211.962 ms,          1 event(s), total time used:   0.211962 secs
                        ReadMessage, average time used: 0.000102432 ms,       5064 event(s), total time used: 0.000518718 secs
                               main, average time used:    993.805 ms,          1 event(s), total time used:   0.993805 secs
                            rectify, average time used:   0.327535 ms,       1681 event(s), total time used:   0.550587 secs
rosbag_converter::ExtractFromRosBag, average time used:    993.724 ms,          1 event(s), total time used:   0.993724 secs
       rosbag_converter::WriteImage, average time used:   0.504468 ms,       1681 event(s), total time used:    0.84801 secs
      rosbag_converter::cv::imwrite, average time used:    0.49851 ms,       1681 event(s), total time used:   0.837996 secs
==========================================================================

I am particulary suspicious about this warning :

W0806 15:52:51.355182 250606 rosbag_to_mapping_data.cpp:217] Input stereo pair: [camera_front_stereo_camera_left,camera_front_stereo_camera_right: has invalid transform:t(m): [0.000 0.000 0.000], quat(x,y,z,w): [0.000, 0.000, 0.000, 1.000]

I guess this is why later I end up with this log :

I0806 16:21:26.985641 262218 select_frames_meta.cpp:53] Loaded 1680 frames metadata
I0806 16:21:26.987048 262218 select_frames_meta.cpp:110] Write 0 frames metadata to /workspaces/isaac_ros-dev/test_bag_output/2025-08-06_16-20-25_test_bag/map_frames/raw/frames_meta.json

Conclusion

I am unsure about which step should be improved. What’s why I would appreciate some support on this case.

Thanks !