Very low IMU rate using zed-ros2-wrapper with two ZEDX-ONEGS in the stereo setting from the ZED_Media_Server

Hi Sterolab folks,

I have successfully set up a stereo camera from two ZEDX-Ones, which enables a virtual camera while running the zed_media_server_cli.

However, when I started the ROS2 ZED wrapper to grasp data from the media server, I got both the camera images and IMU readings at nearly 15 Hz, while the images are expected at 30 Hz and the IMU at 200 Hz.

Is there something wrong with my implementation, or are there still bugs or limitations behind the virtual camera?

PS: Can you also confirm if the IMU of the virtual stereo cam aligns with the IMU of the left cam?

Thanks!

Hi @hz658832

Please share the configuration of your node by copying and pasting the full log here.

Hi Walter @Myzhar,

thanks for the reply.

I am using the ZED SDK v5.1.2 with the newest zed ros2 wrapper on an Nvidia Orin DevKit with a ZED link duo. The OS has been patched as 5.15.148-rt-tegra.

The virtual cam config:

{"102053403":{"FPS":30,"HDR":0,"Height":1200,"IMU":true,"Left":303174452,"Port":30000,"Right":307040696,"Width":1920}}

Params related to the IMU:

sensors:
            publish_imu_tf: true # [overwritten by launch file options] enable/disable the IMU TF broadcasting
            sensors_image_sync: false # Synchronize Sensors messages with latest published video/depth message
            sensors_pub_rate: 200. # frequency of publishing of sensors data. MAX: 400. - MIN: grab rate
            publish_imu: true # Advertise the IMU topic that is published only if a node subscribes to it
            publish_imu_raw: true # Advertise the raw IMU topic that is published only if a node subscribes to it
            publish_cam_imu_transf: true # Advertise the CAMERA-IMU transformation topic that is published only if a node subscribes to it
            publish_mag: true # Advertise the magnetometer topic that is published only if a node subscribes to it
            publish_baro: true # Advertise the barometer topic that is published only if a node subscribes to it
            publish_temp: true # Advertise the temperature topics that are published only if a node subscribes to them

While running the ros2 node, I got (I deleted some logs for topics and services):

[component_container_isolated-2] [INFO] [1768058945.448976669] [zed.zed_node]:       ZED Camera Component 
[component_container_isolated-2] [INFO] [1768058945.448987453] [zed.zed_node]: ================================
[component_container_isolated-2] [INFO] [1768058945.448997310] [zed.zed_node]:  * namespace: /zed
[component_container_isolated-2] [INFO] [1768058945.449006686] [zed.zed_node]:  * node name: zed_node
[component_container_isolated-2] [INFO] [1768058945.449012894] [zed.zed_node]:  * IPC: enabled
[component_container_isolated-2] [INFO] [1768058945.449018751] [zed.zed_node]: ================================
[component_container_isolated-2] [INFO] [1768058945.499247347] [zed.zed_node]: === DEBUG parameters ===
[component_container_isolated-2] [INFO] [1768058945.499638594] [zed.zed_node]:  * SDK Verbose: 1
[component_container_isolated-2] [INFO] [1768058945.499783912] [zed.zed_node]:  * Use Pub Timestamps: FALSE
[component_container_isolated-2] [INFO] [1768058945.499893293] [zed.zed_node]:  * SDK Verbose File: 
[component_container_isolated-2] [INFO] [1768058945.499971888] [zed.zed_node]:  * Debug Common: FALSE
[component_container_isolated-2] [INFO] [1768058945.500042291] [zed.zed_node]:  * Debug Simulation: FALSE
[component_container_isolated-2] [INFO] [1768058945.500101269] [zed.zed_node]:  * Debug Video/Depth: FALSE
[component_container_isolated-2] [INFO] [1768058945.500165112] [zed.zed_node]:  * Debug Control settings: FALSE
[component_container_isolated-2] [INFO] [1768058945.500219258] [zed.zed_node]:  * Debug Point Cloud: FALSE
[component_container_isolated-2] [INFO] [1768058945.500282333] [zed.zed_node]:  * Debug TF: FALSE
[component_container_isolated-2] [INFO] [1768058945.500402113] [zed.zed_node]:  * Debug Positional Tracking: FALSE
[component_container_isolated-2] [INFO] [1768058945.500475972] [zed.zed_node]:  * Debug GNSS: FALSE
[component_container_isolated-2] [INFO] [1768058945.500599401] [zed.zed_node]:  * Debug sensors: FALSE
[component_container_isolated-2] [INFO] [1768058945.500663628] [zed.zed_node]:  * Debug Mapping: FALSE
[component_container_isolated-2] [INFO] [1768058945.500714478] [zed.zed_node]:  * Debug Object Detection: FALSE
[component_container_isolated-2] [INFO] [1768058945.500770224] [zed.zed_node]:  * Debug Body Tracking: FALSE
[component_container_isolated-2] [INFO] [1768058945.500831827] [zed.zed_node]:  * Debug Streaming: FALSE
[component_container_isolated-2] [INFO] [1768058945.500895061] [zed.zed_node]:  * Debug ROI: FALSE
[component_container_isolated-2] [INFO] [1768058945.501019226] [zed.zed_node]:  * Debug Nitros: FALSE
[component_container_isolated-2] [INFO] [1768058945.501089181] [zed.zed_node]:  * Debug Advanced: FALSE
[component_container_isolated-2] [INFO] [1768058945.501127391] [zed.zed_node]: === TOPIC selection parameters ===
[component_container_isolated-2] [INFO] [1768058945.501195106] [zed.zed_node]:  * Publish Status: TRUE
[component_container_isolated-2] [INFO] [1768058945.501258180] [zed.zed_node]:  * Image format: BGRA 32-bit
[component_container_isolated-2] [INFO] [1768058945.501333383] [zed.zed_node]:  * Publish Left/Right images: TRUE
[component_container_isolated-2] [INFO] [1768058945.501395786] [zed.zed_node]:  * Publish Raw images: FALSE
[component_container_isolated-2] [INFO] [1768058945.501453452] [zed.zed_node]:  * Publish Gray images: TRUE
[component_container_isolated-2] [INFO] [1768058945.501528751] [zed.zed_node]:  * Publish RGB image: TRUE
[component_container_isolated-2] [INFO] [1768058945.501591762] [zed.zed_node]:  * Publish Stereo image: FALSE
[component_container_isolated-2] [INFO] [1768058945.501655028] [zed.zed_node]:  * Publish ROI Mask image: FALSE
[component_container_isolated-2] [INFO] [1768058945.501772217] [zed.zed_node]:  * Publish Depth Map: TRUE
[component_container_isolated-2] [INFO] [1768058945.501844956] [zed.zed_node]:  * Publish Depth Info: FALSE
[component_container_isolated-2] [INFO] [1768058945.501903614] [zed.zed_node]:  * Publish Point Cloud: FALSE
[component_container_isolated-2] [INFO] [1768058945.501977345] [zed.zed_node]:  * Publish Depth Confidence: FALSE
[component_container_isolated-2] [INFO] [1768058945.502038564] [zed.zed_node]:  * Publish Disparity: FALSE
[component_container_isolated-2] [INFO] [1768058945.502108487] [zed.zed_node]:  * Publish IMU: TRUE
[component_container_isolated-2] [INFO] [1768058945.502196490] [zed.zed_node]:  * Publish IMU Raw: TRUE
[component_container_isolated-2] [INFO] [1768058945.502283534] [zed.zed_node]:  * Publish LeftCam/IMU Transf.: TRUE
[component_container_isolated-2] [INFO] [1768058945.502382610] [zed.zed_node]:  * Publish Magnetometer: TRUE
[component_container_isolated-2] [INFO] [1768058945.502457525] [zed.zed_node]:  * Publish Barometer: TRUE
[component_container_isolated-2] [INFO] [1768058945.502519639] [zed.zed_node]:  * Publish Temperature: TRUE
[component_container_isolated-2] [INFO] [1768058945.502602235] [zed.zed_node]:  * Publish Odometry/Pose: TRUE
[component_container_isolated-2] [INFO] [1768058945.502678430] [zed.zed_node]:  * Publish Pose with Covariance: FALSE
[component_container_isolated-2] [INFO] [1768058945.502818083] [zed.zed_node]:  * Publish Camera Path: FALSE
[component_container_isolated-2] [INFO] [1768058945.502901511] [zed.zed_node]:  * Publish Detection Plane: FALSE
[component_container_isolated-2] [INFO] [1768058945.503102255] [zed.zed_node]: === SVO INPUT parameters ===
[component_container_isolated-2] [INFO] [1768058945.503202867] [zed.zed_node]: === LOCAL STREAMING parameters ===
[component_container_isolated-2] [INFO] [1768058945.503342201] [zed.zed_node]:  * Local stream input: 127.0.0.1:30000
[component_container_isolated-2] [INFO] [1768058945.503358841] [zed.zed_node]: === GENERAL parameters ===
[component_container_isolated-2] [INFO] [1768058945.503471134] [zed.zed_node]:  + Playing a network stream from a Virtual ZED-X camera model.
[component_container_isolated-2] [INFO] [1768058945.503491199] [zed.zed_node]:  * Camera model: virtual - Virtual ZED-X
[component_container_isolated-2] [INFO] [1768058945.503556737] [zed.zed_node]:  * Camera name: zed
[component_container_isolated-2] [INFO] [1768058945.503627428] [zed.zed_node]:  * Virtual Camera SNs: [303174452, 307040696]
[component_container_isolated-2] [INFO] [1768058945.503739369] [zed.zed_node]:  * Virtual Camera IDs: []
[component_container_isolated-2] [INFO] [1768058945.503818220] [zed.zed_node]:  * Camera timeout [sec]: 5
[component_container_isolated-2] [INFO] [1768058945.503889807] [zed.zed_node]:  * Camera reconnection temptatives: 5
[component_container_isolated-2] [INFO] [1768058945.503977138] [zed.zed_node]:  * Camera framerate: 30
[component_container_isolated-2] [INFO] [1768058945.504057270] [zed.zed_node]:  * GPU ID: -1
[component_container_isolated-2] [INFO] [1768058945.504128280] [zed.zed_node]:  * Asynchronous image retrieval: FALSE
[component_container_isolated-2] [INFO] [1768058945.504202683] [zed.zed_node]:  * Image Validity Check: 1
[component_container_isolated-2] [INFO] [1768058945.504295295] [zed.zed_node]:  * Camera resolution: HD1200
[component_container_isolated-2] [INFO] [1768058945.504371490] [zed.zed_node]:  * Publishing resolution: NATIVE
[component_container_isolated-2] [INFO] [1768058945.504436261] [zed.zed_node]:  * OpenCV custom calibration: 
[component_container_isolated-2] [INFO] [1768058945.504491111] [zed.zed_node]:  * Camera self calibration: TRUE
[component_container_isolated-2] [INFO] [1768058945.504565738] [zed.zed_node]:  * Camera flip: FALSE
[component_container_isolated-2] [INFO] [1768058945.504686127] [zed.zed_node]:  * Publish framerate [Hz]:  30
[component_container_isolated-2] [INFO] [1768058945.504739089] [zed.zed_node]: === VIDEO parameters ===
[component_container_isolated-2] [INFO] [1768058945.504841333] [zed.zed_node]:  * Saturation: 4 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.504911960] [zed.zed_node]:  * Sharpness: 4 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.504969595] [zed.zed_node]:  * Gamma: 8 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.505023261] [zed.zed_node]:  * Auto Exposure/Gain: TRUE [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.505093792] [zed.zed_node]:  * Exposure: 80 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.505167011] [zed.zed_node]:  * Gain: 80 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.505245350] [zed.zed_node]:  * Auto White Balance: TRUE [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.505314249] [zed.zed_node]:  * White Balance Temperature: 42 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.505387468] [zed.zed_node]:  * ZED X Exposure time: 16000 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.505447182] [zed.zed_node]:  * ZED X Auto Exp. time range min: 28 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.505517297] [zed.zed_node]:  * ZED X Auto Exp. time range max: 30000 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.505583123] [zed.zed_node]:  * ZED X Exposure comp.: 50 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.505676599] [zed.zed_node]:  * ZED X Analog Gain: 1255 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.505770363] [zed.zed_node]:  * ZED X Auto Analog Gain range min: 1000 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.505832574] [zed.zed_node]:  * ZED X Auto Analog Gain range max: 16000 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.505912737] [zed.zed_node]:  * ZED X Digital Gain: 1 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.505977027] [zed.zed_node]:  * ZED X Auto Digital Gain range min: 1 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.506036998] [zed.zed_node]:  * ZED X Auto Digital Gain range max: 256 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.506098984] [zed.zed_node]:  * ZED X Auto Digital Gain range max: 50 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.506117161] [zed.zed_node]: === DEPTH parameters ===
[component_container_isolated-2] [INFO] [1768058945.506238478] [zed.zed_node]:  * Depth mode: NEURAL LIGHT [4]
[component_container_isolated-2] [INFO] [1768058945.506314545] [zed.zed_node]:  * Min depth [m]: 2
[component_container_isolated-2] [INFO] [1768058945.506378004] [zed.zed_node]:  * Max depth [m]: 100
[component_container_isolated-2] [INFO] [1768058945.506451895] [zed.zed_node]:  * Depth Stabilization: 30
[component_container_isolated-2] [INFO] [1768058945.506531610] [zed.zed_node]:  * OpenNI mode (16bit depth): FALSE
[component_container_isolated-2] [INFO] [1768058945.506599261] [zed.zed_node]:  * Point cloud rate [Hz]: 10
[component_container_isolated-2] [INFO] [1768058945.506651199] [zed.zed_node]:  * Point cloud resolution: COMPACT
[component_container_isolated-2] [INFO] [1768058945.506707009] [zed.zed_node]:  * Depth Confidence: 95 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.506771140] [zed.zed_node]:  * Depth Texture Confidence: 100 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.506872968] [zed.zed_node]:  * Remove saturated areas: TRUE [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.506891464] [zed.zed_node]: === GNSS FUSION parameters ===
[component_container_isolated-2] [INFO] [1768058945.506944811] [zed.zed_node]:  * GNSS fusion enabled: FALSE
[component_container_isolated-2] [INFO] [1768058945.506964107] [zed.zed_node]: === POSITIONAL TRACKING parameters ===
[component_container_isolated-2] [INFO] [1768058945.507025070] [zed.zed_node]:  * Positional tracking enabled: TRUE
[component_container_isolated-2] [INFO] [1768058945.507105265] [zed.zed_node]:  * Positional tracking mode: GEN 3
[component_container_isolated-2] [INFO] [1768058945.507182996] [zed.zed_node]:  * Map frame id: map
[component_container_isolated-2] [INFO] [1768058945.507245719] [zed.zed_node]:  * Odometry frame id: odom
[component_container_isolated-2] [INFO] [1768058945.507306201] [zed.zed_node]:  * Broadcast Odometry TF: FALSE
[component_container_isolated-2] [INFO] [1768058945.507377628] [zed.zed_node]:  * Depth minimum range: 0
[component_container_isolated-2] [INFO] [1768058945.507500097] [zed.zed_node]:  * TF timestamp offset: 0 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.507614214] [zed.zed_node]:  * Path publishing rate: 2 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.507741803] [zed.zed_node]:  * Path history lenght: -1
[component_container_isolated-2] [INFO] [1768058945.507849839] [zed.zed_node]:  * Initial pose: [0,0,0,0,0,0,]
[component_container_isolated-2] [INFO] [1768058945.507923698] [zed.zed_node]:  * Area Memory: TRUE
[component_container_isolated-2] [INFO] [1768058945.507990837] [zed.zed_node]:  * Area Memory File: 
[component_container_isolated-2] [INFO] [1768058945.508072792] [zed.zed_node]:  * Enable Localization Only: FALSE
[component_container_isolated-2] [INFO] [1768058945.508150204] [zed.zed_node]:  * Save Area Memory on closing: FALSE
[component_container_isolated-2] [INFO] [1768058945.508225247] [zed.zed_node]:  * Camera is static: FALSE
[component_container_isolated-2] [INFO] [1768058945.508292801] [zed.zed_node]:  * Gravity as origin: TRUE
[component_container_isolated-2] [INFO] [1768058945.508369572] [zed.zed_node]:  * IMU Fusion: TRUE
[component_container_isolated-2] [INFO] [1768058945.508470536] [zed.zed_node]:  * Floor Alignment: FALSE
[component_container_isolated-2] [INFO] [1768058945.508563852] [zed.zed_node]:  * Reset Odometry with Loop Closure: TRUE
[component_container_isolated-2] [INFO] [1768058945.508634511] [zed.zed_node]:  * Publish 3D Landmarks: FALSE
[component_container_isolated-2] [INFO] [1768058945.508727795] [zed.zed_node]:  * Publish Landmark Skip Frame: 
[component_container_isolated-2] [INFO] [1768058945.508815894] [zed.zed_node]:  * 2D mode: FALSE
[component_container_isolated-2] [INFO] [1768058945.508889977] [zed.zed_node]:  * Reset pose with SVO loop: TRUE
[component_container_isolated-2] [INFO] [1768058945.508907834] [zed.zed_node]: === Region of Interest parameters ===
[component_container_isolated-2] [INFO] [1768058945.508973021] [zed.zed_node]:  * Automatic ROI generation: FALSE
[component_container_isolated-2] [INFO] [1768058945.509056576] [zed.zed_node]:  * Manual ROI polygon: []
[component_container_isolated-2] [INFO] [1768058945.509075777] [zed.zed_node]: === SENSORS STACK parameters ===
[component_container_isolated-2] [INFO] [1768058945.509161957] [zed.zed_node]:  * Broadcast IMU TF [not for ZED]: TRUE
[component_container_isolated-2] [INFO] [1768058945.509241096] [zed.zed_node]:  * Sensors Camera Sync: FALSE
[component_container_isolated-2] [INFO] [1768058945.509327947] [zed.zed_node]:  * Sensors publishing rate [Hz]: 200 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.509346252] [zed.zed_node]: === Spatial Mapping parameters ===
[component_container_isolated-2] [INFO] [1768058945.509429647] [zed.zed_node]:  * Spatial Mapping Enabled: FALSE
[component_container_isolated-2] [INFO] [1768058945.509509043] [zed.zed_node]:  * Spatial Mapping resolution [m]: 0.05
[component_container_isolated-2] [INFO] [1768058945.509595158] [zed.zed_node]:  * 3D Max Mapping range [m]: 5
[component_container_isolated-2] [INFO] [1768058945.509705051] [zed.zed_node]:  * Map publishing rate [Hz]: 1 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.509802046] [zed.zed_node]:  * Clicked point topic: /clicked_point
[component_container_isolated-2] [INFO] [1768058945.509897474] [zed.zed_node]:  * Plane Det. Max Dist. Thresh.: 0.15
[component_container_isolated-2] [INFO] [1768058945.509990502] [zed.zed_node]:  * Plane Det. Normals Sim. Thresh.: 15
[component_container_isolated-2] [INFO] [1768058945.510036488] [zed.zed_node]: === OBJECT DETECTION parameters ===
[component_container_isolated-2] [INFO] [1768058945.510127564] [zed.zed_node]:  * Object Det. enabled: FALSE
[component_container_isolated-2] [INFO] [1768058945.510231856] [zed.zed_node]:  * Object Det. allow reduced precision: FALSE
[component_container_isolated-2] [INFO] [1768058945.510345332] [zed.zed_node]:  * Object Det. maximum range [m]: 20
[component_container_isolated-2] [INFO] [1768058945.510423640] [zed.zed_node]:  * Object Det. prediction timeout [sec]: 2
[component_container_isolated-2] [INFO] [1768058945.511137237] [zed.zed_node]:  * Object Det. tracking: TRUE
[component_container_isolated-2] [INFO] [1768058945.511277786] [zed.zed_node]:  * Object Filtering mode: NMS3D
[component_container_isolated-2] [INFO] [1768058945.511395935] [zed.zed_node]:  * Object Det. model: MULTI CLASS BOX FAST
[component_container_isolated-2] [INFO] [1768058945.511497923] [zed.zed_node]:  * MultiClassBox people: TRUE [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.511633161] [zed.zed_node]:  * MultiClassBox vehicles: TRUE [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.511736205] [zed.zed_node]:  * MultiClassBox bags: TRUE [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.511813456] [zed.zed_node]:  * MultiClassBox animals: TRUE [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.511895443] [zed.zed_node]:  * MultiClassBox electronics: TRUE [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.511985367] [zed.zed_node]:  * MultiClassBox fruits and vegetables: TRUE [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.512062458] [zed.zed_node]:  * MultiClassBox sport-related objects: TRUE [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.512157150] [zed.zed_node]:  * MultiClassBox people confidence: 65 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.512234593] [zed.zed_node]:  * MultiClassBox vehicles confidence: 60 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.512334629] [zed.zed_node]:  * MultiClassBox bags confidence: 40 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.512428713] [zed.zed_node]:  * MultiClassBox animals confidence: 40 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.512545390] [zed.zed_node]:  * MultiClassBox electronics confidence: 45 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.512635025] [zed.zed_node]:  * MultiClassBox fruits and vegetables confidence: 50 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.512734517] [zed.zed_node]:  * MultiClassBox sport-related objects confidence: 30 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.512777815] [zed.zed_node]: === Body Track. parameters ===
[component_container_isolated-2] [INFO] [1768058945.512859770] [zed.zed_node]:  * Body Track. enabled: FALSE
[component_container_isolated-2] [INFO] [1768058945.512951326] [zed.zed_node]:  * Body Track. model: HUMAN BODY MEDIUM
[component_container_isolated-2] [INFO] [1768058945.513052194] [zed.zed_node]:  * Body Track. format: BODY 38
[component_container_isolated-2] [INFO] [1768058945.513142406] [zed.zed_node]:  * Body Track. allow reduced precision: FALSE
[component_container_isolated-2] [INFO] [1768058945.513243338] [zed.zed_node]:  * Body Track. maximum range [m]: 15
[component_container_isolated-2] [INFO] [1768058945.513330381] [zed.zed_node]:  * Body Track. KP selection: FULL
[component_container_isolated-2] [INFO] [1768058945.513425041] [zed.zed_node]:  * Body fitting: FALSE
[component_container_isolated-2] [INFO] [1768058945.513503701] [zed.zed_node]:  * Body joints tracking: TRUE
[component_container_isolated-2] [INFO] [1768058945.513600504] [zed.zed_node]:  * Body Track. prediction timeout [sec]: 0.5
[component_container_isolated-2] [INFO] [1768058945.513694684] [zed.zed_node]:  * Body Track. confidence thresh.: 50 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.513779456] [zed.zed_node]:  * Body Track. min. KP thresh.: 5 [DYNAMIC]
[component_container_isolated-2] [INFO] [1768058945.513800545] [zed.zed_node]: === STREAMING SERVER parameters ===
[component_container_isolated-2] [INFO] [1768058945.513876612] [zed.zed_node]:  * Streaming Server enabled: FALSE
[component_container_isolated-2] [INFO] [1768058945.513946726] [zed.zed_node]:  * Stream codec: H264
[component_container_isolated-2] [INFO] [1768058945.514030026] [zed.zed_node]:  * Stream port: 34000
[component_container_isolated-2] [INFO] [1768058945.514098477] [zed.zed_node]:  * Stream bitrate: 12500
[component_container_isolated-2] [INFO] [1768058945.514193616] [zed.zed_node]:  * Stream GOP size: -1
[component_container_isolated-2] [INFO] [1768058945.514291732] [zed.zed_node]:  * Stream Chunk size: 16084
[component_container_isolated-2] [INFO] [1768058945.514367736] [zed.zed_node]:  * Adaptive bitrate: FALSE
[component_container_isolated-2] [INFO] [1768058945.514450619] [zed.zed_node]:  * Target frame rate:0
[component_container_isolated-2] [INFO] [1768058945.514469244] [zed.zed_node]: === ADVANCED parameters ===
[component_container_isolated-2] [INFO] [1768058945.514548639] [zed.zed_node]:  * Thread sched. policy: SCHED_BATCH
[component_container_isolated-2] [INFO] [1768058945.514642691] [zed.zed_node]: === STARTING CAMERA ===
[component_container_isolated-2] [INFO] [1768058945.522841647] [zed.zed_node]: ZED SDK Version: 5.1.2 - Build 108212_12a35ea7
[component_container_isolated-2] [INFO] [1768058945.527837626] [zed.zed_node]: === LOCAL STREAMING OPENING ===
[component_container_isolated-2] [2026-01-10 16:29:06 UTC][ZED][INFO] Logging level INFO
[component_container_isolated-2] [ZED][Streaming] Switching to SHM-boost backend input
[component_container_isolated-2] [Streaming] Warning : receiving port 30000 is not available (already used)... switching to port 30002. Retrying...
[component_container_isolated-2] [Streaming] No backward compatibility required.
[component_container_isolated-2] NvMMLiteOpen : Block : BlockType = 279 
[component_container_isolated-2] NvMMLiteBlockCreate : Block : BlockType = 279 
[component_container_isolated-2] Opening in BLOCKING MODE 
[component_container_isolated-2] [2026-01-10 16:29:06 UTC][ZED][INFO] [Init]  Serial Number: S/N 102053403
[component_container_isolated-2] [2026-01-10 16:29:06 UTC][ZED][INFO] [Init]  Depth mode: NEURAL LIGHT
[component_container_isolated-2] [INFO] [1768058946.500956783] [zed.zed_node]:  * ZED SDK running on GPU #0
[component_container_isolated-2] [INFO] [1768058946.501095701] [zed.zed_node]:  * Camera Model  -> Virtual ZED-X
[component_container_isolated-2] [INFO] [1768058946.501118454] [zed.zed_node]:  * Serial Number -> 102053403
[component_container_isolated-2] [INFO] [1768058946.501438082] [zed.zed_node]:  * Focal Length	-> 0 mm
[component_container_isolated-2] [INFO] [1768058946.501519238] [zed.zed_node]:  * Input	-> STREAM
[component_container_isolated-2] [INFO] [1768058946.501543527] [zed.zed_node]:  * Camera FW Version  -> 1523
[component_container_isolated-2] [INFO] [1768058946.501555559] [zed.zed_node]:  * Sensors FW Version -> 0
[component_container_isolated-2] [INFO] [1768058946.501570568] [zed.zed_node]:  * Camera grab size -> 1920x1200
[component_container_isolated-2] [INFO] [1768058946.501580520] [zed.zed_node]:  * Color/Depth publishing size -> 1920x1200
[component_container_isolated-2] [INFO] [1768058946.501590025] [zed.zed_node]:  * Point Cloud publishing size -> 448x256
[component_container_isolated-2] [INFO] [1768058946.501628138] [zed.zed_node]: === TF FRAMES ===
[component_container_isolated-2] [INFO] [1768058946.501642347] [zed.zed_node]:  * Map			-> map
[component_container_isolated-2] [INFO] [1768058946.501651275] [zed.zed_node]:  * Odometry		-> odom
[component_container_isolated-2] [INFO] [1768058946.501659051] [zed.zed_node]:  * Base		-> zed_camera_link
[component_container_isolated-2] [INFO] [1768058946.501666668] [zed.zed_node]:  * Camera		-> zed_camera_center
[component_container_isolated-2] [INFO] [1768058946.501702317] [zed.zed_node]:  * Left		-> zed_left_camera_frame
[component_container_isolated-2] [INFO] [1768058946.501715822] [zed.zed_node]:  * Left Optical	-> zed_left_camera_frame_optical
[component_container_isolated-2] [INFO] [1768058946.501724494] [zed.zed_node]:  * Right		-> zed_right_camera_frame
[component_container_isolated-2] [INFO] [1768058946.501731982] [zed.zed_node]:  * Right Optical	-> zed_right_camera_frame_optical
[component_container_isolated-2] [INFO] [1768058946.501739023] [zed.zed_node]:  * Depth		-> zed_left_camera_frame
[component_container_isolated-2] [INFO] [1768058946.501746575] [zed.zed_node]:  * Depth Optical	-> zed_left_camera_frame_optical
[component_container_isolated-2] [INFO] [1768058946.501753935] [zed.zed_node]:  * Point Cloud		-> zed_left_camera_frame
[component_container_isolated-2] [INFO] [1768058946.501760560] [zed.zed_node]:  * IMU			-> zed_imu_link
[component_container_isolated-2] [INFO] [1768058946.501818226] [zed.zed_node]: baseline: 
[component_container_isolated-2]  0.223778
[component_container_isolated-2] [INFO] [1768058946.501892149] [zed.zed_node]: baseline: 
[component_container_isolated-2]  0.223778
[component_container_isolated-2] [INFO] [1768058946.501922198] [zed.zed_node]: 
[component_container_isolated-2] [INFO] [1768058946.678883792] [zed.zed_node]: Camera-IMU Translation: 
[component_container_isolated-2]  0 0 0
[component_container_isolated-2] [INFO] [1768058946.678937522] [zed.zed_node]: Camera-IMU Rotation:
[component_container_isolated-2] FFFF562F9658
[component_container_isolated-2] 1.000000 0.000000 0.000000
[component_container_isolated-2] 0.000000 1.000000 0.000000
[component_container_isolated-2] 0.000000 0.000000 1.000000
[component_container_isolated-2] 
[component_container_isolated-2] [INFO] [1768058946.678959027] [zed.zed_node]: ===Subscribers ===
[component_container_isolated-2] [INFO] [1768058946.680051711] [zed.zed_node]:  * Plane detection: '/clicked_point'
[component_container_isolated-2] [INFO] [1768058946.810846412] [zed.zed_node]: === Starting Positional Tracking ===
[component_container_isolated-2] [INFO] [1768058946.810915535] [zed.zed_node]:  * Waiting for valid static transformations...
[component_container_isolated-2] [INFO] [1768058946.811046932] [zed.zed_node]:  Static transform ref. CMOS Sensor to Base [zed_left_camera_frame -> zed_camera_link]
[component_container_isolated-2] [INFO] [1768058946.811091446] [zed.zed_node]:   * Translation: {0.000,0.000,-0.015}
[component_container_isolated-2] [INFO] [1768058946.811109399] [zed.zed_node]:   * Rotation: {0.000,-0.000,0.000}
[component_container_isolated-2] [INFO] [1768058946.811140152] [zed.zed_node]:  Static transform ref. CMOS Sensor to Camera Center [zed_left_camera_frame -> zed_camera_center]
[component_container_isolated-2] [INFO] [1768058946.811153465] [zed.zed_node]:   * Translation: {0.000,0.000,0.000}
[component_container_isolated-2] [INFO] [1768058946.811164889] [zed.zed_node]:   * Rotation: {0.000,-0.000,0.000}
[component_container_isolated-2] [INFO] [1768058946.811187226] [zed.zed_node]:  Static transform Camera Center to Base [zed_camera_center -> zed_camera_link]
[component_container_isolated-2] [INFO] [1768058946.811197627] [zed.zed_node]:   * Translation: {0.000,0.000,-0.015}
[component_container_isolated-2] [INFO] [1768058946.811206715] [zed.zed_node]:   * Rotation: {0.000,-0.000,0.000}
[component_container_isolated-2] [INFO] [1768058946.812272134] [zed.zed_node]: Initial ZED left camera pose (ZED pos. tracking): 
[component_container_isolated-2] [INFO] [1768058946.812307751] [zed.zed_node]:  * T: [0,0,0.0155]
[component_container_isolated-2] [INFO] [1768058946.812327464] [zed.zed_node]:  * Q: [0,0,0,1]

If I set sensors.sensors_image_sync: false, I see that the sensor publishing thread has been started, but no IMU messages are published. When I set sensors.sensors_image_sync: true, the IMU messages are published at the same frequency as the images.

It seems that the sensor stream is not running, because

Camera FW Version β†’ 1523
Sensors FW Version β†’ 0

Maybe there is a bug in your SDK?

Thank you for your support!

Cheers,

Haoming

If you use sensors.sensors_image_sync: true the IMU publishing is synchronized with image data publishing so the behavior that you described is expected.

This is not normally expected, and I suppose it’s a problem caused by the ZED Media Server.

We have a new documentation under review that will explain how to use the new Virtual Stereo API with the ZED ROS2 Wrapper. This will allow you to ignore the ZED Media Server and configure the Wrapper to use two ZED X One cameras as a Stereo device natively.

Normally you must simply use this launch command:

ros2 launch zed_wrapper zed_camera.launch.py camera_model:=virtual camera_ids:=[<id_left>,<id_right>]

or

ros2 launch zed_wrapper zed_camera.launch.py camera_model:=virtual serial_numbers:=[<sn_left>,<sn_right>]

A calibration of the system using this GitHub repository will be required:

1 Like

Hi Walter @Myzhar,

I did not know this setup until I saw your reply, many thanks for the clarification.

I can confirm that everything now works perfectly without running the ZED_Media_Server.

I think the ZED community would greatly benefit if this behavior and setup could be documented more explicitly, especially to avoid unnecessary configuration steps. Updating the docs as soon as possible would be very helpful for new users.

Cheers,

Haoming

The full documentation will be deployed very soon.