Simox
2.3.74.0
|
Public Types | |
typedef std::vector< RobotNodePtr > | NodeContainerT |
typedef NodeContainerT::iterator | NodeContainerIterT |
Public Member Functions | |
RobotNodeSetPtr | clone (RobotPtr newRobot, const RobotNodePtr newKinematicRoot=RobotNodePtr()) |
bool | hasRobotNode (const RobotNodePtr &robotNode) const |
bool | hasRobotNode (const std::string &nodeName) const |
int | getRobotNodeIndex (const RobotNodePtr &robotNode) const |
int | getRobotNodeIndex (const std::string &nodeName) const |
const std::vector< RobotNodePtr > & | getAllRobotNodes () const |
std::vector< std::string > | getNodeNames () const |
std::vector< float > | getNodeLimitsLo () const |
std::vector< float > | getNodeLimitsHi () const |
RobotNodePtr | getKinematicRoot () const |
void | setKinematicRoot (RobotNodePtr robotNode) |
RobotNodePtr | getTCP () const |
void | print () const |
Print out some information. More... | |
unsigned int | getSize () const override |
std::vector< float > | getJointValues () const |
Eigen::VectorXf | getJointValuesEigen () 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) |
RobotNodePtr & | operator[] (int i) |
const RobotNodePtr & | getNode (int i) const |
const RobotNodePtr & | getNode (const std::string &nodeName) const |
auto | begin () |
auto | end () |
auto | begin () const |
auto | end () const |
unsigned int | size () const |
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... | |
std::string | toXML (int tabs) override |
bool | addSceneObject (SceneObjectPtr sceneObject) override |
this is forbidden for RobotNodeSets, a call will throw an exception More... | |
bool | addSceneObjects (SceneObjectSetPtr sceneObjectSet) override |
this is forbidden for RobotNodeSets, a call will throw an exception More... | |
bool | addSceneObjects (RobotNodeSetPtr robotNodeSet) override |
this is forbidden for RobotNodeSets, a call will throw an exception More... | |
bool | addSceneObjects (std::vector< RobotNodePtr > robotNodes) override |
this is forbidden for RobotNodeSets, a call will throw an exception More... | |
bool | removeSceneObject (SceneObjectPtr sceneObject) override |
this is forbidden for RobotNodeSets, a call will throw an exception More... | |
bool | mirror (const RobotNodeSet &targetNodeSet) |
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 |
virtual void | addSceneObjects (std::vector< SceneObjectPtr > sceneObjects) |
virtual void | addSceneObjects (std::vector< ManipulationObjectPtr > sceneObjects) |
CollisionCheckerPtr | getCollisionChecker () |
std::vector< CollisionModelPtr > | getCollisionModels () |
std::vector< SceneObjectPtr > | getSceneObjects () |
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) |
Static Public Member Functions | |
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) |
static RobotNodeSetPtr | createRobotNodeSet (RobotPtr robot, const std::string &name, const std::vector< RobotNodeSetPtr > &robotNodes, const RobotNodePtr kinematicRoot=RobotNodePtr(), const RobotNodePtr tcp=RobotNodePtr(), bool registerToRobot=false) |
Merges the node sets (takes care of only adding each node once) More... | |
Protected Member Functions | |
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... | |
Protected Attributes | |
NodeContainerT | robotNodes |
RobotWeakPtr | robot |
RobotNodePtr | kinematicRoot |
RobotNodePtr | tcp |
Protected Attributes inherited from VirtualRobot::SceneObjectSet | |
std::string | name |
std::vector< SceneObjectPtr > | sceneObjects |
CollisionCheckerPtr | colChecker |
Friends | |
class | RobotFactory |
A RobotNodeSet is a sub-set of RobotNodes of a Robot. Additionally to the list of RobotNodes, a RobotNodeSet holds information about
typedef NodeContainerT::iterator VirtualRobot::RobotNodeSet::NodeContainerIterT |
typedef std::vector<RobotNodePtr> VirtualRobot::RobotNodeSet::NodeContainerT |
|
protected |
Initialize this set with a vector of RobotNodes.
name | A name |
robot | A robot |
robotNodes | A set of robot nodes. |
kinematicRoot | This 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. |
tcp | The tcp. |
|
overridevirtual |
this is forbidden for RobotNodeSets, a call will throw an exception
Reimplemented from VirtualRobot::SceneObjectSet.
|
overridevirtual |
this is forbidden for RobotNodeSets, a call will throw an exception
Reimplemented from VirtualRobot::SceneObjectSet.
|
overridevirtual |
this is forbidden for RobotNodeSets, a call will throw an exception
Reimplemented from VirtualRobot::SceneObjectSet.
|
overridevirtual |
this is forbidden for RobotNodeSets, a call will throw an exception
Reimplemented from VirtualRobot::SceneObjectSet.
|
inline |
|
inline |
bool VirtualRobot::RobotNodeSet::checkJointLimits | ( | std::vector< float > & | jointValues, |
bool | verbose = false |
||
) | const |
Checks if the jointValues are within the current joint limits.
jointValues | A vector of correct size. |
verbose | Print information if joint limits are violated. |
bool VirtualRobot::RobotNodeSet::checkJointLimits | ( | Eigen::VectorXf & | jointValues, |
bool | verbose = false |
||
) | const |
RobotNodeSetPtr VirtualRobot::RobotNodeSet::clone | ( | RobotPtr | newRobot, |
const RobotNodePtr | newKinematicRoot = RobotNodePtr() |
||
) |
Registers a copy of this node set with the given robot
|
static |
Use this method to create and fully initialize an instance of RobotNodeSet.
|
static |
Use this method to create and fully initialize an instance of RobotNodeSet.
|
static |
Merges the node sets (takes care of only adding each node once)
|
inline |
|
inline |
const std::vector< RobotNodePtr > & VirtualRobot::RobotNodeSet::getAllRobotNodes | ( | ) | const |
Returns all nodes.
Eigen::Vector3f VirtualRobot::RobotNodeSet::getCoM | ( | ) |
Return center of mass of this node set.
std::map< std::string, float > VirtualRobot::RobotNodeSet::getJointValueMap | ( | ) | const |
std::vector< float > VirtualRobot::RobotNodeSet::getJointValues | ( | ) | const |
void VirtualRobot::RobotNodeSet::getJointValues | ( | std::vector< float > & | fillVector | ) | const |
void VirtualRobot::RobotNodeSet::getJointValues | ( | Eigen::VectorXf & | fillVector | ) | const |
void VirtualRobot::RobotNodeSet::getJointValues | ( | RobotConfigPtr | fillVector | ) | const |
Eigen::VectorXf VirtualRobot::RobotNodeSet::getJointValuesEigen | ( | ) | const |
RobotNodePtr VirtualRobot::RobotNodeSet::getKinematicRoot | ( | ) | const |
Returns the topmost node of the robot's kinematic tree to be used for updating all members of this set. This node is usually defined in the RobotNodeSet's XML definition.
float VirtualRobot::RobotNodeSet::getMass | ( | ) |
Return accumulated mass of this node set.
float VirtualRobot::RobotNodeSet::getMaximumExtension | ( | ) |
Compute an upper bound of the extension of the kinematic chain formed by this RobotNodeSet. This is done by summing the distances between all succeeding RobotNodes of this set.
const RobotNodePtr & VirtualRobot::RobotNodeSet::getNode | ( | int | i | ) | const |
const RobotNodePtr & VirtualRobot::RobotNodeSet::getNode | ( | const std::string & | nodeName | ) | const |
std::vector< float > VirtualRobot::RobotNodeSet::getNodeLimitsHi | ( | ) | const |
std::vector< float > VirtualRobot::RobotNodeSet::getNodeLimitsLo | ( | ) | const |
std::vector< std::string > VirtualRobot::RobotNodeSet::getNodeNames | ( | ) | const |
|
virtual |
get number of faces (i.e. triangles) of this object collisionModel
Indicates weather the faces of the collision model or the full model should be returned.
RobotPtr VirtualRobot::RobotNodeSet::getRobot | ( | ) |
int VirtualRobot::RobotNodeSet::getRobotNodeIndex | ( | const RobotNodePtr & | robotNode | ) | const |
int VirtualRobot::RobotNodeSet::getRobotNodeIndex | ( | const std::string & | nodeName | ) | const |
|
overridevirtual |
The number of associated robot nodes.
Reimplemented from VirtualRobot::SceneObjectSet.
RobotNodePtr VirtualRobot::RobotNodeSet::getTCP | ( | ) | const |
Returns the TCP.
bool VirtualRobot::RobotNodeSet::hasRobotNode | ( | const RobotNodePtr & | robotNode | ) | const |
bool VirtualRobot::RobotNodeSet::hasRobotNode | ( | const std::string & | nodeName | ) | const |
|
virtual |
Convenient method for highlighting the visualization of this node. It is automatically checked whether the collision model or the full model is part of the visualization.
visualization | The visualization for which the highlighting should be performed. |
enable | Set or unset highlighting. |
bool VirtualRobot::RobotNodeSet::isKinematicChain | ( | ) |
Checks if this set of robot nodes form a valid kinematic chain.
|
protected |
Tests if the given robot node is a valid kinematic root
bool VirtualRobot::RobotNodeSet::mirror | ( | const RobotNodeSet & | targetNodeSet | ) |
bool VirtualRobot::RobotNodeSet::nodesSufficient | ( | std::vector< RobotNodePtr > | nodes | ) | const |
Returns true, if nodes (only name strings are checked) are sufficient for building this rns.
RobotNodePtr & VirtualRobot::RobotNodeSet::operator[] | ( | int | i | ) |
void VirtualRobot::RobotNodeSet::print | ( | ) | const |
Print out some information.
|
overridevirtual |
this is forbidden for RobotNodeSets, a call will throw an exception
Reimplemented from VirtualRobot::SceneObjectSet.
void VirtualRobot::RobotNodeSet::respectJointLimits | ( | std::vector< float > & | jointValues | ) | const |
Cut
void VirtualRobot::RobotNodeSet::respectJointLimits | ( | Eigen::VectorXf & | jointValues | ) | const |
|
virtual |
Set joint values [rad]. The subpart of the robot, defined by the start joint (kinematicRoot) of rns, is updated to apply the new joint values.
jointValues | A vector with joint values, size must be equal to number of joints in this RobotNodeSet. |
|
virtual |
Set joint values [rad]. The subpart of the robot, defined by the start joint (kinematicRoot) of rns, is updated to apply the new joint values.
jointValues | A vector with joint values, size must be equal to number of joints in this RobotNodeSet. |
|
virtual |
Set joints that are within the given RobotConfig. Joints of this NodeSet that are not stored in jointValues remain untouched.
void VirtualRobot::RobotNodeSet::setKinematicRoot | ( | RobotNodePtr | robotNode | ) |
|
inline |
KinematicChainPtr VirtualRobot::RobotNodeSet::toKinematicChain | ( | ) |
|
overridevirtual |
Reimplemented from VirtualRobot::SceneObjectSet.
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |