2. UR机器人硬件与控制系统认知
要真正把 UR 机器人接入 ROS2,第一步不是写代码,而是先弄清楚“谁在控制谁”。UR 机器人本体只是执行机构,真正决定运动、安全与通信的是控制柜、示教器和运行在控制器上的软件系统。本节围绕控制柜接口、安全配置、示教器操作、URCap 机制与外部控制模式五个方面展开,帮助建立对 UR 控制系统的整体认知。
控制柜:机器人的“大脑与配电中心”
UR 控制柜(Control Box)内部集成了控制器主板、安全板、电源模块、伺服驱动接口以及通信接口。以 e 系列为例,控制柜前面板提供若干关键接口:
- 电源输入:通常为 100–240 V AC,经内部开关电源转换为 48 V DC 供关节与逻辑电路使用。
- 数字/模拟 I/O:通用数字输入输出、模拟输入输出,用于连接夹爪、传感器、PLC 等外围设备。
- 安全 I/O:包括紧急停止、保护性停止、安全门、缩减模式等专用安全信号端子。
- 通信接口:以太网口(用于示教器、上位机、ROS2 通信)、USB 口(程序与日志导入导出)。
- 工具/关节接口:工具端供电与信号,以及各关节编码器与驱动线缆接口。
理解接口分布的意义在于:ROS2 驱动并不直接“驱动电机”,而是通过控制器提供的通信接口发送运动指令、读取状态。因此,接口类型决定了可用的控制模式与实时性上限。
安全配置:先安全,后运动
UR 的安全体系分为“安全信号”和“安全限制”两层。安全信号包括紧急停止、保护性停止、安全门、缩减模式输入等,它们通过安全 I/O 或安全现场总线接入。安全限制则在软件中配置,主要包括:
- 关节限位:每个关节的角度上下限。
- 安全平面:限制工具在空间中的可达区域。
- 工具与 TCP 限制:限制工具中心点的位置、速度、力。
- 速度与力限制:在缩减模式下自动降低速度与力。
这些限制在示教器的“安装 → 安全”中配置,并由安全板独立校验。ROS2 驱动发送的指令若超出限制,控制器会拒绝执行或触发保护性停止。因此,在集成前必须确认安全配置与 ROS2 运动规划的空间、速度约束一致,否则会出现“规划成功但机器人不动”的现象。
示教器:配置与调试的入口
示教器(Teach Pendant)是 UR 的本地操作终端,运行 PolyScope 系统。它承担四类工作:
- 安装配置:设置 TCP、负载、安装角度、安全限制、I/O 映射。
- 程序编写:用图形化方式编写 URScript 程序,或直接编辑脚本。
- 手动示教:通过“自由驱动”模式拖动机械臂记录点位。
- 状态监控:查看关节角度、TCP 位姿、I/O 状态、日志与报警。
对 ROS2 集成而言,示教器最重要的作用是完成“一次性配置”:TCP、负载、安全限制、网络地址、外部控制模式开关。这些配置保存在控制器中,ROS2 驱动启动后直接继承,无需重复设置。
URCap:控制器的功能扩展机制
URCap 是运行在 UR 控制器上的插件机制,用于扩展 PolyScope 的功能。它分为两类:
- PolyScope 插件:在示教器界面中增加新页面、新程序节点。
- 后台服务:在控制器 Linux 系统中运行守护进程,提供通信、计算或设备接入能力。
UR 官方提供的 External Control URCap 和 ROS2 驱动正是通过这一机制工作:URCap 在控制器上开放一个外部控制端口,ROS2 驱动通过该端口以固定周期发送关节位置或速度指令。理解 URCap 的意义在于:ROS2 与 UR 的对接不是“绕过控制器”,而是“在控制器允许的框架内”进行外部控制。
外部控制模式:ROS2 如何接管运动
UR 的外部控制模式主要有两种:
- RTDE(Real-Time Data Exchange):用于高速读写控制器数据,典型周期 2–10 ms,可读取关节角度、TCP 位姿、I/O,写入关节位置、速度、数字输出等。
- External Control URCap:在示教器中加载一个程序节点,使控制器进入“等待外部指令”状态,ROS2 驱动通过该节点发送轨迹。
典型工作流程是:在示教器中加载 External Control 程序并运行,控制器进入外部控制等待状态;ROS2 启动 ur_robot_driver,连接控制器 IP 与端口;驱动通过 RTDE 读取状态,通过外部控制端口发送关节轨迹。此时机器人运动由 ROS2 规划结果决定,但安全限制仍由控制器独立把关。
集成前的检查要点
在把 UR 接入 ROS2 之前,建议按以下顺序确认:
| 检查项 | 位置 | 典型值/示例 |
|---|---|---|
| 控制器 IP | 示教器 → 设置 → 网络 | 192.168.1.10(示例) |
| RTDE 端口 | 控制器默认 | 30004 |
| External Control 端口 | URCap 配置 | 50002(示例) |
| TCP 与负载 | 示教器 → 安装 → TCP | 根据实际工具设置 |
| 安全限制 | 示教器 → 安装 → 安全 | 关节限位、安全平面 |
| 外部控制程序 | 示教器 → 程序 | 加载并运行 External Control |
掌握控制柜接口、安全配置、示教器操作、URCap 机制与外部控制模式之后,就能理解 ROS2 驱动在系统中的真实位置:它不替代控制器,而是通过 RTDE 与 External Control 与控制器协作,在安全框架内完成运动控制。这是后续驱动安装、参数配置与轨迹调试的基础。