0

我是 ROS2 和 C++ 的初学者,我可以使用一些帮助来理解 ROS 2 的架构是如何工作的。我想在一个简单的聊天程序中实现一个 QoS 事件,并且根据我的基本知识,我可以制作以下图表:

CODE (publisher.cpp) ==> RCLCPP(qos_event.cpp) 这包括 (qos_event.hpp) ==> RCL (event.c) 这包括 (event.h) ==> RMW (event.c) 这包括 ( event.h) ==> DDS

我有以下问题:

  1. 如果我理解正确,头文件被用作某种库。因此,如果您将它们包含在您的程序中,您就可以使用您想要的所有功能。这意味着我不需要在我的程序中使用此代码,但我只需要实现这些功能?以下文件:qos_event.cpp / rcl event.c / rmw event.c 是我可以在自己的程序中使用的代码示例吗?

  2. 服务质量 (QoS) 设置在 Ros 中间件 (rmw) 中声明。如果我想使用其中一个事件,我可以直接使用 rmw/event.h 头文件,还是需要尊重架构,是否只能在程序中实现 rclcpp 代码?

4

1 回答 1

0

1) 通常头文件有你可以使用的函数声明,.c 或 .cpp 文件有它们的定义,显示函数实际是如何实现的。可能是一个很好的起点。为了在您的可执行文件或库中使用这些函数,您必须通过 CMakeLists.txt 和 package.xml(C++ 初学者的全新世界)添加这些依赖项。

2)关于这个......我建议从 ROS2 检查这个 git并研究这些功能是如何使用的。

通常人们说在使用 ROS 框架之前先学习 c++,这是一个非常好的建议。

于 2019-10-17T02:58:58.213 回答