| SimMechanics | ![]() |
Modeling Actuators
The SimMechanics Sensors & Actuators library provides a set of Actuator blocks that enable you to apply time-dependent forces and motions to bodies, joints, and drivers. You can also vary a body's mass and inertia tensor.
You can use Actuator blocks to perform the following tasks:
In general, actuators can apply any combination of forces and motions to a machine provided that
Actuating a Body
You can use body actuators to apply forces and/or torques, but not motions, to bodies. (You can apply motions to a body indirectly, using Joint Actuators. See Applying Motions to Bodies following.)
Body Actuator Example: Pure Kinetic Friction
The mech_ballistic_kin_fric model in the Demos library provides an example of how to implement pure kinetic friction. This type of friction is a continuous force that depends on a body's motion relative to a medium (such as air), as well as on physical characteristics of the body. Kinetic friction, unlike "stiction," involves no "sticking" or locking of motion, and the friction is not discontinuous. While you could use the Joint Stiction Actuator, this is not necessary. This model applies air friction or drag to a projectile with a Body Actuator.
Open the Air Drag subsystem. If you double-click the block, a mask dialog box opens asking for the drag coefficient Cd. If you right-click the block and select Look under mask, the subsystem itself appears:

The Air Drag subsystem computes the air friction according to a standard air friction model. (See the Aerospace Blockset documentation for more information.) The drag always opposes the projectile's motion and is proportional to the product of the air density, the projectile's cross-sectional area, and the square of its speed.
Run the model with the default drag coefficient (zero). The XY Graph window opens to plot the parabolic path of the projectile. Now open the Air Drag dialog again and experiment with different drag coefficients Cd. Start with small values such as Cd = 0.05. For a rigid sphere, Cd is two. The effect of the drag is dramatic in that case.
Applying Motions to Bodies
The Body Actuator block cannot actuate a Body with motion signals. But you can construct such body motion actuators with a combination of other blocks. See Joint Actuator Example: Body Driver.
Varying a Body's Mass and Inertia Tensor
The Variable Mass & Inertia Actuator block gives you a way to vary a body's mass and/or inertia tensor as external functions of time. You specify these functions with incoming Simulink signals.
The Variable Mass & Inertia Actuator block does not apply any thrust forces or torques to the Body so actuated. Mass loss or gain in a particular direction results in thrust forces and torques. You must apply these forces and torques to the Body separately with Body Actuator blocks.
The Variable Mass & Inertia Actuator block changes the actuated Body's mass and rotational inertia by attaching an invisible body to the actuated body at a particular Body coordinate system (CS). This invisible body has a mass and an inertia tensor that vary in time as specified by the Actuator's external Simulink signal. SimMechanics treats the actuated body and the invisible body as a single composite body with a new mass, new center of gravity (CG), and new inertia tensor compounded from the two constituent bodies. You can add multiple Variable Mass & Inertia Actuator blocks to one Body.
To vary the mass and/or inertia tensor of a Body with this Actuator:
Example: Point Rocket
The following model simulates a simple rocket. It treats the rocket as a point mass moving upward (+y direction) with an exhaust pointing downward (-y direction). The rocket loses mass at a constant rate.
The Rocket block is the point mass. The Thrust Velocity block represents the downward exhaust and, multiplied by the mass loss represented by the Fuel Loss block, actuates the Rocket body with a thrust force pointing upward. The Thrust block (a body actuator) applies this force at the local Body CS, which, for a point rocket, is identical to the Rocket's CG CS.
The same mass loss from the Fuel Loss block that produces the thrust force also must vary the rocket's mass directly. The Variable Mass Actuator block accomplishes this by feeding the same mass loss signal to the Rocket block.
| Modeling Constraints and Drivers | Actuating a Joint | ![]() |
Learn more about the latest releases of MathWorks products: |
| © 1994-2008 The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |