- 3.0.2 rigid body dynamics module.
|
#include <OperationalModelBase.h>
Public Types | |
typedef std::shared_ptr< OperationalModelBase< NUM_OUTPUTS, NUM_JOINTS, NUM_CONTACTPOINTS > > | ptr |
typedef CoordinateBase< NUM_OUTPUTS, NUM_JOINTS >::ptr | coordinate_class_ptr_t |
typedef OperationalJacobianBase< NUM_OUTPUTS, NUM_JOINTS >::ptr | jacobian_class_ptr_t |
typedef OperationalJacobianBase< NUM_OUTPUTS, NUM_JOINTS >::jacobian_t | jacobian_t |
typedef OperationalJacobianBase< NUM_OUTPUTS, NUM_JOINTS >::jacobian_inv_t | jacobian_inv_t |
typedef RBDState< NUM_JOINTS > | state_t |
typedef Eigen::Matrix< double, NUM_OUTPUTS, NUM_OUTPUTS > | M_t |
typedef Eigen::Matrix< double, NUM_OUTPUTS, 1 > | C_t |
typedef Eigen::Matrix< double, NUM_OUTPUTS, 1 > | G_t |
typedef Eigen::Matrix< double, NUM_JOINTS, NUM_OUTPUTS > | S_t |
typedef Eigen::Matrix< double, 3, NUM_OUTPUTS > | Jc_t |
Public Member Functions | |
OperationalModelBase (const jacobian_class_ptr_t &jacobianPtr=nullptr, const coordinate_class_ptr_t &coordinatePtr=nullptr) | |
virtual | ~OperationalModelBase () |
const M_t & | M () const |
Get the inertia matrix: M. More... | |
const M_t & | MInverse () const |
Get the inertia matrix inverse: M^{-1}. More... | |
const C_t & | C () const |
Get the Coriolis force vector: C. More... | |
const G_t & | G () const |
Get the gravity force vector: G. More... | |
const S_t & | S () const |
Get the selection matrix: S. More... | |
const std::array< Jc_t, NUM_CONTACTPOINTS > & | AllJc () const |
Get all of the contact Jacobians: Jc. More... | |
const Jc_t & | Jc (size_t i) const |
Get the ith contact Jacobian: Jc[i]. More... | |
Eigen::Matrix< double, NUM_OUTPUTS, 1 > | getPositions () |
Get the coordinate position. More... | |
Eigen::Matrix< double, NUM_OUTPUTS, 1 > | getVelocities () |
Get the coordinate velocity. More... | |
Eigen::Matrix< double, NUM_OUTPUTS, 1 > | getAccelerations (Eigen::Matrix< double, NUM_JOINTS+6, 1 > qdd) |
Get the coordinate acceleration. More... | |
virtual void | update (const state_t &state)=0 |
Protected Attributes | |
jacobian_class_ptr_t | jacobianPtr_ |
coordinate_class_ptr_t | coordinatePtr_ |
state_t | state_ |
M_t | M_ |
M_t | MInverse_ |
C_t | C_ |
G_t | G_ |
S_t | S_ |
std::array< Jc_t, NUM_CONTACTPOINTS > | AllJc_ |
This is the base class for the operational space model which gives access to the model parameter. The model is assumed to have the following form: where is the acceleration of the operational space coordinate.
typedef std::shared_ptr<OperationalModelBase<NUM_OUTPUTS, NUM_JOINTS, NUM_CONTACTPOINTS> > ct::rbd::OperationalModelBase< NUM_OUTPUTS, NUM_JOINTS, NUM_CONTACTPOINTS >::ptr |
typedef CoordinateBase<NUM_OUTPUTS, NUM_JOINTS>::ptr ct::rbd::OperationalModelBase< NUM_OUTPUTS, NUM_JOINTS, NUM_CONTACTPOINTS >::coordinate_class_ptr_t |
typedef OperationalJacobianBase<NUM_OUTPUTS, NUM_JOINTS>::ptr ct::rbd::OperationalModelBase< NUM_OUTPUTS, NUM_JOINTS, NUM_CONTACTPOINTS >::jacobian_class_ptr_t |
typedef OperationalJacobianBase<NUM_OUTPUTS, NUM_JOINTS>::jacobian_t ct::rbd::OperationalModelBase< NUM_OUTPUTS, NUM_JOINTS, NUM_CONTACTPOINTS >::jacobian_t |
typedef OperationalJacobianBase<NUM_OUTPUTS, NUM_JOINTS>::jacobian_inv_t ct::rbd::OperationalModelBase< NUM_OUTPUTS, NUM_JOINTS, NUM_CONTACTPOINTS >::jacobian_inv_t |
typedef RBDState<NUM_JOINTS> ct::rbd::OperationalModelBase< NUM_OUTPUTS, NUM_JOINTS, NUM_CONTACTPOINTS >::state_t |
typedef Eigen::Matrix<double, NUM_OUTPUTS, NUM_OUTPUTS> ct::rbd::OperationalModelBase< NUM_OUTPUTS, NUM_JOINTS, NUM_CONTACTPOINTS >::M_t |
typedef Eigen::Matrix<double, NUM_OUTPUTS, 1> ct::rbd::OperationalModelBase< NUM_OUTPUTS, NUM_JOINTS, NUM_CONTACTPOINTS >::C_t |
typedef Eigen::Matrix<double, NUM_OUTPUTS, 1> ct::rbd::OperationalModelBase< NUM_OUTPUTS, NUM_JOINTS, NUM_CONTACTPOINTS >::G_t |
typedef Eigen::Matrix<double, NUM_JOINTS, NUM_OUTPUTS> ct::rbd::OperationalModelBase< NUM_OUTPUTS, NUM_JOINTS, NUM_CONTACTPOINTS >::S_t |
typedef Eigen::Matrix<double, 3, NUM_OUTPUTS> ct::rbd::OperationalModelBase< NUM_OUTPUTS, NUM_JOINTS, NUM_CONTACTPOINTS >::Jc_t |
|
inline |
|
inlinevirtual |
|
inline |
Get the inertia matrix: M.
Referenced by TEST().
|
inline |
Get the inertia matrix inverse: M^{-1}.
|
inline |
Get the Coriolis force vector: C.
Referenced by TEST().
|
inline |
Get the gravity force vector: G.
Referenced by TEST().
|
inline |
Get the selection matrix: S.
Referenced by TEST().
|
inline |
Get all of the contact Jacobians: Jc.
|
inline |
Get the ith contact Jacobian: Jc[i].
|
inline |
Get the coordinate position.
|
inline |
Get the coordinate velocity.
|
inline |
Get the coordinate acceleration.
Referenced by TEST().
|
pure virtual |
This method updates the class member variables using the current state.
state | The current state |
Implemented in ct::rbd::OperationalModel< NUM_OUTPUTS, NUM_JOINTS, NUM_CONTACTPOINTS >, ct::rbd::OperationalModel< NUM_OUTPUTS, NUM_JOINTS, NUM_CONTACTPOINTS >, and ct::rbd::tpl::OperationalModelRBD< RBDContainer, NUM_CONTACTPOINTS, SCALAR >.
Referenced by ct::rbd::OperationalModelBase< RBDContainer::NJOINTS+6, RBDContainer::NJOINTS, NUM_CONTACTPOINTS >::getAccelerations().
|
protected |
Referenced by ct::rbd::OperationalModelBase< RBDContainer::NJOINTS+6, RBDContainer::NJOINTS, NUM_CONTACTPOINTS >::getAccelerations(), ct::rbd::OperationalModelBase< RBDContainer::NJOINTS+6, RBDContainer::NJOINTS, NUM_CONTACTPOINTS >::getVelocities(), and ct::rbd::OperationalModel< NUM_OUTPUTS, NUM_JOINTS, NUM_CONTACTPOINTS >::update().
|
protected |
|
protected |
Referenced by ct::rbd::OperationalModelBase< RBDContainer::NJOINTS+6, RBDContainer::NJOINTS, NUM_CONTACTPOINTS >::getAccelerations(), ct::rbd::OperationalModelBase< RBDContainer::NJOINTS+6, RBDContainer::NJOINTS, NUM_CONTACTPOINTS >::getPositions(), ct::rbd::OperationalModelBase< RBDContainer::NJOINTS+6, RBDContainer::NJOINTS, NUM_CONTACTPOINTS >::getVelocities(), ct::rbd::OperationalModel< NUM_OUTPUTS, NUM_JOINTS, NUM_CONTACTPOINTS >::update(), and ct::rbd::tpl::OperationalModelRBD< RBDContainer, NUM_CONTACTPOINTS, SCALAR >::update().
|
protected |
|
protected |
Referenced by ct::rbd::OperationalModelBase< RBDContainer::NJOINTS+6, RBDContainer::NJOINTS, NUM_CONTACTPOINTS >::MInverse(), ct::rbd::tpl::OperationalModelRBD< RBDContainer, NUM_CONTACTPOINTS, SCALAR >::update(), and ct::rbd::OperationalModel< NUM_OUTPUTS, NUM_JOINTS, NUM_CONTACTPOINTS >::update().
|
protected |
|
protected |
|
protected |
Referenced by ct::rbd::OperationalModelBase< RBDContainer::NJOINTS+6, RBDContainer::NJOINTS, NUM_CONTACTPOINTS >::S(), ct::rbd::OperationalModel< NUM_OUTPUTS, NUM_JOINTS, NUM_CONTACTPOINTS >::STransposeDager(), ct::rbd::tpl::OperationalModelRBD< RBDContainer, NUM_CONTACTPOINTS, SCALAR >::update(), and ct::rbd::OperationalModel< NUM_OUTPUTS, NUM_JOINTS, NUM_CONTACTPOINTS >::update().
|
protected |
Referenced by ct::rbd::OperationalModelBase< RBDContainer::NJOINTS+6, RBDContainer::NJOINTS, NUM_CONTACTPOINTS >::AllJc(), ct::rbd::OperationalModelBase< RBDContainer::NJOINTS+6, RBDContainer::NJOINTS, NUM_CONTACTPOINTS >::Jc(), ct::rbd::tpl::OperationalModelRBD< RBDContainer, NUM_CONTACTPOINTS, SCALAR >::update(), and ct::rbd::OperationalModel< NUM_OUTPUTS, NUM_JOINTS, NUM_CONTACTPOINTS >::update().