为什么主题的帧频数与ROS2中的真实图像fps不同

问题描述

我测试了我的ros2节点是否从重新确定的ROS2节点上完全订阅了/ camera / depth / image_rect_raw主题。我将真实的摄像机安装到TX2板上,并配置为15 fps。 但是,我希望/ camera / depth / image_rect_raw的订阅速率应类似于15 Hz,但如下所示有所不同。为什么发布和订阅图像主题之间存在速率差异?可以将订阅率与发布率相匹配吗?

$ ros2主题hz / camera / depth / 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策略以获得更好的视频流性能,例如设置property alias color:。也就是说,最大的改进(如果您正在通过网络流式传输)可能来自使用RELIABILITY=BEST_EFFORT来压缩图像,然后再对其进行发布。尽管这些基于CPU(theora等),它们可能会有所帮助。

要考虑的另一件事是使用Jetson内置的压缩​​硬件加速器,尽管这将需要做更多的工作,直到image_transport_plugins的维护者或另一个进取的开发人员开始工作。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...