Class 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 Detail

      • DiceContactG3D

        public DiceContactG3D​(long cPtr,
                              boolean cMemoryOwn)
      • DiceContactG3D

        public DiceContactG3D()
    • Method Detail

      • delete

        public void delete()
      • 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 mesh
        nrOfContacts - [in] the nr of contacts that are allowed in a grasp
        mu - documentation missing !
      • generateNext

        public Grasp3D generateNext()
        generates one contact and returns it
        Returns:
      • setTransform

        public void setTransform​(Transform3D t3d)