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

Projected Gauss Siedel solver. More...

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

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

Public Types

typedef ConstraintSolverBase< SelfBase
 
typedef PGSSolverResultTpl< Scalar, Options > PGSSolverResult
 
typedef PGSSolverSettingsTpl< Scalar > PGSSolverSettings
 
typedef PGSSolverStatsTpl< Scalar > PGSSolverStats
 
typedef internal::PGSSolverWorkspaceTpl< Scalar, Options > PGSSolverWorkspace
 
typedef Eigen::Ref< const VectorXs > RefConstVectorXs
 
typedef _Scalar Scalar
 
typedef PGSConstraintSolverTpl Self
 
typedef Eigen::Matrix< Scalar, Eigen::Dynamic, 1, Options > VectorXs
 

Public Member Functions

 PGSConstraintSolverTpl (std::size_t max_problem_size=0)
 Default constructor. More...
 
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 PGSSolverSettings &settings, PGSSolverResult &result)
 

Public Attributes

PGSSolverStats stats
 Per-iteration stats of the PGS 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.
 
PGSSolverWorkspace m_workspace
 Workspace of the PGS solver. This is an internal of the solver and is not meant to be accessed by users.
 

Detailed Description

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

Projected Gauss Siedel solver.

Definition at line 58 of file pgs-solver.hpp.

Constructor & Destructor Documentation

◆ PGSConstraintSolverTpl()

PGSConstraintSolverTpl ( std::size_t  max_problem_size = 0)
inlineexplicit

Default constructor.

Note
The user can give max_problem_size to preallocate maximum problem sizes data. This is optional and the solver will automatically resize its workspace to handle the constraint problem thrown at it. If the solver encounters a problem which size is bigger than max_problem_size, it will automatically resize its internals as well as the result output of solve.
Parameters
[in]max_problem_sizemaximum problem size (before automatic reallocation)

Definition at line 84 of file pgs-solver.hpp.


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