Mechanism Design and Mechanism Dynamics > Mechanism Design > Creating Mechanism Models > Tip: Fixing a Failed Assembly
Tip: Fixing a Failed Assembly
Occasionally, the (reconnect) operation, dragging, or running a position analysis may fail to find an assembled configuration. This may happen because connection information is specified incorrectly, or because the initial placement of bodies is too far from their final assembled location.
If the assembly fails to connect, you should examine your connection definitions and make sure you have specified them correctly. You should examine how all the connections combine within the mechanism to ensure that there is no lack of compatibility. You can also lock bodies or connections and remove loop connections (joints that connect a loop of parts back onto itself) to see if the mechanism can assemble if it is less complex. Finally, you can look at subsystems of the mechanism individually by creating new sub-mechanisms and investigating how they work alone. By working up methodically from a working mechanism, adding small subsystems one at a time, very complex mechanisms can be created and run successfully.
When a position analysis fails to assemble during some part of the sequence, it is most likely due to invalid servo motor values. If the function used to specify a servo motor has a value at a certain time that causes the mechanism to come apart because the servo motor value is outside the achievable range, the system will display a message that the mechanism could not be assembled. In this case evaluate the range and start and end times given for all servo motors in the mechanism. Making the amplitude of the servo motor function smaller is a good way to start experimenting to determine a valid range.
Servo motors may also try to push joints past their limits. You can turn off limits for suspect joints and rerun the analysis to investigate this possibility.
The following guidelines can help:
If you have a mechanism with joint limits, one of your servo motors may be trying to drive it past the limits. Right-click the servo motor on the Mechanism Tree or in the main window, then choose from the shortcut menu to change the limits.
Check your assembly tolerance to determine whether it should be tighter or looser, especially if the assembly succeeds but the mechanism does not behave as expected. To change the absolute tolerance, you can adjust the characteristic length or the relative tolerance, or both. The accuracy setting on the assembly level and on the part level can also affect your assembly's absolute tolerance.
Check for locked bodies or connections. They can cause the mechanism to fail.
Try dragging the bodies close to their assembled positions.
If you change the units for your assembly, the value of mechanism entities such as servo motor profiles and regeneration values for translational motion axes also change. Be aware of the units on the dialog boxes as you specify your motors and connections. You can check the unit setting in the assembly by clicking File > Prepare > Model Properties.
As a last resort, use the Drag dialog box to disable a loop connection. Reposition the mechanism close to the desired position and then enable the loop connection.