Skip to main content

22. 硬件接口 — ros2_control 驱动插件

概述

本示例通过 demo_xmake_hardware 包,演示如何用 xmake 构建 ros2_control 硬件接口插件。

ROS 2 知识点:ros2_control 架构、SystemInterface、hardware_interface 插件

xmake 知识点install_ros_plugin() + 硬件抽象层

ROS 2 知识

ros2_control 架构

Controller Manager

├── Controllers (PID, Trajectory, etc.)

└── Hardware Interfaces
├── SystemInterface (完整系统)
├── ActuatorInterface (单个执行器)
└── SensorInterface (单个传感器)

硬件接口生命周期

硬件接口是生命周期组件:

回调用途
on_init解析配置、分配资源
on_activate连接硬件、启动通信
on_deactivate停止通信
read读取传感器数据
write发送控制命令

示例代码

xmake.lua 构建配置

install_ros_plugin("plugin_description.xml", "hardware_interface")

target("demo_xmake_hardware")
set_kind("shared")
add_files("src/mock_robot_hardware.cpp")
add_ros_deps("rclcpp", "hardware_interface", "pluginlib", "rclcpp_lifecycle")

构建与运行

colcon build --packages-select demo_xmake_hardware

硬件接口通过 ros2_control 配置文件加载,非独立运行。

内容扩展

以下资源可帮助你深入了解本章涉及的技术领域。

开源项目

文档与教程

论文与技术报告

  • D. Štogl et al., "ros2_control: A platform-agnostic framework", pedestrian workshop, 2022

参考