Cannot run Lidar and multiple realsense

Hello,

Looking at file nvblox_examples/nvblox_examples_bringup/launch/perception/nvblox.launch.py one can see that is not possible to run nvblox with a Lidar and realsense cameras (event a single one!)

  1. Why is that so?
  2. What are the limitations?
  3. Is any future update gonna solve this issue?

I am working with a spot robot (5 onboard cameras) + a Lidar mounted on it and would like to use nvblox.

Any help would be greatly appreciated!

Hello @JeanLesur,

The example of LiDAR + cameras is currently only wired in the Isaac Sim path (get_isaac_sim_remappings(..., lidar) adds the /front_3d_lidar/point_cloud remap when lidar=True).

Please treat nvblox.launch.py as an example, not a hard limit. You can create a custom launch file in your own package that:

  • Imports ComposableNode and constructs nvblox::NvbloxNode exactly like add_nvblox()

  • Includes these parameters:

    • config/nvblox/nvblox_base.yaml

    • A mode specialization (nvblox_dynamics.yaml or your own)

    • A camera+LiDAR specialization YAML you define for Spot (extrinsics, sensor settings){'num_cameras': 5}, {'use_lidar': True}

For reference, the implementation of Nvblox with LiDAR can be found in the OS1 example.

thank for the answer, i will look into it!

I could however see that 5 cameras are not supported:

[INFO] [launch]: All log files can be found below /root/.ros/log/2026-02-05-09-31-19-527106-jean-asus-m16-5517
[INFO] [launch]: Default logging verbosity is set to INFO
Using container type: component_container_isolated, with arguments: ['--ros-args', '--log-level', <launch.substitutions.launch_configuration.LaunchConfiguration object at 0x7d4797298830>]
[INFO] [launch.user]: Adding nodes [ /nvblox_node ] to container nvblox_container.
[INFO] [component_container_isolated-1]: process started with pid [5533]
[INFO] [rviz2-2]: process started with pid [5534]
[rviz2-2] QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
[component_container_isolated-1] [INFO] [1770283880.022482952] [nvblox_container]: Load Library: /opt/ros/jazzy/lib/libnvblox_ros_lib.so
[component_container_isolated-1] [INFO] [1770283880.093201780] [nvblox_container]: Found class: rclcpp_components::NodeFactoryTemplate<nvblox::NvbloxNode>
[component_container_isolated-1] [INFO] [1770283880.093302202] [nvblox_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<nvblox::NvbloxNode>
[component_container_isolated-1] WARNING: Logging before InitGoogleLogging() is written to STDERR
[component_container_isolated-1] F20260205 09:31:20.305202  5533 nvblox_node.cpp:79] Check failed: params_.num_cameras <= kMaxNumCameras (5 vs. 4) 
[component_container_isolated-1] *** Check failure stack trace: ***
[ERROR] [component_container_isolated-1]: process has died [pid 5533, exit code -6, cmd '/opt/ros/jazzy/lib/rclcpp_components/component_container_isolated --ros-args --log-level info --ros-args -r __node:=nvblox_container -p use_sim_time:=True'].
[INFO] [launch]: process[component_container_isolated-1] was required: shutting down launched system
[INFO] [rviz2-2]: sending signal 'SIGINT' to process[rviz2-2]