tsid
1.8.0
Efficient Task Space Inverse Dynamics for Multi-body Systems based on Pinocchio
|
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< Vector3 > | RefVector3 |
typedef const Eigen::Ref< const Vector3 > | ConstRefVector3 |
typedef Eigen::Ref< Vector > | RefVector |
typedef const Eigen::Ref< const Vector > | ConstRefVector |
typedef Eigen::Ref< Matrix > | RefMatrix |
typedef const Eigen::Ref< const Matrix > | ConstRefMatrix |
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 const Eigen::Ref<const Matrix> tsid::math::ConstRefMatrix |
typedef const Eigen::Ref<const Vector> tsid::math::ConstRefVector |
typedef const Eigen::Ref<const Vector3> tsid::math::ConstRefVector3 |
typedef std::size_t tsid::math::Index |
typedef Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic> tsid::math::Matrix |
typedef Eigen::Matrix<Scalar, 3, Eigen::Dynamic> tsid::math::Matrix3x |
typedef Eigen::Ref<Matrix> tsid::math::RefMatrix |
typedef Eigen::Ref<Vector> tsid::math::RefVector |
typedef Eigen::Ref<Vector3> tsid::math::RefVector3 |
typedef double tsid::math::Scalar |
typedef Eigen::Matrix<Scalar, Eigen::Dynamic, 1> tsid::math::Vector |
typedef Eigen::Matrix<Scalar, 3, 1> tsid::math::Vector3 |
typedef Eigen::Matrix<Scalar, 6, 1> tsid::math::Vector6 |
typedef Eigen::Matrix<bool, Eigen::Dynamic, 1> tsid::math::VectorXb |
typedef Eigen::VectorXi tsid::math::VectorXi |
void tsid::math::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 tsid::math::errorInSE3 | ( | const pinocchio::SE3 & | M, |
const pinocchio::SE3 & | Mdes, | ||
pinocchio::Motion & | error | ||
) |
|
inline |
|
inline |
void tsid::math::nullSpaceBasisFromDecomposition | ( | const Eigen::JacobiSVD< Eigen::MatrixXd > & | svdDecomposition, |
double | tolerance, | ||
double * | nullSpaceBasisMatrix, | ||
int & | rows, | ||
int & | cols | ||
) |
void tsid::math::nullSpaceBasisFromDecomposition | ( | const Eigen::JacobiSVD< Eigen::MatrixXd > & | svdDecomposition, |
int | rank, | ||
double * | nullSpaceBasisMatrix, | ||
int & | rows, | ||
int & | cols | ||
) |
void tsid::math::pseudoInverse | ( | ConstRefMatrix | A, |
Eigen::JacobiSVD< Eigen::MatrixXd > & | svdDecomposition, | ||
RefMatrix | Apinv, | ||
double | tolerance, | ||
double * | nullSpaceBasisOfA, | ||
int & | nullSpaceRows, | ||
int & | nullSpaceCols, | ||
unsigned int | computationOptions | ||
) |
void tsid::math::pseudoInverse | ( | ConstRefMatrix | A, |
Eigen::JacobiSVD< Eigen::MatrixXd > & | svdDecomposition, | ||
RefMatrix | Apinv, | ||
double | tolerance, | ||
unsigned int | computationOptions | ||
) |
void tsid::math::pseudoInverse | ( | ConstRefMatrix | A, |
RefMatrix | Apinv, | ||
double | tolerance, | ||
unsigned int | computationOptions = Eigen::ComputeThinU | Eigen::ComputeThinV |
||
) |
bool tsid::math::readMatrixFromFile | ( | const std::string & | filename, |
const Eigen::MatrixBase< Matrix > & | matrix | ||
) |
Read a matrix from the specified input binary file.
void tsid::math::SE3ToVector | ( | const pinocchio::SE3 & | M, |
RefVector | vec | ||
) |
Convert the input SE3 object to a 12D vector of floats [X,Y,Z,R11,R12,R13,R14,...].
void tsid::math::SE3ToXYZQUAT | ( | const pinocchio::SE3 & | M, |
RefVector | xyzQuat | ||
) |
Convert the input SE3 object to a 7D vector of floats [X,Y,Z,Q1,Q2,Q3,Q4].
void tsid::math::solveWithDampingFromSvd | ( | Eigen::JacobiSVD< Eigen::MatrixXd > & | svd, |
ConstRefVector | b, | ||
RefVector | sol, | ||
double | damping = 0.0 |
||
) |
void tsid::math::svdSolveWithDamping | ( | ConstRefMatrix | A, |
ConstRefVector | b, | ||
RefVector | sol, | ||
double | damping = 0.0 |
||
) |
void tsid::math::vectorToSE3 | ( | RefVector | vec, |
pinocchio::SE3 & | M | ||
) |
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.