Flat Object Grasping Library (FOG)  0.2.1
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
fog::DecisionMaker Class Reference

Decides which of the available grasp strategies can be used for grasping the target object, given the current scene. More...

#include <fog/decision_maker.h>

+ Collaboration diagram for fog::DecisionMaker:

Public Member Functions

 DecisionMaker ()
 
 ~DecisionMaker ()
 
EnabledStrategies enableStrategies (const Models &models)
 Enables the grasp strategies. Based on the given Models extracted from the scene, it sets the enabling conditions and implements the flow charts for enabling strategies. More...
 
std::vector< Eigen::Vector3d > getFeasibleDirections ()
 Returns the feasible directions (set $\mathcal{D}$) calculated indirectly by fog::DecisionMaker::enableStrategies. Before calling this function make sure that you have called fog::DecisionMaker::enableStrategies before. More...
 

Public Attributes

EnablingConditions enabling_conditions
 

Private Member Functions

EnablingConditions setEnablingConditions (const Models &input, const std::vector< Eigen::Vector3d > &feasible_directions)
 Based on the hand/object/surface models, sets the enable conditions, top reachability etc. More...
 
std::vector< Eigen::Vector3d > generateFeasibleDirections (const Models &input)
 Generates feasible directions (set $\mathcal{D}$) based on the usable directions and the spread. More...
 

Private Attributes

std::string name
 
std::vector< Eigen::Vector3d > feasible_directions
 The feasible directions. Represents the set $\mathcal{D}$. More...
 

Detailed Description

Decides which of the available grasp strategies can be used for grasping the target object, given the current scene.

It assumes that the FOG Models are known by the Model Extractor.

See Also
fog::Models, fog::ModelExtractor.

Constructor & Destructor Documentation

fog::DecisionMaker::DecisionMaker ( )
fog::DecisionMaker::~DecisionMaker ( )

Member Function Documentation

EnabledStrategies fog::DecisionMaker::enableStrategies ( const Models models)

Enables the grasp strategies. Based on the given Models extracted from the scene, it sets the enabling conditions and implements the flow charts for enabling strategies.

Parameters
modelsThe FOG models extracted from the scene
Returns
Which of the three strategies are enabled
See Also
fog::Models, fog::EnabledStrategies

+ Here is the call graph for this function:

std::vector< Eigen::Vector3d > fog::DecisionMaker::generateFeasibleDirections ( const Models input)
private

Generates feasible directions (set $\mathcal{D}$) based on the usable directions and the spread.

Parameters
inputThe models
Returns
The feasible directions
std::vector< Eigen::Vector3d > fog::DecisionMaker::getFeasibleDirections ( )

Returns the feasible directions (set $\mathcal{D}$) calculated indirectly by fog::DecisionMaker::enableStrategies. Before calling this function make sure that you have called fog::DecisionMaker::enableStrategies before.

Returns
The feasible directions.
EnablingConditions fog::DecisionMaker::setEnablingConditions ( const Models input,
const std::vector< Eigen::Vector3d > &  feasible_directions 
)
private

Based on the hand/object/surface models, sets the enable conditions, top reachability etc.

Parameters
inputThe Models as the input
feasible_directionsThe set of the feasible directions
Returns
Which of the enabling conditions are true or false

Member Data Documentation

EnablingConditions fog::DecisionMaker::enabling_conditions
std::vector<Eigen::Vector3d> fog::DecisionMaker::feasible_directions
private

The feasible directions. Represents the set $\mathcal{D}$.

See Also
fog::DecisionMaker::getFeasibleDirections
std::string fog::DecisionMaker::name
private