-
Notifications
You must be signed in to change notification settings - Fork 424
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Prototype] - Rearrange Scene Evaluation and Collision Proxy Optimizer (CPO) #2078
Draft
aclegg3
wants to merge
85
commits into
main
Choose a base branch
from
collision-shape-automation
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains 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
facebook-github-bot
added
the
CLA Signed
Do not delete this pull request or issue due to inactivity.
label
Apr 19, 2023
5 tasks
Skylion007
reviewed
Apr 25, 2023
5 tasks
aclegg3
added
the
do not merge
Not ready to merge. This label should block merging.
label
Aug 17, 2023
jturner65
force-pushed
the
collision-shape-automation
branch
from
March 5, 2024 17:07
6208520
to
8ccd869
Compare
…ape) and some QoL features for viewer
…d output directory. Import Habitat-lab features.
… Validate proxy bounding box is similar to ground truth. Prepare for Recetpacle sampling TODO.
…debug image draw.
…isphere raycasting, debug draw improvements.
…cal offset option
…ct subset of objects
… found in a single scene. Re-organize receptacle metrics caching.
…after exporting them from spot_viewer
jturner65
force-pushed
the
collision-shape-automation
branch
from
March 5, 2024 18:45
8ccd869
to
43a4310
Compare
For free-look-like behavior
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
CLA Signed
Do not delete this pull request or issue due to inactivity.
do not merge
Not ready to merge. This label should block merging.
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.
Motivation and Context
This branch contains a set of utilities designed for evaluation and optimization of synthetic scenes for object rearrangement.
Primary components (high level):
Dependencies:
main
or including PR 1249Details examples/viewer.py:
Primary purpose is to evaluate a full scene for use with rearrangement and manually filter Receptacles.
CLI options:
--init-cpo
: runs the CPO metrics for all Receptacles in the scene. Necessary to visualize receptacles with metric coloring.--rec-filter-file
provide an alternative path to receptacle filter metadata file IO.UI:
Example
Details examples/spot_viewer.py:
Primary purpose is to evaluate Spot robot's ability to navigate the scene and then to interactively modify the scene to correct for any issues.
Details examples/obj_viewer.py:
Primary purpose is to evaluate particular objects and get a closer look at their performance as receptacles.
CLI options:
--target-object
: (replaces--scene
) - provide the name of the object to visualize (e.g.f9106be97a1c9ea06b8ac1ddf0e3aa60b1fe2a94
)--col-obj
: provide and alternative collision proxy object file.UI:
Example:
Details tools/collision_shape_automation.py:
Primary purpose is to provide a set of tools and CLI for optimizating collision shapes such they better match ground truth object shape and Receptacle performance.
CLI options:
Run with
--help
for details.Provide either a list of scenes or objects (shortened names separated by spaces):
--scenes
: one or more scenes to optimize.--objects
: one or more objects to optimize.Additional parameters:
--output-dir
: output directory for saved csv and images. Default =./collision_shape_automation/
.--debug-images
: turns on debug image output.Example:
Note that COACD files will export to
./COACD_output/
and the best proxy shapes will be copied into your provided dataset directory in place of the current proxy shape.For example, after running this tool on
fphab/
scene dataset, rungit status
in the dataset directory to see modified collision shapes.How Has This Been Tested
Locally
Example output of optimization:
Types of changes
Prototype, no testing or intent to merge as-is.