RobWorkProject  23.9.11-
Public Member Functions | List of all members
DiceContactG3D Class Reference

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)
 
ContactValidateFiltergetContactFilter ()
 
void initialize (const rw::geometry::TriMesh &obj, int nrOfContacts, double mu)
 initializes the contact generator on some object. More...
 
std::vector< Grasp3DgenerateContactSet (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)
 

Detailed Description

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.

Note
(TODO) the sampling of contacts on the surface is not uniform on the surface area but instead in the number of triangles. To enable good sampling the triangles of the geometry should not vary too much in size.

Member Function Documentation

◆ generateNext()

Grasp3D generateNext ( )

generates one contact and returns it

Returns

◆ initialize()

void initialize ( const rw::geometry::TriMesh obj,
int  nrOfContacts,
double  mu 
)

initializes the contact generator on some object.

Parameters
obj[in] the object as a indexed triangle mesh
nrOfContacts[in] the nr of contacts that are allowed in a grasp
mudocumentation missing !

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