Skip to content

fix: pad query radii with point radii before top AABB check in CAPT#82

Merged
claytonwramsey merged 2 commits into
mainfrom
aabb_top_pad
Dec 17, 2025
Merged

fix: pad query radii with point radii before top AABB check in CAPT#82
claytonwramsey merged 2 commits into
mainfrom
aabb_top_pad

Conversation

@claytonwramsey

Copy link
Copy Markdown
Member

In CAPTs, point radii are fictitious: their only effect is to pad the radii of spheres used in queries. Previously, the implementation of the CAPT waited until after query spheres had been classified into their leaf cells, then padded the query radii. However, this means that the CAPT could erroneously accept some spheres as non-colliding if they did not intersect the top AABB unless padded by the point radius.

This fixes erroneous acceptances by moving the padding step to the very start of the query procedures for CAPTs.

@claytonwramsey
claytonwramsey merged commit 0b93cef into main Dec 17, 2025
7 checks passed
@claytonwramsey
claytonwramsey deleted the aabb_top_pad branch December 17, 2025 16:32
oh-yes-0-fps added a commit to valstad-shipworks/vamp that referenced this pull request Mar 17, 2026
* Expose the validate_motion function and the robot’s lower and upper bounds to Python. (KavrakiLab#81)

* Add validate_motion function

* Add upper and lower bounds functions

* Clang format

* fix: update bounds checking logic

* fix: enable bounds checking

* fix: pad query radii with point radii before top AABB check in CAPT (KavrakiLab#82)

In CAPTs, point radii are fictitious: their only effect is to pad the radii of spheres used in queries. Previously, the implementation of the CAPT waited until after query spheres had been classified into their leaf cells, then padded the query radii. However, this means that the CAPT could erroneously accept some spheres as non-colliding if they did not intersect the top AABB unless padded by the point radius.

This fixes erroneous acceptances by moving the padding step to the very start of the query procedures for CAPTs.

* feat: add example of using viser with VAMP python interface (KavrakiLab#76)

* chore: fix style to match yapf (KavrakiLab#83)

* docs: update URL for CAPT work to point to official proceedings (KavrakiLab#84)

* fixed aorrtc benchmarking when early exit (KavrakiLab#86)

* fixed aorrtc benchmark for early exit

* removed extra lines

* fixed phs sample clamp (KavrakiLab#87)

* fixed phs sample clamp

* format

* feat: initial convex polytope collision working and testing

* fix: good defaults in mesh_test.py

* feat: AABB mid check, no broadcast in loop

* feat: OBB precheck

* chore: cleanup and fixes

* fix: missing paren

* chore: clang-format

* add from_both polytope obstacle constructor to python bindings

* add support for cuboid-polytope collision checks

---------

Co-authored-by: Weihang Guo <weihang.guo2001@gmail.com>
Co-authored-by: Clayton Ramsey <claytonwramsey@gmail.com>
Co-authored-by: Shrutheesh Raman Iyer <34128076+ShrutheeshIR@users.noreply.github.com>
Co-authored-by: Chih Huang <105421233+Squirtleee@users.noreply.github.com>
Co-authored-by: Zachary Kingston <zkingston@purdue.edu>
Co-authored-by: Zachary Kingston <kingston.zak@gmail.com>
Co-authored-by: Sam Rooney <the.sam.rooney@gmail.com>
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