|On this page…|
This brief overview of how SimMechanics™ simulation works should help you to construct models and understand errors. Troubleshooting Simulation Errors, previously, discusses fixing errors.
The machine simulation sequence has four major phases, described below. The first two occur before machine motion actually starts. The premotion machine configurations (home, initial, and assembled) are discussed in Kinematics and Machine Motion State, and in their respective Glossary entries.
The simulation first checks your data entries from the dialogs and the local connections among neighboring blocks. It then validates the Body coordinate systems; the joint, constraint, and driver geometries; and the model topology. Body positions and orientations defined purely by Body dialog entries constitute the home configuration.
The simulation next checks the assembly tolerances of Joints that you manually assembled.
The simulation then cuts each closed loop once. An equivalent implicit, or invisible, constraint replaces each cut Joint, Constraint, or Driver block. The simulation checks all constraints and drivers for mutual consistency and eliminates redundant constraints. It also checks whether a small perturbation to the initial state changes the number of constraints. Such a singularity might lead, during machine motion, to violation of the constraints.
Any Joint Initial Condition Actuators now impose initial positions and velocities, changing body geometries from their dialog box configurations as necessary and transforming the machines from their home configurations to their initial configurations. The simulation then finds an assembly solution for disassembled joints and initializes them in position and velocity, defining the assembled configuration. Assembly tolerances are checked again.
A "sticky" joint primitive, actuated by a Joint Stiction Actuator, can be in one of three stiction modes: locked, waiting, or unlocked. Iterating through non-time-increment simulation steps (algebraic loop), The simulation finds a mutually consistent set of stiction modes for all sticky joints.
In Forward Dynamics or Trimming analysis mode, the simulation begins the solution of machine motion by applying and integrating external forces and torques, stepping in simulation time. It maintains assembly, constraint, and solver tolerances and checks constraint and driver consistency. It also detects whether, within each Joint block, distinct joint primitive axes align and destroy one or more independent DoFs. Such an event is a joint axis singularity.
In Inverse Dynamics and Kinematics modes, the simulation now applies motion constraints, drivers, and actuators to find the machine motion and derive forces and torques. It also checks tolerances and consistency and detects singular alignment of joint primitives.
If stiction is present, the simulation checks at each time step whether the sticky joints transition from one stiction mode to another, then checks for mutual consistency of locked and unlocked sticky joint primitives across the whole model. Non-time-increment simulation steps (algebraic loops) are necessary here.