![]() |
- 3.0.2 rigid body dynamics module.
|
#include <OperationalJacobianBase.h>
Public Types | |
| typedef JacobianBase< NUM_OUTPUTS, NUM_JOINTS, SCALAR >::state_t | state_t |
| typedef JacobianBase< NUM_OUTPUTS, NUM_JOINTS, SCALAR >::jacobian_t | jacobian_t |
| typedef JacobianBase< NUM_OUTPUTS, NUM_JOINTS, SCALAR >::jacobian_inv_t | jacobian_inv_t |
| typedef Eigen::Matrix< SCALAR, 6+NUM_JOINTS, 6+NUM_JOINTS > | square_matrix_t |
| typedef Eigen::Matrix< SCALAR, Eigen::Dynamic, Eigen::Dynamic > | MatrixXs |
Public Types inherited from ct::rbd::tpl::JacobianBase< NUM_OUTPUTS, NUM_JOINTS, SCALAR > | |
| typedef Eigen::Matrix< SCALAR, NUM_OUTPUTS, 6+NUM_JOINTS > | jacobian_t |
| typedef Eigen::Matrix< SCALAR, 6+NUM_JOINTS, NUM_OUTPUTS > | jacobian_inv_t |
Public Member Functions | |
| OperationalJacobianBase () | |
| virtual | ~OperationalJacobianBase () |
| void | updateState (const state_t &state, const square_matrix_t &weighting=square_matrix_t::Identity()) |
| const jacobian_t & | J () |
| This method gets the floating-base Jacobian. More... | |
| const jacobian_t & | dJdt () |
| This method gets the time derivative of the floating-base Jacobian. More... | |
| const jacobian_inv_t & | JdagerLDLT () |
| This method calculates the right inverse using W as the weighting matrix. More... | |
| const jacobian_inv_t & | JdagerSVD () |
| const jacobian_inv_t & | dJdagerdt () |
| This method calculates the time derivative of right inverse. More... | |
| const square_matrix_t & | P () |
| This method calculates the null space projector. More... | |
| const square_matrix_t & | dPdt () |
| This method calculates the time derivative of the null space projector. More... | |
| virtual void | resetUserUpdatedFlags () |
| virtual void | getJacobianOrigin (const state_t &state, jacobian_t &J)=0 |
| virtual void | getJacobianOriginDerivative (const state_t &state, jacobian_t &dJdt)=0 |
Public Member Functions inherited from ct::rbd::tpl::JacobianBase< NUM_OUTPUTS, NUM_JOINTS, SCALAR > | |
| JacobianBase () | |
| virtual | ~JacobianBase () |
| virtual void | getJacobianOrigin (const state_t &state, jacobian_t &J)=0 |
| virtual void | getJacobianOriginDerivative (const state_t &state, jacobian_t &dJdt)=0 |
Public Attributes | |
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef std::shared_ptr< OperationalJacobianBase< NUM_OUTPUTS, NUM_JOINTS, SCALAR > > | ptr |
Public Attributes inherited from ct::rbd::tpl::JacobianBase< NUM_OUTPUTS, NUM_JOINTS, SCALAR > | |
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef RBDState< NUM_JOINTS, SCALAR > | state_t |
Protected Attributes | |
| jacobian_t | J_ |
This class provides extra functionalities for performing the operational space Jacobain matrix algebra. such as calculating the Moore-Penrose pseudo-inverse and Null space projectors.
| typedef JacobianBase<NUM_OUTPUTS, NUM_JOINTS, SCALAR>::state_t ct::rbd::tpl::OperationalJacobianBase< NUM_OUTPUTS, NUM_JOINTS, SCALAR >::state_t |
| typedef JacobianBase<NUM_OUTPUTS, NUM_JOINTS, SCALAR>::jacobian_t ct::rbd::tpl::OperationalJacobianBase< NUM_OUTPUTS, NUM_JOINTS, SCALAR >::jacobian_t |
| typedef JacobianBase<NUM_OUTPUTS, NUM_JOINTS, SCALAR>::jacobian_inv_t ct::rbd::tpl::OperationalJacobianBase< NUM_OUTPUTS, NUM_JOINTS, SCALAR >::jacobian_inv_t |
| typedef Eigen::Matrix<SCALAR, 6 + NUM_JOINTS, 6 + NUM_JOINTS> ct::rbd::tpl::OperationalJacobianBase< NUM_OUTPUTS, NUM_JOINTS, SCALAR >::square_matrix_t |
| typedef Eigen::Matrix<SCALAR, Eigen::Dynamic, Eigen::Dynamic> ct::rbd::tpl::OperationalJacobianBase< NUM_OUTPUTS, NUM_JOINTS, SCALAR >::MatrixXs |
|
inline |
|
inlinevirtual |
|
inline |
This function gets the RBD state and the the user defined weighting matrix in order to calculate the the floating-base Jacobian, its right pseudo-inverse, and null space and their corresponding time derivatives.
| state | State of the RBD |
| weighting | The weighting function for the calculating the pseudo-inverse and null space |
|
inline |
This method gets the floating-base Jacobian.
Referenced by ct::rbd::tpl::OperationalJacobianBase< OUTPUTS, NJOINTS, SCALAR >::JdagerLDLT(), ct::rbd::tpl::OperationalJacobianBase< OUTPUTS, NJOINTS, SCALAR >::JdagerSVD(), ct::rbd::tpl::OperationalJacobianBase< OUTPUTS, NJOINTS, SCALAR >::P(), and ct::rbd::tpl::OperationalJacobianBase< OUTPUTS, NJOINTS, SCALAR >::resetUserUpdatedFlags().
|
inline |
This method gets the time derivative of the floating-base Jacobian.
Referenced by ct::rbd::tpl::OperationalJacobianBase< OUTPUTS, NJOINTS, SCALAR >::dJdagerdt(), ct::rbd::tpl::OperationalJacobianBase< OUTPUTS, NJOINTS, SCALAR >::dPdt(), and ct::rbd::tpl::OperationalJacobianBase< OUTPUTS, NJOINTS, SCALAR >::resetUserUpdatedFlags().
|
inline |
This method calculates the right inverse using W as the weighting matrix.
Referenced by ct::rbd::tpl::OperationalJacobianBase< OUTPUTS, NJOINTS, SCALAR >::dJdagerdt(), ct::rbd::tpl::OperationalJacobianBase< OUTPUTS, NJOINTS, SCALAR >::dPdt(), and ct::rbd::tpl::OperationalJacobianBase< OUTPUTS, NJOINTS, SCALAR >::P().
|
inline |
|
inline |
This method calculates the time derivative of right inverse.
|
inline |
This method calculates the null space projector.
Referenced by ct::rbd::tpl::OperationalJacobianBase< OUTPUTS, NJOINTS, SCALAR >::dPdt().
|
inline |
This method calculates the time derivative of the null space projector.
|
inlinevirtual |
A method for reseting the user defined flags. This function is called is the new state is set using the update() method
|
pure virtual |
This methods calculates the Jacobian of the floating-base Jacobian in the Origin (World or Inertia) frame.
| state | State of the RBD |
| J | floating-base Jacobian in the Origin frame |
Implemented in TestJacobian.
Referenced by ct::rbd::tpl::OperationalJacobianBase< OUTPUTS, NJOINTS, SCALAR >::J(), and ct::rbd::tpl::OperationalJacobianBase< OUTPUTS, NJOINTS, SCALAR >::resetUserUpdatedFlags().
|
pure virtual |
This methods calculates the time derivative of the Jacobian of the floating-base function in the Origin (World or Inertia) frame.
| state | State of the RBD |
| dJdt | Time derivative of the floating-base Jacobian in the Origin frame |
Implemented in TestJacobian.
Referenced by ct::rbd::tpl::OperationalJacobianBase< OUTPUTS, NJOINTS, SCALAR >::dJdt(), and ct::rbd::tpl::OperationalJacobianBase< OUTPUTS, NJOINTS, SCALAR >::resetUserUpdatedFlags().
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef std::shared_ptr<OperationalJacobianBase<NUM_OUTPUTS, NUM_JOINTS, SCALAR> > ct::rbd::tpl::OperationalJacobianBase< NUM_OUTPUTS, NUM_JOINTS, SCALAR >::ptr |
Referenced by TEST().
|
protected |