-
Notifications
You must be signed in to change notification settings - Fork 400
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
Make NavMesh recomputation for non-default agent params optional #1724
Conversation
…pute_navmesh_on_agent_params option
…recompute_navmesh_on_agent_params=false
std::string defaultCameraUuid = "rgba_camera"; | ||
bool compressTextures = false; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If these do have a purpose, I couldn't find it.
IMO if we are adding something, we should just save the navmesh settings into the navmesh itself and then check against those. The navmesh is saved with a version so we should be able to save this with backwards compatibility and we just use the default navmesh settings. |
I agree with @erikwijmans , we should save the agent size with the navmesh. It seems like an integral property of the navmesh and the only reason we aren't doing it is technical debt. |
@aclegg3 @Skylion007 I pushed a change set to save the params into the navmesh. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, thanks for the upgrade @erikwijmans.
Motivation and Context
simulator.py
reconfigure()
automatically recomputes the NavMesh ifdefault_agent
has non-default parameters. Generally this makes sense because most of our saved NavMeshes are generated for the default agent. However, users may want to skip this if they've generated their own custom NavMeshes as in ReplicaCAD dataset for Hab2.0 rearrangement tasks.This PR primarily adds a new config optionrecompute_navmesh_on_agent_params
which defaults to previous behavior, but if toggled off allows skipping automatic recomputation.Edit: This PR adds cache, query, and serialization of navmesh settings accompanying any programmatically computed or loaded NavMesh. Existing NavMeshes computed before this PR are assumed to use default settings. If agent params are different from cached settings for the currently loaded NavMesh, it will be recomputed to match current agent settings.
In addition, I cleaned up documentation for SimulatorConfiguration and removed two unused legacy fields:
defaultCameraUuid
compressTextures
How Has This Been Tested
CI passes, new tests for NavMesh settings cache and comparators. Built the docs locally.
Types of changes
Checklist