Plans Initial Grasping States (IGSs) for each selected grasp strategy.
More...
#include <fog/igs_planner.h>
|
std::vector< InitialGraspState > | produceIGSsForStrategyAlpha (const std::vector< Eigen::Vector3d > &feasible_directions, const Object &object, const Surface &surface) |
| Produces IGS for strategy alpha. More...
|
|
std::vector< InitialGraspState > | produceIGSsForStrategyBeta (const ObjectSurfaceCombination &combination, const Vector3 surface_normal, double h, double phi, double theta) |
| Produces IGS for strategy beta. More...
|
|
std::vector< InitialGraspState > | produceIGSsForStrategyGamma (const Point3 &object_position, const Vector3 &surface_normal, const Vector3 &closest_surface_limit, double epsilon) |
| Produces IGS for strategy gamma. More...
|
|
void | selectIGS (const std::vector< InitialGraspState > &igss, InitialGraspState &result, trajectory_msgs::JointTrajectory &solution, const std::string &group_name) |
| Selects one IGSs given the total produced IGS, based on their weights. Also calculates the joint trajectory for reaching the selected IGS. More...
|
|
Eigen::Vector3d | calculateDMin (const Eigen::Vector3d &bounding_box, const Eigen::Vector3d &surface_normal, const Eigen::Quaterniond &object_orientation) |
| Calculates the direction vector used in Eq. 19 of the manuscript. More...
|
|
unsigned int | calcIndexOfClosestSurfaceEdgeFromObject (const Point3 &object_position, const Surface &surface) |
| Calculates which of the four edges of the support surface is closest to the object. Used by strategy- . More...
|
|
Plans Initial Grasping States (IGSs) for each selected grasp strategy.
This class assumes that fog::ModelExtractor has extracted the models and that the fog::DecisionMaker has enabled the strategies.
- See Also
- fog::InitialGraspState
fog::IGSPlanner::IGSPlanner |
( |
const Params & |
p1 | ) |
|
|
inline |
fog::IGSPlanner::~IGSPlanner |
( |
| ) |
|
unsigned int fog::IGSPlanner::calcIndexOfClosestSurfaceEdgeFromObject |
( |
const Point3 & |
object_position, |
|
|
const Surface & |
surface |
|
) |
| |
|
private |
Calculates which of the four edges of the support surface is closest to the object. Used by strategy- .
- Parameters
-
object_position | The position of the object |
surface | The model of the surface |
- Returns
- The index of the one of the four edges as the closest.
Eigen::Vector3d fog::IGSPlanner::calculateDMin |
( |
const Eigen::Vector3d & |
bounding_box, |
|
|
const Eigen::Vector3d & |
surface_normal, |
|
|
const Eigen::Quaterniond & |
object_orientation |
|
) |
| |
|
private |
Calculates the direction vector used in Eq. 19 of the manuscript.
- Parameters
-
bounding_box | The object's bounding box. |
surface_normal | The normal of the support surface. |
object_orientation | The orientation of the target object. |
- Returns
- The vector .
trajectory_msgs::JointTrajectory fog::IGSPlanner::getJointTrajectorySolution |
( |
| ) |
|
Returns the joint trajectory for reaching the selected IGS. Assumes that fog::IGSPlanner::planIGS has already be called.
- Returns
- The joint trajectory.
std::vector< InitialGraspState > fog::IGSPlanner::produceIGSsForStrategyAlpha |
( |
const std::vector< Eigen::Vector3d > & |
feasible_directions, |
|
|
const Object & |
object, |
|
|
const Surface & |
surface |
|
) |
| |
|
private |
Produces IGS for strategy alpha.
- Parameters
-
feasible_directions | The feasible directions. |
object | The target object. |
surface | The support surface. |
- Returns
- The set of IGSs for strategy alpha
Calculate the weight (manuscript v1.10 eq.18)
Produces IGS for strategy beta.
- Returns
- The set of IGSs for strategy beta
std::vector< InitialGraspState > fog::IGSPlanner::produceIGSsForStrategyGamma |
( |
const Point3 & |
object_position, |
|
|
const Vector3 & |
surface_normal, |
|
|
const Vector3 & |
closest_surface_limit, |
|
|
double |
epsilon |
|
) |
| |
|
private |
Produces IGS for strategy gamma.
- Parameters
-
object_position | The position of the object |
surface_normal | The normal vector of the surface |
surface_limit | The limit vector of the surface |
epsilon | The parameter , see Eq. (30) [1] |
- Returns
- The set of IGSs for strategy gamma
Returns the planned multiple IGSs given the models, the enabled strategies and the feasible directions.
- Parameters
-
models | The extracted models from the scene. |
enabled_strategies | The enabled strategies from the Decision Maker. |
feasible_directions | The feasible directions from the Decision Maker. |
- Returns
- The IGSs for all the enabled strategies, sorted by their weight.
void fog::IGSPlanner::selectIGS |
( |
const std::vector< InitialGraspState > & |
igss, |
|
|
InitialGraspState & |
result, |
|
|
trajectory_msgs::JointTrajectory & |
solution, |
|
|
const std::string & |
group_name |
|
) |
| |
|
private |
Selects one IGSs given the total produced IGS, based on their weights. Also calculates the joint trajectory for reaching the selected IGS.
- Parameters
-
igss | The total number of IGSs as an input. |
result | The selected IGS as a result. |
solution | The joint trajectory for the selected IGS. |
group_name | The MoveIt group name of the robot. |
std::string fog::IGSPlanner::name |
|
private |
Params fog::IGSPlanner::params |
|
private |
trajectory_msgs::JointTrajectory fog::IGSPlanner::solution |
|
private |
Stores the joint trajectory solution for the selected IGS.