驱动层¶
本节记录 ros2_control 驱动层 — 对接总线、厂商 SDK 或仿真的插件。中文 驱动层 就是这一层。
公开插件在 arms_ros2_control hardwares/ 下(另有树内 topic_based_ros2_control)。插件类以该机型 xacro/ros2_control/*.xacro 为准。每个公开驱动页含简介(插件类、仓库)及其 <param> 表。
术语对照¶
完整对照:术语对照。
中文 |
英文 |
|---|---|
驱动层 |
Hardware Interface (ros2_control official) |
控制器 |
Controller |
分体控制 |
Split body |
全身控制 |
Full body / WBC |
夹爪 |
gripper |
灵巧手 |
dexterous hand |
仿真路径 |
|
插件类名、type / left_type / right_type 和 hardware:= 保持代码写法。
概述¶
驱动层把 ROS 2 控制器接到总线或厂商 SDK:
Controller Manager
↓
Hardware Interface Plugin
↓
CAN / TCP / Serial / Vendor SDK
launch 的 hardware:= 决定机型 xacro 实例化哪个插件:本栈中的 ros2_control。
真实硬件可用
ARX Lift 2S(全身)和 Acone / AC One(双臂)使用 arx-ros2-control(CAN)。HighTorque Panthera HT 使用 ht-ros2-control(串口)。见 ARX Lift 2S 与 HighTorque Panthera HT。
如何读这些表¶
这些是 <ros2_control><hardware> 下的 URDF / xacro <param>,在插件 on_init 加载。它们不是控制器节点上 ros2 param list 的同一套 API,除非该插件也 declare_parameter 了同名项(ARX、HighTorque、Marvin、部分灵巧手)。
仅启动 vs 运行时 在每张表里只出现一次:混合表用 时机 列,或用分节标题(Startup / Runtime),或在整表均为同一类时写在表前一行。含义只写参数本身的意思,不再重复该标记。
标记 |
依据 |
|---|---|
仅启动 |
在 |
运行时 |
|
树内 hardwares/README.md 只讲编译(colcon build --packages-up-to …)。各驱动页上的名称来自对应公开 README,以及该仓库的 on_init / 插件 XML。
如何查看:配置 ROS 2 控制器参数。
仿真键¶
mock_components、gz、isaac 是 launch / xacro 键,不是 arms_ros2_control/hardwares/ 下的 gitmodule。
|
插件 |
所在位置 |
|---|---|---|
|
|
ros2_control;Acone xacro |
|
|
|
|
|
树内 |
操作指南:Gazebo 仿真、Isaac Sim。关节布局与话题名来自该机型 xacro/ros2_control/*.xacro。Isaac 话题 <param> 表:topic_based_ros2_control。
本节内容¶
公开驱动层¶
软件包 |
总线 |
插件 / 机型 |
|---|---|---|
ROS 2 话题 |
Isaac( |
|
unitree_sdk2 |
Unitree G1 / 四足 |
|
TCP |
Dobot CR |
|
CAN |
方舟无限 X5、Acone(双臂)、Lift 2S |
|
串口( |
高擎 Panthera HT |
|
Marvin SDK + RS485/CAN 工具 |
Tianji Marvin |
|
RS485 / Modbus RTU |
夹爪、灵巧手、KWR75 |
|
SocketCAN / CAN FD |
LinkerHand、Freedom V1、Inspire RH56 |
|
CAN FD |
JX CSP |
私有驱动层¶
仅列名称 — 配置键、API 细节与 SDK 环境变量见开通后该仓库 README。
需要访问权限
这些软件包需要私有仓库访问权限。请联系团队负责人申请访问。
软件包 |
总线 |
机器人 |
|---|---|---|
rokae-ros2-control |
TCP |
珞石协作臂 |
eyou-ros2-control |
CANopen |
Eyou 谐波减速器 |
eyou_canfd_ros2_control |
CAN FD |
PHU CSP |
inex-ros2-control |
自定义 |
iNexus + LinkerHand |
以太网 |
Wuji Hand2 |
|
自定义 |
DexCap V4 |
|
fairino-ros2-control |
ART SDK |
Fairino 机械臂 |
fairino-ros2-control 封装 Fairino ART SDK(安装与组网见开通后该 README)。
常用操作¶
ros2 control list_hardware_interfaces
ros2 control list_controllers
ros2 topic echo /joint_states
硬件 <param> 不会出现在 ros2 param list 上,除非该插件也 declare_parameter 了同名项。按 配置 ROS 2 控制器参数 核对插件和 xacro。
{robot}_description/config/ocs2/*.info 是 OCS2 任务 / 模型文件,不是 ROS 2 参数。启动时由 robot_name 选择描述包 — 控制器 ROS 2 参数。