Understanding constraints

Post Reply
jaduol
Posts: 2
Joined: Wed Nov 11, 2020 4:19 pm

Understanding constraints

Post by jaduol »

I am trying to use constraints in PyBullet to form a closed-loop mechanism but the simulations I get end up being very unstable.

I am trying to create a model for a 3-RRR parallel robot which has three identical legs and a cylindrical end-effector:
vlcsnap-2020-11-11-11h57m11s489.png
vlcsnap-2020-11-11-11h57m11s489.png (348.35 KiB) Viewed 16479 times
The tree structure is roughly as follows: black base -> leg along y-axis (3) -> platform -> other two legs (1,2). I then close the loop by creating two separate fixed (p.JOINT_FIXED) constraints between the base and the small black boxes at the ends of the two legs that are children of the platform link. The joints that are connected to the small black boxes are actuated

However, when I run a simple control policy whereby I actuate the base joint for leg 3, I get results such as this whereby the constraints end up being constantly violated (the black boxes for legs 1 and 2 should be fixed):
vlcsnap-2020-11-11-11h57m04s536.png
vlcsnap-2020-11-11-11h57m04s536.png (337.12 KiB) Viewed 16479 times
I have played around with different tree structures (one involved starting from the platform and moving outwards to the legs and another involved starting from the legs and constraining the connection between the ends of the legs and the central platform), maximum constraint and actuator forces, simulation time steps and different types of joints for the constraint (p.JOINT_POINT2POINT and p.JOINT_FIXED) but I still can't seem to get rid of this instability.

My question is how can I get rid of this behavior?
Post Reply