-
Notifications
You must be signed in to change notification settings - Fork 463
Description
Context:
Hi, based on this example 4 bar code I tried to execute constraintDynamics()
on my robot. The robot has a closed kinematic chain in its leg, forming a 4 bar linkage similar to Digit at the knee and ankle. (I have attached a pic for your reference). My main goal is to execute inverse dynamics on this.

Issue:
I am able to find only pin.ContactType.CONTACT_3D
or pin.ContactType.CONTACT_6D
to add as an constraint in pin.RigidConstraintModel()
.
Based on the example code, when I tried CONTACT_3D, the simulation becomes numerically unstable and it fails.
(I have tried playing around the simulation parameters, like the regularization, barrier weights and tolerances, and I could not get a robust soultion out of it)
When I use the CONTACT_6D, it rigidly constraints the loop and there is not DOF left for the knee joint to rotate.
Basically, I need it to sort of have a 5D constraint where it is free to move only in the axis of rotation of knee joint.
My codes:
close_loop_3d.txt
close_loop_6d.txt
Can you please tell me if I am heading in the right direction? or if I have made any mistakes in the code?