Search code examples
drake

Convex Decomposition with IRIS-NP


I am trying to use IRIS (more precisely, IRIS-NP) for the convex decomposition of the subspace defined by g(x) ≤ 0 within a specific domain. Here, x is not exactly a configuration space and not related to any plant. Hence it seems more natural to use Iris instead of IrisInConfigurationSpace.

I see that IrisOptions supports prog_with_additional_constraints. However, it doesn't seem to be used in Iris, only IrisInConfigurationSpace.

Is there a way to pass additional constraints to Iris? Or to use IRIS-NP without an associated plant/context? Or would it be easier for me to create a dummy plant with the same DoF as dimensions of x?

Thanks in advance!


Solution

  • I agree with the sentiment... IRIS/IRIS-NP is really more general than kinematic problems (although it works hard to make the collision computations efficient).

    The primary distinction between IRIS and IRIS-NP, of course, is that IRIS assumes that the "obstacles" are convex. Presumably you don't have that for your g(x) \le 0. So I suspect IRIS-NP is what you want.

    Given the current API, I do think that making a dummy plant with a configuration space of the right dimension, with joint limits to define the boundaries of your search space, and no collision geometry is probably the right way to give it a try. If it proves useful, we can look at making the API more ergonomic for this use case in the future.

    BTW -- Now that more people are trying IRIS-NP, I'm starting to optimize it's performance. Expect it to get faster in the coming month.