- 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 |