tsid 1.9.0
Efficient Task Space Inverse Dynamics for Multi-body Systems based on Pinocchio
Loading...
Searching...
No Matches
tsid::math Namespace Reference

Classes

class  ConstraintBase
 Abstract class representing a linear equality/inequality constraint. Equality constraints are represented by a matrix A and a vector b: A*x = b Inequality constraints are represented by a matrix A and two vectors lb and ub: lb <= A*x <= ub Bounds are represented by two vectors lb and ub: lb <= x <= ub. More...
class  ConstraintBound
class  ConstraintEquality
class  ConstraintInequality

Typedefs

typedef double Scalar
typedef Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > Vector
typedef Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > Matrix
typedef Eigen::VectorXi VectorXi
typedef Eigen::Matrix< bool, Eigen::Dynamic, 1 > VectorXb
typedef Eigen::Matrix< Scalar, 3, 1 > Vector3
typedef Eigen::Matrix< Scalar, 6, 1 > Vector6
typedef Eigen::Matrix< Scalar, 3, Eigen::Dynamic > Matrix3x
typedef Eigen::Ref< Vector3RefVector3
typedef const Eigen::Ref< const Vector3ConstRefVector3
typedef Eigen::Ref< VectorRefVector
typedef const Eigen::Ref< const VectorConstRefVector
typedef Eigen::Ref< MatrixRefMatrix
typedef const Eigen::Ref< const MatrixConstRefMatrix
typedef std::size_t Index

Functions

void SE3ToXYZQUAT (const pinocchio::SE3 &M, RefVector xyzQuat)
void SE3ToVector (const pinocchio::SE3 &M, RefVector vec)
void vectorToSE3 (RefVector vec, pinocchio::SE3 &M)
void errorInSE3 (const pinocchio::SE3 &M, const pinocchio::SE3 &Mdes, pinocchio::Motion &error)
void solveWithDampingFromSvd (Eigen::JacobiSVD< Eigen::MatrixXd > &svd, ConstRefVector b, RefVector sol, double damping=0.0)
void svdSolveWithDamping (ConstRefMatrix A, ConstRefVector b, RefVector sol, double damping=0.0)
void pseudoInverse (ConstRefMatrix A, RefMatrix Apinv, double tolerance, unsigned int computationOptions=Eigen::ComputeThinU|Eigen::ComputeThinV)
void pseudoInverse (ConstRefMatrix A, Eigen::JacobiSVD< Eigen::MatrixXd > &svdDecomposition, RefMatrix Apinv, double tolerance, unsigned int computationOptions)
void pseudoInverse (ConstRefMatrix A, Eigen::JacobiSVD< Eigen::MatrixXd > &svdDecomposition, RefMatrix Apinv, double tolerance, double *nullSpaceBasisOfA, int &nullSpaceRows, int &nullSpaceCols, unsigned int computationOptions)
void dampedPseudoInverse (ConstRefMatrix A, Eigen::JacobiSVD< Eigen::MatrixXd > &svdDecomposition, RefMatrix Apinv, double tolerance, double dampingFactor, unsigned int computationOptions=Eigen::ComputeThinU|Eigen::ComputeThinV, double *nullSpaceBasisOfA=0, int *nullSpaceRows=0, int *nullSpaceCols=0)
void nullSpaceBasisFromDecomposition (const Eigen::JacobiSVD< Eigen::MatrixXd > &svdDecomposition, double tolerance, double *nullSpaceBasisMatrix, int &rows, int &cols)
void nullSpaceBasisFromDecomposition (const Eigen::JacobiSVD< Eigen::MatrixXd > &svdDecomposition, int rank, double *nullSpaceBasisMatrix, int &rows, int &cols)
template<typename Derived>
bool isFinite (const Eigen::MatrixBase< Derived > &x)
template<typename Derived>
bool is_nan (const Eigen::MatrixBase< Derived > &x)
template<class Matrix>
bool writeMatrixToFile (const std::string &filename, const Eigen::MatrixBase< Matrix > &matrix)
template<class Matrix>
bool readMatrixFromFile (const std::string &filename, const Eigen::MatrixBase< Matrix > &matrix)

Typedef Documentation

◆ ConstRefMatrix

typedef const Eigen::Ref<const Matrix> tsid::math::ConstRefMatrix

◆ ConstRefVector

typedef const Eigen::Ref<const Vector> tsid::math::ConstRefVector

◆ ConstRefVector3

typedef const Eigen::Ref<const Vector3> tsid::math::ConstRefVector3

◆ Index

typedef std::size_t tsid::math::Index

◆ Matrix

typedef Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic> tsid::math::Matrix

◆ Matrix3x

typedef Eigen::Matrix<Scalar, 3, Eigen::Dynamic> tsid::math::Matrix3x

◆ RefMatrix

typedef Eigen::Ref<Matrix> tsid::math::RefMatrix

◆ RefVector

typedef Eigen::Ref<Vector> tsid::math::RefVector

◆ RefVector3

typedef Eigen::Ref<Vector3> tsid::math::RefVector3

◆ Scalar

typedef double tsid::math::Scalar

◆ Vector

typedef Eigen::Matrix<Scalar, Eigen::Dynamic, 1> tsid::math::Vector

◆ Vector3

typedef Eigen::Matrix<Scalar, 3, 1> tsid::math::Vector3

◆ Vector6

typedef Eigen::Matrix<Scalar, 6, 1> tsid::math::Vector6

◆ VectorXb

typedef Eigen::Matrix<bool, Eigen::Dynamic, 1> tsid::math::VectorXb

◆ VectorXi

typedef Eigen::VectorXi tsid::math::VectorXi

Function Documentation

◆ dampedPseudoInverse()

void tsid::math::dampedPseudoInverse(ConstRefMatrixA,
Eigen::JacobiSVD< Eigen::MatrixXd > &svdDecomposition,
RefMatrixApinv,
doubletolerance,
doubledampingFactor,
unsigned intcomputationOptions = Eigen::ComputeThinU | Eigen::ComputeThinV,
double *nullSpaceBasisOfA = 0,
int *nullSpaceRows = 0,
int *nullSpaceCols = 0 )

◆ errorInSE3()

void tsid::math::errorInSE3(const pinocchio::SE3 &M,
const pinocchio::SE3 &Mdes,
pinocchio::Motion &error )

◆ is_nan()

template<typename Derived>
bool tsid::math::is_nan(const Eigen::MatrixBase< Derived > &x)
inline

◆ isFinite()

template<typename Derived>
bool tsid::math::isFinite(const Eigen::MatrixBase< Derived > &x)
inline

◆ nullSpaceBasisFromDecomposition() [1/2]

void tsid::math::nullSpaceBasisFromDecomposition(const Eigen::JacobiSVD< Eigen::MatrixXd > &svdDecomposition,
doubletolerance,
double *nullSpaceBasisMatrix,
int &rows,
int &cols )

◆ nullSpaceBasisFromDecomposition() [2/2]

void tsid::math::nullSpaceBasisFromDecomposition(const Eigen::JacobiSVD< Eigen::MatrixXd > &svdDecomposition,
intrank,
double *nullSpaceBasisMatrix,
int &rows,
int &cols )

◆ pseudoInverse() [1/3]

void tsid::math::pseudoInverse(ConstRefMatrixA,
Eigen::JacobiSVD< Eigen::MatrixXd > &svdDecomposition,
RefMatrixApinv,
doubletolerance,
double *nullSpaceBasisOfA,
int &nullSpaceRows,
int &nullSpaceCols,
unsigned intcomputationOptions )

◆ pseudoInverse() [2/3]

void tsid::math::pseudoInverse(ConstRefMatrixA,
Eigen::JacobiSVD< Eigen::MatrixXd > &svdDecomposition,
RefMatrixApinv,
doubletolerance,
unsigned intcomputationOptions )

◆ pseudoInverse() [3/3]

void tsid::math::pseudoInverse(ConstRefMatrixA,
RefMatrixApinv,
doubletolerance,
unsigned intcomputationOptions = Eigen::ComputeThinU | Eigen::ComputeThinV )

◆ readMatrixFromFile()

template<class Matrix>
bool tsid::math::readMatrixFromFile(const std::string &filename,
const Eigen::MatrixBase< Matrix > &matrix )

Read a matrix from the specified input binary file.

◆ SE3ToVector()

void tsid::math::SE3ToVector(const pinocchio::SE3 &M,
RefVectorvec )

Convert the input SE3 object to a 12D vector of floats [X,Y,Z,R11,R12,R13,R14,...].

◆ SE3ToXYZQUAT()

void tsid::math::SE3ToXYZQUAT(const pinocchio::SE3 &M,
RefVectorxyzQuat )

Convert the input SE3 object to a 7D vector of floats [X,Y,Z,Q1,Q2,Q3,Q4].

◆ solveWithDampingFromSvd()

void tsid::math::solveWithDampingFromSvd(Eigen::JacobiSVD< Eigen::MatrixXd > &svd,
ConstRefVectorb,
RefVectorsol,
doubledamping = 0.0 )

◆ svdSolveWithDamping()

void tsid::math::svdSolveWithDamping(ConstRefMatrixA,
ConstRefVectorb,
RefVectorsol,
doubledamping = 0.0 )

◆ vectorToSE3()

void tsid::math::vectorToSE3(RefVectorvec,
pinocchio::SE3 &M )

◆ writeMatrixToFile()

template<class Matrix>
bool tsid::math::writeMatrixToFile(const std::string &filename,
const Eigen::MatrixBase< Matrix > &matrix )

Write the specified matrix to a binary file with the specified name.