How to model an underactuated gripper

Typically: "How do I... ", "How can I... " questions
Post Reply
Mildred34
Posts: 19
Joined: 12 May 2023, 16:03

How to model an underactuated gripper

Post by Mildred34 »

Hello,

Context:
Working on a project that will use an underactuated gripper. I am right now doing some tests on how to model a RobotiQ gripper as https://github.com/deepmind/mujoco_mena ... botiq_2f85.
I want specifically to model it as it is in this project, using tendons to actuate the fingers and using equality constraints
If you look at the mjcf file in the mujoco menagerie project between the body right follower and right coupler (as described in the xml file) to do the close loop.

What I've done:
https://ibb.co/f8Pns0J

For the equality constraint, I created a dummy loop with an dynamic overlap constraint.
For the actuated tendon, I used a prismatic joint linked to the tendons, I specify the name of the joint in the xml file at joint proxy.

I modeled only the right part of the gripper for now.


Results:
When I move the joint from low to high value. The prismatic joint is not moving and this happens :

https://ibb.co/vDM5Pzb

The first joint is going off the gripper, I didn't expect that. Do you know how can I correct it ?


Besides when I add a body on the prismatic joint inside the model tree, t moves but it does not correct the joint going off.

Best regards,

Alexis

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

Re: How to model an underactuated gripper

Post by coppelia »

Hello Alexis,

it is hard to guess what is going on from the images. Try to make the left side of the gripper work via one single overlap constraint (there is a single loop per finger, if I am not mistaken). Then do the same for the left side, and link both actuators via a dependency constraint, so that both joints move in the same way (if the gripper behaves like that).

During simulation, always take notice to warning messages and exclamation points next to the object icon in the scene hierarchy: those usually indicate a faulty hierarchy. This is because the hierarchy of a dynamic model has some constraints compared to a non-dynamic model (e.g. you can't have a static, respondable body built on top of a non-static body: this doesn't make sense as there is no equivalence in the real world).

Cheers

Mildred34
Posts: 19
Joined: 12 May 2023, 16:03

Re: How to model an underactuated gripper

Post by Mildred34 »

coppelia wrote: 17 May 2023, 12:00 Hello Alexis,

it is hard to guess what is going on from the images. Try to make the left side of the gripper work via one single overlap constraint (there is a single loop per finger, if I am not mistaken). Then do the same for the left side, and link both actuators via a dependency constraint, so that both joints move in the same way (if the gripper behaves like that).

During simulation, always take notice to warning messages and exclamation points next to the object icon in the scene hierarchy: those usually indicate a faulty hierarchy. This is because the hierarchy of a dynamic model has some constraints compared to a non-dynamic model (e.g. you can't have a static, respondable body built on top of a non-static body: this doesn't make sense as there is no equivalence in the real world).

Cheers
Thanks, It works fine now !
By the way, it would be nice if you can add the equality constraint Connect for the Mujoco engine, right now we can only do the weld equality if I look at the XML file generated by CoppeliaSim.

It looks to work fine with it for now.

BR,

Alexis

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

Re: How to model an underactuated gripper

Post by coppelia »

Yes, that is correct. The reason is that other engines do not have an equivalent to the connect equality. One can however achieve the same behaviour via a dynamic overlap constraint, involving a spherical joint, e.g.:

Code: Select all

body1 --> sphericalJoint --> dummy1
body2 --> dummy2
Where dummy1 and dummy2 in above would be linked via that dynamics overlap constraint.

Cheers

Post Reply