![]() |
RobWorkProject
23.9.11-
|
generates candidate contact point sets (contact grasps) for grasping a given object. The nr of contacts per grasp is given by the user and a set of possibly good contact grasps are generated. More...
#include <DiceContactG3D.hpp>
Public Member Functions | |
virtual | ~DiceContactG3D () |
destructor | |
void | setContactFilter (ContactValidateFilter *filter) |
ContactValidateFilter * | getContactFilter () |
void | initialize (const rw::geometry::TriMesh &obj, int nrOfContacts, double mu) |
initializes the contact generator on some object. More... | |
std::vector< Grasp3D > | generateContactSet (int maxNrOfContacts, double timeout) |
generates a contact set from some heuristic | |
Grasp3D | generateNext () |
generates one contact and returns it More... | |
void | setTransform (rw::math::Transform3D<> &t3d) |
generates candidate contact point sets (contact grasps) for grasping a given object. The nr of contacts per grasp is given by the user and a set of possibly good contact grasps are generated.
The method used is that which is used in the article "Grasping the Dice by Dicing the Grasp" by Ch. Borst, M. Fisher and G. Hirzinger
It works by randomly selecting surface contact grasps that are filtered using a fast but conservative force closure filter. As such grasps produced is not strictly force closure. Which means that another filter must also be applied before using the actual grasp.
Grasp3D generateNext | ( | ) |
generates one contact and returns it
void initialize | ( | const rw::geometry::TriMesh & | obj, |
int | nrOfContacts, | ||
double | mu | ||
) |
initializes the contact generator on some object.
obj | [in] the object as a indexed triangle mesh |
nrOfContacts | [in] the nr of contacts that are allowed in a grasp |
mu | documentation missing ! |