警告
您正在阅读的 ROS 2 文档版本已达到 EOL(生命周期结束),不再受官方支持。如果您想了解最新信息,请访问 Jazzy.
ROS 2 客户端接口(客户端库)
ROS 客户端接口,又名 客户端库是面向用户的界面,提供高级功能,并建立在 rcl
和 rosidl
应用程序接口.
"(《世界人权宣言》) rclcpp
包装
ROS C++ 客户端库 (rclcpp
) 是面向用户的 C++ 惯用接口,它提供了所有 ROS 客户端功能,如创建节点、发布者和订阅者。
rclcpp
在 rcl
和 rosidl
应用程序接口的 C++ 报文一起使用。 rosidl_generator_cpp
.
rclcpp
使用了 C++ 和 C++11 的所有功能,使界面尽可能易于使用,但由于它重复使用了 rcl
的客户端库保持一致的行为。 rcl
应用程序接口.
"(《世界人权宣言》) rclcpp
存储库位于 GitHub 于 ros2/rclcpp 并包含 包装 rclcpp
.生成的 应用程序接口 文件在这里:
"(《世界人权宣言》) 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
存储库位于 GitHub 于 ros2/rclpy 并包含 包装 rclpy
.生成的 应用程序接口 文件在这里: