c++ - 独立的 ROS 包

标签 c++ ros

假设我有一个包含一些消息的 ROS 元数据包 A 和包含其他消息的其他元数据包 B。是否可以在不依赖彼此的情况下使用消息机制与 A 和 B 进行通信?我的目标是让用户克隆元数据包 A 并完全独立于数据包 B 构建它,对称地克隆数据包 B 并独立于数据包 A 构建它,并启动特定节点允许它们与一些复杂的消息进行通信。有可能吗?

丹尼尔

最佳答案

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

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

我能想到的解决方案有两种(不知道对你是否可行):

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

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

关于c++ - 独立的 ROS 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26940358/

相关文章:

c++ - 智能指针数组删除器

c++ - Windows API 不会退出

C++ 在模板编译器错误中使用模板

segmentation-fault - virtualbox 上的 Gazebo 导致段错误

c++ - 如何构建使用sqlite3的ros节点?

c++ - : QPixmap: It is not safe to use pixmaps outside the GUI thread如何解决

c++ - 如何使用Codelite 11.0.0编译静态库?

c++ - 隐式声明的特殊成员函数

python - 在 Ubuntu 14.04 (Beaglebone Black) 上使用带有 ROS 的 python Adafruit_BBIO GPIO 时出错

ros Jade 的 c++ opencv 设置