10 template <
size_t ROWS,
size_t COLS>
17 template <
size_t ROWS,
size_t COLS>
21 return sv.maxCoeff() / sv.minCoeff();
25 template <
size_t ROWS,
size_t COLS>
35 w = std::sqrt((J_ * J_.transpose()).determinant());
42 for (
int i = 0;
i < sv.size(); ++
i)
51 template <
size_t ROWS,
size_t COLS>
55 Eigen::JacobiSVD<Eigen::MatrixXd> svd(J_, Eigen::ComputeThinU | Eigen::ComputeThinV);
56 return svd.singularValues();
60 template <
size_t ROWS,
size_t COLS>
65 Eigen::JacobiSVD<Eigen::MatrixXd> svd(J_, Eigen::ComputeThinU | Eigen::ComputeThinV);
69 PseudoInverse J_inv = J_.transpose() * (J_ * J_.transpose()).inverse();
A class computing codition numbers and singular velues of a Jacobian.
Definition: JacobiSingularity.h:18
Eigen::Matrix< double, ROWS, 1 > SingularValues
Definition: JacobiSingularity.h:25
Eigen::Matrix< double, ROWS, 1 > EndeffectorVelocities
Definition: JacobiSingularity.h:26
Eigen::Matrix< double, COLS, 1 > JointVelocities
Definition: JacobiSingularity.h:27
double calc_condition_number() const
Definition: JacobiSingularity.h:18
Eigen::Matrix< double, COLS, ROWS > PseudoInverse
Definition: JacobiSingularity.h:24
SingularValues calc_singular_values() const
Definition: JacobiSingularity.h:52
JacobiSingularity(const Jacobian &J)
Definition: JacobiSingularity.h:11
ManipulabilityMethod
Definition: JacobiSingularity.h:29
double calc_manipulability(ManipulabilityMethod method=DIRECT) const
Definition: JacobiSingularity.h:26