为什么ROS2中主题的帧速率与真实感图像的fps不同



我测试了我的ros2节点是否完全订阅了来自reassense ros2节点的/cameram/depth/image_rect_raw主题。我在TX2板上安装了一个realsense相机,并配置为每秒15帧。然而,我预计订阅/相机/深度/image_rect_raw的速率应该类似于15赫兹,但不同之处如下。为什么发布图片主题和订阅图片主题的比率有差异?是否可以将订阅率与发布率相匹配?

$ros2主题hz/相机/深度/image_rect_raw

平均速率:10.798

min: 0.040s max: 0.144s std dev: 0.03146s window: 13

平均速率:8.610

min: 0.040s max: 0.357s std dev: 0.06849s window: 22

平均费率:8.085

min: 0.040s max: 0.357s std dev: 0.07445s window: 30

平均速率:9.498

min: 0.015s max: 0.357s std dev: 0.06742s window: 45

平均费率:9.552

min: 0.015s max: 0.415s std dev: 0.07555s window: 55

平均费率:9.265

min: 0.015s max: 0.415s std dev: 0.07543s window: 63

平均费率:8.510

min: 0.015s max: 0.415s std dev: 0.08619s window: 68

平均费率:7.940

min: 0.015s max: 0.480s std dev: 0.09757s window: 73

平均费率:7.539

min: 0.015s max: 0.480s std dev: 0.10456s window: 77

平均费率:7.750

min: 0.015s max: 0.480s std dev: 0.09972s window: 87

差异可能是由于将图像放入网络的传输延迟。此延迟的重要性取决于您的订户是在Jetson上运行,还是在同一物理网络上的单独设备上运行。无论如何,我建议更改默认QoS策略以获得更好的视频流性能,例如设置RELIABILITY=BEST_EFFORT。也就是说,最大的改进(如果你在网络上进行流媒体传输(可能来自于在图像发布之前使用image_transport_plugins来压缩图像。尽管这些都是基于CPU的(理论等(,但它们可能会有所帮助。

另一件需要考虑的事情是使用Jetson内置的压缩硬件加速器,尽管在image_transport_plugins的维护人员或另一位有进取心的开发人员完成这项工作之前,这将需要更多的工作。

最新更新