Files
linuxcncWebWASM/web/workspace/five-axis-machine-catalog.json

223 lines
9.9 KiB
JSON
Raw 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.
{
"schema": "linuxcnc.five-axis-machine-catalog/1",
"sourceRoot": "linuxcnc",
"officialSources": [
{
"title": "LinuxCNC 5-Axis Kinematics",
"url": "https://linuxcnc.org/docs/html/motion/5-axis-kinematics.html"
},
{
"title": "LinuxCNC kins(9)",
"url": "https://linuxcnc.org/docs/html/man/man9/kins.9.html"
},
{
"title": "LinuxCNC switchable kinematics",
"url": "https://linuxcnc.org/docs/html/motion/switchkins.html"
}
],
"cases": [
{
"id": "xyzac-trt",
"label": "XYZAC · 转台倾转(A/C)",
"family": "table-rotary-tilting",
"machineClass": "five-axis-mill",
"coordinates": "XYZAC",
"joints": 5,
"kinematics": "xyzac-trt-kins",
"rtcp": "native",
"webWasm": "supported",
"description": "A 轴绕 X 倾转,C 轴绕 Z 回转,工件安装在复合转台上。",
"localCases": [
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini",
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc",
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc",
"linuxcnc/configs/sim/gmoccapy/non_trivial_kinematics/table-rotary-tilting/xyzac-trt.ini",
"linuxcnc/configs/sim/gmoccapy/non_trivial_kinematics/table-rotary-tilting/examples/boat-xyzac.ngc",
"linuxcnc/configs/sim/gmoccapy/non_trivial_kinematics/table-rotary-tilting/examples/impeller-7bl-xyzac.ngc",
"linuxcnc/configs/sim/gmoccapy/non_trivial_kinematics/table-rotary-tilting/examples/test-xyzac.ngc"
],
"kinematicsSource": "linuxcnc/src/emc/kinematics/xyzac-trt-kins.c",
"designParameters": ["rotaryPoint", "tiltToRotaryOffset", "toolOffset", "physicalZero"]
},
{
"id": "xyzbc-trt",
"label": "XYZBC · 转台倾转(B/C)",
"family": "table-rotary-tilting",
"machineClass": "five-axis-mill",
"coordinates": "XYZBC",
"joints": 5,
"kinematics": "xyzbc-trt-kins",
"rtcp": "native",
"webWasm": "supported",
"description": "B 轴绕 Y 倾转,C 轴绕 Z 回转,适合 BC 类转台或相应摆头结构。",
"localCases": [
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzbc.ngc",
"linuxcnc/configs/sim/gmoccapy/non_trivial_kinematics/table-rotary-tilting/examples/test-xyzbc.ngc",
"linuxcnc/configs/sim/gmoccapy/non_trivial_kinematics/table-rotary-tilting/examples/boat-xyzbc.ngc"
],
"kinematicsSource": "linuxcnc/src/emc/kinematics/xyzbc-trt-kins.c",
"designParameters": ["rotaryPoint", "tiltToRotaryOffset", "toolOffset", "physicalZero"]
},
{
"id": "xyzab-tdr",
"label": "XYZAB · 双转台(A/B)",
"family": "table-dual-rotary",
"machineClass": "five-axis-mill",
"coordinates": "XYZAB",
"joints": 5,
"kinematics": "xyzab_tdr_kins",
"rtcp": "native-linuxcnc",
"webWasm": "adapter-required",
"description": "A/B 两个转轴组成双转台,源码案例包含旋转点、X/Z 偏置和 TCP 演示。",
"localCases": [
"linuxcnc/configs/sim/axis/vismach/5axis/table-dual-rotary/xyzab-tdr.ini",
"linuxcnc/configs/sim/axis/vismach/5axis/table-dual-rotary/demos/xyzab-tdr-demo.ngc",
"linuxcnc/configs/sim/gmoccapy/gmoccapy_XYZAB.ini",
"linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/qtdragon_xyzab.ini"
],
"kinematicsSource": "linuxcnc/src/hal/components/xyzab_tdr_kins.comp",
"designParameters": ["xRotPoint", "yRotPoint", "zRotPoint", "xOffset", "zOffset", "toolOffset", "physicalZero"]
},
{
"id": "bridge-mill-5axiskins",
"label": "Bridge Mill · 5axiskins(XYZBCW/Y)",
"family": "bridge-mill",
"machineClass": "five-axis-mill-with-extra-coordinate",
"coordinates": "XYZBCWY",
"joints": 7,
"kinematics": "5axiskins",
"rtcp": "native-linuxcnc",
"webWasm": "adapter-required",
"description": "桥式五轴机床,B/C 为姿态轴,W 为刀具方向运动;示例还演示 Y 轴双关节。",
"localCases": [
"linuxcnc/configs/sim/axis/vismach/5axis/bridgemill/5axis.ini",
"linuxcnc/configs/sim/axis/vismach/5axis/bridgemill/5axisgui.ngc",
"linuxcnc/configs/sim/gmoccapy/gmoccapy_XYZCW.ini"
],
"kinematicsSource": "linuxcnc/src/emc/kinematics/5axiskins.c",
"designParameters": ["jointCoordinateMap", "duplicateAxisMap", "toolDirectionAxis", "toolOffset", "physicalZero"]
},
{
"id": "max5-maxkins",
"label": "MAX5 · maxkins(XYZBC)",
"family": "table-and-head-rotary",
"machineClass": "five-axis-mill",
"coordinates": "XYZBC",
"joints": 6,
"kinematics": "maxkins",
"rtcp": "native-linuxcnc",
"webWasm": "adapter-required",
"description": "LinuxCNC 的 MAX5 非恒等五轴案例;同时提供 trivkins 对照配置,适合验证坐标映射。",
"localCases": [
"linuxcnc/configs/sim/axis/vismach/5axis/max5/max5kins.ini",
"linuxcnc/configs/sim/axis/vismach/5axis/max5/max5triv.ini",
"linuxcnc/configs/sim/axis/vismach/5axis/max5/README",
"linuxcnc/configs/sim/gmoccapy/gmoccapy_XYZAB.ini"
],
"kinematicsSource": "linuxcnc/src/emc/kinematics/maxkins.c",
"designParameters": ["rotaryAxisOrder", "rotaryCenters", "uvwTransform", "toolOffset", "physicalZero"]
},
{
"id": "hexapod-genhexkins",
"label": "Hexapod · genhexkins(Stewart 平台)",
"family": "parallel-platform",
"machineClass": "six-dof-rtcp-capable",
"coordinates": "XYZABC",
"joints": 6,
"kinematics": "genhexkins",
"rtcp": "native-linuxcnc",
"webWasm": "adapter-required",
"description": "六支链并联平台,具有 XYZABC 六自由度;它是五轴 CAM/RTCP 可覆盖的六自由度机型。",
"localCases": [
"linuxcnc/configs/sim/axis/vismach/hexapod-sim/hexapod.ini",
"linuxcnc/configs/sim/axis/vismach/hexapod-sim/kinematics.hal",
"linuxcnc/configs/sim/axis/vismach/hexapod-sim/README",
"linuxcnc/src/emc/kinematics/genhexkins.c"
],
"kinematicsSource": "linuxcnc/src/emc/kinematics/genhexkins.c",
"designParameters": ["baseJointPoints", "platformJointPoints", "spindleOffset", "screwLead", "iterationLimits", "physicalZero"]
},
{
"id": "pentapod-pentakins",
"label": "Pentapod · pentakins(五支链平台)",
"family": "parallel-platform",
"machineClass": "five-axis-parallel",
"coordinates": "XYZAB",
"joints": 5,
"kinematics": "pentakins",
"rtcp": "native-linuxcnc",
"webWasm": "adapter-required",
"description": "五支链并联平台,LinuxCNC 源码提供 base/effector 几何参数和迭代求解案例。",
"localCases": [
"linuxcnc/configs/sim/axis/pentapod/pentapod.ini",
"linuxcnc/configs/sim/axis/pentapod/kinematics.hal",
"linuxcnc/configs/sim/axis/pentapod/README",
"linuxcnc/src/emc/kinematics/pentakins.c"
],
"kinematicsSource": "linuxcnc/src/emc/kinematics/pentakins.c",
"designParameters": ["baseJointPoints", "effectorGeometry", "toolOffset", "convergenceCriterion", "physicalZero"]
},
{
"id": "puma-pumakins",
"label": "PUMA · pumakins(串联机器人)",
"family": "serial-robot",
"machineClass": "six-axis-robot",
"coordinates": "XYZABC",
"joints": 6,
"kinematics": "pumakins",
"rtcp": "robot-tool-center-point",
"webWasm": "adapter-required",
"description": "PUMA 型六关节串联机器人;可承载五轴刀具姿态任务,但不是五关节铣床拓扑。",
"localCases": [
"linuxcnc/configs/sim/axis/vismach/puma/puma.ini",
"linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ini",
"linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc",
"linuxcnc/src/emc/kinematics/pumakins.c"
],
"kinematicsSource": "linuxcnc/src/emc/kinematics/pumakins.c",
"designParameters": ["A2", "A3", "D3", "D4", "toolOffset", "physicalZero"]
},
{
"id": "puma-genserkins",
"label": "PUMA 560 · genserkins(DH 串联)",
"family": "serial-robot",
"machineClass": "six-axis-robot",
"coordinates": "XYZABC",
"joints": 6,
"kinematics": "genserkins",
"rtcp": "robot-tool-center-point",
"webWasm": "adapter-required",
"description": "PUMA 560 的通用串联运动学案例,用 DH 参数描述各关节。",
"localCases": [
"linuxcnc/configs/sim/axis/vismach/puma/puma560.ini",
"linuxcnc/configs/sim/axis/vismach/puma/puma560_uvw.ini",
"linuxcnc/configs/sim/axis/vismach/puma/puma560_dh.hal",
"linuxcnc/src/emc/kinematics/genserkins.c"
],
"kinematicsSource": "linuxcnc/src/emc/kinematics/genserkins.c",
"designParameters": ["DHParameters", "jointLimits", "toolOffset", "physicalZero"]
},
{
"id": "trivkins-xyzab",
"label": "XYZAB · trivkins(直角坐标映射基线)",
"family": "identity-baseline",
"machineClass": "five-axis-linear-or-rotary",
"coordinates": "XYZAB",
"joints": 5,
"kinematics": "trivkins",
"rtcp": "none",
"webWasm": "identity-only",
"description": "五轴一一对应的基线案例,用于校验 GLB 关节树和坐标映射;本身不提供非线性 RTCP。",
"localCases": [
"linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/qtdragon_xyzab.ini",
"linuxcnc/configs/sim/woodpecker/woodpecker_xyzab.ini",
"linuxcnc/configs/sim/axis/vismach/5axis/max5/max5triv.ini",
"linuxcnc/src/emc/kinematics/trivkins.c"
],
"kinematicsSource": "linuxcnc/src/emc/kinematics/trivkins.c",
"designParameters": ["coordinateOrder", "duplicateAxisMap", "physicalZero"]
}
]
}