- 3.0.2 rigid body dynamics module.
JacobiSingularity.h
Go to the documentation of this file.
1 /**********************************************************************************************************************
2 This file is part of the Control Toolbox (https://github.com/ethz-adrl/control-toolbox), copyright by ETH Zurich.
3 Licensed under the BSD-2 license (see LICENSE file in main directory)
4 **********************************************************************************************************************/
5 
6 #pragma once
7 
8 namespace ct {
9 namespace rbd {
10 
17 template <size_t ROWS, size_t COLS>
19 {
20 public:
21  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
22 
23  typedef Eigen::Matrix<double, ROWS, COLS> Jacobian;
24  typedef Eigen::Matrix<double, COLS, ROWS> PseudoInverse;
25  typedef Eigen::Matrix<double, ROWS, 1> SingularValues;
26  typedef Eigen::Matrix<double, ROWS, 1> EndeffectorVelocities;
27  typedef Eigen::Matrix<double, COLS, 1> JointVelocities;
28 
30  {
33  };
34 
35 public:
36  JacobiSingularity(const Jacobian& J);
37 
45  double calc_condition_number() const;
46 
55  double calc_manipulability(ManipulabilityMethod method = DIRECT) const;
56 
63  SingularValues calc_singular_values() const;
64 
77  JointVelocities calc_joint_vel(const EndeffectorVelocities& des_ee_vel) const;
78 
79 private:
80  Jacobian J_;
81 };
82 
83 
84 } // namespace rbd
85 } // namespace ct
86 
87 
A class computing codition numbers and singular velues of a Jacobian.
Definition: JacobiSingularity.h:18
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef Eigen::Matrix< double, ROWS, COLS > Jacobian
Definition: JacobiSingularity.h:23
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
Definition: JacobiSingularity.h:31
double calc_condition_number() const
Definition: JacobiSingularity.h:18
Eigen::Matrix< double, COLS, ROWS > PseudoInverse
Definition: JacobiSingularity.h:24
Definition: JacobiSingularity.h:32
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