Simox  2.3.50
VirtualRobot::KinematicChain Class Reference
Inheritance diagram for VirtualRobot::KinematicChain:
VirtualRobot::RobotNodeSet VirtualRobot::SceneObjectSet

Public Member Functions

 KinematicChain (const std::string &name, RobotPtr robot, const std::vector< RobotNodePtr > &robotNodes, RobotNodePtr tcp=RobotNodePtr(), RobotNodePtr kinematicRoot=RobotNodePtr())
 
virtual ~KinematicChain ()
 
- Public Member Functions inherited from VirtualRobot::RobotNodeSet
RobotNodeSetPtr clone (RobotPtr newRobot, const RobotNodePtr newKinematicRoot=RobotNodePtr())
 
bool hasRobotNode (RobotNodePtr robotNode) const
 
bool hasRobotNode (const std::string &nodeName) const
 
const std::vector< RobotNodePtrgetAllRobotNodes () const
 
std::vector< std::string > getNodeNames () const
 
RobotNodePtr getKinematicRoot () const
 
void setKinematicRoot (RobotNodePtr robotNode)
 
RobotNodePtr getTCP () const
 
void print () const
 Print out some information. More...
 
virtual unsigned int getSize () const
 
std::vector< float > getJointValues () const
 
void getJointValues (std::vector< float > &fillVector) const
 
void getJointValues (Eigen::VectorXf &fillVector) const
 
void getJointValues (RobotConfigPtr fillVector) const
 
std::map< std::string, float > getJointValueMap () const
 
void respectJointLimits (std::vector< float > &jointValues) const
 
void respectJointLimits (Eigen::VectorXf &jointValues) const
 
bool checkJointLimits (std::vector< float > &jointValues, bool verbose=false) const
 
bool checkJointLimits (Eigen::VectorXf &jointValues, bool verbose=false) const
 
virtual void setJointValues (const std::vector< float > &jointValues)
 
virtual void setJointValues (const Eigen::VectorXf &jointValues)
 
virtual void setJointValues (const RobotConfigPtr jointValues)
 
RobotNodePtroperator[] (int i)
 
RobotNodePtrgetNode (int i)
 
NodeContainerIterT begin ()
 
NodeContainerIterT end ()
 
RobotPtr getRobot ()
 
bool isKinematicChain ()
 
KinematicChainPtr toKinematicChain ()
 
virtual void highlight (VisualizationPtr visualization, bool enable)
 
virtual int getNumFaces (bool collisionModel=false)
 
float getMaximumExtension ()
 
Eigen::Vector3f getCoM ()
 
float getMass ()
 
bool nodesSufficient (std::vector< RobotNodePtr > nodes) const
 Returns true, if nodes (only name strings are checked) are sufficient for building this rns. More...
 
virtual std::string toXML (int tabs)
 
virtual bool addSceneObject (SceneObjectPtr sceneObject)
 this is forbidden for RobotNodeSets, a call will throw an exception More...
 
virtual bool addSceneObjects (SceneObjectSetPtr sceneObjectSet)
 this is forbidden for RobotNodeSets, a call will throw an exception More...
 
virtual bool addSceneObjects (RobotNodeSetPtr robotNodeSet)
 this is forbidden for RobotNodeSets, a call will throw an exception More...
 
virtual bool addSceneObjects (std::vector< RobotNodePtr > robotNodes)
 this is forbidden for RobotNodeSets, a call will throw an exception More...
 
virtual bool removeSceneObject (SceneObjectPtr sceneObject)
 this is forbidden for RobotNodeSets, a call will throw an exception More...
 
- Public Member Functions inherited from VirtualRobot::SceneObjectSet
EIGEN_MAKE_ALIGNED_OPERATOR_NEW SceneObjectSet (const std::string &name="", CollisionCheckerPtr colChecker=CollisionCheckerPtr())
 
virtual ~SceneObjectSet ()
 
std::string getName () const
 
CollisionCheckerPtr getCollisionChecker ()
 
std::vector< CollisionModelPtrgetCollisionModels ()
 
std::vector< SceneObjectPtrgetSceneObjects ()
 
virtual SceneObjectPtr getSceneObject (unsigned int nr)
 
virtual bool hasSceneObject (SceneObjectPtr sceneObject)
 Returns true, if sceneObject is part of this set. More...
 
virtual bool getCurrentSceneObjectConfig (std::map< SceneObjectPtr, Eigen::Matrix4f > &storeConfig)
 fills the current globalPose of all associated sceneobjects to map. More...
 
SceneObjectSetPtr clone (const std::string &newName="")
 
SceneObjectSetPtr clone (const std::string &newName, CollisionCheckerPtr newColChecker)
 
ObstaclePtr createStaticObstacle (const std::string &name)
 

Protected Attributes

RobotNodePtr kinematicRoot
 
- Protected Attributes inherited from VirtualRobot::RobotNodeSet
NodeContainerT robotNodes
 
RobotWeakPtr robot
 
RobotNodePtr kinematicRoot
 
RobotNodePtr tcp
 
- Protected Attributes inherited from VirtualRobot::SceneObjectSet
std::string name
 
std::vector< SceneObjectPtrsceneObjects
 
CollisionCheckerPtr colChecker
 

Friends

class RobotFactory
 

Additional Inherited Members

- Public Types inherited from VirtualRobot::RobotNodeSet
typedef std::vector< RobotNodePtrNodeContainerT
 
typedef NodeContainerT::iterator NodeContainerIterT
 
- Static Public Member Functions inherited from VirtualRobot::RobotNodeSet
static RobotNodeSetPtr createRobotNodeSet (RobotPtr robot, const std::string &name, const std::vector< std::string > &robotNodeNames, const std::string &kinematicRootName="", const std::string &tcpName="", bool registerToRobot=false)
 
static RobotNodeSetPtr createRobotNodeSet (RobotPtr robot, const std::string &name, const std::vector< RobotNodePtr > &robotNodes, const RobotNodePtr kinematicRoot=RobotNodePtr(), const RobotNodePtr tcp=RobotNodePtr(), bool registerToRobot=false)
 
- Protected Member Functions inherited from VirtualRobot::RobotNodeSet
bool isKinematicRoot (RobotNodePtr robotNode)
 
 RobotNodeSet (const std::string &name, RobotWeakPtr robot, const std::vector< RobotNodePtr > &robotNodes, const RobotNodePtr kinematicRoot=RobotNodePtr(), const RobotNodePtr tcp=RobotNodePtr())
 
- Protected Member Functions inherited from VirtualRobot::SceneObjectSet
void destroyData ()
 delete all data More...
 

Detailed Description

A KinematicChain is a RobotNodeSet that fulfills some constraints on the covered RobotNodes. The nodes form a kinematic chain, which means that two successive nodes are uniquely connected in the kinematic tree of the robot. E.g. node i and node i+1 are parent and child or node i+1 is child of a child of node i, etc.

See also
RobotNodeSet

Constructor & Destructor Documentation

VirtualRobot::KinematicChain::KinematicChain ( const std::string &  name,
RobotPtr  robot,
const std::vector< RobotNodePtr > &  robotNodes,
RobotNodePtr  tcp = RobotNodePtr(),
RobotNodePtr  kinematicRoot = RobotNodePtr() 
)

Initialize this set with a vector of RobotNodes. The nodes have to be ordered: node[i] must be parent or grandparent or.. of node[i+1]

Parameters
nameThe name of this kinematic chain.
robotNodesA set of robot nodes.
tcpThis specifies the TCP node of the robot's kinematic tree. tcp does not have to be a node of this set. If not given, the last entry of robotNodes is used.
kinematicRootThis specifies the first node of the robot's kinematic tree to be used for updating all members of this set. kinematicRoot does not have to be a node of this set. If not given, the first entry of robotNodes is used.
VirtualRobot::KinematicChain::~KinematicChain ( )
virtual

Friends And Related Function Documentation

friend class RobotFactory
friend

Field Documentation

RobotNodePtr VirtualRobot::KinematicChain::kinematicRoot
protected