独立的ROS包

时间:2014-11-14 23:11:27

标签: c++ ros

假设我有一个带有一些消息的ROS元数据包A和带有其他消息的其他元数据包B.是否可以使用msgs机制与A进行通信,而不会相互依赖?我的目标是让用户克隆元数据包A并完全独立于程序包B构建它,并对称地克隆程序包B并独立于程序包A构建它,并且启动特定节点允许它们与某些复杂消息进行通信。它甚至可能吗?

丹尼尔

1 个答案:

答案 0 :(得分:1)

据我所知,这是不可能的。

假设包A使用包B中定义的消息类型。为了使用此消息类型,您需要包含生成的头文件,这只有在您将B添加为A的依赖关系时才可以。 / p>

我能想到两种解决方案(我不知道它们是否可行):

  1. 您可以将A和B的所有消息定义移动到单独的包C(仅包含消息,仅此而已)。然后A和B依赖于这个新的包C,但彼此之间没有依赖关系。

  2. 另一种解决方案可能是仅使用已由ros定义的标准消息类型。如果您发送的数据符合其中一种标准消息类型,这当然只是一种可行的解决方案。