- 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< SCALARCoreS
 
typedef CoreS::ForceVector Force
 
typedef LinkDataMap< ForceExtForces
 
typedef CoreS::VelocityVector Velocity
 
typedef CoreS::VelocityVector Acceleration
 
typedef iit::rbd::tpl::InertiaMatrixDense< SCALARInertiaMatrix
 
typedef iit::testirb4600::tpl::JointState< SCALARJointState
 
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 VelocitygetVelocity_link1 () const
 
const AccelerationgetAcceleration_link1 () const
 
const ForcegetForce_link1 () const
 
const VelocitygetVelocity_link2 () const
 
const AccelerationgetAcceleration_link2 () const
 
const ForcegetForce_link2 () const
 
const VelocitygetVelocity_link3 () const
 
const AccelerationgetAcceleration_link3 () const
 
const ForcegetForce_link3 () const
 
const VelocitygetVelocity_link4 () const
 
const AccelerationgetAcceleration_link4 () const
 
const ForcegetForce_link4 () const
 
const VelocitygetVelocity_link5 () const
 
const AccelerationgetAcceleration_link5 () const
 
const ForcegetForce_link5 () const
 
const VelocitygetVelocity_link6 () const
 
const AccelerationgetAcceleration_link6 () const
 
const ForcegetForce_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: