The central class of the icrcpp library; Holds a list of ICR::Finger and a ICR::DiscreteWrenchSpace describing the Grasp Wrench Space. More...
#include <grasp.h>
Public Member Functions | |
Finger const * | getFinger (uint id) const |
DiscreteWrenchSpace const * | getGWS () const |
uint | getNumFingers () const |
const TargetObjectPtr | getParentObj () const |
Grasp () | |
Grasp (Grasp const &src) | |
void | init (FParamList const &f_param_list, const TargetObjectPtr obj, VectorXui const ¢erpoint_ids) |
bool | isInitialized () const |
Grasp & | operator= (Grasp const &src) |
void | setCenterPointId (uint finger_id, uint centerpoint_id) |
void | setCenterPointIds (VectorXui const ¢erpoint_ids) |
~Grasp () | |
Private Member Functions | |
void | addFinger (FingerParameters const ¶m, uint centerpoint_id) |
void | clear () |
void | computeGWS () |
OWSPtr | computeOWS (Finger const *new_finger) |
PatchListPtr | computePatches (Finger *new_finger) |
Private Attributes | |
std::vector< Finger * > | fingers_ |
DiscreteWrenchSpace * | gws_ |
bool | initialized_ |
uint | num_fingers_ |
uint | num_grasp_wrenches_ |
TargetObjectPtr | obj_ |
Friends | |
std::ostream & | operator<< (std::ostream &stream, Grasp const &grasp) |
The central class of the icrcpp library; Holds a list of ICR::Finger and a ICR::DiscreteWrenchSpace describing the Grasp Wrench Space.
ICR::Grasp::Grasp | ( | Grasp const & | src | ) |
void ICR::Grasp::addFinger | ( | FingerParameters const & | param, |
uint | centerpoint_id | ||
) | [private] |
void ICR::Grasp::clear | ( | ) | [private] |
void ICR::Grasp::computeGWS | ( | ) | [private] |
OWSPtr ICR::Grasp::computeOWS | ( | Finger const * | new_finger | ) | [private] |
PatchListPtr ICR::Grasp::computePatches | ( | Finger * | new_finger | ) | [private] |
Finger const * ICR::Grasp::getFinger | ( | uint | id | ) | const |
DiscreteWrenchSpace const * ICR::Grasp::getGWS | ( | ) | const |
uint ICR::Grasp::getNumFingers | ( | ) | const |
const TargetObjectPtr ICR::Grasp::getParentObj | ( | ) | const |
void ICR::Grasp::init | ( | FParamList const & | f_param_list, |
const TargetObjectPtr | obj, | ||
VectorXui const & | centerpoint_ids | ||
) |
Cretes a list of Finger-pointers. A Finger holds a pointer to an Object Wrench Space and a pointer to a list of patches. OWS and patches are precomputed when the Finger's parent grasp is initialized. A separate OWS is computed for each finger with a different contact model, a separate list of patches is computed for each finger with a different inclusion rule. Fingers with the same contact model/inclusion rule hold pointers to the same OWS/patch list. The inclusion rule determines which vertices of the target object's mesh are eligible for inclusion in a patch centered around a given center-point. In case of the single-point contact model, each patch only contains its respective center-point. Also the Grasp Wrench Space is computed utilizing Qhull.
bool ICR::Grasp::isInitialized | ( | ) | const |
void ICR::Grasp::setCenterPointId | ( | uint | finger_id, |
uint | centerpoint_id | ||
) |
void ICR::Grasp::setCenterPointIds | ( | VectorXui const & | centerpoint_ids | ) |
std::ostream& operator<< | ( | std::ostream & | stream, |
Grasp const & | grasp | ||
) | [friend] |
std::vector<Finger*> ICR::Grasp::fingers_ [private] |
DiscreteWrenchSpace* ICR::Grasp::gws_ [private] |
bool ICR::Grasp::initialized_ [private] |
uint ICR::Grasp::num_fingers_ [private] |
uint ICR::Grasp::num_grasp_wrenches_ [private] |
TargetObjectPtr ICR::Grasp::obj_ [private] |