Files
linuxcncWebWASM/coverage/robot-kinematics.report.json

230 lines
5.8 KiB
JSON

{
"boundaries": {
"puma_unreachable_or_singular": "SIM_KIN_ERR_RANGE/SINGULAR verified",
"scara_unreachable": "SIM_KIN_ERR_RANGE verified",
"scorbot_unreachable": "SIM_KIN_ERR_RANGE verified",
"state_hash": "native/WASM identical after 1e-9 hash quantization"
},
"configuration_candidates": {
"puma": {
"coordinates": "XYZABC",
"joints": 6,
"kinematics": "pumakins",
"origin": "shipped",
"path": "linuxcnc/configs/sim/axis/vismach/puma/puma.ini",
"scan": true
},
"scara": {
"coordinates": "xyzcab",
"joints": 6,
"kinematics": "scarakins",
"origin": "shipped",
"path": "linuxcnc/configs/sim/axis/vismach/scara/scara.ini",
"scan": true
},
"scorbot": {
"coordinates": "XYZAB",
"joints": 5,
"kinematics": "scorbot-kins",
"origin": "workspace_derived_fixture; source has no shipped sim INI",
"path": "linuxcnc/configs/sim/axis/vismach/scorbot/scorbot.ini",
"scan": true
}
},
"geometry": {
"puma": {
"branches": [
"shoulder",
"elbow",
"wrist flip"
],
"parameters": {
"A2": 400.0,
"A3": 50.0,
"D3": 100.0,
"D4": 400.0,
"D6": 95.0
},
"singularity": "wrist t1/t2 threshold"
},
"scara": {
"branch": "elbow flag selects q1 sign",
"defaults": {
"D1": 490.0,
"D2": 340.0,
"D3": 50.0,
"D4": 250.0,
"D5": 50.0,
"D6": 50.0
},
"orientation": "C=a0+a1+a3"
},
"scorbot": {
"branch": "fixed elbow solution from source",
"controlled_point": "wrist J3/J4",
"links_mm": {
"L0_horizontal": 16.0,
"L0_vertical": 140.0,
"L1": 221.0,
"L2": 221.0
}
}
},
"implementation_status": "verified",
"native_wasm": {
"native_command": "build-native/sim_kinematics_test",
"status": "passed",
"wasm_command": "node build-wasm/sim_kinematics_wasm_test.js"
},
"oracle": {
"reason": "linuxcnc/unit_tests/kinematics is absent from the locked source",
"status": "blocked"
},
"report_sha256": "fad0d9058ca41776a07fd7b88d467b0d8f96135e036f0e887c9583c78a4f97ea",
"samples": {
"byte_identical_json": true,
"native": {
"puma": {
"inverse": [
10.0,
20.0,
-30.0,
40.0,
25.0,
-15.0
],
"pose": [
450.112320486,
207.114833215,
-612.180622409
],
"state_hash": 3161234248163340028
},
"scara": {
"inverse": [
-3.644300703,
40.0,
25.0,
-31.355699297,
5.0,
-3.0
],
"pose": [
590.460310444,
130.945742721,
465.0
],
"state_hash": 4515826253922604237
},
"scorbot": {
"inverse": [
25.0,
35.0,
-20.0,
10.0,
-5.0
],
"pose": [
366.786994761,
171.035584569,
191.173940759
],
"state_hash": 16037922903473574131
}
},
"wasm": {
"puma": {
"inverse": [
10.0,
20.0,
-30.0,
40.0,
25.0,
-15.0
],
"pose": [
450.112320486,
207.114833215,
-612.180622409
],
"state_hash": 3161234248163340028
},
"scara": {
"inverse": [
-3.644300703,
40.0,
25.0,
-31.355699297,
5.0,
-3.0
],
"pose": [
590.460310444,
130.945742721,
465.0
],
"state_hash": 4515826253922604237
},
"scorbot": {
"inverse": [
25.0,
35.0,
-20.0,
10.0,
-5.0
],
"pose": [
366.786994761,
171.035584569,
191.173940759
],
"state_hash": 16037922903473574131
}
}
},
"schema": "robot-kinematics-report.v1",
"source_records": {
"header": {
"path": "wasm-core/include/sim_kinematics.h",
"sha256": "db16293ec3645559a0be71a40963693f3d1e3f5fdedc92902be19b47f653dfa8"
},
"implementation": {
"path": "wasm-core/src/sim_kinematics.c",
"sha256": "7a77915c59f190bcbe5c93d8f53498745bfcf978c167ba8878a21b914f9401fd"
},
"puma_config": {
"path": "linuxcnc/configs/sim/axis/vismach/puma/puma.ini",
"sha256": "26ee23af27aa03d2da89b842992802ece2423195a5ac0960b28bb751871d74f6"
},
"puma_params": {
"path": "linuxcnc/configs/sim/axis/vismach/puma/puma_dh.hal",
"sha256": "b57992601bf614c26e53c8add3c3aac0a0df79929dd64f897a19630437d1c181"
},
"puma_source": {
"path": "linuxcnc/src/emc/kinematics/pumakins.c",
"sha256": "5d473d34beacd696fc34719658e1622a1228494fe6596e277f4c34a51dfb91b2"
},
"scara_config": {
"path": "linuxcnc/configs/sim/axis/vismach/scara/scara.ini",
"sha256": "602e02bb6d320b728d9ae15904a5d229ea1a31e932c18e9018b45be007d695ce"
},
"scara_source": {
"path": "linuxcnc/src/emc/kinematics/scarakins.c",
"sha256": "f6e37f7cf5b932fc27378ab9ed03ef71c2010aa38f883980a1b6c6b9265cf9f9"
},
"scorbot_config": {
"path": "linuxcnc/configs/sim/axis/vismach/scorbot/scorbot.ini",
"sha256": "4e8edd061a033d45e1e71c56bdd521ee10d3f60def3be020bbd437fc49271343"
},
"scorbot_source": {
"path": "linuxcnc/src/emc/kinematics/scorbot-kins.c",
"sha256": "89badd55ec168139143c58f67c64dbdb9e5b411c3b847404beaf79ba8c591b5d"
},
"test": {
"path": "wasm-core/tests/sim_kinematics_test.c",
"sha256": "ceeb8b4100d034d76e70ce675d78b2d62c51e8e70be2205a9c8ae02e105a6aa6"
}
},
"status": "partial"
}