Open RussTedrake opened 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.
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:
std::variant< systems::InputPortSelection, InputPortIndex > input_port_index
which is today's best practice for specifying an input port, andbool assume_non_continuous_states_are_fixed
which allows one to ignore the scene graph state.DirectCollocation
has these, too.DirectTranscription
is missing the bool.In addition, methods should call
FixInputPortsFrom
(and document that limitation) for other input ports, andValidateContext
.