安全参数
说明: 安全参数用于配置机器人各轴的软限位角度范围,是保障机器人运动安全的关键配置。
概述
安全参数主要用于设置机器人各关节轴的软限位(正向最大角度和负向最大角度)。当机器人关节运动超出设定的软限位范围时,控制器将触发安全保护机制,停止当前运动并上报错误。
安全参数分类
| 类别 | 说明 | 相关命令 |
|---|---|---|
| 关节软限位 | J1-J6 各轴正向/负向最大角度限制 | 0x1400/0x1401/0x1402 |
| 安全 IO | 安全门、急停、光幕等安全输入信号 | 参见 IO 协议文档 |
| 速度限制 | 各轴最大速度、笛卡尔最大速度 | 参见运动控制文档 |
| 工作空间限制 | 笛卡尔空间范围限制 | 参见干涉区文档 |
关节软限位
功能说明
关节软限位是在控制器软件层面设置的各轴运动范围限制。与机械限位(物理挡块)不同,软限位由控制器实时监控,当关节角度超出软限位范围时:
- 控制器立即停止当前运动
- 上报软限位错误提示
- 需要手动将机器人移回安全工作范围后才能恢复
注意: 软限位值应在机械限位范围内设置,否则软限位将无法起到保护作用。默认情况下,各轴软限位范围为 [-360°, 360°](即 [-2π, 2π] 弧度)。
配置建议
| 轴 | 典型范围 | 说明 |
|---|---|---|
| J1 | [-170°, 170°] | 基座旋转轴 |
| J2 | [-90°, 155°] | 大臂俯仰轴 |
| J3 | [-80°, 90°] | 小臂俯仰轴 |
| J4 | [-180°, 180°] | 手腕旋转轴 |
| J5 | [-120°, 120°] | 手腕俯仰轴 |
| J6 | [-360°, 360°] | 手腕末端旋转轴 |
安全 IO 概述
安全 IO 是机器人控制系统中的关键安全信号入口,包括:
| 安全信号 | 说明 | 触发后行为 |
|---|---|---|
| 急停 (E-Stop) | 紧急停止按钮信号 | 立即切断伺服电源,所有运动停止 |
| 安全门 (Safety Gate) | 安全门/围栏状态信号 | 根据模式:示教模式下允许操作,运行模式下触发急停 |
| 安全光幕 (Light Curtain) | 安全光幕遮挡信号 | 类似安全门,检测到遮挡时触发安全停止 |
| 使能开关 (Enable Switch) | 三段式使能开关 | 示教器上的安全使能装置 |
安全信号优先级
安全信号的优先级从高到低为:
- 急停:最高优先级,硬件级别切断伺服电源
- 安全门/光幕:软件级别,根据运行模式处理
- 软限位:软件级别,仅限制运动范围
设置安全参数(上位机 → 控制器)
命令字: 0x1400
| 参数 | 类型 | 说明 |
|---|---|---|
J1 Max | double | J1 轴正向最大角度,弧度 |
J1 Min | double | J1 轴负向最大角度,弧度 |
J2 Max | double | J2 轴正向最大角度,弧度 |
J2 Min | double | J2 轴负向最大角度,弧度 |
J3 Max | double | J3 轴正向最大角度,弧度 |
J3 Min | double | J3 轴负向最大角度,弧度 |
J4 Max | double | J4 轴正向最大角度,弧度 |
J4 Min | double | J4 轴负向最大角度,弧度 |
J5 Max | double | J5 轴正向最大角度,弧度 |
J5 Min | double | J5 轴负向最大角度,弧度 |
J6 Max | double | J6 轴正向最大角度,弧度 |
J6 Min | double | J6 轴负向最大角度,弧度 |
robot | int | 机器人编号,取值范围 [1, 4] |
示例:
json
{
"J1 Max": 3.14,
"J1 Min": -3.14,
"J2 Max": 3.14,
"J2 Min": -3.14,
"J3 Max": 3.14,
"J3 Min": -3.14,
"J4 Max": 3.14,
"J4 Min": -3.14,
"J5 Max": 3.14,
"J5 Min": -3.14,
"J6 Max": 3.14,
"J6 Min": -3.14,
"robot": 1
}使用注意事项
- 单位转换:安全参数中的角度单位为弧度,设置时需要将度数值转换为弧度值(乘以 π/180)
- 范围检查:Max 值必须大于 Min 值,否则设置将无效
- 即时生效:参数设置后立即生效,无需重启控制器
- 多机器人:每个机器人(robot 1-4)需要单独设置安全参数
查询安全参数(上位机 → 控制器)
命令字: 0x1401
| 参数 | 类型 | 说明 |
|---|---|---|
robot | int | 机器人编号,取值范围 [1, 4] |
示例:
json
{
"robot": 1
}安全参数回复(控制器 → 上位机)
命令字: 0x1402
| 参数 | 类型 | 说明 |
|---|---|---|
J1 Max | double | J1 轴正向最大角度,弧度 |
J1 Min | double | J1 轴负向最大角度,弧度 |
J2 Max | double | J2 轴正向最大角度,弧度 |
J2 Min | double | J2 轴负向最大角度,弧度 |
J3 Max | double | J3 轴正向最大角度,弧度 |
J3 Min | double | J3 轴负向最大角度,弧度 |
J4 Max | double | J4 轴正向最大角度,弧度 |
J4 Min | double | J4 轴负向最大角度,弧度 |
J5 Max | double | J5 轴正向最大角度,弧度 |
J5 Min | double | J5 轴负向最大角度,弧度 |
J6 Max | double | J6 轴正向最大角度,弧度 |
J6 Min | double | J6 轴负向最大角度,弧度 |
robot | int | 机器人编号,取值范围 [1, 4] |
示例:
json
{
"J1 Max": 3.14,
"J1 Min": -3.14,
"J2 Max": 3.14,
"J2 Min": -3.14,
"J3 Max": 3.14,
"J3 Min": -3.14,
"J4 Max": 3.14,
"J4 Min": -3.14,
"J5 Max": 3.14,
"J5 Min": -3.14,
"J6 Max": 3.14,
"J6 Min": -3.14,
"robot": 1
}安全验证流程
建议按照以下流程进行安全参数配置和验证:
- 读取当前参数:通过
0x1401查询现有安全参数配置 - 确认机械限位:确认各轴机械限位的实际范围
- 设置软限位:通过
0x1400设置软限位,确保在机械限位范围内 - 慢速验证:以低速手动移动机器人到各轴极限位置,确认软限位生效
- 观察报警:确认超出软限位时控制器正确上报错误
- 保存配置:参数自动保存在控制器中,断电不丢失