mc_rtc  2.14.0
mc_tvm::RobotFrame Struct Reference

#include <mc_tvm/RobotFrame.h>

Inheritance diagram for mc_tvm::RobotFrame:
Collaboration diagram for mc_tvm::RobotFrame:

Classes

struct  NewRobotFrameToken
 

Public Member Functions

 RobotFrame (NewRobotFrameToken, const mc_rbdyn::RobotFrame &frame)
 
const tvm::internal::MatrixWithPropertiesjacobian () const noexcept
 
const sva::MotionVecdnormalAcceleration () const noexcept
 
const tvm::internal::MatrixWithPropertiesJDot () const noexcept
 
const rbd::Jacobian & rbdJacobian () const noexcept
 
const mc_rbdyn::RobotFrameframe () const noexcept
 
- Public Member Functions inherited from mc_tvm::Frame
 Frame (NewFrameToken, const mc_rbdyn::Frame &frame)
 
const sva::PTransformdposition () const noexcept
 
const sva::MotionVecdvelocity () const noexcept
 
const mc_rbdyn::Frameframe () 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
 

Protected Member Functions

void updateJacobian ()
 
void updateNormalAcceleration ()
 
void updateJDot ()
 
- Protected Member Functions inherited from mc_tvm::Frame
void updatePosition ()
 
void updateVelocity ()
 
- Protected Member Functions inherited from tvm::graph::abstract::Node< class >
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

Eigen::Matrix3d h_ = Eigen::Matrix3d::Zero()
 
rbd::Jacobian jac_
 
rbd::Blocks blocks_
 
Eigen::MatrixXd jacTmp_
 
tvm::internal::MatrixWithProperties jacobian_
 
sva::MotionVecd normalAcceleration_
 
tvm::internal::MatrixWithProperties jacDot_
 
- Protected Attributes inherited from mc_tvm::Frame
const mc_rbdyn::Frameframe_
 
sva::PTransformd position_ = sva::PTransformd::Identity()
 
sva::MotionVecd velocity_ = sva::MotionVecd::Zero()
 
- 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_
 

Friends

struct mc_rbdyn::RobotFrame
 

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
 

Detailed Description

A frame associated to an mc_rbdyn::RobotFrame

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

Outputs:

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

Constructor & Destructor Documentation

◆ RobotFrame()

mc_tvm::RobotFrame::RobotFrame ( NewRobotFrameToken  ,
const mc_rbdyn::RobotFrame frame 
)

Member Function Documentation

◆ frame()

const mc_rbdyn::RobotFrame& mc_tvm::RobotFrame::frame ( ) const
inlinenoexcept

Returns the associated mc_rbdyn RobotFrame

◆ jacobian()

const tvm::internal::MatrixWithProperties& mc_tvm::RobotFrame::jacobian ( ) const
inlinenoexcept

Frame's jacobian

◆ JDot()

const tvm::internal::MatrixWithProperties& mc_tvm::RobotFrame::JDot ( ) const
inlinenoexcept

Frame's jacobian time derivative

◆ normalAcceleration()

const sva::MotionVecd& mc_tvm::RobotFrame::normalAcceleration ( ) const
inlinenoexcept

Frame's normal acceleration in inertial frame

◆ rbdJacobian()

const rbd::Jacobian& mc_tvm::RobotFrame::rbdJacobian ( ) const
inlinenoexcept

Access the internal RBDyn Jacobian object

You can copy the jacobian from this reference.

This is useful if your entity requires:

  • the body jacobian
  • the jacobian translated at varying position

◆ updateJacobian()

void mc_tvm::RobotFrame::updateJacobian ( )
protected

◆ updateJDot()

void mc_tvm::RobotFrame::updateJDot ( )
protected

◆ updateNormalAcceleration()

void mc_tvm::RobotFrame::updateNormalAcceleration ( )
protected

Friends And Related Function Documentation

◆ mc_rbdyn::RobotFrame

friend struct mc_rbdyn::RobotFrame
friend

Member Data Documentation

◆ blocks_

rbd::Blocks mc_tvm::RobotFrame::blocks_
protected

◆ h_

Eigen::Matrix3d mc_tvm::RobotFrame::h_ = Eigen::Matrix3d::Zero()
protected

◆ jac_

rbd::Jacobian mc_tvm::RobotFrame::jac_
protected

◆ jacDot_

tvm::internal::MatrixWithProperties mc_tvm::RobotFrame::jacDot_
protected

◆ jacobian_

tvm::internal::MatrixWithProperties mc_tvm::RobotFrame::jacobian_
protected

◆ jacTmp_

Eigen::MatrixXd mc_tvm::RobotFrame::jacTmp_
protected

◆ normalAcceleration_

sva::MotionVecd mc_tvm::RobotFrame::normalAcceleration_
protected

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