Open leahcornelius opened 1 year ago
Hey,
The kinect2 only support 30hz while sending images. https://github.com/code-iai/iai_kinect2/issues/357
As for the gap between Protonect and ROS2 packages, I tested on my PC:
using Protonect depth processing: ~180hz color processing: ~130hz
using kinect2_ros2: depth processing: ~890hz (with cuda) color processing: ~130hz both publish rate is limited at 30hz.
so on my PC there is barely no performance loss in term of processing rate. I am not sure how you connect your machines, maybe try to use ethernet and make sure you use USB3.0. Lacking GUI/Viewer could also be a potential problem because ROS2 takes time to deserialize the message. https://discourse.ros.org/t/ros2-speed/20162/3
Using protonect i get processing rates of 100hz (60hz if cpu mode) and smooth output. Using this wrapper the reported depth processing rate is 0.3hz (but two lines above is the lines from libfreekinect "open gl depth packet processor ~44hz" so something odd there). I imagine the performance over network will be poor even if I add compression (I might try a LAN between laptop and PC using ethernet) but this makes me think the main latency is something to do with ROS?
Not sure if you have any pointers or experience as to what is causing this difference between protonect and this wrapper? I assumed performance would be at worst the same if not marginally better due to the lack of a GUI/viewer adding overhead?