Package org.robwork.sdurw_graspplanning
Class DiceContactG3D
- java.lang.Object
-
- org.robwork.sdurw_graspplanning.DiceContactG3D
-
public class DiceContactG3D extends java.lang.Object
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.
-
-
Constructor Summary
Constructors Constructor Description DiceContactG3D()
DiceContactG3D(long cPtr, boolean cMemoryOwn)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
delete()
SWIGTYPE_p_std__vectorT_rw__graspplanning__Grasp3D_t
generateContactSet(int maxNrOfContacts, double timeout)
generates a contact set from some heuristicGrasp3D
generateNext()
generates one contact and returns itContactValidateFilter
getContactFilter()
static long
getCPtr(DiceContactG3D obj)
void
initialize(TriMesh obj, int nrOfContacts, double mu)
initializes the contact generator on some object.void
setContactFilter(ContactValidateFilter filter)
void
setTransform(Transform3D t3d)
-
-
-
Method Detail
-
getCPtr
public static long getCPtr(DiceContactG3D obj)
-
delete
public void delete()
-
setContactFilter
public void setContactFilter(ContactValidateFilter filter)
-
getContactFilter
public ContactValidateFilter getContactFilter()
-
initialize
public void initialize(TriMesh obj, int nrOfContacts, double mu)
initializes the contact generator on some object.- Parameters:
obj
- [in] the object as a indexed triangle meshnrOfContacts
- [in] the nr of contacts that are allowed in a graspmu
- documentation missing !
-
generateContactSet
public SWIGTYPE_p_std__vectorT_rw__graspplanning__Grasp3D_t generateContactSet(int maxNrOfContacts, double timeout)
generates a contact set from some heuristic
-
generateNext
public Grasp3D generateNext()
generates one contact and returns it- Returns:
-
setTransform
public void setTransform(Transform3D t3d)
-
-