mc_rtc  2.14.0
mc_tvm::CoM Struct Reference

#include <mc_tvm/CoM.h>

Inheritance diagram for mc_tvm::CoM:
Collaboration diagram for mc_tvm::CoM:

Public Member Functions

 CoM (NewCoMToken, Robot &robot)
 
const Eigen::Vector3d & com () const noexcept
 
const Eigen::Vector3d & velocity () const noexcept
 
const Eigen::Vector3d & normalAcceleration () const noexcept
 
const Eigen::Vector3d & acceleration () const noexcept
 
const Eigen::MatrixXd & jacobian () const noexcept
 
const Eigen::MatrixXd & JDot () const noexcept
 
const Robotrobot () const noexcept
 
Robotrobot () noexcept
 
const rbd::CoMJacobian & comJacobian () const noexcept
 
- Public Member Functions inherited from tvm::graph::internal::AbstractNode
bool isUpdateEnabled (EnumT e) const
 
virtual bool isUpdateStaticallyEnabled (int) const
 
virtual bool isUpdateCustomEnabled (int) const
 
virtual ~AbstractNode ()=default
 
void update (int i)
 
- Public Member Functions inherited from tvm::graph::internal::Inputs
virtual ~Inputs ()=default
 
void addInput (std::shared_ptr< T > source, EnumI i, Args... args)
 
void addInput (T &source, EnumI i, Args... args)
 
void removeInput (T *source)
 
void removeInput (T *source, Args... args)
 
Iterator getInput (T *source)
 
Iterator getInput (const std::shared_ptr< T > &source)
 
- Public Member Functions inherited from tvm::graph::abstract::Outputs
virtual ~Outputs ()=default
 
bool isOutputEnabled (EnumT e) const
 
bool isOutputEnabled (int i) const
 
virtual bool isOutputStaticallyEnabled (int) const
 
virtual bool isOutputCustomEnabled (int) const
 

Friends

struct Robot
 

Additional Inherited Members

- Public Types inherited from tvm::graph::internal::AbstractNode
enum  Update_
 
typedef AbstractNode UpdateParent
 
typedef AbstractNode UpdateBase
 
- Public Types inherited from tvm::graph::internal::Inputs
typedef std::unordered_map< abstract::Outputs *, std::set< int > > inputs_t
 
typedef std::unordered_set< std::shared_ptr< abstract::Outputs > > store_t
 
- Public Types inherited from tvm::graph::abstract::Outputs
enum  Output_
 
typedef Outputs OutputParent
 
typedef Outputs OutputBase
 
- Static Public Member Functions inherited from tvm::graph::internal::AbstractNode
static constexpr const char * UpdateName (Update_)
 
static constexpr bool UpdateStaticallyEnabled (EnumT)
 
- Static Public Member Functions inherited from tvm::graph::abstract::Outputs
static constexpr const char * OutputName (Output_)
 
static constexpr bool OutputStaticallyEnabled (EnumT)
 
- Static Public Attributes inherited from tvm::graph::internal::AbstractNode
static constexpr unsigned int UpdateSize
 
static constexpr auto UpdateBaseName
 
- Static Public Attributes inherited from tvm::graph::abstract::Outputs
static constexpr unsigned int OutputSize
 
static constexpr auto OutputBaseName
 
- Protected Types inherited from tvm::graph::internal::AbstractNode
typedef std::map< Outputs *, std::set< int > > input_dependency_t
 
- Protected Member Functions inherited from tvm::graph::abstract::Node< CoM >
void registerUpdates (EnumT u, void(U::*fn)(), Args... args)
 
void registerUpdates (EnumT u, void(U::*fn)())
 
void addOutputDependency (EnumO o, EnumU u)
 
void addOutputDependency (std::initializer_list< EnumO > os, EnumU u)
 
void addInternalDependency (EnumU1 uDependent, EnumU2 u)
 
void addInputDependency (EnumU u, std::shared_ptr< S > source, EnumO i, Args... args)
 
void addInputDependency (EnumU u, S &source, EnumO i, Args... args)
 
void addDirectDependency (EnumO o, std::shared_ptr< S > source, EnumI i)
 
void addDirectDependency (EnumO o, S &source, EnumI i)
 
- Protected Attributes inherited from tvm::graph::internal::AbstractNode
std::map< int, std::function< void(AbstractNode &)> > updates_
 
std::map< int, std::vector< int > > outputDependencies_
 
std::map< int, std::vector< int > > internalDependencies_
 
std::map< int, input_dependency_tinputDependencies_
 
std::map< int, std::pair< Outputs *, int > > directDependencies_
 
- Protected Attributes inherited from tvm::graph::abstract::Outputs
bool is_node_
 

Detailed Description

Center of mass (CoM) of a Robot and related quantities

Provides the frame position, jacobian, velocity and normal acceleration. These signals are correctly initialized on the object's creation.

Outputs:

  • Position: position of the CoM in world coordinates
  • Jacobian: jacobian of the CoM in world coordinates
  • Velocity: velocity of the CoM in world coordinates
  • NormalAcceleration: normal acceleration of the CoM in world coordinates
  • Acceleration: acceleration of the CoM in world coordinates
  • JDot: derivative of the jacobian of the CoM in world coordinates

Constructor & Destructor Documentation

◆ CoM()

mc_tvm::CoM::CoM ( NewCoMToken  ,
Robot robot 
)

Constructor

Creates the CoM algorithm for a robot

Parameters
robotRobot to which the frame is attached

Member Function Documentation

◆ acceleration()

const Eigen::Vector3d& mc_tvm::CoM::acceleration ( ) const
inlinenoexcept

◆ com()

const Eigen::Vector3d& mc_tvm::CoM::com ( ) const
inlinenoexcept

◆ comJacobian()

const rbd::CoMJacobian& mc_tvm::CoM::comJacobian ( ) const
inlinenoexcept

Access the underlying CoMJacobian object to perform computations

◆ jacobian()

const Eigen::MatrixXd& mc_tvm::CoM::jacobian ( ) const
inlinenoexcept

◆ JDot()

const Eigen::MatrixXd& mc_tvm::CoM::JDot ( ) const
inlinenoexcept

◆ normalAcceleration()

const Eigen::Vector3d& mc_tvm::CoM::normalAcceleration ( ) const
inlinenoexcept

◆ robot() [1/2]

const Robot& mc_tvm::CoM::robot ( ) const
inlinenoexcept

◆ robot() [2/2]

Robot& mc_tvm::CoM::robot ( )
inlinenoexcept

◆ velocity()

const Eigen::Vector3d& mc_tvm::CoM::velocity ( ) const
inlinenoexcept

Friends And Related Function Documentation

◆ Robot

friend struct Robot
friend

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