【发布时间】:2013-06-12 13:29:51
【问题描述】:
我正在使用 ROS 节点(C++ 代码)执行一些图像处理,读取来自模拟器中不同视觉传感器的图像。 我有一个大问题,到目前为止还没有解决方案......
假设我的节点处于活动状态,并且正在对从主题“A”获取的图像执行一些操作;在某个时刻(所以在运行时)我需要取消订阅这个主题“A”并订阅另一个主题“B”(这个主题“B”的名称被传达给另一个订阅者的节点)从另一个视觉传感器读取图像:我想这样做只是更改主题名称(例如使用字符串变量)并使用与主题“A”相同的回调。
困难如下:
我无法读取所有图像并选择我需要的图像:传感器太多,无法处理这样的数据流,此外,该系统根本无法扩展。
我需要在一个“生存”足够长的范围内声明这个新订阅者,以便从主题中读取(我认为,这就是订阅者在主范围中定义的原因,在while) 但同时,在一个范围内,我可以更新主题(所以是一种循环,而不是在 while 之前的部分,只执行一次)。
请帮帮我...我真的不知道该怎么做
【问题讨论】:
标签: c++ ros subscriber