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. | |
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). | |
| 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. | |
| 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)). | |
| 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. | |
| double | certificate_tolerance {1e-6} |
| Absolute tolerance used to check polynomial coefficient equalities and conic constraints after each SOS solve. | |
|
default |
| void Serialize | ( | Archive * | a | ) |
Passes this object to an Archive.
Refer to YAML Serialization for background.
| double certificate_tolerance {1e-6} |
Absolute tolerance used to check polynomial coefficient equalities and conic constraints after each SOS solve.
Must be finite and nonnegative. This is independent of the solver's own stopping tolerances. Increasing it can admit less accurate certificates; passing these numerical checks does not rigorously certify an inner approximation.
| 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.