- 3.0.2 rigid body dynamics module.
iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT > Class Template Reference

#include <inverse_dynamics.h>

Public Types

typedef iit::rbd::Core< SCALAR > CoreS
 
typedef CoreS::ForceVector Force
 
typedef LinkDataMap< Force > ExtForces
 
typedef CoreS::VelocityVector Velocity
 
typedef CoreS::VelocityVector Acceleration
 
typedef iit::rbd::tpl::InertiaMatrixDense< SCALAR > InertiaMatrix
 
typedef iit::testirb4600::tpl::JointState< SCALAR > JointState
 
typedef CoreS::Matrix66 Matrix66s
 
typedef iit::testirb4600::tpl::MotionTransforms< TRAIT > MTransforms
 
typedef InertiaProperties< TRAIT > IProperties
 

Public Member Functions

 InverseDynamics (IProperties &in, MTransforms &tr)
 
void setJointStatus (const JointState &q) const
 
Inverse dynamics

The full Newton-Euler algorithm for the inverse dynamics of this robot.

Parameters
[out]jForcesthe joint force vector required to achieve the desired accelerations
[in]qthe joint position vector
[in]qdthe joint velocity vector
[in]qddthe desired joint acceleration vector
[in]fextthe external forces acting on the links; this parameters defaults to zero
void id (JointState &jForces, const JointState &q, const JointState &qd, const JointState &qdd, const ExtForces &fext=zeroExtForces)
 
void id (JointState &jForces, const JointState &qd, const JointState &qdd, const ExtForces &fext=zeroExtForces)
 
Gravity terms

The joint forces (linear or rotational) required to compensate for the effect of gravity, in a specific configuration.

void G_terms (JointState &jForces, const JointState &q)
 
void G_terms (JointState &jForces)
 
Centrifugal and Coriolis terms

The forces (linear or rotational) acting on the joints due to centrifugal and Coriolis effects, for a specific configuration.

void C_terms (JointState &jForces, const JointState &q, const JointState &qd)
 
void C_terms (JointState &jForces, const JointState &qd)
 
Getters

These functions return various spatial quantities used internally by the inverse dynamics routines, like the spatial acceleration of the links.

The getters can be useful to retrieve the additional data that is not returned explicitly by the inverse dynamics routines even though it is computed. For example, after a call to the inverse dynamics, the spatial velocity of all the links has been determined and can be accessed.

However, beware that certain routines might not use some of the spatial quantities, which therefore would retain their last value without being updated nor reset (for example, the spatial velocity of the links is unaffected by the computation of the gravity terms).

const Velocity & getVelocity_link1 () const
 
const Acceleration & getAcceleration_link1 () const
 
const Force & getForce_link1 () const
 
const Velocity & getVelocity_link2 () const
 
const Acceleration & getAcceleration_link2 () const
 
const Force & getForce_link2 () const
 
const Velocity & getVelocity_link3 () const
 
const Acceleration & getAcceleration_link3 () const
 
const Force & getForce_link3 () const
 
const Velocity & getVelocity_link4 () const
 
const Acceleration & getAcceleration_link4 () const
 
const Force & getForce_link4 () const
 
const Velocity & getVelocity_link5 () const
 
const Acceleration & getAcceleration_link5 () const
 
const Force & getForce_link5 () const
 
const Velocity & getVelocity_link6 () const
 
const Acceleration & getAcceleration_link6 () const
 
const Force & getForce_link6 () const
 

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef TRAIT::Scalar SCALAR
 

Protected Member Functions

void firstPass (const JointState &qd, const JointState &qdd, const ExtForces &fext)
 
void secondPass (JointState &jForces)
 

Member Typedef Documentation

◆ CoreS

template<typename TRAIT >
typedef iit::rbd::Core<SCALAR> iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::CoreS

◆ Force

template<typename TRAIT >
typedef CoreS::ForceVector iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::Force

◆ ExtForces

template<typename TRAIT >
typedef LinkDataMap<Force> iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::ExtForces

◆ Velocity

template<typename TRAIT >
typedef CoreS::VelocityVector iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::Velocity

◆ Acceleration

◆ InertiaMatrix

◆ JointState

◆ Matrix66s

template<typename TRAIT >
typedef CoreS::Matrix66 iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::Matrix66s

◆ MTransforms

template<typename TRAIT >
typedef iit::testirb4600::tpl::MotionTransforms<TRAIT> iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::MTransforms

◆ IProperties

template<typename TRAIT >
typedef InertiaProperties<TRAIT> iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::IProperties

Constructor & Destructor Documentation

◆ InverseDynamics()

template<typename TRAIT >
iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::InverseDynamics ( IProperties &  in,
MTransforms &  tr 
)

Default constructor

Parameters
inthe inertia properties of the links
trthe container of all the spatial motion transforms of the robot testirb4600, which will be used by this instance to compute inverse-dynamics.

Member Function Documentation

◆ id() [1/2]

template<typename TRAIT >
void iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::id ( JointState &  jForces,
const JointState &  q,
const JointState &  qd,
const JointState &  qdd,
const ExtForces &  fext = zeroExtForces 
)
inline

◆ id() [2/2]

template<typename TRAIT >
void iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::id ( JointState &  jForces,
const JointState &  qd,
const JointState &  qdd,
const ExtForces &  fext = zeroExtForces 
)

◆ G_terms() [1/2]

template<typename TRAIT >
void iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::G_terms ( JointState &  jForces,
const JointState &  q 
)
inline

◆ G_terms() [2/2]

◆ C_terms() [1/2]

template<typename TRAIT >
void iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::C_terms ( JointState &  jForces,
const JointState &  q,
const JointState &  qd 
)
inline

◆ C_terms() [2/2]

◆ setJointStatus()

template<typename TRAIT >
void iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::setJointStatus ( const JointState &  q) const
inline

◆ getVelocity_link1()

template<typename TRAIT >
const Velocity& iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::getVelocity_link1 ( ) const
inline

◆ getAcceleration_link1()

template<typename TRAIT >
const Acceleration& iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::getAcceleration_link1 ( ) const
inline

◆ getForce_link1()

template<typename TRAIT >
const Force& iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::getForce_link1 ( ) const
inline

◆ getVelocity_link2()

template<typename TRAIT >
const Velocity& iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::getVelocity_link2 ( ) const
inline

◆ getAcceleration_link2()

template<typename TRAIT >
const Acceleration& iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::getAcceleration_link2 ( ) const
inline

◆ getForce_link2()

template<typename TRAIT >
const Force& iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::getForce_link2 ( ) const
inline

◆ getVelocity_link3()

template<typename TRAIT >
const Velocity& iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::getVelocity_link3 ( ) const
inline

◆ getAcceleration_link3()

template<typename TRAIT >
const Acceleration& iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::getAcceleration_link3 ( ) const
inline

◆ getForce_link3()

template<typename TRAIT >
const Force& iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::getForce_link3 ( ) const
inline

◆ getVelocity_link4()

template<typename TRAIT >
const Velocity& iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::getVelocity_link4 ( ) const
inline

◆ getAcceleration_link4()

template<typename TRAIT >
const Acceleration& iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::getAcceleration_link4 ( ) const
inline

◆ getForce_link4()

template<typename TRAIT >
const Force& iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::getForce_link4 ( ) const
inline

◆ getVelocity_link5()

template<typename TRAIT >
const Velocity& iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::getVelocity_link5 ( ) const
inline

◆ getAcceleration_link5()

template<typename TRAIT >
const Acceleration& iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::getAcceleration_link5 ( ) const
inline

◆ getForce_link5()

template<typename TRAIT >
const Force& iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::getForce_link5 ( ) const
inline

◆ getVelocity_link6()

template<typename TRAIT >
const Velocity& iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::getVelocity_link6 ( ) const
inline

◆ getAcceleration_link6()

template<typename TRAIT >
const Acceleration& iit::testirb4600::dyn::tpl::InverseDynamics< TRAIT >::getAcceleration_link6 ( ) const
inline

◆ getForce_link6()

◆ firstPass()

◆ secondPass()

Member Data Documentation

◆ SCALAR


The documentation for this class was generated from the following files: