Inconsistent Hinge Joints

I am writing a 2.5D lander game. The Lander has articulated landing legs that need to react realistically to a potentially uneven floor or walls. Each of the two legs consists of two objects - one for the leg and one for the foot. The feet are joined to the legs with hinge hoints and likewise the legs are joined to the capsule with hinge joints.

34621-lfloating.png

Lander in flight (legs extended / hanging)

34622-llanded.png

Lander landed on flat surface showing arms reacting correctly to environment.

I have managed to get the movement looking alright, however the problem I am having is that the movement between the left and right arms is not consistent. The left arm works acceptably well, but the right arm shows clear separation / loses rigidity after a couple of landings. I have double and triple checked all the settings between the arms and they are identical. I even went as far as to duplicate the left leg’s objects and simply rotating them to make the right leg, but the behaviour is still inconsistent.

I have also tried cranking the physics iteration count to over 100, but no change.

Any thoughts? This is driving me crackers.

After much experimentation I appear to have found the cause. It appears that when the hingejoint connects rigidbodies with vastly different Masses then the result can be inconsistent. My capsule was mass 10 and the arms and feet were set to the smallest possible value above 0, as I didn’t really want them to have mass, rather to be “silent appendages”. When I increased the mass of the arms and feet to 1, the joints worked as expected.