增加机器人奇异点检测

This commit is contained in:
zhangshun
2026-06-16 12:56:26 +08:00
parent a100e44ac0
commit 0c7dc9e05b
8 changed files with 327 additions and 15 deletions

View File

@@ -160,15 +160,60 @@
### 奇异点检测
当前没有显式计算雅可比矩阵条件数或可操作度
模块已支持基于 TCP 雅可比矩阵的奇异点检测
尚未支持:
当前支持:
- 奇异点预警
- 腕部奇异。
- 肩部奇异
- 肘部奇异
- 接近奇异点时的速度放大风险提示
- 计算 6x6 TCP 雅可比矩阵
- 计算雅可比矩阵奇异
- 输出最小奇异值、最大奇异值、条件数和 manipulability
- 输出 rank
- 根据阈值给出 `normal``warning``singular` 风险等级
- 在 three.js 测试页面中通过“奇异点”按钮直接查看当前关节姿态风险。
对应接口:
- `Cmd_Kinematics_check_singularity`
请求示例:
```json
{
"msg": "singularity check",
"req_code": "CHECK_SINGULARITY_001",
"req_from": "client",
"req_cmd": "Cmd_Kinematics_check_singularity",
"req_param": {
"robot_uuid": "abb_irb120_3_58",
"joints_str": "0.15,-0.25,0.35,0.1,-0.2,0.3"
}
}
```
可选阈值参数:
```json
{
"singular_threshold": 0.0001,
"warning_threshold": 0.01,
"condition_threshold": 1000000,
"condition_warning_threshold": 10000
}
```
响应中的关键字段:
- `risk_level``normal``warning``singular`
- `is_singular`:是否已判定为奇异。
- `is_near_singular`:是否接近奇异。
- `rank`:雅可比矩阵秩。
- `singular_values`:奇异值数组。
- `min_singular_value`:最小奇异值。
- `condition_number`:条件数。
- `manipulability`:可操作度指标。
- `jacobian`6x6 TCP 雅可比矩阵。
注意:当前检测给出数值风险等级,尚未进一步分类为腕部奇异、肩部奇异或肘部奇异。
### 速度、加速度和 jerk 约束
@@ -259,12 +304,11 @@
如果继续按工业机器人实际使用场景增强,建议优先级如下:
1. 增加奇异点检测和雅可比分析
2. 增加多 IK 解和构型选择
3. 增加关节连续性和最短路径处理
4. 增加速度、加速度和轨迹时间参数化
5. 增加工具坐标系和工件坐标系管理
6. 增加 PTP、LIN、CIRC 等工业运动指令
7. 增加碰撞检测
1. 增加多 IK 解和构型选择
2. 增加关节连续性和最短路径处理
3. 增加速度、加速度和轨迹时间参数化
4. 增加工具坐标系和工件坐标系管理
5. 增加 PTP、LIN、CIRC 等工业运动指令
6. 增加碰撞检测
7. 增加奇异类型分类,例如腕部、肩部、肘部奇异
8. 增加控制器通讯和实时执行相关能力。