Skip to content

Stop trajectories at shortcut corners - #6

Merged
Dylan-Gallagher merged 3 commits into
mainfrom
research/global-jerk-corner-stops
Aug 17, 2026
Merged

Dylan-Gallagher merged 3 commits into
mainfrom
research/global-jerk-corner-stops

Conversation

@Dylan-Gallagher

Copy link
Copy Markdown
Owner

Summary

  • replace the single nonzero-speed polyline traversal with an independent
    rest-to-rest seven-phase S-curve on every nonzero shortcut edge;
  • sample each shortcut corner once at exactly zero velocity and acceleration,
    making position, velocity, and acceleration continuous across the complete
    trajectory;
  • expose sampled analytic joint jerk as Trajectory::qddd and test analytic
    plus finite-difference derivative bounds;
  • time the planner's shortcut waypoints rather than its collision-check
    densification samples; and
  • regenerate every affected robustness, multi-query, randomized-tracking, and
    attached-payload artifact under unchanged pass gates.

The design and promotion gates were committed first in da73e85. Implementation
is isolated in 203099a; regenerated evidence and claim updates are in
c61f575.

Fixed-seed result

Demo 2 now produces 1,919 samples over 3.836 s at 2 ms, with measured peaks of:

  • 0.550 rad/s against a 0.550 limit;
  • 1.799 rad/s² against a 1.800 limit; and
  • 7.996 rad/s³ against an 8.000 limit.

Its one interior shortcut corner is sampled once at exact rest. Recorded
feedforward tracking maximum changes from 0.0046 to 0.0020 rad. The additional
0.336 s duration is retained and reported.

Retained negative and aggregate evidence

  • Multi-query planning remains 30/30 direct-free and 15/15 obstructed.
  • Velocity feedforward remains 14/18 numeric and 13/18 after the sampled-
    penetration gate; position PD remains 0/18.
  • Randomized canonical planning remains 138/300. Velocity feedforward remains
    104/138 numeric and 90/138 after the sampled-penetration gate; position PD
    remains 0/138.
  • All four fixed penetration cases and all 37/276 randomized penetration
    replays remain visible. No threshold, fixture, query, or failed case was
    changed or removed.

Verification

  • cargo fmt --all -- --check
  • cargo clippy --workspace --all-targets --all-features -- -D warnings
  • cargo test --release --workspace --all-targets
  • cargo run --release -p arm-lab-demo --bin multi_query_bench -- --check
  • cargo run --release -p arm-lab-demo --bin randomized_eval -- --check

The last two commands replay 45 fixed planning trials, 36 fixed tracking cases,
300 accepted randomized queries, and 276 randomized controller replays. Only
observational planner wall time is normalized.

Claim boundary

Jerk is bounded almost everywhere, not globally continuous: it may jump between
finite one-sided phase values at phase and waypoint boundaries. This is a
full-stop strategy, not geometric corner blending or time-optimal path
parameterization. Collision evidence remains discrete/sampled simulation
evidence; this PR does not claim continuous swept-volume safety, positive robot
clearance, hardware performance, or sim-to-real transfer.

Development and validation used OpenAI Codex assistance. The commits, numerical
claims, generated artifacts, and limitations were checked against the frozen
pre-result protocol before publication.

Signed-off-by: Dylan Gallagher <76841713+Dylan-Gallagher@users.noreply.github.com>
Signed-off-by: Dylan Gallagher <76841713+Dylan-Gallagher@users.noreply.github.com>
Signed-off-by: Dylan Gallagher <76841713+Dylan-Gallagher@users.noreply.github.com>
@Dylan-Gallagher
Dylan-Gallagher merged commit cf7cd38 into main Aug 17, 2026
1 check passed
@Dylan-Gallagher
Dylan-Gallagher deleted the research/global-jerk-corner-stops branch August 17, 2026 17:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant