- 3.0.2 rigid body dynamics module.
ct::rbd::RBDState< NJOINTS, SCALAR > Class Template Reference

joint states and base states More...

#include <RBDState.h>

Inheritance diagram for ct::rbd::RBDState< NJOINTS, SCALAR >:
ct::rbd::FloatingBaseRobotState< NJOINTS, ACT_STATE_DIM, SCALAR >

Public Types

using RigidBodyState_t = tpl::RigidBodyState< SCALAR >
 
using RigidBodyPose_t = tpl::RigidBodyPose< SCALAR >
 
typedef ct::core::StateVector< NSTATE_QUAT, SCALARstate_vector_quat_t
 
typedef ct::core::StateVector< NSTATE, SCALARstate_vector_euler_t
 
typedef ct::core::StateVector< NDOF, SCALARcoordinate_vector_t
 

Public Member Functions

 RBDState (typename RigidBodyPose_t::STORAGE_TYPE storage=RigidBodyPose_t::EULER)
 
 RBDState (const RBDState &other)
 
 RBDState (const RigidBodyState_t &baseState, const JointState< NJOINTS, SCALAR > &jointState)
 
virtual ~RBDState ()=default
 
bool operator!= (const RBDState &other) const
 
bool isApprox (const RBDState &rhs, const SCALAR &tol=1e-10)
 
RigidBodyState_tbase ()
 get base states More...
 
const RigidBodyState_tbase () const
 get constant base states More...
 
RigidBodyPose_tbasePose ()
 get base pose More...
 
const RigidBodyPose_tbasePose () const
 get constant base states More...
 
tpl::RigidBodyVelocities< SCALAR > & baseVelocities ()
 get base velocities More...
 
const tpl::RigidBodyVelocities< SCALAR > & baseVelocities () const
 get constant base velocities More...
 
kindr::LocalAngularVelocity< SCALAR > & baseLocalAngularVelocity ()
 get base local angular velocity More...
 
const kindr::LocalAngularVelocity< SCALAR > & baseLocalAngularVelocity () const
 get constant base local angular velocity More...
 
kindr::Velocity< SCALAR, 3 > & baseLinearVelocity ()
 get base linear velocity More...
 
const kindr::Velocity< SCALAR, 3 > & baseLinearVelocity () const
 get constant base local angular velocity More...
 
JointState< NJOINTS, SCALAR > & joints ()
 get joint states More...
 
const JointState< NJOINTS, SCALAR > & joints () const
 get constant joint states More...
 
JointState< NJOINTS, SCALAR >::JointPositionBlock jointPositions ()
 get joint positions More...
 
const JointState< NJOINTS, SCALAR >::JointPositionBlockConst jointPositions () const
 get constant joint positions More...
 
JointState< NJOINTS, SCALAR >::JointPositionBlock jointVelocities ()
 get joint velocities More...
 
const JointState< NJOINTS, SCALAR >::JointPositionBlockConst jointVelocities () const
 get constant joint velocities More...
 
state_vector_quat_t toStateVectorQuaternion () const
 
coordinate_vector_t toCoordinatePositionUnique () const
 
coordinate_vector_t toCoordinatePosition () const
 
coordinate_vector_t toCoordinateVelocity () const
 
state_vector_euler_t toStateVectorEulerXyzUnique () const
 
state_vector_euler_t toStateVectorEulerXyz () const
 
void fromStateVectorQuaternion (const state_vector_quat_t &state)
 
void fromStateVectorEulerXyz (const state_vector_euler_t &state)
 
void fromStateVectorRaw (const state_vector_quat_t &state)
 
void fromStateVectorRaw (const state_vector_euler_t &state)
 
virtual void setDefault ()
 
void setZero ()
 
void setRandom ()
 

Static Public Attributes

static EIGEN_MAKE_ALIGNED_OPERATOR_NEW const size_t NDOF = NJOINTS + 6
 
static const size_t NSTATE = 2 * (NJOINTS + 6)
 
static const size_t NSTATE_QUAT = NSTATE + 1
 

Protected Attributes

RigidBodyState_t baseState_
 
JointState< NJOINTS, SCALARjointState_
 

Detailed Description

template<size_t NJOINTS, typename SCALAR = double>
class ct::rbd::RBDState< NJOINTS, SCALAR >

joint states and base states

Member Typedef Documentation

◆ RigidBodyState_t

template<size_t NJOINTS, typename SCALAR = double>
using ct::rbd::RBDState< NJOINTS, SCALAR >::RigidBodyState_t = tpl::RigidBodyState<SCALAR>

◆ RigidBodyPose_t

template<size_t NJOINTS, typename SCALAR = double>
using ct::rbd::RBDState< NJOINTS, SCALAR >::RigidBodyPose_t = tpl::RigidBodyPose<SCALAR>

◆ state_vector_quat_t

template<size_t NJOINTS, typename SCALAR = double>
typedef ct::core::StateVector<NSTATE_QUAT, SCALAR> ct::rbd::RBDState< NJOINTS, SCALAR >::state_vector_quat_t

◆ state_vector_euler_t

template<size_t NJOINTS, typename SCALAR = double>
typedef ct::core::StateVector<NSTATE, SCALAR> ct::rbd::RBDState< NJOINTS, SCALAR >::state_vector_euler_t

◆ coordinate_vector_t

template<size_t NJOINTS, typename SCALAR = double>
typedef ct::core::StateVector<NDOF, SCALAR> ct::rbd::RBDState< NJOINTS, SCALAR >::coordinate_vector_t

Constructor & Destructor Documentation

◆ RBDState() [1/3]

template<size_t NJOINTS, typename SCALAR = double>
ct::rbd::RBDState< NJOINTS, SCALAR >::RBDState ( typename RigidBodyPose_t::STORAGE_TYPE  storage = RigidBodyPose_t::EULER)
inline

◆ RBDState() [2/3]

template<size_t NJOINTS, typename SCALAR = double>
ct::rbd::RBDState< NJOINTS, SCALAR >::RBDState ( const RBDState< NJOINTS, SCALAR > &  other)
inline

◆ RBDState() [3/3]

template<size_t NJOINTS, typename SCALAR = double>
ct::rbd::RBDState< NJOINTS, SCALAR >::RBDState ( const RigidBodyState_t baseState,
const JointState< NJOINTS, SCALAR > &  jointState 
)
inline

◆ ~RBDState()

template<size_t NJOINTS, typename SCALAR = double>
virtual ct::rbd::RBDState< NJOINTS, SCALAR >::~RBDState ( )
virtualdefault

Member Function Documentation

◆ operator!=()

template<size_t NJOINTS, typename SCALAR = double>
bool ct::rbd::RBDState< NJOINTS, SCALAR >::operator!= ( const RBDState< NJOINTS, SCALAR > &  other) const
inline

◆ isApprox()

template<size_t NJOINTS, typename SCALAR = double>
bool ct::rbd::RBDState< NJOINTS, SCALAR >::isApprox ( const RBDState< NJOINTS, SCALAR > &  rhs,
const SCALAR tol = 1e-10 
)
inline

Referenced by TEST().

◆ base() [1/2]

◆ base() [2/2]

template<size_t NJOINTS, typename SCALAR = double>
const RigidBodyState_t& ct::rbd::RBDState< NJOINTS, SCALAR >::base ( ) const
inline

get constant base states

◆ basePose() [1/2]

◆ basePose() [2/2]

template<size_t NJOINTS, typename SCALAR = double>
const RigidBodyPose_t& ct::rbd::RBDState< NJOINTS, SCALAR >::basePose ( ) const
inline

get constant base states

◆ baseVelocities() [1/2]

◆ baseVelocities() [2/2]

template<size_t NJOINTS, typename SCALAR = double>
const tpl::RigidBodyVelocities<SCALAR>& ct::rbd::RBDState< NJOINTS, SCALAR >::baseVelocities ( ) const
inline

get constant base velocities

◆ baseLocalAngularVelocity() [1/2]

◆ baseLocalAngularVelocity() [2/2]

template<size_t NJOINTS, typename SCALAR = double>
const kindr::LocalAngularVelocity<SCALAR>& ct::rbd::RBDState< NJOINTS, SCALAR >::baseLocalAngularVelocity ( ) const
inline

get constant base local angular velocity

◆ baseLinearVelocity() [1/2]

template<size_t NJOINTS, typename SCALAR = double>
kindr::Velocity<SCALAR, 3>& ct::rbd::RBDState< NJOINTS, SCALAR >::baseLinearVelocity ( )
inline

◆ baseLinearVelocity() [2/2]

template<size_t NJOINTS, typename SCALAR = double>
const kindr::Velocity<SCALAR, 3>& ct::rbd::RBDState< NJOINTS, SCALAR >::baseLinearVelocity ( ) const
inline

get constant base local angular velocity

◆ joints() [1/2]

◆ joints() [2/2]

template<size_t NJOINTS, typename SCALAR = double>
const JointState<NJOINTS, SCALAR>& ct::rbd::RBDState< NJOINTS, SCALAR >::joints ( ) const
inline

get constant joint states

◆ jointPositions() [1/2]

◆ jointPositions() [2/2]

template<size_t NJOINTS, typename SCALAR = double>
const JointState<NJOINTS, SCALAR>::JointPositionBlockConst ct::rbd::RBDState< NJOINTS, SCALAR >::jointPositions ( ) const
inline

get constant joint positions

◆ jointVelocities() [1/2]

template<size_t NJOINTS, typename SCALAR = double>
JointState<NJOINTS, SCALAR>::JointPositionBlock ct::rbd::RBDState< NJOINTS, SCALAR >::jointVelocities ( )
inline

◆ jointVelocities() [2/2]

template<size_t NJOINTS, typename SCALAR = double>
const JointState<NJOINTS, SCALAR>::JointPositionBlockConst ct::rbd::RBDState< NJOINTS, SCALAR >::jointVelocities ( ) const
inline

get constant joint velocities

◆ toStateVectorQuaternion()

template<size_t NJOINTS, typename SCALAR = double>
state_vector_quat_t ct::rbd::RBDState< NJOINTS, SCALAR >::toStateVectorQuaternion ( ) const
inline

◆ toCoordinatePositionUnique()

template<size_t NJOINTS, typename SCALAR = double>
coordinate_vector_t ct::rbd::RBDState< NJOINTS, SCALAR >::toCoordinatePositionUnique ( ) const
inline

◆ toCoordinatePosition()

◆ toCoordinateVelocity()

◆ toStateVectorEulerXyzUnique()

template<size_t NJOINTS, typename SCALAR = double>
state_vector_euler_t ct::rbd::RBDState< NJOINTS, SCALAR >::toStateVectorEulerXyzUnique ( ) const
inline

◆ toStateVectorEulerXyz()

template<size_t NJOINTS, typename SCALAR = double>
state_vector_euler_t ct::rbd::RBDState< NJOINTS, SCALAR >::toStateVectorEulerXyz ( ) const
inline

◆ fromStateVectorQuaternion()

template<size_t NJOINTS, typename SCALAR = double>
void ct::rbd::RBDState< NJOINTS, SCALAR >::fromStateVectorQuaternion ( const state_vector_quat_t state)
inline

◆ fromStateVectorEulerXyz()

◆ fromStateVectorRaw() [1/2]

template<size_t NJOINTS, typename SCALAR = double>
void ct::rbd::RBDState< NJOINTS, SCALAR >::fromStateVectorRaw ( const state_vector_quat_t state)
inline

◆ fromStateVectorRaw() [2/2]

template<size_t NJOINTS, typename SCALAR = double>
void ct::rbd::RBDState< NJOINTS, SCALAR >::fromStateVectorRaw ( const state_vector_euler_t state)
inline

◆ setDefault()

template<size_t NJOINTS, typename SCALAR = double>
virtual void ct::rbd::RBDState< NJOINTS, SCALAR >::setDefault ( )
inlinevirtual

◆ setZero()

◆ setRandom()

template<size_t NJOINTS, typename SCALAR = double>
void ct::rbd::RBDState< NJOINTS, SCALAR >::setRandom ( )
inline

Referenced by TEST().

Member Data Documentation

◆ NDOF

template<size_t NJOINTS, typename SCALAR = double>
EIGEN_MAKE_ALIGNED_OPERATOR_NEW const size_t ct::rbd::RBDState< NJOINTS, SCALAR >::NDOF = NJOINTS + 6
static

◆ NSTATE

template<size_t NJOINTS, typename SCALAR = double>
const size_t ct::rbd::RBDState< NJOINTS, SCALAR >::NSTATE = 2 * (NJOINTS + 6)
static

◆ NSTATE_QUAT

template<size_t NJOINTS, typename SCALAR = double>
const size_t ct::rbd::RBDState< NJOINTS, SCALAR >::NSTATE_QUAT = NSTATE + 1
static

◆ baseState_

◆ jointState_


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