Add LinuxCNC five-axis case catalog
This commit is contained in:
222
web/workspace/five-axis-machine-catalog.json
Normal file
222
web/workspace/five-axis-machine-catalog.json
Normal file
@@ -0,0 +1,222 @@
|
||||
{
|
||||
"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"]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user