Robotics Library  0.7.0
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends | List of all members
rl::mdl::Model Class Reference

#include <Model.h>

Inheritance diagram for rl::mdl::Model:
Inheritance graph
[legend]

Public Member Functions

 Model ()
 
virtual ~Model ()
 
void add (Compound *compound, const Frame *a, const Frame *b)
 
void add (Frame *frame)
 
void add (Transform *transform, const Frame *a, const Frame *b)
 
bool areColliding (const ::std::size_t &i, const ::std::size_t &j) const
 
Modelclone () const
 
::rl::math::Vector generatePositionGaussian (const ::rl::math::Vector &rand, const ::rl::math::Vector &mean, const ::rl::math::Vector &sigma) const
 
::rl::math::Vector generatePositionUniform (const ::rl::math::Vector &rand) const
 
::rl::math::Vector getAcceleration () const
 
::Eigen::Matrix< ::rl::math::Unit, ::Eigen::Dynamic, 1 > getAccelerationUnits () const
 
::std::size_t getBodies () const
 
BodygetBody (const ::std::size_t &i) const
 
::std::size_t getDof () const
 
::std::size_t getDofPosition () const
 
const ::rl::math::TransformgetFrame (const ::std::size_t &i) const
 
const ::rl::math::MatrixgetGammaPosition () const
 
const ::rl::math::MatrixgetGammaVelocity () const
 
const ::rl::math::MatrixgetGammaPositionInverse () const
 
const ::rl::math::MatrixgetGammaVelocityInverse () const
 
::rl::math::Vector getHomePosition () const
 
JointgetJoint (const ::std::size_t &i) const
 
::std::size_t getJoints () const
 
const ::rl::math::MotionVectorgetOperationalAcceleration (const ::std::size_t &i) const
 
::std::size_t getOperationalDof () const
 
const ::rl::math::ForceVectorgetOperationalForce (const ::std::size_t &i) const
 
const ::rl::math::TransformgetOperationalPosition (const ::std::size_t &i) const
 
const ::rl::math::MotionVectorgetOperationalVelocity (const ::std::size_t &i) const
 
const ::std::string & getManufacturer () const
 
::rl::math::Vector getMaximum () const
 
::rl::math::Vector getMinimum () const
 
const ::std::string & getName () const
 
::rl::math::Vector getPosition () const
 
::Eigen::Matrix< ::rl::math::Unit, ::Eigen::Dynamic, 1 > getPositionUnits () const
 
::rl::math::Vector getTorque () const
 
::Eigen::Matrix< ::rl::math::Unit, ::Eigen::Dynamic, 1 > getTorqueUnits () const
 
::rl::math::Vector getSpeed () const
 
::Eigen::Matrix< ::rl::math::Unit, ::Eigen::Dynamic, 1 > getSpeedUnits () const
 
::rl::math::Vector getVelocity () const
 
::Eigen::Matrix< ::rl::math::Unit, ::Eigen::Dynamic, 1 > getVelocityUnits () const
 
bool isColliding (const ::std::size_t &i) const
 
void replace (Compound *compound, Transform *transform)
 
void replace (Transform *transform, Compound *compound)
 
void remove (Compound *compound)
 
void remove (Frame *frame)
 
void remove (Transform *transform)
 
void setAcceleration (const ::rl::math::Vector &qdd)
 
void setGammaPosition (const ::rl::math::Matrix &gammaPosition)
 
void setGammaVelocity (const ::rl::math::Matrix &gammaVelocity)
 
void setHomePosition (const ::rl::math::Vector &home)
 
void setManufacturer (const ::std::string &manufacturer)
 
void setName (const ::std::string &name)
 
void setOperationalVelocity (const ::std::size_t &i, const ::rl::math::MotionVector &v) const
 
void setPosition (const ::rl::math::Vector &q)
 
void setTorque (const ::rl::math::Vector &tau)
 
void setVelocity (const ::rl::math::Vector &qd)
 
::rl::math::Transformtool (const ::std::size_t &i=0)
 
const ::rl::math::Transformtool (const ::std::size_t &i=0) const
 
virtual void update ()
 
::rl::math::Transformworld ()
 
const ::rl::math::Transformworld () const
 

Protected Types

typedef ::boost::adjacency_list< ::boost::listS, ::boost::listS, ::boost::bidirectionalS, ::boost::property< ::boost::vertex_color_t, Compound *, ::std::shared_ptr< Frame > >, ::boost::property< ::boost::edge_weight_t, Compound *, ::std::shared_ptr< Transform > >, ::boost::no_property, ::boost::listS > Tree
 
typedef ::boost::graph_traits< Tree >::edge_descriptor Edge
 
typedef ::boost::graph_traits< Tree >::edge_iterator EdgeIterator
 
typedef ::std::pair< EdgeIterator, EdgeIteratorEdgeIteratorPair
 
typedef ::boost::graph_traits< Tree >::in_edge_iterator InEdgeIterator
 
typedef ::std::pair< InEdgeIterator, InEdgeIteratorInEdgeIteratorPair
 
typedef ::boost::graph_traits< Tree >::out_edge_iterator OutEdgeIterator
 
typedef ::std::pair< OutEdgeIterator, OutEdgeIteratorOutEdgeIteratorPair
 
typedef ::boost::graph_traits< Tree >::vertex_descriptor Vertex
 
typedef ::boost::graph_traits< Tree >::vertex_iterator VertexIterator
 
typedef ::std::pair< VertexIterator, VertexIteratorVertexIteratorPair
 

Protected Member Functions

void update (const Vertex &u)
 

Protected Attributes

::std::vector< Body * > bodies
 
::std::vector< Element * > elements
 
::std::vector< Frame * > frames
 
::rl::math::Matrix gammaPosition
 
::rl::math::Matrix gammaVelocity
 
::rl::math::Vector home
 
::rl::math::Matrix invGammaPosition
 
::rl::math::Matrix invGammaVelocity
 
::std::vector< Joint * > joints
 
::std::vector< Vertexleaves
 
::std::string manufacturer
 
::std::string name
 
Vertex root
 
::std::vector< Edgetools
 
::std::vector< Transform * > transforms
 
Tree tree
 

Friends

class Compound
 

Member Typedef Documentation

◆ Edge

typedef ::boost::graph_traits<Tree>::edge_descriptor rl::mdl::Model::Edge
protected

◆ EdgeIterator

typedef ::boost::graph_traits<Tree>::edge_iterator rl::mdl::Model::EdgeIterator
protected

◆ EdgeIteratorPair

◆ InEdgeIterator

typedef ::boost::graph_traits<Tree>::in_edge_iterator rl::mdl::Model::InEdgeIterator
protected

◆ InEdgeIteratorPair

◆ OutEdgeIterator

typedef ::boost::graph_traits<Tree>::out_edge_iterator rl::mdl::Model::OutEdgeIterator
protected

◆ OutEdgeIteratorPair

◆ Tree

typedef ::boost::adjacency_list< ::boost::listS, ::boost::listS, ::boost::bidirectionalS, ::boost::property< ::boost::vertex_color_t, Compound*, ::std::shared_ptr<Frame> >, ::boost::property< ::boost::edge_weight_t, Compound*, ::std::shared_ptr<Transform> >, ::boost::no_property, ::boost::listS > rl::mdl::Model::Tree
protected

◆ Vertex

typedef ::boost::graph_traits<Tree>::vertex_descriptor rl::mdl::Model::Vertex
protected

◆ VertexIterator

typedef ::boost::graph_traits<Tree>::vertex_iterator rl::mdl::Model::VertexIterator
protected

◆ VertexIteratorPair

Constructor & Destructor Documentation

◆ Model()

rl::mdl::Model::Model ( )

◆ ~Model()

rl::mdl::Model::~Model ( )
virtual

Member Function Documentation

◆ add() [1/3]

void rl::mdl::Model::add ( Compound compound,
const Frame a,
const Frame b 
)

◆ add() [2/3]

void rl::mdl::Model::add ( Frame frame)

◆ add() [3/3]

void rl::mdl::Model::add ( Transform transform,
const Frame a,
const Frame b 
)

◆ areColliding()

bool rl::mdl::Model::areColliding ( const ::std::size_t &  i,
const ::std::size_t &  j 
) const

◆ clone()

Model * rl::mdl::Model::clone ( ) const

◆ generatePositionGaussian()

rl::math::Vector rl::mdl::Model::generatePositionGaussian ( const ::rl::math::Vector rand,
const ::rl::math::Vector mean,
const ::rl::math::Vector sigma 
) const

◆ generatePositionUniform()

rl::math::Vector rl::mdl::Model::generatePositionUniform ( const ::rl::math::Vector rand) const

◆ getAcceleration()

rl::math::Vector rl::mdl::Model::getAcceleration ( ) const

◆ getAccelerationUnits()

Eigen::Matrix<::rl::math::Unit,::Eigen::Dynamic, 1 > rl::mdl::Model::getAccelerationUnits ( ) const

◆ getBodies()

std::size_t rl::mdl::Model::getBodies ( ) const

◆ getBody()

Body * rl::mdl::Model::getBody ( const ::std::size_t &  i) const

◆ getDof()

std::size_t rl::mdl::Model::getDof ( ) const

◆ getDofPosition()

std::size_t rl::mdl::Model::getDofPosition ( ) const

◆ getFrame()

const ::rl::math::Transform & rl::mdl::Model::getFrame ( const ::std::size_t &  i) const

◆ getGammaPosition()

const ::rl::math::Matrix & rl::mdl::Model::getGammaPosition ( ) const

◆ getGammaPositionInverse()

const ::rl::math::Matrix & rl::mdl::Model::getGammaPositionInverse ( ) const

◆ getGammaVelocity()

const ::rl::math::Matrix & rl::mdl::Model::getGammaVelocity ( ) const

◆ getGammaVelocityInverse()

const ::rl::math::Matrix & rl::mdl::Model::getGammaVelocityInverse ( ) const

◆ getHomePosition()

rl::math::Vector rl::mdl::Model::getHomePosition ( ) const

◆ getJoint()

Joint * rl::mdl::Model::getJoint ( const ::std::size_t &  i) const

◆ getJoints()

std::size_t rl::mdl::Model::getJoints ( ) const

◆ getManufacturer()

const ::std::string & rl::mdl::Model::getManufacturer ( ) const

◆ getMaximum()

rl::math::Vector rl::mdl::Model::getMaximum ( ) const

◆ getMinimum()

rl::math::Vector rl::mdl::Model::getMinimum ( ) const

◆ getName()

const ::std::string & rl::mdl::Model::getName ( ) const

◆ getOperationalAcceleration()

const ::rl::math::MotionVector & rl::mdl::Model::getOperationalAcceleration ( const ::std::size_t &  i) const

◆ getOperationalDof()

std::size_t rl::mdl::Model::getOperationalDof ( ) const

◆ getOperationalForce()

const ::rl::math::ForceVector & rl::mdl::Model::getOperationalForce ( const ::std::size_t &  i) const

◆ getOperationalPosition()

const ::rl::math::Transform & rl::mdl::Model::getOperationalPosition ( const ::std::size_t &  i) const

◆ getOperationalVelocity()

const ::rl::math::MotionVector & rl::mdl::Model::getOperationalVelocity ( const ::std::size_t &  i) const

◆ getPosition()

rl::math::Vector rl::mdl::Model::getPosition ( ) const

◆ getPositionUnits()

Eigen::Matrix<::rl::math::Unit,::Eigen::Dynamic, 1 > rl::mdl::Model::getPositionUnits ( ) const

◆ getSpeed()

rl::math::Vector rl::mdl::Model::getSpeed ( ) const

◆ getSpeedUnits()

Eigen::Matrix<::rl::math::Unit,::Eigen::Dynamic, 1 > rl::mdl::Model::getSpeedUnits ( ) const

◆ getTorque()

rl::math::Vector rl::mdl::Model::getTorque ( ) const

◆ getTorqueUnits()

Eigen::Matrix<::rl::math::Unit,::Eigen::Dynamic, 1 > rl::mdl::Model::getTorqueUnits ( ) const

◆ getVelocity()

rl::math::Vector rl::mdl::Model::getVelocity ( ) const

◆ getVelocityUnits()

Eigen::Matrix<::rl::math::Unit,::Eigen::Dynamic, 1 > rl::mdl::Model::getVelocityUnits ( ) const

◆ isColliding()

bool rl::mdl::Model::isColliding ( const ::std::size_t &  i) const

◆ remove() [1/3]

void rl::mdl::Model::remove ( Compound compound)

◆ remove() [2/3]

void rl::mdl::Model::remove ( Frame frame)

◆ remove() [3/3]

void rl::mdl::Model::remove ( Transform transform)

◆ replace() [1/2]

void rl::mdl::Model::replace ( Compound compound,
Transform transform 
)

◆ replace() [2/2]

void rl::mdl::Model::replace ( Transform transform,
Compound compound 
)

◆ setAcceleration()

void rl::mdl::Model::setAcceleration ( const ::rl::math::Vector qdd)

◆ setGammaPosition()

void rl::mdl::Model::setGammaPosition ( const ::rl::math::Matrix gammaPosition)

◆ setGammaVelocity()

void rl::mdl::Model::setGammaVelocity ( const ::rl::math::Matrix gammaVelocity)

◆ setHomePosition()

void rl::mdl::Model::setHomePosition ( const ::rl::math::Vector home)

◆ setManufacturer()

void rl::mdl::Model::setManufacturer ( const ::std::string &  manufacturer)

◆ setName()

void rl::mdl::Model::setName ( const ::std::string &  name)

◆ setOperationalVelocity()

void rl::mdl::Model::setOperationalVelocity ( const ::std::size_t &  i,
const ::rl::math::MotionVector v 
) const

◆ setPosition()

void rl::mdl::Model::setPosition ( const ::rl::math::Vector q)

◆ setTorque()

void rl::mdl::Model::setTorque ( const ::rl::math::Vector tau)

◆ setVelocity()

void rl::mdl::Model::setVelocity ( const ::rl::math::Vector qd)

◆ tool() [1/2]

rl::math::Transform & rl::mdl::Model::tool ( const ::std::size_t &  i = 0)

◆ tool() [2/2]

const ::rl::math::Transform & rl::mdl::Model::tool ( const ::std::size_t &  i = 0) const

◆ update() [1/2]

void rl::mdl::Model::update ( )
virtual

Reimplemented in rl::mdl::Kinematic, and rl::mdl::Dynamic.

◆ update() [2/2]

void rl::mdl::Model::update ( const Vertex u)
protected

◆ world() [1/2]

rl::math::Transform & rl::mdl::Model::world ( )

◆ world() [2/2]

const ::rl::math::Transform & rl::mdl::Model::world ( ) const

Friends And Related Function Documentation

◆ Compound

friend class Compound
friend

Member Data Documentation

◆ bodies

::std::vector<Body*> rl::mdl::Model::bodies
protected

◆ elements

::std::vector<Element*> rl::mdl::Model::elements
protected

◆ frames

::std::vector<Frame*> rl::mdl::Model::frames
protected

◆ gammaPosition

::rl::math::Matrix rl::mdl::Model::gammaPosition
protected

◆ gammaVelocity

::rl::math::Matrix rl::mdl::Model::gammaVelocity
protected

◆ home

::rl::math::Vector rl::mdl::Model::home
protected

◆ invGammaPosition

::rl::math::Matrix rl::mdl::Model::invGammaPosition
protected

◆ invGammaVelocity

::rl::math::Matrix rl::mdl::Model::invGammaVelocity
protected

◆ joints

::std::vector<Joint*> rl::mdl::Model::joints
protected

◆ leaves

::std::vector<Vertex> rl::mdl::Model::leaves
protected

◆ manufacturer

::std::string rl::mdl::Model::manufacturer
protected

◆ name

::std::string rl::mdl::Model::name
protected

◆ root

Vertex rl::mdl::Model::root
protected

◆ tools

::std::vector<Edge> rl::mdl::Model::tools
protected

◆ transforms

::std::vector<Transform*> rl::mdl::Model::transforms
protected

◆ tree

Tree rl::mdl::Model::tree
protected

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