Main Content

Multibody Model Anatomy

A multibody system is a set of bodies linked through joints and bound by kinematic constraints such as gears. Forces and torques of various types enable you to actuate the various bodies, while sensors enable you to sense the resulting motion. You can use Simscape™ Multibody™ blocks to represent these components and analyze the dynamic responses of the system. For more information about multibody dynamics simulations, see Multibody Dynamics.

Basic Model Components

Consider the Simscape Multibody four-bar featured example. You can open this model at the MATLAB® command prompt by entering OpenExample('sm/FourBarExample')​. The model consists of solid body subsystems interconnected through Joint blocks. The Joint blocks define the degrees of freedom available between bodies. The body subsystems define, through an underlying block diagram, the solid properties of the body.

Basic Components of FourBarExample Model

The body subsystems in turn consist of Extruded Solid blocks interconnected through Rigid Transform blocks. The Extruded Solid blocks provide the solid properties, including geometry, inertia, color, and frames—axis triads that encode all position and orientation information in a model. The Rigid Transform blocks rotate and translate the solids to ensure proper body assembly.

The figure shows the underlying block diagram for a binary link body subsystem. This diagram includes three Solid blocks, representing the central and distal portions of the binary link. Two Rigid Transform blocks translate the distal solids to their proper locations near the ends of the central solid.

Body Subsystem Components

Other common blocks in a model include:

  • World Frame — Adds an inertial reference frame to the model.

  • Rigid Transform — Rotates and translates bodies and other frames relative to each other.

  • Mechanism Configuration — Defines the gravitational constant in a model.

  • Solver Configuration — Sets Simscape local solver options such as types, tolerances, and time steps. This is the only required block in a model.

Model Actuation

You can actuate a model by applying a force or torque to a body or to a joint. To represent forces and torques acting on a body, Simscape Multibody provides a Forces and Torques library. Add a block from this library and connect it to the body frame(s) that you want to apply the force or torque to.

BlockFunction
External Force and TorqueGeneral force and/or torque originating outside of the multibody model
Internal ForceGeneral force pair between two arbitrary frames
Spring and Damper ForceSpring-damper force pair between two arbitrary frames
Inverse Square Law ForceForce pair with inverse dependence on the square distance between two arbitrary frames (e.g., Coulomb electrostatic forces)
Gravitational FieldGravitational pull of a point mass on all bodies as a function of their distances to the point mass itself

The figure shows a four-bar model with an External Force and Torque block for force and torque prescription at a crank link frame.

To specify the force or torque acting at a joint, Simscape Multibody provides a selection of actuation inputs directly in the joint blocks. Each joint primitive—the basic component of a joint block—provides a selection of actuation inputs specific to that primitive.

Joint actuation inputs can be of two types:

  • Motion — Specify the time-varying trajectory of a given joint primitive.

  • Force or torque — Specify the time-varying actuation force or torque acting at a given joint primitive.

The figure shows a four-bar model with an actuation torque acting on a revolute joint.

Dynamical Sensing

You can sense various dynamical variables between frame pairs, e.g., for analysis or control design. Sensing outputs can be of two types:

  • Motion — Compute and output the relative position, velocity, or acceleration between two Simscape Multibody frames. You can sense motion between joint frames, by using the sensing capability of joint blocks, or between arbitrary frames, by using the Transform Sensor block.

  • Force or torque — Compute and output the forces and torques acting between two Simscape Multibody frames. You can sense force and torque between the port frames of certain Forces and Torques blocks, such as the Inverse Square Law Force block, or between the port frames of a joint block.

Joint blocks enable you to sense different types of forces and torques between their respective port frames, including:

  • Actuation force or torque acting at a given joint primitive.

  • Constraint force and torque acting joint-wide to prevent motion normal to the joint degrees of freedom.

  • Total force and torque, including constraint and joint primitive actuation contributions, acting joint-wide.

The figure shows a four-bar model with a Transform Sensor block for trajectory coordinate sensing between a coupler link frame and the world frame.

Related Topics