The Hammerhead Development Kit (HDK) offers several communication options enabling integration into diverse applications. Here, we outline three primary methods of interaction: ROS2, ZeroMQ, and the ZeroMQ/ROS2 Bridge. ZeroMQ is more efficient for data transmission, and we suggest using the ZeroMQ/ROS2 Bridge if you wish to connect to ROS2, as it optimizes bandwidth and data transfer.
Please refer below for the detailed documentation:
https://docs.nodarsensor.net/zmq/index.html
Please refer below for the detailed documentation:
https://docs.nodarsensor.net/ros2/index.html
If you want to use ROS2, but are experiencing high network latency or low throughput, then you should consider using the ZeroMQ/ROS2 Bridge. This layer acts a middleman, enabling images and point clouds to be sent over the network using ZeroMQ, and then reconstructed for ROS2 on the local machine. This circumvents possible network issues introduced by the ROS2 middleware.
An example demonstrating how to interact with the HDK using this mechanism is provided here for your convenience:
https://github.com/nodarhub/hammerhead_zmq_to_ros2_bridge
Note that if you want to use the bridge, then the communicationlib field in masterconfig.ini should be set to zmq.