Files
linuxcncWebWASM/docs/linuxcnc-five-axis-case-catalog.md

38 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# LinuxCNC 五轴机床案例目录
本目录来自仓库内的 LinuxCNC 源码、仿真配置和 G 代码案例。网页机床管理器读取同一份 [five-axis-machine-catalog.json](../web/workspace/five-axis-machine-catalog.json),因此案例清单、运动学名称、坐标轴、源码路径和 Web/WASM 能力状态不会在界面中重复硬编码。
## 案例与适用范围
| 结构族 | LinuxCNC 运动学 | 坐标/关节 | 本地案例 | Web/WASM 状态 |
|---|---|---:|---|---|
| 转台倾转 AC | `xyzac-trt-kins` | XYZAC / 5 | `configs/sim/axis/vismach/5axis/table-rotary-tilting`、gmoccapy TRT | 已支持正解、逆解、RTCP |
| 转台倾转 BC | `xyzbc-trt-kins` | XYZBC / 5 | `configs/sim/axis/vismach/5axis/table-rotary-tilting`、gmoccapy TRT | 已支持正解、逆解、RTCP |
| 双转台 AB | `xyzab_tdr_kins` | XYZAB / 5 | `configs/sim/axis/vismach/5axis/table-dual-rotary` | 已有 LinuxCNC 案例;需要 Web/WASM 适配器 |
| Bridge Mill | `5axiskins` | XYZBCW/Y / 7 | `configs/sim/axis/vismach/5axis/bridgemill` | 需要支持重复轴和 W 轴的适配器 |
| MAX5 | `maxkins` | XYZBC / 6 | `configs/sim/axis/vismach/5axis/max5` | 需要 maxkins WASM 适配器 |
| Hexapod | `genhexkins` | XYZABC / 6 | `configs/sim/axis/vismach/hexapod-sim` | 需要并联平台参数和迭代求解适配器 |
| Pentapod | `pentakins` | XYZAB / 5 | `configs/sim/axis/pentapod` | 需要五支链参数和迭代求解适配器 |
| PUMA | `pumakins` | XYZABC / 6 | `configs/sim/axis/vismach/puma/puma.ini` | 需要串联机器人适配器 |
| PUMA 560 | `genserkins` | XYZABC / 6 | `configs/sim/axis/vismach/puma/puma560.ini` | 需要 DH/串联机器人适配器 |
| 直角坐标基线 | `trivkins` | XYZAB / 5 | qtdragon、woodpecker、MAX5 trivkins | 仅用于轴映射验证,不提供非线性 RTCP |
| C/W 直角坐标基线 | `trivkins` | XYZCW / 5 | `configs/sim/gmoccapy/gmoccapy_XYZCW.ini` | 仅用于轴映射验证,不提供非线性 RTCP |
| 双 Y/旋转 A 基线 | `trivkins` | XYZYA / 5 | qtdragon multi-joint、woodpecker | 仅用于轴映射验证,不提供非线性 RTCP |
| SCORBOT | `scorbot-kins` | XYZAB / 5 | `configs/sim/axis/vismach/scorbot/scorbot.ini` | 需要机器人运动学适配器 |
PUMA 和 Hexapod 是六自由度案例,仍然纳入目录是因为 LinuxCNC 的五轴加工/RTCP 工作流可能使用其中的五轴姿态子集;在配置器中会显示“六自由度”标签。SCARA、MELFA、SCORBOT 等同样是 LinuxCNC 的机器人运动学案例,但不属于本目录的五轴机床案例,因此不会伪装成五轴铣床类型。
## 适配边界
当前 Web/WASM 运动链已经真实接通的是 XYZAC/XYZBC TRT。其它案例已经进入机床管理器的案例库,可以查看源码配置、G 代码和所需结构参数,但在对应适配器完成以前不能在控制面板中声称已经具备正解、逆解或 RTCP。每个 GLB 机床文档应保存 `kinematics`、`coordinates`、`joints`、轴层级、局部原点、关节参数、物理零点和运动学专用参数,适配器再根据这些数据驱动 Three.js 层级。
## 校验
在仓库根目录执行:
```bash
node scripts/validate_five_axis_catalog.mjs
```
该命令逐项读取本地案例配置、示例 G 代码、README 和运动学源码,确认目录中的路径仍然存在。官方依据包括 [LinuxCNC 5-Axis Kinematics](https://linuxcnc.org/docs/html/motion/5-axis-kinematics.html)、[kins(9)](https://linuxcnc.org/docs/html/man/man9/kins.9.html) 和 [switchable kinematics](https://linuxcnc.org/docs/html/motion/switchkins.html)。