RobotLocomotion / drake

Model-based design and verification for robotics.
https://drake.mit.edu
Other
3.35k stars 1.27k forks source link

IrisInConfigurationSpace should support floating joints #21823

Closed RussTedrake closed 2 months ago

RussTedrake commented 2 months ago

IrisInConfigurationSpace currently requires bounded domains for each configuration space variable, except for handling continuous revolute joints in particular cases. It does not currently support any MultibodyPlant with floating base bodies. (This was requested most recently by @lujieyang, @pangtao22, and @hjsuh94.)

This should probably happen after #21822 lands (the upgrade to IRIS-NP2). And based on my f2f with @cohnt , doing this in RPY is not too difficult... the work is mostly about making it easier for the user and/or instructing the user how to do it.

cohnt commented 2 months ago

Sounds like we need a couple of things:

Was there other functionality that you wanted to have besides these things? If not, I can probably get this stuff done before the big IRIS refactor.

RussTedrake commented 2 months ago

That seems like the right list to me!

cohnt commented 2 months ago

Right now, it's actually pretty difficult to get a free object into the scene with a RpyFloatingJoint instead of a QuaternionFloatingJoint. Maybe this should be a separate issue in its own right, but what do you think about these options?

jwnimmer-tri commented 2 months ago

In terms of a config flag that spans all models, I think that's already filed/tracked as #20943 and is probably not that difficult to add now. You could ping Sherm in that issue to ask about it.

For something like changing the dmd AddModel syntax to support a per-model option for the joint type, that's plausible but should probably be a new issue.

cohnt commented 2 months ago

@RussTedrake with #21861, we now fully support RpyFloatingJoints in IrisInConfigurationSpace and GcsTrajectoryOptimization. Of course, a config to actually use these types of floating joints (instead of QuaternionFloatingJoint) is still forthcoming. Do you want to close this issue, or keep it open until that functionality is added?

RussTedrake commented 2 months ago

I think #21861 sufficiently resolved this issue. Thanks!