警告

您正在阅读的 ROS 2 文档版本已达到 EOL(生命周期结束),不再受官方支持。如果您想了解最新信息,请访问 Jazzy.

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

ROS 客户端接口,又名 客户端库是面向用户的界面,提供高级功能,并建立在 rclrosidl 应用程序接口.

"(《世界人权宣言》) rclcpp 包装

ROS C++ 客户端库 (rclcpp) 是面向用户的 C++ 惯用接口,它提供了所有 ROS 客户端功能,如创建节点、发布者和订阅者。 rclcpprclrosidl 应用程序接口的 C++ 报文一起使用。 rosidl_generator_cpp.

rclcpp 使用了 C++ 和 C++11 的所有功能,使界面尽可能易于使用,但由于它重复使用了 rcl 的客户端库保持一致的行为。 rcl 应用程序接口.

"(《世界人权宣言》) rclcpp 存储库位于 GitHubros2/rclcpp 并包含 包装 rclcpp.生成的 应用程序接口 文件在这里:

api/rclcpp/index.html

"(《世界人权宣言》) rclpy 包装

用于 Python 的 ROS 客户端库 (rclpy) 是 C++ 客户端库的 Python 对应库。就像 C++ 客户端库一样、 rclpy 也建立在 rcl C API 来实现。该接口提供了一种惯用的 Python 体验,它使用本地 Python 类型和模式(如列表和上下文对象),但通过使用 rcl 应用程序接口 在实现方面,它与其他客户端库在功能和行为上保持一致。除了围绕 rcl 应用程序接口 和 Python 类,Python 客户端库负责执行模型,使用 threading.Thread 或类似功能来运行 rcl 应用程序接口.

与 C++ 一样,它会为用户交互的每一条 ROS 消息生成自定义的 Python 代码,但与 C++ 不同的是,它最终会将本地 Python 消息对象转换成 C 语言版本的消息。所有操作都是在 Python 版本的信息上进行的,直到需要将它们传入 rcl 层,然后将其转换为纯 C 语言版本的报文,以便将其传递到 rcl C 应用程序接口.当出版商和订阅者在同一流程中进行通信时,应尽可能避免这种情况,以减少 Python 的输入和输出转换。

"(《世界人权宣言》) rclpy 存储库位于 GitHubros2/rclpy 并包含 包装 rclpy.生成的 应用程序接口 文件在这里:

api/rclpy/index.html