Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

GrasperRequest Class Reference

Request to the Grasper to manipulate something. More...

#include <GrasperRequest.h>


Detailed Description

Request to the Grasper to manipulate something.

Definition at line 15 of file GrasperRequest.h.

List of all members.

Public Types

enum  GrasperRequestType_t {
  checkGraspable, checkMovable, checkRestable, computeReach,
  reach, grasp, touch, release,
  moveTo, rest, sweep, computeMove,
  computeRest
}
 

What we're asking the Grasper to do.

More...
enum  GrasperErrorType_t {
  noError = 0, someError, invalidRequest, noGraspState,
  noGraspPath, noTargetState, noTargetPath, noRestPath,
  badGrasp, badMove, pickUpUnreachable, dropOffUnreachable
}
 

What error is the Grasper going to return.

More...
enum  GrasperPathType_t { noPath, moveFree, moveConstrained, disengage }
 

What path we want to return in the GrasperEvent.

More...
enum  GrasperRestType_t { stationary, settleArm, settleBodyAndArm }
 

The kind of rest state to reach. stationary means none, settleArm moves the arm to the arm configuration in armRestState, settleBodyAndArm does settleArm and resets the ground plane.

More...
typedef ShapeSpacePlanner2DR
< NumArmJoints > 
Planner
typedef Planner::NodeType_t NodeType_t
typedef PlannerObstacle2D PlannerObstacle
typedef NodeType_t::NodeValue_t NodeValue_t

Public Member Functions

 ~GrasperRequest ()
 GrasperRequest (GrasperRequestType_t _type)
 Constructor.
 GrasperRequest (const GrasperRequest &req)
 Copy constructor.
GrasperErrorType_t validateRequest ()
 Validate the GrasperRequest and return an error code if there is a problem.

Public Attributes

GrasperRequestType_t requestType
 The type of this Grasper request.
GrasperRestType_t restType
 The rest type for this request.
NodeValue_t armRestState
 The rest arm configuration.
GrasperVerbosity_t setVerbosity
 Verbosity elements to force on.
GrasperVerbosity_t clearVerbosity
 Verbosity elements to force off.
unsigned int effectorOffset
 Offset of the end effector in the Kinematic chain to use (typically GripperFrameOffset).
unsigned int rrtMaxIterations
 The maximum number of iterations the RRT should undergo.
float rrtInflation
 The amount to inflate obstacles for safe planning (mm).
NodeValue_t rrtInterpolationStep
 The amount to move each joint while extending.
float armTimeFactor
 Factor to change how fast arm movements will be executed.
bool openGripperOnRest
 Whether to open the gripper upon resting.
ShapeRoot object
 The object to manipulate.
ShapeRoot targetLocation
 Where to place the object.
std::vector< std::pair< float,
float > > 
gripperAngleRangesX
 Vector of ranges of egocentric angles in which the gripper is allowed to end up.
std::vector< std::pair< float,
float > > 
gripperAngleRangesY
 Vector of ranges of egocentric angles in which the gripper is allowed to end up.
std::vector< std::pair< float,
float > > 
gripperAngleRangesZ
 Vector of ranges of egocentric angles in which the gripper is allowed to end up.
int maxNumberOfAngles
 Maximum number of angles to allow the gripper to have in angle ranges.
float angleResolution
 Resolution of angles to use within gripperAngleRanges.
std::vector< ShapeRoot > sweepObjects
 vector of objects to be swept
std::vector< ShapeRoot > envObstacles
 List of obstacles in the environment.
std::vector< PlannerObstacle * > plannerObstacles
 The list of obstacles for the planner to use.
std::vector< NodeValue_tmoveConstrainedPath
 The predicate-constrained path.
std::vector< NodeValue_tmoveFreePath
 The "acquire" path which is not predicate-constrained.
std::vector< NodeValue_tdisengagePath
 The "disengage" path which is not predicate-constrained.
AdmissibilityPredicate
< NodeType_t > * 
predicate
 The desired predicate to use during planning for moveConstrainedPath.
bool displayPath
 If true, the planned path is displayed in the shape space.
bool displayTree
 If true, the RRT search tree is displayed in the shape space.
BehaviorBaserequestingBehavior
 The Behavior making this request; used for posting grasper events.
GrasperVerbosity_t verbosity
 Verbosity value computed by Grasper::executeRequest.
GrasperPathType_t populateEventPathWith

Protected Member Functions

GrasperRequestoperator= (const GrasperRequest &)
 don't call this

Protected Attributes

unsigned int requestID

Private Types

typedef unsigned int GrasperVerbosity_t

Private Attributes

PlannerObstacleobjectPlannerObstacle
 The planner obstacle used when we treat the manipulating object as an obstacle to the planner.

Friends

class Grasper

Member Typedef Documentation

typedef unsigned int GrasperRequest::GrasperVerbosity_t [private]

Definition at line 31 of file GrasperRequest.h.

Definition at line 22 of file GrasperRequest.h.


Member Enumeration Documentation

What error is the Grasper going to return.

Enumerator:
noError 
someError 

Generic error will match anything but noError in a GrasperTrans.

invalidRequest 
noGraspState 
noGraspPath 
noTargetState 
noTargetPath 
noRestPath 
badGrasp 
badMove 
pickUpUnreachable 
dropOffUnreachable 

Definition at line 57 of file GrasperRequest.h.

What path we want to return in the GrasperEvent.

Enumerator:
noPath 

Don't return any path.

moveFree 

Return the unconstrained path to acquire object.

moveConstrained 

Return the constrained path to move object to targetLocation.

disengage 

Return the path to disengage from the object and move the arm to the rest position.

Definition at line 73 of file GrasperRequest.h.

What we're asking the Grasper to do.

Enumerator:
checkGraspable 

Check whether object is graspable; don't actually move.

checkMovable 

Check whether object can be moved to targetLocation; don't actually move.

checkRestable 

Check whether the arm can be moved to the resting position; don't actually move.

computeReach 

Compute and return a path for the arm to reach to a point.

reach 

Move the arm to targetLocation, then rest.

grasp 

Approach and grasp object, then rest the arm.

touch 

Grasp the object but don't rest the arm afterwards.

release 

Release and disengage from whatever the arm is holding.

moveTo 

Move object to targetLocation.

rest 

Move the arm (and possibly the body) to a resting position.

sweep 

Sweep arm along an arc (to clear a region of the workspace).

computeMove 

Compute and return a path for moving object to targetLocation.

computeRest 

Compute and return a path for moving the arm to the resting position.

Definition at line 39 of file GrasperRequest.h.

The kind of rest state to reach. stationary means none, settleArm moves the arm to the arm configuration in armRestState, settleBodyAndArm does settleArm and resets the ground plane.

Enumerator:
stationary 
settleArm 
settleBodyAndArm 

Definition at line 81 of file GrasperRequest.h.


Constructor & Destructor Documentation

GrasperRequest::~GrasperRequest (  ) 

Definition at line 90 of file GrasperRequest.cc.

GrasperRequest::GrasperRequest ( GrasperRequestType_t  _type  ) 

Constructor.

Definition at line 9 of file GrasperRequest.cc.

GrasperRequest::GrasperRequest ( const GrasperRequest req  ) 

Copy constructor.

Definition at line 56 of file GrasperRequest.cc.


Member Function Documentation

GrasperRequest& GrasperRequest::operator= ( const GrasperRequest  )  [protected]

don't call this

GrasperRequest::GrasperErrorType_t GrasperRequest::validateRequest (  ) 

Validate the GrasperRequest and return an error code if there is a problem.

Definition at line 97 of file GrasperRequest.cc.

Referenced by Grasper::executeRequest().


Friends And Related Function Documentation

friend class Grasper [friend]

Definition at line 29 of file GrasperRequest.h.


Member Data Documentation

Resolution of angles to use within gripperAngleRanges.

Definition at line 145 of file GrasperRequest.h.

Referenced by Grasper::PathPlanConstrained::doStart(), and Grasper::PathPlanUnconstrained::doStart().

The rest arm configuration.

Definition at line 105 of file GrasperRequest.h.

Referenced by Grasper::PathPlanToRest::doStart(), and GrasperRequest().

Factor to change how fast arm movements will be executed.

Definition at line 121 of file GrasperRequest.h.

Referenced by Grasper::MoveArm::advTime(), and validateRequest().

Verbosity elements to force off.

Definition at line 108 of file GrasperRequest.h.

Referenced by Grasper::executeRequest().

If true, the planned path is displayed in the shape space.

Definition at line 167 of file GrasperRequest.h.

Referenced by Grasper::PathPlanToRest::doStart(), Grasper::PathPlanConstrained::doStart(), and Grasper::PathPlanUnconstrained::doStart().

If true, the RRT search tree is displayed in the shape space.

Definition at line 170 of file GrasperRequest.h.

Referenced by Grasper::PathPlanToRest::doStart(), Grasper::PathPlanConstrained::doStart(), and Grasper::PathPlanUnconstrained::doStart().

Offset of the end effector in the Kinematic chain to use (typically GripperFrameOffset).

Definition at line 112 of file GrasperRequest.h.

Referenced by Grasper::computeGoalStates(), Grasper::PathPlanToRest::doStart(), Grasper::PathPlanConstrained::doStart(), Grasper::PathPlanUnconstrained::doStart(), Grasper::getCurrentState(), and GrasperRequest().

std::vector<ShapeRoot> GrasperRequest::envObstacles

List of obstacles in the environment.

Definition at line 151 of file GrasperRequest.h.

Referenced by Grasper::convertObstacles().

std::vector<std::pair<float, float> > GrasperRequest::gripperAngleRangesX

Vector of ranges of egocentric angles in which the gripper is allowed to end up.

Definition at line 133 of file GrasperRequest.h.

Referenced by Grasper::PathPlanConstrained::doStart(), and Grasper::PathPlanUnconstrained::doStart().

std::vector<std::pair<float, float> > GrasperRequest::gripperAngleRangesY

Vector of ranges of egocentric angles in which the gripper is allowed to end up.

Definition at line 136 of file GrasperRequest.h.

Referenced by Grasper::PathPlanConstrained::doStart(), and Grasper::PathPlanUnconstrained::doStart().

std::vector<std::pair<float, float> > GrasperRequest::gripperAngleRangesZ

Vector of ranges of egocentric angles in which the gripper is allowed to end up.

Definition at line 139 of file GrasperRequest.h.

Referenced by Grasper::PathPlanConstrained::doStart(), and Grasper::PathPlanUnconstrained::doStart().

Maximum number of angles to allow the gripper to have in angle ranges.

Definition at line 142 of file GrasperRequest.h.

Referenced by Grasper::computeGoalStates().

The planner obstacle used when we treat the manipulating object as an obstacle to the planner.

Definition at line 34 of file GrasperRequest.h.

Referenced by Grasper::appendObjectToObstacles(), and Grasper::removeTargetFromObstacles().

Whether to open the gripper upon resting.

Definition at line 124 of file GrasperRequest.h.

Referenced by Grasper::Rest::GetOpenGripperFlag::doStart().

The desired predicate to use during planning for moveConstrainedPath.

Definition at line 164 of file GrasperRequest.h.

Referenced by Grasper::PathPlanConstrained::doStart(), and GrasperRequest().

unsigned int GrasperRequest::requestID [protected]

Definition at line 181 of file GrasperRequest.h.

Referenced by Grasper::executeRequest().

The Behavior making this request; used for posting grasper events.

Definition at line 173 of file GrasperRequest.h.

Referenced by Grasper::GrasperFailed::doStart(), Grasper::GrasperSucceeded::doStart(), and Grasper::executeRequest().

The amount to inflate obstacles for safe planning (mm).

Definition at line 116 of file GrasperRequest.h.

Referenced by Grasper::PathPlanToRest::doStart(), Grasper::PathPlanConstrained::doStart(), and Grasper::PathPlanUnconstrained::doStart().

The maximum number of iterations the RRT should undergo.

Definition at line 114 of file GrasperRequest.h.

Referenced by Grasper::PathPlanToRest::doStart(), Grasper::PathPlanConstrained::doStart(), and Grasper::PathPlanUnconstrained::doStart().

Verbosity elements to force on.

Definition at line 107 of file GrasperRequest.h.

Referenced by Grasper::executeRequest().

std::vector<ShapeRoot> GrasperRequest::sweepObjects

vector of objects to be swept

Definition at line 148 of file GrasperRequest.h.


The documentation for this class was generated from the following files:

Tekkotsu v5.1CVS
Generated Fri Mar 16 05:27:19 2012 by Doxygen 1.6.3