I have put together a mechanical assembly that consists of a main body (spacecraft) and a linkage part that connects spacecraft to a solar panel. This linkage part is connected via a dCustomHinge, and when EnableMotor(...) is applied, the hinge rotates 90 degrees and raises the solar panel. I have assembled this correctly, and it works in debug_double configuration exactly how I want it, but when I compile for release_double, The linkage literally falls apart: There is no crash, but the main body and the rotating part disconnect and start rotating and tumbling about each other.
My code is almost identical to the code in StandardJoints section of the demoSandBox. I have played with several parameters in order to debug it, and it seems like:
- Code: Select all
pMotorizedHinge->SetFriction(1.0e1f); // <- no part rotation
pMotorizedHinge->SetFriction(1.0e2f); // <- no part rotation
pMotorizedHinge->SetFriction(1.0e3f); // <- linear translation in local y axis
pMotorizedHinge->SetFriction(1.0e4f); // <- assembly falls apart
Also - the main body and a part that's linked to it are moving at very high (orbital) velocities. I saw some warnings about instability with fast moving bodies so I thought I should mention this. However, everything up till now worked fine (I have large assemblies of bodies linked with hard joints), and as I mentioned, the above rotating part works fine in debug_double configuration.
Any thoughts on what may be causing this, and how to fix it?