当有几个节点订阅同一个视频主题时,我得到了一个延迟。在
我使用的是近似时间同步器,从不同的相机收集几张图像,然后一次发布。虽然相机之间的定时可能是个问题,但不是这里,当我只有一个节点订阅时没有延迟。在
camtop_sub = message_filters.Subscriber('cam1/usb_cam1/image_raw', Image)
camfront_sub = message_filters.Subscriber('cam2/usb_cam1/image_raw', Image)
ts_log = message_filters.ApproximateTimeSynchronizer([cam1_sub, cam2_sub], 10, 1)
ts_log.registerCallback(self.log_callback)
我的项目的结构方式,我需要能够有多个节点检索最新的图像文件。在
有什么建议可以毫不拖延地完成这项工作?现在大约500米。在
我注意到其他人建议通过中的buff\u size参数来增加队列的缓冲区大小rospy订户类,但是近似TimeSynchronizer没有此参数
我认为是带宽问题。您可以尝试合并使用相同图像的节点。或者将图像处理代码作为一个库或类,并在本地处理图像,在那里捕获图像并仅发布结果,而不是图像。在
我不常用ROS,但这是我的选择。在
你能指定你用的是哪台照相机吗?可能是相机驱动程序的一些实现问题?有没有可能只有一个订阅服务器接口/缓存/管理来自设备的图像馈送,而不是让其他需要实际图像馈送的节点订阅该节点?基本上是一个酒吧/广播公司。在
我参与的一个项目是prem IoT摄像头视频分析。通常相机驱动程序和操作系统内核不能很好地处理广播。通常有一个缓存/广播组件在驱动程序之外实现,就像我的例子中的Wowza媒体流媒体。对于您的使用,您可以实现一些简单的流缓冲区,并使其成为安全的并发访问。在
相关问题 更多 >
编程相关推荐