RobotLocomotion / drake

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

standardize Systems support for control design methods #15464

Open RussTedrake opened 3 years ago

RussTedrake commented 3 years ago

Motivated by https://stackoverflow.com/questions/68470276/how-to-use-an-lqr-controller-with-collision-geometry and the discussions that led up to https://github.com/RobotLocomotion/drake/pull/15437, I think we need a full sweep through the various control design/analysis methods (trajectory optimization / region of attraction / dynamic programming / lqr, etc) to standardize their handling of input ports, and abstract state (at least).

DynamicProgrammingOptions includes:

In addition, methods should call FixInputPortsFrom (and document that limitation) for other input ports, and ValidateContext.

jwnimmer-tri commented 3 years ago

bool assume_non_continuous_states_are_fixed which allows one to ignore the scene graph state.

To clarify -- as I understand it, SceneGraph is always stateless now. It has an abstract parameter, abstract inputs, and abstract outputs, but no state of any kind.