Extend simulation runtime coverage and kinematics support
This commit is contained in:
@@ -45,11 +45,44 @@
|
||||
"joints": 5,
|
||||
"kinematics": "pentakins",
|
||||
"path": "linuxcnc/configs/sim/axis/pentapod/pentapod.ini",
|
||||
"provenance": "shipped LinuxCNC simulation",
|
||||
"scan": true
|
||||
},
|
||||
"configuration_candidates": [
|
||||
{
|
||||
"coordinates": "XYZAB",
|
||||
"id": "shipped-pentapod",
|
||||
"joints": 5,
|
||||
"kind": "real",
|
||||
"path": "linuxcnc/configs/sim/axis/pentapod/pentapod.ini"
|
||||
},
|
||||
{
|
||||
"coordinates": "XYZAB",
|
||||
"id": "offset-seed-regression",
|
||||
"initial_pose": [
|
||||
0.0,
|
||||
500.0,
|
||||
300.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"joints": 5,
|
||||
"kind": "derived",
|
||||
"path": "wasm-core/tests/sim_kinematics_test.c",
|
||||
"purpose": "non-zero roll/pitch Newton convergence and native/WASM comparison",
|
||||
"target_pose": [
|
||||
0.0,
|
||||
500.0,
|
||||
300.0,
|
||||
0.01,
|
||||
-0.01
|
||||
]
|
||||
}
|
||||
],
|
||||
"geometry": {
|
||||
"orientation": "roll/pitch only; yaw fixed at zero",
|
||||
"orientation": "roll/pitch only; yaw is constrained to zero in the forward result",
|
||||
"struts": 5,
|
||||
"tool_offset": "applied to both base and effector HAL z coordinates",
|
||||
"units": "configuration units; XYZ linear and AB degrees"
|
||||
},
|
||||
"implementation_status": "verified",
|
||||
@@ -83,12 +116,13 @@
|
||||
"reason": "linuxcnc/unit_tests/kinematics is absent from the locked source",
|
||||
"status": "blocked"
|
||||
},
|
||||
"report_sha256": "b1d1cdc8fbd64b64ffa88023c77c7ce097952966353567b023c0667a8dc1be75",
|
||||
"report_sha256": "d8863549ead6486889c8473134f9e2ce1c2835024c9ea67494c4c7e0a13a6b75",
|
||||
"samples": {
|
||||
"byte_identical_json": true,
|
||||
"native": {
|
||||
"boundaries": {
|
||||
"alternate_branch": 0,
|
||||
"alternate_branch": 1,
|
||||
"alternate_iterations": 1,
|
||||
"alternate_pose": [
|
||||
0.0,
|
||||
0.0,
|
||||
@@ -97,37 +131,42 @@
|
||||
"alternate_status": -702,
|
||||
"branch": 0,
|
||||
"iteration_limit": -702,
|
||||
"iterations": 1,
|
||||
"iteration_limit_iterations": 1,
|
||||
"iterations": 12,
|
||||
"limit_error": -702,
|
||||
"max_error": -702,
|
||||
"max_error_iterations": 1,
|
||||
"nonpositive": -702,
|
||||
"residual": 0.0,
|
||||
"singular": -704
|
||||
"nonpositive_iterations": 0,
|
||||
"residual": 1e-09,
|
||||
"singular": -704,
|
||||
"singular_iterations": 0
|
||||
},
|
||||
"pentapod": {
|
||||
"inverse": [
|
||||
619.814203778,
|
||||
655.78680467,
|
||||
750.465994974,
|
||||
351.035577947,
|
||||
327.336726304
|
||||
625.895566556,
|
||||
649.261562588,
|
||||
754.767615986,
|
||||
338.490149644,
|
||||
341.118326622
|
||||
],
|
||||
"iterations": 1,
|
||||
"iterations": 12,
|
||||
"pose": [
|
||||
0.0,
|
||||
500.0,
|
||||
300.0,
|
||||
2.0,
|
||||
-3.0
|
||||
0.01,
|
||||
-0.01
|
||||
],
|
||||
"residual": 0.0,
|
||||
"state_hash": 10088895819155863850
|
||||
"residual": 1e-09,
|
||||
"state_hash": 13978136356142463125
|
||||
}
|
||||
},
|
||||
"state_hash_identical": true,
|
||||
"wasm": {
|
||||
"boundaries": {
|
||||
"alternate_branch": 0,
|
||||
"alternate_branch": 1,
|
||||
"alternate_iterations": 1,
|
||||
"alternate_pose": [
|
||||
0.0,
|
||||
0.0,
|
||||
@@ -136,31 +175,35 @@
|
||||
"alternate_status": -702,
|
||||
"branch": 0,
|
||||
"iteration_limit": -702,
|
||||
"iterations": 1,
|
||||
"iteration_limit_iterations": 1,
|
||||
"iterations": 12,
|
||||
"limit_error": -702,
|
||||
"max_error": -702,
|
||||
"max_error_iterations": 1,
|
||||
"nonpositive": -702,
|
||||
"residual": 0.0,
|
||||
"singular": -704
|
||||
"nonpositive_iterations": 0,
|
||||
"residual": 1e-09,
|
||||
"singular": -704,
|
||||
"singular_iterations": 0
|
||||
},
|
||||
"pentapod": {
|
||||
"inverse": [
|
||||
619.814203778,
|
||||
655.78680467,
|
||||
750.465994974,
|
||||
351.035577947,
|
||||
327.336726304
|
||||
625.895566556,
|
||||
649.261562588,
|
||||
754.767615986,
|
||||
338.490149644,
|
||||
341.118326622
|
||||
],
|
||||
"iterations": 1,
|
||||
"iterations": 12,
|
||||
"pose": [
|
||||
0.0,
|
||||
500.0,
|
||||
300.0,
|
||||
2.0,
|
||||
-3.0
|
||||
0.01,
|
||||
-0.01
|
||||
],
|
||||
"residual": 0.0,
|
||||
"state_hash": 10088895819155863850
|
||||
"residual": 1e-09,
|
||||
"state_hash": 13978136356142463125
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -178,7 +221,8 @@
|
||||
300.0,
|
||||
0.0,
|
||||
0.0
|
||||
]
|
||||
],
|
||||
"seed_units": "XYZ in configuration units; A/B in radians internally"
|
||||
},
|
||||
"source_records": {
|
||||
"config": {
|
||||
@@ -195,11 +239,11 @@
|
||||
},
|
||||
"implementation": {
|
||||
"path": "wasm-core/src/sim_kinematics.c",
|
||||
"sha256": "424873c8e5d3d5b45daf616d95a58157c6dbcbbee9f4cc512b58bfb2672c6145"
|
||||
"sha256": "316fe74604180b6e9ae7f66369f084278f1b54b7c4545ec9efa870186adc9600"
|
||||
},
|
||||
"kinematics_header": {
|
||||
"path": "wasm-core/include/sim_kinematics.h",
|
||||
"sha256": "0c6d955717982e9d1a24d1240a1c657fc37dfe166c5738d3ee23878e46b2a98d"
|
||||
"sha256": "34b08db612056432e08705951032418bf6f6cd2c285bde5743515588fbe484ec"
|
||||
},
|
||||
"source": {
|
||||
"path": "linuxcnc/src/emc/kinematics/pentakins.c",
|
||||
@@ -207,7 +251,7 @@
|
||||
},
|
||||
"test": {
|
||||
"path": "wasm-core/tests/sim_kinematics_test.c",
|
||||
"sha256": "3bda403d3af592dcc69ee9b1f3c96dda97b952f827a1c9ce5393e01cd357c403"
|
||||
"sha256": "715882c28ec242be652357d330a4b56d60f8e93f2e821193133911576e400aac"
|
||||
}
|
||||
},
|
||||
"status": "partial",
|
||||
@@ -218,31 +262,37 @@
|
||||
0.0
|
||||
],
|
||||
"alternate_seed_error": -702,
|
||||
"alternate_seed_iterations": 1,
|
||||
"iteration_limit_error": -702,
|
||||
"iterations": 1,
|
||||
"iteration_limit_iterations": 1,
|
||||
"iterations": 12,
|
||||
"joint_limit_error": -702,
|
||||
"max_error_boundary": -702,
|
||||
"max_error_iterations": 1,
|
||||
"nominal": {
|
||||
"inverse": [
|
||||
619.814203778,
|
||||
655.78680467,
|
||||
750.465994974,
|
||||
351.035577947,
|
||||
327.336726304
|
||||
625.895566556,
|
||||
649.261562588,
|
||||
754.767615986,
|
||||
338.490149644,
|
||||
341.118326622
|
||||
],
|
||||
"iterations": 1,
|
||||
"iterations": 12,
|
||||
"pose": [
|
||||
0.0,
|
||||
500.0,
|
||||
300.0,
|
||||
2.0,
|
||||
-3.0
|
||||
0.01,
|
||||
-0.01
|
||||
],
|
||||
"residual": 0.0,
|
||||
"state_hash": 10088895819155863850
|
||||
"residual": 1e-09,
|
||||
"state_hash": 13978136356142463125
|
||||
},
|
||||
"nonpositive_joint_error": -702,
|
||||
"residual": 0.0,
|
||||
"singular_jacobian_error": -704
|
||||
"nonpositive_joint_iterations": 0,
|
||||
"posture_constraint": "C/yaw is not a configured joint and forward output is exactly zero",
|
||||
"residual": 1e-09,
|
||||
"singular_jacobian_error": -704,
|
||||
"singular_jacobian_iterations": 0
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user