SimMechanics |
 |
Bodies, Coordinate Systems, Joints, and Constraints
SimMechanics supports user-defined Body blocks specified by their masses and inertia tensors. You connect the bodies to one another with joints representing the possible motions of bodies relative to one another, the system's degrees of freedom (DoFs). You can impose kinematic constraints on the allowed relative motions of the system's bodies. These constraints impose restrictions on body DoFs or drive body motions as explicit functions of time.
The SimMechanics interface gives you many ways to specify coordinate systems (CSs), constraints/drivers, and forces/torques. You can
- Attach coordinate systems (Body CSs) to different points on various Body blocks to specify local axes and origins for actuating and sensing
- Take composite Joint blocks from the SimMechanics library or extend the existing Joint library by constructing your own composite Joints from primitive Joint blocks
- Use other Simulink tools as well as MATLAB expressions in the SimMechanics environment
User-Defined Local Coordinate Systems
SimMechanics automatically sets up a single absolute inertial reference frame and coordinate system (CS) called World. You can also set up your own Local CSs:
- Grounded CSs attached to Ground blocks at rest in the World RF but displaced from the World CS origin
- Body CSs fixed on the system's rigid bodies and moving rigidly with the bodies
Constraint Solver Types
Specifying functional algebraic or kinematic relations between any two DoFs, you can constrain the motion of the system by connecting Constraint blocks to pairs of Bodies. Connecting Driver blocks applies time-dependent constraints.
The applied constraints are interpreted in one of three constraint solver types: tolerancing, machine precision, or stabilizing solvers.
Sensors and Actuators
Sensors and Actuators are the blocks you use to interface between non-SimMechanics Simulink blocks and SimMechanics blocks:
- Sensor blocks detect the motion of Bodies and Joints.
- Sensor block outputs are Simulink signals that you can use like any other Simulink signal. You can connect a Sensor block to a Simulink Scope block and display the motions in a system, such as positions, velocities, and accelerations, as functions of time.
- You can feed these Sensor output signals back to a SimMechanics system to specify forces/torques in the system, via Actuator blocks.
- Actuator blocks specify the motions of Bodies or Joints.
- They specify body or joint motion as explicit position, velocity, or acceleration functions of time.
- They accept force/torque signals from Simulink and can apply forces/torques on a body or joint from these signals. The Simulink signals can include Sensor block outputs fed back from the system itself.
- They detect discrete locking and unlocking of Joints to implement discontinuous friction forces.
- They prepare a system's initial kinematic state (positions and velocities) for forward integration of the Newtonian dynamics.
| What Can You Do with SimMechanics? | | Simulating Mechanical Motion |  |