![]() | pinocchio 4.1.0 A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives |
ADMM constraint solver. More...
#include <pinocchio/algorithm/solvers/admm-solver.hpp>


Public Types | |
| typedef internal::ADMMLinearUpdateRuleTpl< Scalar > | ADMMLinearUpdateRule |
| typedef internal::ADMMOSQPUpdateRuleTpl< Scalar > | ADMMOSQPUpdateRule |
| typedef ADMMSolverResultTpl< Scalar, Options > | ADMMSolverResult |
| typedef ADMMSolverSettingsTpl< Scalar > | ADMMSolverSettings |
| typedef ADMMSolverStatsTpl< Scalar > | ADMMSolverStats |
| typedef internal::ADMMSolverWorkspaceTpl< Scalar, Options > | ADMMSolverWorkspace |
| typedef internal::ADMMSpectralUpdateRuleTpl< Scalar > | ADMMSpectralUpdateRule |
| typedef internal::ADMMUpdateRuleContainerTpl< Scalar > | ADMMUpdateRuleContainer |
| typedef ConstraintSolverBase< Self > | Base |
| typedef const Eigen::Ref< const VectorXs > | ConstRefVectorXs |
| typedef Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic, Options > | MatrixXs |
| typedef Eigen::Ref< const VectorXs > | RefConstVectorXs |
| typedef Eigen::Ref< VectorXs > | RefVectorXs |
| typedef _Scalar | Scalar |
| typedef ADMMConstraintSolverTpl | Self |
| typedef Eigen::Matrix< Scalar, Eigen::Dynamic, 1, Options > | VectorXs |
Public Member Functions | |
| ADMMConstraintSolverTpl (std::size_t max_problem_size=0) | |
| Default constructor. | |
| bool | isValid () const |
| Returns true if solver is in a valid state (it has solved a constraint problem). If so, its stats are valid. | |
| void | resetImpl () |
| template<typename DelassusDerived, typename VectorLike, typename ConstraintModel, typename ConstraintModelAllocator, typename ConstraintData, typename ConstraintDataAllocator> | |
| bool | solveImpl (DelassusOperatorBase< DelassusDerived > &delassus, const Eigen::MatrixBase< VectorLike > &g, const std::vector< ConstraintModel, ConstraintModelAllocator > &constraint_models, const std::vector< ConstraintData, ConstraintDataAllocator > &constraint_datas, const ADMMSolverSettings &settings, ADMMSolverResult &result) |
Public Attributes | |
| ADMMSolverStats | stats |
| Per-iteration stats of the ADMM solver. | |
Static Public Attributes | |
| static constexpr int | Options = _Options |
Protected Attributes | |
| bool | m_is_valid |
| Flag to check whether or not the solver is in a reset state. If not, its stats are valid. | |
| ADMMSolverWorkspace | m_workspace |
| Workspace of the ADMM solver. This is an internal of the solver and is not meant to be accessed by users. | |
ADMM constraint solver.
The solver solves the following CPP/NCP problem: min_x x^T G x + g s.t. x \in C, where G is the delassus matrix, g is the constraint velocities without any constraint forces acting on the system and C are the constraint sets. If the g term is augmented with the DeSaxce term, the problem becomes an NCP.
Definition at line 120 of file admm-solver.hpp.
| typedef internal::ADMMLinearUpdateRuleTpl<Scalar> ADMMLinearUpdateRule |
Definition at line 141 of file admm-solver.hpp.
| typedef internal::ADMMOSQPUpdateRuleTpl<Scalar> ADMMOSQPUpdateRule |
Definition at line 140 of file admm-solver.hpp.
| typedef ADMMSolverResultTpl<Scalar, Options> ADMMSolverResult |
Definition at line 134 of file admm-solver.hpp.
| typedef ADMMSolverSettingsTpl<Scalar> ADMMSolverSettings |
Definition at line 136 of file admm-solver.hpp.
| typedef ADMMSolverStatsTpl<Scalar> ADMMSolverStats |
Definition at line 137 of file admm-solver.hpp.
| typedef internal::ADMMSolverWorkspaceTpl<Scalar, Options> ADMMSolverWorkspace |
Definition at line 135 of file admm-solver.hpp.
| typedef internal::ADMMSpectralUpdateRuleTpl<Scalar> ADMMSpectralUpdateRule |
Definition at line 139 of file admm-solver.hpp.
| typedef internal::ADMMUpdateRuleContainerTpl<Scalar> ADMMUpdateRuleContainer |
Definition at line 142 of file admm-solver.hpp.
| typedef ConstraintSolverBase<Self> Base |
Definition at line 126 of file admm-solver.hpp.
| typedef const Eigen::Ref<const VectorXs> ConstRefVectorXs |
Definition at line 131 of file admm-solver.hpp.
| typedef Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic, Options> MatrixXs |
Definition at line 132 of file admm-solver.hpp.
| typedef Eigen::Ref<const VectorXs> RefConstVectorXs |
Definition at line 130 of file admm-solver.hpp.
| typedef Eigen::Ref<VectorXs> RefVectorXs |
Definition at line 129 of file admm-solver.hpp.
| typedef _Scalar Scalar |
Definition at line 122 of file admm-solver.hpp.
| typedef ADMMConstraintSolverTpl Self |
Definition at line 125 of file admm-solver.hpp.
| typedef Eigen::Matrix<Scalar, Eigen::Dynamic, 1, Options> VectorXs |
Definition at line 128 of file admm-solver.hpp.
| inlineexplicit |
Default constructor.
| [in] | max_problem_size | maximum problem size (before automatic reallocation) |
Definition at line 156 of file admm-solver.hpp.
| inline |
Returns true if solver is in a valid state (it has solved a constraint problem). If so, its stats are valid.
Definition at line 168 of file admm-solver.hpp.
| inline |
Definition at line 188 of file admm-solver.hpp.
| protected |
Flag to check whether or not the solver is in a reset state. If not, its stats are valid.
Definition at line 206 of file admm-solver.hpp.
| protected |
Workspace of the ADMM solver. This is an internal of the solver and is not meant to be accessed by users.
Definition at line 202 of file admm-solver.hpp.
| staticconstexpr |
Definition at line 123 of file admm-solver.hpp.
| ADMMSolverStats stats |
Per-iteration stats of the ADMM solver.
Definition at line 196 of file admm-solver.hpp.