RobotLocomotion / drake

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

Retire contact code from MultibodyPlant #16106

Closed amcastro-tri closed 1 year ago

amcastro-tri commented 2 years ago

For modularity, we seek to place all contact mechanics code within a ContactManager, outside MultibodyPlant. This is the plan:

  1. Implement the same functionality currently in MultibodyPlant within a given ContactManager. (Q1 2022)
  2. First users of new solvers will use the experimental API to add custom managers.
  3. Add public APIs to choose solvers (Q2 2022).
  4. Test period. We must ensure the new implementations cover at least our current capabilities with TAMSI (Q2/Q3/Q4)
  5. Use contact manager by default. Retire contact code from MultibodyPlant (Q4 2022/Q1 2023).
DamrongGuoy commented 2 years ago

@amcastro-tri Could you link relevant PRs to this Issue, please? I'd like to understand what has been done for it.

CC: @rpoyner-tri

DamrongGuoy commented 2 years ago

Is TAMSI code going to stay where it is today? Or it will get refactored too, or it will be removed?

amcastro-tri commented 2 years ago

Could you link relevant PRs to this Issue

Sure thing. Here it goes: The discrete update manger concept was introduced in #15033. Improvements in #15135, #15264, #15376.

Compliant contact manager introduced in #16047. Follow up PRs: #16119.

Implementation for deformable FEM models in #15088. Follow up PRs: #15123, #15128, #15262, #15661, #16311.

amcastro-tri commented 2 years ago

Is TAMSI code going to stay where it is today

Short term answer (1 year): yes. Long term answer (> 1 year): no.

DamrongGuoy commented 2 years ago

Thank you! Now I see it's relevant to Deformables too.

amcastro-tri commented 2 years ago

right, it is relevant to everything having to do with contact modeling, including but not limited to deformables.

amcastro-tri commented 1 year ago

For modularity, we seek to place all contact mechanics code within a ContactManager, outside MultibodyPlant.

I think we can finally say this is true. The only missing related item is to make our new SAP solver the default, the topic of newer issue #19322.