Zed-ros2-wrapper - Nitros support

Hi @Myzhar and co

My current set up on jetpack 6.2.1 feeding raw images using master branch of Zed wrapper is severely bottle necked by cudaStreamSynchronize and GPU malloc/copy/free etc. All this to say that the nitros support branch is very intriguing to me.

Currently, I only want/need raw image transport. I think rgb is encoded in BGR8 only, and grayscale would be a bonus but I think conversion can be handled by the ISAAC stack.

I see from the docs that there is currently some missing features (depth data memory sharing) but if I just want to get the raw image topics working, is this the right avenue at this time? Is there a way I can help configure/test this with you? If there is something in need of patching, I am happy to help start a PR.

Regards,
Sebastian

Hi @Sebastian
The “NITROS” branch of the ZED ROS2 Wrapper is working correctly.
We have not yet merged it because we must complete the documentation and the examples.

You can find a working example with BGRA8 to BGR8 conversion in the ZED ROS2 Examples repository, in the branch add_nitros_examples:

The launch file shows a trick to automatically configure the data type converter node:

1 Like

Amazing thank you! Incredible work, very excited to be using your product and tech driving it.
Will chime in when things are working.
Regards, Sebastian

Please do not hesitate to send feedback while testing it.
They will be appreciated.

1 Like

Is there a specific version of isaac_ros/isaac_ros_common/isaac_ros_nitros that is compatible with the nitros branch of zed-ros2-wrapper?

I wonder if the negotiated_interfaces::msg::NegotiatedTopicsInfo_ is not matching or something.

[component_container_mt-1] [INFO] [1753803182.090859227] [zed_left.zed_left_node]: Negotiating
[component_container_mt-1] [INFO] [1753803182.090896665] [zed_left.zed_left_node]: Could not negotiate
[component_container_mt-1] [INFO] [1753803182.090986326] [zed_left.zed_left_node]: Negotiating
[component_container_mt-1] [INFO] [1753803182.091021077] [zed_left.zed_left_node]: Could not negotiate
[component_container_mt-1] [INFO] [1753803182.097483183] [zed_right.zed_right_node]: Negotiating
[component_container_mt-1] [INFO] [1753803182.097581292] [zed_right.zed_right_node]: Could not negotiate
[component_container_mt-1] [INFO] [1753803182.097970526] [zed_right.zed_right_node]: Negotiating
[component_container_mt-1] [INFO] [1753803182.098044827] [zed_right.zed_right_node]: Could not negotiate

As a result, zero-copy breaks, and the default image copy transport is used leading to excess cpu usage.

Thank you

We use the latest APT version of Isaac ROS.
More information will be shared with the oncoming documentation

1 Like

Okay understood. I beleive this method installs everything natively to the jetson, not using the docker containers. Thank you, excited for the documentation.

Exactly, we faced a few issues by using them.