Repository navigation
Conversation
yuecideng
force-pushed
the
codex/curobo-linear-approach
branch
from
November 15, 2026 10:38
a3dc559 to
2f57c3e
Compare
This branch has not been deployed
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
cuRobo waypoint planning constrains endpoint poses but can still drift sideways or rotate during a grasp approach. Add opt-in
CuroboPlanOptions.path_constraintswith aCuroboLinearConstraintCfgfor each selected full-pose Cartesian segment. Native line/orientation costs and feasibility checks guide the solve; bounded FK batches then validate the actual TCP, including tool offsets. Failed environments retain the normal start-hold result, and cached native criteria are restored after each constrained segment, including exceptions.The defaults remain unchanged. Constrained requests preserve native samples and support target-TCP or planning-base directions. The implementation also covers CPU physics with CUDA planning. These are whole-segment, sampled constraints; monotonic progress, continuous validity between samples, and the V1 time-activated single-optimization approach remain outside this change.
Include a runnable 45 cm side-approach example with a physical alignment frame. Both variants use identical initial joints, target, collision world, sampling resets, and limits. The example independently scores TCP geometry, checks native sampled world collisions, and renders synchronized overview/overhead videos through EmbodiChain Hybrid. A separate benchmark records synchronized planning latency, memory accounting, and quality metrics. The guide explains the geometry, coordinate transforms, tolerance semantics, state lifecycle, and reproduction commands.
Dependencies: the existing optional cuRobo V2-Fast 0.9+ / CUDA runtime. FFmpeg is needed for example video export, and Matplotlib for benchmark plots. No dependency metadata changes.
Refs #571. This PR does not close the issue's remaining late-activated, blended-approach objective.
Type of change
Example
The runnable example generates its images and recordings locally; no image or video files are included in this PR. Both paths pass native sampled world-collision validation; self-collision retains the existing backend limitation. This demonstrates planned approach geometry, not physical insertion success.
Reproduce from the repository root in the CUDA/cuRobo environment:
Validation
python -m black .; clean formatting andgit diff --check.Coverage review: the focused additions cover undefined geometry, unsupported target semantics/resampling, rotated and translated TCP frames, intermediate position/rotation excursions including small-angle precision, native state restoration/cache updates, batched partial failure, and device conversion. Existing facade/query-snapshot coverage is reused. The example is validated through its CLI and real planning/rendering rather than tutorial-specific unit tests.
Context review: updated the motion-planning integration contract. Simulation-system guidance remains accurate because physics, rendering, and execution ownership are unchanged.
Checklist
black .command to format the code base.python docs/scripts/check_api_docs.py).