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