Structure used to convert a mixed linear complementarity problem to a pure linear complementarity problem (by solving for free variables).
#include <drake/multibody/constraint/constraint_solver.h>
Public Attributes | |
Eigen::CompleteOrthogonalDecomposition< MatrixX< T > > | delassus_QTZ |
Decomposition of the Delassus matrix GM⁻¹Gᵀ, where G is the bilateral constraint matrix and M is the system generalized inertia matrix. More... | |
std::function< MatrixX< T >const MatrixX< T > &)> | A_solve |
A function pointer for solving linear systems using MLCP "A" matrix (see Velocity-level-MLCPs). More... | |
std::function< MatrixX< T >const MatrixX< T > &)> | fast_A_solve |
A function pointer for solving linear systems using only the upper left block of A⁺ in the MLCP (see Velocity-level-MLCPs), where A⁺ is a singularity-robust pseudo-inverse of A, toward exploiting operations with zero blocks. More... | |
A function pointer for solving linear systems using MLCP "A" matrix (see Velocity-level-MLCPs).
Eigen::CompleteOrthogonalDecomposition<MatrixX<T> > delassus_QTZ |
Decomposition of the Delassus matrix GM⁻¹Gᵀ, where G is the bilateral constraint matrix and M is the system generalized inertia matrix.
A function pointer for solving linear systems using only the upper left block of A⁺ in the MLCP (see Velocity-level-MLCPs), where A⁺ is a singularity-robust pseudo-inverse of A, toward exploiting operations with zero blocks.
For example:
A⁺ | b | | 0 |
and
A⁺ | B | | 0 |
where b ∈ ℝⁿᵛ
is an arbitrary vector of dimension equal to the generalized velocities and B ∈ ℝⁿᵛˣᵐ
is an arbitrary matrix with row dimension equal to the dimension of the generalized velocities and arbitrary number of columns (denoted m
here).