-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Support Additional Constraints for IRIS-ZO #22557
Comments
@sherm1 I'm happy to handle this, but could use some advice on which approach to take for the implementation. Who's responsible for CollisionChecker? (Maybe they could have some insight into whether it's acceptable to make a new subclass.) |
Looks like @calderpg-tri and @SeanCurtis-TRI could advise on CollisionChecker. |
On a fundamental basis, I think * I do intend to make much of our internal planning tools public in |
To elaborate a bit more - the Likewise, much of the complexity of |
Thank you for sharing! Definitely sounds like we shouldn't go making a new For now, I'll probably plan to use a similar setup to @wernerpe does this sound good to you? Note that we can also handle arbitrary functions via |
It's important to note here that many (perhaps most) of the "interesting" constraints can't be thread-safe due to needing an MbP context, and thus tying your ability to parallelize to whether or not all of the provided constraints can be evaluated in parallel is likely going to be very limiting. The way our constrained
and then the |
I think we can live with that. There are definitely a few interesting constraints we care about that we can formulate pretty easily as threadsafe constraints. For example, all the fancy constraints for the constrained bimanual IRIS-NP regions I've been making are just mathematical functions, so I think we can use EvaluatorConstraint for those and tag them as threadsafe? For the more complicated ones stemming from MbP, a better option is probably using IRIS-NP2 (#21822), which I'll also be working on implementing. That one doesn't use parallelization -- it instead solves optimization problems, so it can interface with the user-provided constraints directly. |
The IRIS-NP algorithm (implemented as
IrisInConfigurationSpace
in Drake) allows the user to specify additional constraints for the generated region to satisfy via theprog_with_additional_constraints
field ofIrisOptions
. It would be great if IRIS-ZO could support this as well. I think the main design question is whether there should be a subclass ofCollisionChecker
that supports additional constraints, or if they should be specified via a field inIrisZoOptions
.cc @AlexandreAmice @wernerpe
The text was updated successfully, but these errors were encountered: