Implement WebAssembly runtime and kinematics coverage
This commit is contained in:
229
coverage/robot-kinematics.report.json
Normal file
229
coverage/robot-kinematics.report.json
Normal file
@@ -0,0 +1,229 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
Reference in New Issue
Block a user