Implement WebAssembly runtime and kinematics coverage
This commit is contained in:
333
coverage/genhex-kinematics.report.json
Normal file
333
coverage/genhex-kinematics.report.json
Normal file
@@ -0,0 +1,333 @@
|
||||
{
|
||||
"configuration_candidate": {
|
||||
"coordinates": "XYZABC",
|
||||
"hal_geometry": {
|
||||
"base": [
|
||||
-22.95,
|
||||
13.25,
|
||||
0.0,
|
||||
22.95,
|
||||
13.25,
|
||||
0.0,
|
||||
22.95,
|
||||
13.25,
|
||||
0.0,
|
||||
0.0,
|
||||
-26.5,
|
||||
0.0,
|
||||
0.0,
|
||||
-26.5,
|
||||
0.0,
|
||||
-22.95,
|
||||
13.25,
|
||||
0.0
|
||||
],
|
||||
"platform": [
|
||||
-1.0,
|
||||
11.5,
|
||||
0.0,
|
||||
1.0,
|
||||
11.5,
|
||||
0.0,
|
||||
10.459,
|
||||
-4.884,
|
||||
0.0,
|
||||
9.459,
|
||||
-6.616,
|
||||
0.0,
|
||||
-9.459,
|
||||
-6.616,
|
||||
0.0,
|
||||
-10.459,
|
||||
-4.884,
|
||||
0.0
|
||||
]
|
||||
},
|
||||
"hal_pins": [
|
||||
"last-iterations",
|
||||
"max-iterations",
|
||||
"limit-iterations",
|
||||
"max-error",
|
||||
"convergence-criterion",
|
||||
"fwd-kins-fail",
|
||||
"x",
|
||||
"y",
|
||||
"z",
|
||||
"a",
|
||||
"b",
|
||||
"c"
|
||||
],
|
||||
"joints": 6,
|
||||
"kinematics": "genhexkins",
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/hexapod-sim/hexapod.ini",
|
||||
"scan": true
|
||||
},
|
||||
"geometry": {
|
||||
"base_points": [
|
||||
[
|
||||
-22.95,
|
||||
13.25,
|
||||
0.0
|
||||
],
|
||||
[
|
||||
22.95,
|
||||
13.25,
|
||||
0.0
|
||||
],
|
||||
[
|
||||
22.95,
|
||||
13.25,
|
||||
0.0
|
||||
],
|
||||
[
|
||||
0.0,
|
||||
-26.5,
|
||||
0.0
|
||||
],
|
||||
[
|
||||
0.0,
|
||||
-26.5,
|
||||
0.0
|
||||
],
|
||||
[
|
||||
-22.95,
|
||||
13.25,
|
||||
0.0
|
||||
]
|
||||
],
|
||||
"platform_points": [
|
||||
[
|
||||
-1.0,
|
||||
11.5,
|
||||
0.0
|
||||
],
|
||||
[
|
||||
1.0,
|
||||
11.5,
|
||||
0.0
|
||||
],
|
||||
[
|
||||
10.459,
|
||||
-4.884,
|
||||
0.0
|
||||
],
|
||||
[
|
||||
9.459,
|
||||
-6.616,
|
||||
0.0
|
||||
],
|
||||
[
|
||||
-9.459,
|
||||
-6.616,
|
||||
0.0
|
||||
],
|
||||
[
|
||||
-10.459,
|
||||
-4.884,
|
||||
0.0
|
||||
]
|
||||
],
|
||||
"struts": 6,
|
||||
"units": "configuration units; XYZ linear and ABC degrees"
|
||||
},
|
||||
"implementation_status": "verified",
|
||||
"mapping": {
|
||||
"coordinates": "XYZABC",
|
||||
"extra_joint_policy": "rejected",
|
||||
"joint_semantics": [
|
||||
"strut-0",
|
||||
"strut-1",
|
||||
"strut-2",
|
||||
"strut-3",
|
||||
"strut-4",
|
||||
"strut-5"
|
||||
],
|
||||
"kinematics_joint_count": 6
|
||||
},
|
||||
"native_wasm": {
|
||||
"native_command": "build-native/sim_kinematics_test",
|
||||
"status": "passed",
|
||||
"wasm_command": "node build-wasm/sim_kinematics_wasm_test.js"
|
||||
},
|
||||
"oracle": {
|
||||
"blocked_samples": [
|
||||
"nominal six-leg pose",
|
||||
"alternate initial seed",
|
||||
"nonpositive strut",
|
||||
"iteration limit",
|
||||
"maximum error",
|
||||
"singular Jacobian",
|
||||
"joint limit"
|
||||
],
|
||||
"reason": "linuxcnc/unit_tests/kinematics is absent from the locked source",
|
||||
"status": "blocked"
|
||||
},
|
||||
"report_sha256": "992b96bae770789e6013cfffaeb3c47d8ecfde24d7abe974987e66250921ea78",
|
||||
"samples": {
|
||||
"byte_identical_json": true,
|
||||
"native": {
|
||||
"boundaries": {
|
||||
"alternate_branch": 1,
|
||||
"alternate_pose": [
|
||||
10.0,
|
||||
-5.0,
|
||||
-60.0
|
||||
],
|
||||
"alternate_status": 0,
|
||||
"branch": 0,
|
||||
"iteration_limit": -702,
|
||||
"iterations": 14,
|
||||
"limit_error": -702,
|
||||
"max_error": -702,
|
||||
"nonpositive": -702,
|
||||
"residual": 8.57e-10,
|
||||
"singular": -704
|
||||
},
|
||||
"genhex": {
|
||||
"inverse": [
|
||||
68.274402001,
|
||||
63.00792855,
|
||||
63.783820692,
|
||||
65.475127133,
|
||||
60.456723205,
|
||||
68.231500501
|
||||
],
|
||||
"iterations": 14,
|
||||
"pose": [
|
||||
10.0,
|
||||
-5.0,
|
||||
60.0,
|
||||
4.999999999,
|
||||
-3.000000001,
|
||||
10.0
|
||||
],
|
||||
"residual": 8.57e-10,
|
||||
"state_hash": 11890997469032613683
|
||||
}
|
||||
},
|
||||
"state_hash_identical": true,
|
||||
"wasm": {
|
||||
"boundaries": {
|
||||
"alternate_branch": 1,
|
||||
"alternate_pose": [
|
||||
10.0,
|
||||
-5.0,
|
||||
-60.0
|
||||
],
|
||||
"alternate_status": 0,
|
||||
"branch": 0,
|
||||
"iteration_limit": -702,
|
||||
"iterations": 14,
|
||||
"limit_error": -702,
|
||||
"max_error": -702,
|
||||
"nonpositive": -702,
|
||||
"residual": 8.57e-10,
|
||||
"singular": -704
|
||||
},
|
||||
"genhex": {
|
||||
"inverse": [
|
||||
68.274402001,
|
||||
63.00792855,
|
||||
63.783820692,
|
||||
65.475127133,
|
||||
60.456723205,
|
||||
68.231500501
|
||||
],
|
||||
"iterations": 14,
|
||||
"pose": [
|
||||
10.0,
|
||||
-5.0,
|
||||
60.0,
|
||||
4.999999999,
|
||||
-3.000000001,
|
||||
10.0
|
||||
],
|
||||
"residual": 8.57e-10,
|
||||
"state_hash": 11890997469032613683
|
||||
}
|
||||
}
|
||||
},
|
||||
"schema": "genhex-kinematics-report.v1",
|
||||
"solver": {
|
||||
"alternate_seed_flag": "SIM_KIN_GENHEX_ALTERNATE_SEED bit 1",
|
||||
"default_convergence_tolerance": 1e-09,
|
||||
"default_iteration_limit": 120,
|
||||
"default_max_error": 500.0,
|
||||
"forward": "Newton-Raphson 6x6 Jacobian",
|
||||
"inverse": "closed-form six strut lengths",
|
||||
"seed": [
|
||||
0.0,
|
||||
0.0,
|
||||
50.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
]
|
||||
},
|
||||
"source_records": {
|
||||
"config": {
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/hexapod-sim/hexapod.ini",
|
||||
"sha256": "362654b77bcaf5c87c3aa14c12684f516cbd635b6d582a68b05fcbd8299822ea"
|
||||
},
|
||||
"hal": {
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/hexapod-sim/kinematics.hal",
|
||||
"sha256": "6dd6d63e0403dcc0c82b43790eaa5b4a4d639c5a02391ac1dcd5673969c4ec39"
|
||||
},
|
||||
"header": {
|
||||
"path": "linuxcnc/src/emc/kinematics/genhexkins.h",
|
||||
"sha256": "580a2e1703a5c0efb683b4a26f805af434edcfe9d1ade7890e44307f8b0b236c"
|
||||
},
|
||||
"implementation": {
|
||||
"path": "wasm-core/src/sim_kinematics.c",
|
||||
"sha256": "6abae835c16feb27ec1dc28a9ea5384f0bc5190217ba04a4997048d83066b905"
|
||||
},
|
||||
"kinematics_header": {
|
||||
"path": "wasm-core/include/sim_kinematics.h",
|
||||
"sha256": "939d4088d9e7120e4a405be154eb3d98cd4e5925fc27d47641c115624c1bd994"
|
||||
},
|
||||
"source": {
|
||||
"path": "linuxcnc/src/emc/kinematics/genhexkins.c",
|
||||
"sha256": "8df3d8bd812e040a06bc29ea91625fd143bacf26903b106ae6700430aca7f6b9"
|
||||
},
|
||||
"test": {
|
||||
"path": "wasm-core/tests/sim_kinematics_test.c",
|
||||
"sha256": "c9e4d20973c6a487787504bd5de9a73829f53d8bbfd35f91e72c6c62c76f191e"
|
||||
}
|
||||
},
|
||||
"status": "partial",
|
||||
"workspace_and_boundaries": {
|
||||
"alternate_seed": [
|
||||
10.0,
|
||||
-5.0,
|
||||
-60.0
|
||||
],
|
||||
"iteration_limit_error": -702,
|
||||
"iterations": 14,
|
||||
"joint_limit_error": -702,
|
||||
"max_error_boundary": -702,
|
||||
"nominal": {
|
||||
"inverse": [
|
||||
68.274402001,
|
||||
63.00792855,
|
||||
63.783820692,
|
||||
65.475127133,
|
||||
60.456723205,
|
||||
68.231500501
|
||||
],
|
||||
"iterations": 14,
|
||||
"pose": [
|
||||
10.0,
|
||||
-5.0,
|
||||
60.0,
|
||||
4.999999999,
|
||||
-3.000000001,
|
||||
10.0
|
||||
],
|
||||
"residual": 8.57e-10,
|
||||
"state_hash": 11890997469032613683
|
||||
},
|
||||
"nonpositive_joint_error": -702,
|
||||
"residual": 8.57e-10,
|
||||
"singular_jacobian_error": -704
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user