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] |