ROS2 Wrapper Publish SDK Stream


My project requires the use of the ROS2 wrapper. In addition, I’d like to take advantage of the local video streaming (link) feature to allow the use of the SDK on the same machine that the wrapper is running on, such as custom bounding box pose detection.

I didn’t see any way to configure the wrapper to publish the SDK stream in the yaml configs. Will I have to implement this myself?

Hi @solace22
this feature will be added to the next release of the ZED ROS2 Wrapper compatible with the ZED SDK v4.1 which will be released in the next few days. Stay tuned.

@Myzhar thank you. will the v4.1 release also support streaming the ZED SDK on a Jetson Orin Nano? I really need this feature, but the SDK only supports hardware encoding which the platform does not have.

I only need a way to use both the ROS2 wrapper and the SDK side by side on the Orin Nano (so I can do custom bounding box detection).

Unfortunately, the Orin Nano cannot stream due to a hardware limitation. It is the only Jetson module without a hardware encoder.

@Myzhar thank you. how would you suggest that I run custom bounding box detection alongside the ROS2 wrapper then? Will this functionality be built into the wrapper?

Can you add more information? Why do you need local streaming for this task?

@Myzhar I ended up not utilizing local streaming and edited the ros2 wrapper to incorporate custom bounding box object detection (since the task required was urgent). However, I noticed that async is not supported for custom boxes through the sdk, and therefore it heavily impacts the framerate for the /odom and /pose topics. Will async be supported in v4.1?

Asynchronous mode is no longer an option in the Object Detection and Body Tracking modules.
In any case, you can design your custom detector pipeline to run the detection in a parallel thread and ingest the bounding boxes as soon as the inference has been completed.