Drake
Drake C++ Documentation
RegionOfAttractionOptions Struct Reference

Detailed Description

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::Variablestate_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::SolverIdsolver_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::SolverOptionssolver_options {std::nullopt}
 The solver options used in the optimization problem. More...
 

Constructor & Destructor Documentation

◆ RegionOfAttractionOptions()

Member Function Documentation

◆ Serialize()

void Serialize ( Archive *  a)

Passes this object to an Archive.

Refer to YAML Serialization for background.

Member Data Documentation

◆ lyapunov_candidate

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).

◆ solver_id

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.

◆ solver_options

std::optional<solvers::SolverOptions> solver_options {std::nullopt}

The solver options used in the optimization problem.

◆ 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.

Must be empty or have size equal to the number of continuous state variables in the system.

◆ use_implicit_dynamics

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.


The documentation for this struct was generated from the following file: