SimMechanics Previous page   Next Page

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.)

To actuate a body:

  1. If there is not already an unused connector port available for the Actuator, create a Body CS port on the Body for the Actuator. See the Body block reference if you need to learn how.
  2. Drag a Body Actuator block from the Sensors & Actuators library into your model and connect its output port to a Body CS port on the Body.
  3. Open the Actuator's dialog box.
  4. Choose to apply a force or torque to the body:
  5. Select the coordinate system used to specify the applied torque from the Using reference coordinate system list.

  1. The list allows you to choose either the World CS or the Body CS of the port to which you attached the Actuator.

  1. Create vector signals that specify the value of the applied torque and force at each time step.

  1. You can use any Simulink source block (for example, an Input port or a Sine Wave block) or combination of Simulink blocks to create the Body Actuator signal. You can also use the output of a Sensor block connected to the Body as input to the Actuator, thereby creating a feedback loop. Such loops are useful for modeling springs and dampers (see Checking Model Validity.)

  1. Connect the force and/or torque signal to the input port of the Actuator.

  1. If you are applying both a force and a torque to the body, connect the force and torque signals to the inputs of a two-input Mux block. Then connect the output of the Mux block to the input of the Actuator.

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:

  1. From the Sensors & Actuators library, drag a Variable Mass & Inertia Actuator block into your model.
  2. Attach the Actuator's connector port to the Body CS on the Body where you want the invisible variable mass to be. If a suitable Body CS port does not exist on the Body, open its dialog and create one.
  3. Create an external Simulink signal to model the time-varying mass and/or inertia tensor for this invisible body. Connect it to the Variable Mass & Inertia Actuator block's Simulink input port.

  1. This Simulink signal can have one, nine, or ten components, depending on whether you are varying the mass only, the inertia tensor only, or both.

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.


Previous page  Modeling Constraints and Drivers Actuating a Joint Next page

Learn more about the latest releases of MathWorks products:

 © 1994-2008 The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS