Detecting collision with palm of mico gripper without losing grasp stability

Typically: "How do I... ", "How can I... " questions
Post Reply
nehagarg
Posts: 13
Joined: 06 Mar 2015, 10:54

Detecting collision with palm of mico gripper without losing grasp stability

Post by nehagarg » 20 Sep 2017, 10:45

Hello,

While trying to grasp a rectangular object using mico gripper, I noticed that palm of the gripper (MicoHand_visible is the mico model provided by vrep) is not respondable i.e. no collisions are detected with it. This results in the triangular object moving into the palm while grasping which is undesired behaviour.

To resolve this issue, I made the MicoHand_visible respondable. However doing this made grasping very unstable as objects try to be away from the palm and fall out of the gripper. It also gave error about making a static object under dynamic tree respondable which might lead to strange behaviour.

I noticed that finger segments of mico gripper are made respondable by making them child of a simple respondable and dynamic shape. Do I need to do the same thing for MicoHand_visible to make it respondable without losing grasp stability? If yes, please guide me about how can I create a simple shape from MicoHand_visible(whch is a multi shape object). If no, please suggest how can I make MicoHand_visible respondable without losing grasp stability.

Thank You.
Regards,
Neha

coppelia
Site Admin
Posts: 6136
Joined: 14 Dec 2012, 00:25

Re: Detecting collision with palm of mico gripper without losing grasp stability

Post by coppelia » 22 Sep 2017, 08:23

Hello Neha,

object MicoHand_visible should just be the visible part, and should not have any influence in a simulation. This is because that shape is not optimized for dynamics (e.g. non-convex meshes, high poly count, etc.). For that reason that shape should stay non-dynamic and non-respondable. On the other hand, you have object MicoHand which is dynamic and respondable. Try to run the simulation and click the Visualize and verify dynamic content toolbar button: you should see the base of the hand in red.
Why your object is passing through is a mystery. Best would be to post a simplified scene that illustrates your problem.

Cheers

nehagarg
Posts: 13
Joined: 06 Mar 2015, 10:54

Re: Detecting collision with palm of mico gripper without losing grasp stability

Post by nehagarg » 22 Sep 2017, 09:08

Hello,

You can download the test scene from following url:
https://drive.google.com/open?id=0B81A_ ... jkzZXdjelE

In this scene, after starting simulation you can move the gripper along x-axis by moving mico_target. You should see the following when you move the gripper along x-axis:
https://drive.google.com/open?id=0B81A_ ... GtaOTA5UHM

In the picture you can see the triangular object going through the palm. Ideally the object should move forward, like it does when it comes in contact with fingers of the gripper.

Thanks.

Regards,
Neha

coppelia
Site Admin
Posts: 6136
Joined: 14 Dec 2012, 00:25

Re: Detecting collision with palm of mico gripper without losing grasp stability

Post by coppelia » 22 Sep 2017, 09:21

Your cheese is a random mesh, and performs very badly with physics engines. Morph it into a convex shape. Also, try to use a different physics engine to see the differences.

Cheers

nehagarg
Posts: 13
Joined: 06 Mar 2015, 10:54

Re: Detecting collision with palm of mico gripper without losing grasp stability

Post by nehagarg » 22 Sep 2017, 11:30

Hello,

Thanks for your answer. It indeed seems to be the problem with the object mesh as this does not happen with a pure cuboid shape.
However, if I convert the objects to convex mesh, I lose some important properties of objects like cup with a handle. So that is not an option.

I tried with different physics engines. In Bullet, the objects are unstable. ODE was the original one I was using. In Newton, objects are stable and don't pierce through the palm. However gripper closing behavior is not as desired for a cup with handle for example because Newton engine uses its convex hull. So the gripper closes around handle without touching the handle. Vortex seems to have stable objects and no piercing through palm though I could not completely test gripper closing behavior in 20 seconds.

For ODE, I was trying another solution taking a clue from how it is done for the fingers of gripper (See MicoHand_seg1_finger1_visible and MicoHand_seg1_finger1). I created a convex hull of MicoHand_visible (calling it MicoHand_visible_convex_hull), changed its size so that it is little smaller that MicoHand_visible and then made it respondable. (If I make it dynamic, it falls on the ground. MicoHand_seg1_finger1 is dynamic though. So don't know why I am not able to make MicoHand_visible_convex_hull dynamic). After doing this collisions are detected with MicoHand_visible_convex_hull and piercing into palm is stopped. However I had to very carefully choose the size for MicoHand_visible_convex_hull as a bigger size was leading to unstable grasp. I am still tweaking its size!

Do you think this is a reasonable solution? Also how can I make MicoHand_visible_convex_hull dynamic or do i need to make it dynamic? I am sharing the scene with you which contains this convex hull.
https://drive.google.com/open?id=0B81A_ ... zYyblBfMm8

Thank You.

Regards,
Neha

nehagarg
Posts: 13
Joined: 06 Mar 2015, 10:54

Re: Detecting collision with palm of mico gripper without losing grasp stability

Post by nehagarg » 25 Sep 2017, 03:58

Hello,

Decimating the mesh of MicoHand by 90% solved the issue as it changes the shape of MicoHand from multishape to simple. After doing this, objects do not pierce into the palm when using default ODE engine.

Thanks.

Regards,
Neha

Post Reply