![]() |
- 3.0.2 rigid body dynamics module.
|
A class computing codition numbers and singular velues of a Jacobian. More...
#include <JacobiSingularity.h>
Public Types | |
| enum | ManipulabilityMethod { DIRECT, SINGULAR_VALUES } |
| typedef Eigen::Matrix< double, COLS, ROWS > | PseudoInverse |
| typedef Eigen::Matrix< double, ROWS, 1 > | SingularValues |
| typedef Eigen::Matrix< double, ROWS, 1 > | EndeffectorVelocities |
| typedef Eigen::Matrix< double, COLS, 1 > | JointVelocities |
Public Member Functions | |
| JacobiSingularity (const Jacobian &J) | |
| double | calc_condition_number () const |
| double | calc_manipulability (ManipulabilityMethod method=DIRECT) const |
| SingularValues | calc_singular_values () const |
Public Attributes | |
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef Eigen::Matrix< double, ROWS, COLS > | Jacobian |
A class computing codition numbers and singular velues of a Jacobian.
| ROWS | number of rows |
| CLOS | number of colums |
| typedef Eigen::Matrix<double, COLS, ROWS> ct::rbd::JacobiSingularity< ROWS, COLS >::PseudoInverse |
| typedef Eigen::Matrix<double, ROWS, 1> ct::rbd::JacobiSingularity< ROWS, COLS >::SingularValues |
| typedef Eigen::Matrix<double, ROWS, 1> ct::rbd::JacobiSingularity< ROWS, COLS >::EndeffectorVelocities |
| typedef Eigen::Matrix<double, COLS, 1> ct::rbd::JacobiSingularity< ROWS, COLS >::JointVelocities |
| enum ct::rbd::JacobiSingularity::ManipulabilityMethod |
| ct::rbd::JacobiSingularity< ROWS, COLS >::JacobiSingularity | ( | const Jacobian & | J | ) |
| double ct::rbd::JacobiSingularity< ROWS, COLS >::calc_condition_number | ( | ) | const |
The condition number compares the lowest to the highest eigenvalue (for square matrix) or singular value (for others).
High values of ev_max/ev_min imply that some inputs ("null-space") are mapped to values close to zero outputs, e.g. some actions in operational space are restricted.
| double ct::rbd::JacobiSingularity< ROWS, COLS >::calc_manipulability | ( | ManipulabilityMethod | method = DIRECT | ) | const |
The manipulability describes the freedom of the endeffector for a given configuration. 
| method | can be calculated directly as described in Siciliano p. 153 or multiplying the singular values of the Jacobian |
References i.
| JacobiSingularity< ROWS, COLS >::SingularValues ct::rbd::JacobiSingularity< ROWS, COLS >::calc_singular_values | ( | ) | const |
Singular values are used if eigenvalues are not available, as in non- square matrices. With Single Value Decomposition (SVD)
. See Siciliano p. 577
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef Eigen::Matrix<double, ROWS, COLS> ct::rbd::JacobiSingularity< ROWS, COLS >::Jacobian |