RobotLocomotion / drake

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

Consolidates Doxygen documentation on contact modeling #21467

Closed amcastro-tri closed 1 month ago

amcastro-tri commented 1 month ago

Our Doxygen documentation is pretty difficult to navigate. For a number of reasons:

  1. Outdated and missleading, see e.g. effort in #21445 to remove old coumentation that was never relevant to what we ever did in Drake.
  2. It grew in a non very organic way as it went through several updates.
  3. Split into three distinct locations: a. MultibodyPlant's class doc section on contact modeling. b. An outdated contact modeling Doxygen module. c. (a much more modern) hydro user's guide, though not in sync with the rest.

So the purpose of this PR is to consolidate documentation and bring it closer to an up-to-date state as we try to switch our discrete solvers's default to SAP.

As I went through this, I mostly tried to only move text into (what I believe are) easier to find Doxygen modules. I reused text as much as possible, with changes mostly limited to "glue text" to keep the flow consistent. You'll notice that as part of this, I moved a pretty hidden appendix in the hydro user guide, into a more up front introductory module in Doxygen, leaving the hydro guide be what is meant to be, a user's guide.

I'll sprinkle this PR with comments at places where I did add new text, to aid review. I believe the best way to review this is to compile the docs locally and compare with the state today in master. I believe this is definitely and improvement, though not complete yet (e.g. the section on discrete solvers right now is close to what we already had, I figured a separate PR would be best).


This change is Reviewable