ROS 2客户端接口 (客户端库)

ROS客户端接口,又名|客户端库|,是面向用户的接口,提供高级功能,并建立在 rclrosidlAPIs 基础上。 [Alyssa@9656]

rclcpp[Alyssa@9657]

针对C++ ( rclcpp ) 的ROS客户端库是面向用户的,符合C++ 语言特定的接口,它提供所有ROS客户端功能,如创建节点、发布者和订阅者。 rclcpp 建立在 rclrosidl API 的基础上,它被设计为与 rosidl_generator_cpp 生成的C++ 消息一起使用。 [Alyssa@9658]

[需手动修复的语法]``rclcpp`` makes use of all the features of C++ and C++11 to make the interface as easy to use as possible, but since it reuses the implementation in rcl it is able maintain a consistent behavior with the other client libraries that use the rcl | API |[待校准@9659]

[需手动修复的语法] rclcpp 仓库位于 | GitHub | _ at ros2/rclcpp ,包含 | 包 | [需手动修复的语法] rclcpp 。生成的 | API | 文档如下: [待校准@9660]

api/rclcpp/index.html

rclpy 包装 [待校准@9662]

Python的ROS客户端库 ( rclpy ) 是与cclient客户端库相对应的Python。像C client客户端库一样, rclpy 也在 rcl C API的基础上构建以实现它。该界面提供了一种惯用的Python体验,它使用本地Python类型和模式,如列表和上下文对象,但是通过在实现中使用 rcl | API |,它在特性奇偶校验和行为方面与其他客户端库保持一致。除了为每个消息提供围绕 rcl | API | 和Python类的Python惯用绑定之外,Python客户端库还负责执行模型,使用 threading.Thread 或类似方法运行 rcl | API | 中的函数。 [待校准@9663]

与C++ 一样,它为用户与之交互的每个ROS消息生成自定义Python代码,但与C++ 不同,它最终将本机Python消息对象转换为消息的C版本。所有操作都发生在Python版本的消息上,直到它们需要传递到 rcl 层,此时,它们将转换为消息的纯C版本,以便可以将其传递到 rcl C | API |。当发布者和订阅者在同一过程中进行通信以减少Python的转换时,如果可能的话,可以避免这种情况。 [待校准@9664]

[需手动修复的语法] rclpy 仓库位于 | GitHub | _ at ros2/rclpy ,包含 | 包 | [需手动修复的语法] rclpy 。生成的 | API | 文档如下: [待校准@9665]

api/rclpy/index.html