Consolidates the many possible options to be passed to the region of attraction algorithm.
#include <drake/systems/analysis/region_of_attraction.h>
Public Member Functions | |
RegionOfAttractionOptions ()=default | |
template<typename Archive > | |
void | Serialize (Archive *a) |
Passes this object to an Archive. More... | |
Public Attributes | |
symbolic::Expression | lyapunov_candidate {} |
A candidate Lyapunov function using the symbolic Variables named x0, x1, ..., where the order matches the continuous state vector of the system being evaluated (or the vector state_variables). More... | |
VectorX< symbolic::Variable > | state_variables {} |
If non-empty, a list of Variable that associates the variable name with the elements of the System's continuous state vector. More... | |
bool | use_implicit_dynamics {false} |
If true, the system dynamics will be evaluated using CalcImplicitTimeDerivativesResidual instead of CalcTimeDerivatives to obtain g(x,ẋ) = 0 (instead of ẋ = f(x)). More... | |
std::optional< solvers::SolverId > | solver_id {std::nullopt} |
If not std::nullopt, then we will solve the optimization problem using the specified solver; otherwise Drake will choose a solver. More... | |
std::optional< solvers::SolverOptions > | solver_options {std::nullopt} |
The solver options used in the optimization problem. More... | |
|
default |
void Serialize | ( | Archive * | a | ) |
Passes this object to an Archive.
Refer to YAML Serialization for background.
symbolic::Expression lyapunov_candidate {} |
A candidate Lyapunov function using the symbolic Variables named x0, x1, ..., where the order matches the continuous state vector of the system being evaluated (or the vector state_variables).
std::optional<solvers::SolverId> solver_id {std::nullopt} |
If not std::nullopt, then we will solve the optimization problem using the specified solver; otherwise Drake will choose a solver.
std::optional<solvers::SolverOptions> solver_options {std::nullopt} |
The solver options used in the optimization problem.
VectorX<symbolic::Variable> state_variables {} |
If non-empty, a list of Variable that associates the variable name with the elements of the System's continuous state vector.
Must be empty or have size equal to the number of continuous state variables in the system.
bool use_implicit_dynamics {false} |
If true, the system dynamics will be evaluated using CalcImplicitTimeDerivativesResidual instead of CalcTimeDerivatives to obtain g(x,ẋ) = 0 (instead of ẋ = f(x)).
The Lyapunov conditions will also be evaluated in the implicit form. This is more expensive than analysis in the explicit form, as it requires more indeterminates, but it enables analysis of systems with rational polynomial dynamics.
See https://underactuated.csail.mit.edu/lyapunov.html#ex:implicit for more details.