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

133 lines
4.0 KiB
JSON

{
"boundaries": {
"fixed_iteration_limit": "verified",
"invalid_DH_nonfinite": "SIM_KIN_ERR_NONFINITE verified",
"state_hash": "native/WASM identical after 1e-9 quantization"
},
"configuration_candidates": {
"melfa": {
"dh_source": "linuxcnc/configs/sim/axis/vismach/melfa-sim/melfa_dh.hal",
"kinematics": "genserkins",
"path": "linuxcnc/configs/sim/axis/vismach/melfa-sim/melfa.ini",
"scan": true
},
"puma560": {
"dh_source": "linuxcnc/configs/sim/axis/vismach/puma/puma560_dh.hal",
"kinematics": "genserkins",
"path": "linuxcnc/configs/sim/axis/vismach/puma/puma560.ini",
"scan": true
}
},
"dh_contract": {
"alpha_units": "radians from HAL pins",
"joint_count": 6,
"joint_units": "degrees at public ABI, radians internally",
"melfa_has_alpha_and_d": true,
"parameters": [
"A-0..5",
"ALPHA-0..5",
"D-0..5"
],
"puma_has_alpha_and_d": true
},
"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": "fc6c23f67b2a14b58735fa60ed884a5a73815c3efb26f1b4d0de427e882d67b8",
"samples": {
"byte_identical_json": true,
"native": {
"inverse": [
0.0,
10.0,
-20.0,
29.999999999,
15.0,
-9.999999999
],
"iterations": 0,
"pose": [
619.051467462,
30.4112378,
-349.855537721
],
"residual": 0.0,
"state_hash": 13985782206955965200
},
"wasm": {
"inverse": [
0.0,
10.0,
-20.0,
29.999999999,
15.0,
-9.999999999
],
"iterations": 0,
"pose": [
619.051467462,
30.4112378,
-349.855537721
],
"residual": 0.0,
"state_hash": 13985782206955965200
}
},
"schema": "genser-kinematics-report.v1",
"solver": {
"convergence_tolerance": 1e-07,
"forward": "Craig DH homogeneous product",
"inverse": "fixed-zero seed damped numerical Jacobian with 1e-4 degree finite difference",
"iterations": 0,
"max_iterations": 200,
"nonconvergence": "SIM_KIN_ERR_SINGULAR after fixed iteration limit",
"residual": 0.0
},
"source_records": {
"functions": {
"path": "linuxcnc/src/emc/kinematics/genserfuncs.c",
"sha256": "e4b775e93b973a4faae873c81a95d7d8361fe5c5c59ea81e362a5f900a1e8781"
},
"header": {
"path": "wasm-core/include/sim_kinematics.h",
"sha256": "5fd01043d705486b0d365e36109c3b0e0d39f220c2cec313b5b747dca06148bc"
},
"implementation": {
"path": "wasm-core/src/sim_kinematics.c",
"sha256": "41fc146ab88a623b5bc6afbba1fc0d12434689c737426da12fcd297162672749"
},
"melfa_config": {
"path": "linuxcnc/configs/sim/axis/vismach/melfa-sim/melfa.ini",
"sha256": "7dc7a3db58ca7f7ddba11fe08f691cd7658564be2a0b872d9087ee7b392e45c7"
},
"melfa_dh": {
"path": "linuxcnc/configs/sim/axis/vismach/melfa-sim/melfa_dh.hal",
"sha256": "0d943182e37da99ae99db53f3dd464cb9b62b17d4cabe56c35c0c27b43bf68c6"
},
"puma_config": {
"path": "linuxcnc/configs/sim/axis/vismach/puma/puma560.ini",
"sha256": "2bb881ed6c5662282977accac29bfd6c4efc18e572cbcb8a31c134677012cf4c"
},
"puma_dh": {
"path": "linuxcnc/configs/sim/axis/vismach/puma/puma560_dh.hal",
"sha256": "23758eb7a6a4abe116e1de88140d04e6c9a910d1c378f019d76843a5a3fb6141"
},
"source": {
"path": "linuxcnc/src/emc/kinematics/genserkins.c",
"sha256": "cbb87b9c21f9f5e1d6a3c5bd333f72a7b1b4f1618a21b32d4b34bc621b43e075"
},
"test": {
"path": "wasm-core/tests/sim_kinematics_test.c",
"sha256": "6c803de9aeb91499cef391620f17c7da69ee78a873b43b0ba9fa508fd096f31a"
}
},
"status": "partial"
}