mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-09-30 17:03:41 +08:00
01f5d54292
Sample position and orientation at the existing distance stations, retain measured-steering feedback against the path heading, and apply request limits independently to C0 and C1. Reuse the geometry toggle with upstream and maneuver fallback unchanged. Defer the untested raw-torque filtering change so this trial compares against the driven baseline. Validate with 593 tests and paired full-route replays; no physical tracking improvement is claimed.
155 lines
5.3 KiB
JSON
155 lines
5.3 KiB
JSON
{
|
|
"15a": {
|
|
"cycles": 21867,
|
|
"wire_checks": 2187,
|
|
"baseline_recorded_error_p50_p95_p99_max": {
|
|
"c0": [
|
|
4.172324707951702e-09,
|
|
5.2452087118126656e-08,
|
|
8.583068833445395e-08,
|
|
1.1444091807533141e-07
|
|
],
|
|
"c1": [
|
|
8.791685157660822e-10,
|
|
1.1682510403510094e-08,
|
|
1.4305114759416426e-08,
|
|
1.478195188475695e-08
|
|
]
|
|
},
|
|
"latched_angle_match_fraction": 1.0,
|
|
"command_changes": {
|
|
"c0": [
|
|
0.2799999999999998,
|
|
1.3800000000000003,
|
|
1.8000000000000007,
|
|
2.51
|
|
],
|
|
"c1": [
|
|
0.01749999999999996,
|
|
0.124,
|
|
0.2940450000000001,
|
|
0.45200000000000007
|
|
]
|
|
},
|
|
"reference_change_p50_p95_max": [
|
|
0.0015834828704371431,
|
|
0.012526763883651669,
|
|
0.03905121179470369
|
|
],
|
|
"variants": {
|
|
"old": {
|
|
"feedback_switches_active": 112,
|
|
"feedback_switches_low_speed": 61,
|
|
"low_speed_c0_steps_over_025m": 52,
|
|
"low_speed_c1_steps_over_005rad": 36,
|
|
"low_speed_step_p99": {
|
|
"c0": 0.4996000000000004,
|
|
"c1": 0.05668000000000003
|
|
},
|
|
"c0_bound_active_s": 0.0,
|
|
"c1_bound_active_s": 2.5702606670000137
|
|
},
|
|
"new": {
|
|
"feedback_switches_active": 112,
|
|
"feedback_switches_low_speed": 61,
|
|
"low_speed_c0_steps_over_025m": 52,
|
|
"low_speed_c1_steps_over_005rad": 46,
|
|
"low_speed_step_p99": {
|
|
"c0": 0.8499999999999996,
|
|
"c1": 0.08540000000000011
|
|
},
|
|
"c0_bound_active_s": 0.0,
|
|
"c1_bound_active_s": 6.774772933000349
|
|
}
|
|
},
|
|
"method": "Compare direct model-path commands against the driven geometry-curvature controller.\n\nInput: extract.py route.npz/model_paths.npz/metadata.json directories. This checks\nreference selection, command continuity and overrides; it does not predict a changed wheel response.\n",
|
|
"provenance": {
|
|
"baseline_commit": "18ded0380045c29520cf1f690688e48ebad043d8",
|
|
"baseline_controller_sha256": "8bc8554ed6743c5faf433deaa6de3f07fae27d183f62b04f49f9c3b9f1e8dcca",
|
|
"candidate_controller_sha256": "02b64f40a56cadefb181afbf7c3720affa3c7fe4ac18a2902dc9c546fd6b395d",
|
|
"fixed_c0_distance_m": 7.0
|
|
},
|
|
"sources_sha256": {
|
|
".cache/ford_route15a/rlog_full/route.npz": "057ce69ce028b2c9c1b42ab8110f35c888a6c398ddcc4156e74afc98c83d119d",
|
|
".cache/ford_route15a/rlog_full/model_paths.npz": "ef820d9df14afa308bf46f95463b636a599ff24fd08bffaff1ae671b3932c24a",
|
|
".cache/ford_route15a/rlog_full/metadata.json": "bea47c7f0c0b583964ced3484fe814ec9a7a24abbfe6272e70f9dde12580a756"
|
|
}
|
|
},
|
|
"15b": {
|
|
"cycles": 22278,
|
|
"wire_checks": 2228,
|
|
"baseline_recorded_error_p50_p95_p99_max": {
|
|
"c0": [
|
|
6.70552502413102e-10,
|
|
3.814697269177714e-08,
|
|
1.0490417512443173e-07,
|
|
0.009999947547912669
|
|
],
|
|
"c1": [
|
|
1.9371515502797365e-10,
|
|
5.4836273299940785e-09,
|
|
1.2159347528850617e-08,
|
|
1.478195188475695e-08
|
|
]
|
|
},
|
|
"latched_angle_match_fraction": 0.9999321895978843,
|
|
"command_changes": {
|
|
"c0": [
|
|
0.040000000000000036,
|
|
1.08,
|
|
1.7699999999999996,
|
|
2.46
|
|
],
|
|
"c1": [
|
|
0.003500000000000003,
|
|
0.12449999999999994,
|
|
0.22634999999999764,
|
|
0.406
|
|
]
|
|
},
|
|
"reference_change_p50_p95_max": [
|
|
0.00021085212911765025,
|
|
0.013382994089416386,
|
|
0.03945627628640698
|
|
],
|
|
"variants": {
|
|
"old": {
|
|
"feedback_switches_active": 238,
|
|
"feedback_switches_low_speed": 107,
|
|
"low_speed_c0_steps_over_025m": 85,
|
|
"low_speed_c1_steps_over_005rad": 32,
|
|
"low_speed_step_p99": {
|
|
"c0": 0.36999999999999944,
|
|
"c1": 0.03771999999999984
|
|
},
|
|
"c0_bound_active_s": 0.0,
|
|
"c1_bound_active_s": 6.701652654999748
|
|
},
|
|
"new": {
|
|
"feedback_switches_active": 238,
|
|
"feedback_switches_low_speed": 107,
|
|
"low_speed_c0_steps_over_025m": 129,
|
|
"low_speed_c1_steps_over_005rad": 57,
|
|
"low_speed_step_p99": {
|
|
"c0": 0.6187999999999921,
|
|
"c1": 0.05121999999999982
|
|
},
|
|
"c0_bound_active_s": 0.0,
|
|
"c1_bound_active_s": 7.542629173000023
|
|
}
|
|
},
|
|
"method": "Compare direct model-path commands against the driven geometry-curvature controller.\n\nInput: extract.py route.npz/model_paths.npz/metadata.json directories. This checks\nreference selection, command continuity and overrides; it does not predict a changed wheel response.\n",
|
|
"provenance": {
|
|
"baseline_commit": "18ded0380045c29520cf1f690688e48ebad043d8",
|
|
"baseline_controller_sha256": "8bc8554ed6743c5faf433deaa6de3f07fae27d183f62b04f49f9c3b9f1e8dcca",
|
|
"candidate_controller_sha256": "02b64f40a56cadefb181afbf7c3720affa3c7fe4ac18a2902dc9c546fd6b395d",
|
|
"fixed_c0_distance_m": 7.0
|
|
},
|
|
"sources_sha256": {
|
|
".cache/ford_route15b/rlog_full/route.npz": "f95e1c16a4677fee0ab57002d714e22716bf11873c308280553312fa9d18aab0",
|
|
".cache/ford_route15b/rlog_full/model_paths.npz": "a90be55943ce0009afbf38ef2035b3fff4de8ab00ea266636247bcc5a5012eae",
|
|
".cache/ford_route15b/rlog_full/metadata.json": "545ef8d6740e57237f35b2ca684111fc2d774e83aa1d6c8a5a0fff1b71270e85"
|
|
}
|
|
}
|
|
}
|