ROS2 (Robot Operating System 2) 采用消息机制实现节点间通信。自定义消息类型能够满足特定数据结构的需求。

自定义消息步骤:

  1. 创建消息包: 使用 ament 工具集创建 ROS2 包。

    bash

    mkdir -p my_msgs/src

    cd my_msgs

    ros2 pkg create --build-type ament_cmake my_msgs

  2. 定义消息结构: 在 my_msgs/msg 目录下创建 .msg 文件,定义数据类型和字段名。

    float32 data

    string name

    bool flag

  3. 生成代码接口: 执行 colcon buildament build 生成 C++ 和 Python 接口代码。

  4. 安装消息包: 使用 colcon installament install 将消息包安装到 ROS2 工作空间。

  5. 使用自定义消息: 在节点代码中引入消息头文件,使用 rclcpp::Publisher 和 rclcpp::Subscription 进行发布和订阅操作。

    cpp

    #include \"my_msgs/msg/my_message.hpp\"

应用场景:

自定义消息适用于需要在节点间传递特定格式数据的场景,例如传感器数据、控制指令等。