Simox  2.3.74.0
VirtualRobot::PoseQualityMeasurement Class Reference
Inheritance diagram for VirtualRobot::PoseQualityMeasurement:
VirtualRobot::PoseQualityManipulability VirtualRobot::PoseQualityExtendedManipulability

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW PoseQualityMeasurement (VirtualRobot::RobotNodeSetPtr rns)
 
 ~PoseQualityMeasurement ()
 
virtual float getPoseQuality ()
 
virtual float getPoseQuality (const Eigen::VectorXf &direction)
 
void setVerbose (bool v)
 
VirtualRobot::RobotNodeSetPtr getRNS ()
 
std::string getName ()
 A string that identifies the type of pose quality measure. More...
 
virtual bool consideringJointLimits ()
 Indicates if joint limits are considered. More...
 
virtual void setObstacleDistanceVector (const Eigen::Vector3f &directionSurfaceToObstance)
 
virtual void disableObstacleDistance ()
 
virtual PoseQualityMeasurementPtr clone (RobotPtr newRobot)
 

Protected Attributes

std::string name
 
VirtualRobot::RobotNodeSetPtr rns
 
bool considerObstacle
 
Eigen::Vector3f obstacleDir
 
bool verbose
 

Detailed Description

An interface definition for quality measurements of poses.

Constructor & Destructor Documentation

◆ PoseQualityMeasurement()

VirtualRobot::PoseQualityMeasurement::PoseQualityMeasurement ( VirtualRobot::RobotNodeSetPtr  rns)

◆ ~PoseQualityMeasurement()

VirtualRobot::PoseQualityMeasurement::~PoseQualityMeasurement ( )
default

Member Function Documentation

◆ clone()

PoseQualityMeasurementPtr VirtualRobot::PoseQualityMeasurement::clone ( RobotPtr  newRobot)
virtual

◆ consideringJointLimits()

bool VirtualRobot::PoseQualityMeasurement::consideringJointLimits ( )
virtual

Indicates if joint limits are considered.

Reimplemented in VirtualRobot::PoseQualityExtendedManipulability, and VirtualRobot::PoseQualityManipulability.

◆ disableObstacleDistance()

void VirtualRobot::PoseQualityMeasurement::disableObstacleDistance ( )
virtual

◆ getName()

std::string VirtualRobot::PoseQualityMeasurement::getName ( )

A string that identifies the type of pose quality measure.

◆ getPoseQuality() [1/2]

float VirtualRobot::PoseQualityMeasurement::getPoseQuality ( )
virtual

The main method for determining the pose quality. The current configuration of the corresponding RNS is analyzed and the quality is returned. See derived classes for details.

Reimplemented in VirtualRobot::PoseQualityExtendedManipulability, and VirtualRobot::PoseQualityManipulability.

◆ getPoseQuality() [2/2]

float VirtualRobot::PoseQualityMeasurement::getPoseQuality ( const Eigen::VectorXf &  direction)
virtual

The quality is determined for a given Cartesian direction. The current configuration of the corresponding RNS is analyzed and the quality is returned. See derived classes for details.

Parameters
directionA 3d or 6d vector with the Cartesian direction to investigate.

Reimplemented in VirtualRobot::PoseQualityExtendedManipulability, and VirtualRobot::PoseQualityManipulability.

◆ getRNS()

VirtualRobot::RobotNodeSetPtr VirtualRobot::PoseQualityMeasurement::getRNS ( )

Returns the RobotNodeSte that is used for computing the manipulability.

◆ setObstacleDistanceVector()

void VirtualRobot::PoseQualityMeasurement::setObstacleDistanceVector ( const Eigen::Vector3f &  directionSurfaceToObstance)
virtual

Consider obstacles. Here, the shortest distance on the surface of the RNS to an obstacle is set (in TCP coords). This obstacle vector may be considered by any further calculations (depending on the implementation).

◆ setVerbose()

void VirtualRobot::PoseQualityMeasurement::setVerbose ( bool  v)

Field Documentation

◆ considerObstacle

bool VirtualRobot::PoseQualityMeasurement::considerObstacle
protected

◆ name

std::string VirtualRobot::PoseQualityMeasurement::name
protected

◆ obstacleDir

Eigen::Vector3f VirtualRobot::PoseQualityMeasurement::obstacleDir
protected

◆ rns

VirtualRobot::RobotNodeSetPtr VirtualRobot::PoseQualityMeasurement::rns
protected

◆ verbose

bool VirtualRobot::PoseQualityMeasurement::verbose
protected