$darkmode
pinocchio 4.0.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
ADMMSolverResultTpl< _Scalar, _Options > Struct Template Reference

Struct describing the solution of the ADMM constraint solver after calling the solve method. Also contains the warmstart of the solution to the constraint problem. More...

#include <pinocchio/algorithm/solvers/admm-solver.hpp>

Inheritance diagram for ADMMSolverResultTpl< _Scalar, _Options >:
Collaboration diagram for ADMMSolverResultTpl< _Scalar, _Options >:

Public Types

typedef ConstraintSolverResultBase< SelfBase
 
typedef Eigen::Ref< const VectorXs > RefConstVectorXs
 
typedef _Scalar Scalar
 
typedef ADMMSolverResultTpl Self
 
typedef Eigen::Matrix< Scalar, Eigen::Dynamic, 1, Options > VectorXs
 
typedef internal::EigenStorageTpl< VectorXs > VectorXsStorage
 

Public Member Functions

 ADMMSolverResultTpl ()
 Default constructor.
 
 ADMMSolverResultTpl (const ADMMSolverResultTpl &other)
 Copy constructor.
 
void clearConstraintImpulseGuessImpl ()
 
void clearConstraintVelocityGuessImpl ()
 
int constraintSizeImpl () const
 
ADMMSolverResultTploperator= (const ADMMSolverResultTpl &other)
 Assignment operator.
 
void resetImpl ()
 Reset the results.
 
void resize (std::size_t problem_size_)
 Resize the primal/dual/desaxce vectors of the solution.
 
template<typename VectorLike >
void retrieveConstraintImpulsesImpl (const Eigen::MatrixBase< VectorLike > &constraint_impulses_) const
 
template<typename VectorLike >
void retrieveConstraintVelocitiesImpl (const Eigen::MatrixBase< VectorLike > &constraint_velocities_) const
 
template<typename VectorLike >
void retrieveDesaxceTerm (const Eigen::MatrixBase< VectorLike > &desaxce_term_) const
 Retrieve Desaxce term of solution.
 
template<typename VectorLike >
void retrieveDualSolution (const Eigen::MatrixBase< VectorLike > &dual_solution_) const
 Retrieve dual solution. At the optimum we have Gx + g + desaxce - z = 0.
 
template<typename VectorLike >
void retrieveNonProjectedPrimalSolution (const Eigen::MatrixBase< VectorLike > &non_projected_primal_solution_) const
 Retrieve non-projected primal solution.
 
template<typename VectorLike >
void retrievePrimalSolution (const Eigen::MatrixBase< VectorLike > &primal_solution_) const
 Retrieve primal solution.
 
template<typename VectorLike >
void setConstraintImpulseGuessImpl (const Eigen::MatrixBase< VectorLike > &impulse_guess_in)
 
template<typename VectorLike >
void setConstraintVelocityGuessImpl (const Eigen::MatrixBase< VectorLike > &velocity_guess_in)
 

Public Attributes

std::size_t delassus_decomposition_update_count
 Number of delassus decompositions.
 
VectorXsStorage::RefMapType desaxce = desaxce_storage.map()
 
VectorXsStorage desaxce_storage
 Desaxce term of the solution.
 
std::optional< RefConstVectorXs > impulse_guess
 Optional guess for the primal variable (impulses).
 
Scalar mu_prox
 Value of ADMM proximal term.
 
std::size_t problem_size
 Size of primal/dual variables.
 
Scalar rho
 Value of ADMM rho term.
 
Scalar spectral_rho_power
 Value of ADMM spectral rule rho power at the solution. This is relevant only if SPECTRAL was selected as an update rule.
 
std::optional< RefConstVectorXs > velocity_guess
 Optional guess for the dual variable (velocities).
 
VectorXsStorage::RefMapType x = x_storage.map()
 
VectorXsStorage x_storage
 Non-projected primal solution. More...
 
VectorXsStorage::RefMapType y = y_storage.map()
 
VectorXsStorage y_storage
 Primal solution projected onto constraints.
 
VectorXsStorage::RefMapType z = z_storage.map()
 
VectorXsStorage z_storage
 Dual solution.
 

Static Public Attributes

static constexpr int Options = _Options
 

Protected Attributes

VectorXsStorage::RefMapType m_impulse_guess = m_impulse_guess_storage.map()
 
VectorXsStorage m_impulse_guess_storage
 Storage for the optional impulse guess.
 
VectorXsStorage::RefMapType m_velocity_guess = m_velocity_guess_storage.map()
 
VectorXsStorage m_velocity_guess_storage
 Storage for the optional velocity guess.
 

Detailed Description

template<typename _Scalar, int _Options>
struct pinocchio::ADMMSolverResultTpl< _Scalar, _Options >

Struct describing the solution of the ADMM constraint solver after calling the solve method. Also contains the warmstart of the solution to the constraint problem.

Definition at line 461 of file admm-solver.hpp.

Member Function Documentation

◆ constraintSizeImpl()

int constraintSizeImpl ( ) const
inline

Definition at line 537 of file admm-solver.hpp.

◆ retrieveConstraintVelocitiesImpl()

void retrieveConstraintVelocitiesImpl ( const Eigen::MatrixBase< VectorLike > &  constraint_velocities_) const
inline
Note
At the optimum we have Gx + g + desaxce - z = 0. We have sigma = Gx + g and z = Gx + g + desaxce, thus sigma = z - desaxce,

Definition at line 646 of file admm-solver.hpp.

Member Data Documentation

◆ x_storage

VectorXsStorage x_storage

Non-projected primal solution.

Note
Order of storage/map declaration is important! First declare the storage, then the map, otherwise map will point to nothing.

Definition at line 699 of file admm-solver.hpp.


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