[JTC] cross chunk continuity for positions upsampling - #2573
Open
vedh1234 wants to merge 8 commits into
Open
Conversation
github-actions
Bot
requested review from
aprotyas,
bijoua29,
christophfroehlich,
erickisos and
saikishor
August 18, 2026 21:49
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #2573 +/- ##
==========================================
+ Coverage 87.00% 87.07% +0.06%
==========================================
Files 157 157
Lines 17528 17615 +87
Branches 1489 1493 +4
==========================================
+ Hits 15251 15338 +87
+ Misses 1722 1720 -2
- Partials 555 557 +2
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
christophfroehlich
requested changes
Aug 19, 2026
Member
There was a problem hiding this comment.
this looks great, but the "upsampling enabled" version is now obsolete right? So this picture is great for the PR, but not for the general docs?
Contributor
Author
There was a problem hiding this comment.
Yeah I agree, I'll just update the original upsampling diagram instead with this plot.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Add cross-chunk velocity continuity to the
positions_upsamplingfeature to eliminate ringing and velocity dips when streaming trajectory chunks from AI policies.Background
The initial
positions_upsamplingPR#2491 added smooth cubic splines within chunks but relied on rest boundary conditions (v₀ = vₙ₋₁ = 0). When streaming continuous chunks from a policy (e.g., 5Hz replan), this forced the robot to decelerate at the start of every chunk, causing high-frequency velocity ringing and massive acceleration spikes.Is this user-facing behavior change?
No. This is a purely mathematical improvement to the existing
positions_upsampling.enablefeature.Did you use Generative AI?
Yes, Google Gemini and Claude were used to assist. All generated code was reviewed, modified, and verified by the author.
Additional Information
TODOs
To send us a pull request, please:
colcon testandpre-commit run(requires you to install pre-commit bypip3 install pre-commit)Test Scenario
A
5Hzreplan with a30Hztarget rate was tested using a continuous sine wave reference. Option A suggests appending commanded velocity at first waypoint of the trajectory but that would make the velocity same for current point and first waypoint in case of t=dt which causes discontinuity in accelaration. Option B: we prepend the commanded state waypoint in the message itself and accordingly calculate velocity at the first waypoint leading to a smooth trajectory as shown in blue colour.