pinocchio 4.1.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
Loading...
Searching...
No Matches
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< Self > Base
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.
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.

Member Typedef Documentation

◆ Base

template<typename _Scalar, int _Options>
typedef ConstraintSolverBase<Self> Base

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

◆ PGSSolverResult

template<typename _Scalar, int _Options>
typedef PGSSolverResultTpl<Scalar, Options> PGSSolverResult

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

◆ PGSSolverSettings

template<typename _Scalar, int _Options>
typedef PGSSolverSettingsTpl<Scalar> PGSSolverSettings

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

◆ PGSSolverStats

template<typename _Scalar, int _Options>
typedef PGSSolverStatsTpl<Scalar> PGSSolverStats

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

◆ PGSSolverWorkspace

template<typename _Scalar, int _Options>
typedef internal::PGSSolverWorkspaceTpl<Scalar, Options> PGSSolverWorkspace

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

◆ RefConstVectorXs

template<typename _Scalar, int _Options>
typedef Eigen::Ref<const VectorXs> RefConstVectorXs

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

◆ Scalar

template<typename _Scalar, int _Options>
typedef _Scalar Scalar

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

◆ Self

template<typename _Scalar, int _Options>
typedef PGSConstraintSolverTpl Self

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

◆ VectorXs

template<typename _Scalar, int _Options>
typedef Eigen::Matrix<Scalar, Eigen::Dynamic, 1, Options> VectorXs

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

Constructor & Destructor Documentation

◆ PGSConstraintSolverTpl()

template<typename _Scalar, int _Options>
PGSConstraintSolverTpl(std::size_tmax_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.

Member Function Documentation

◆ isValid()

template<typename _Scalar, int _Options>
bool isValid()const
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 96 of file pgs-solver.hpp.

◆ resetImpl()

template<typename _Scalar, int _Options>
void resetImpl()
inline

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

Member Data Documentation

◆ m_is_valid

template<typename _Scalar, int _Options>
bool m_is_valid
protected

Flag to check whether or not the solver is in a reset state. If not, its stats are valid.

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

◆ m_workspace

template<typename _Scalar, int _Options>
PGSSolverWorkspace m_workspace
protected

Workspace of the PGS solver. This is an internal of the solver and is not meant to be accessed by users.

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

◆ Options

template<typename _Scalar, int _Options>
int Options = _Options
staticconstexpr

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

◆ stats

template<typename _Scalar, int _Options>
PGSSolverStats stats

Per-iteration stats of the PGS solver.

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


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