Library to model 3-dimensional mechanical systems


Library MultiBody is a free Modelica package providing 3-dimensional mechanical components to model in a convenient way mechanical systems, such as robots, mechanisms, vehicles. Typical animations generated with this library are shown in the next figure:

For an introduction, have especially a look at:

Copyright © 1998-2019, Modelica Association and contributors

Extends from Modelica.Icons.Package (Icon for standard packages).

Package Content

Name Description
Modelica.Mechanics.MultiBody.UsersGuide UsersGuide User's Guide of MultiBody Library
Modelica.Mechanics.MultiBody.World World World coordinate system + gravity field + default animation definition
Modelica.Mechanics.MultiBody.Examples Examples Examples that demonstrate the usage of the MultiBody library
Modelica.Mechanics.MultiBody.Forces Forces Components that exert forces and/or torques between frames
Modelica.Mechanics.MultiBody.Frames Frames Functions to transform rotational frame quantities
Modelica.Mechanics.MultiBody.Interfaces Interfaces Connectors and partial models for 3-dim. mechanical components
Modelica.Mechanics.MultiBody.Joints Joints Components that constrain the motion between two frames
Modelica.Mechanics.MultiBody.Parts Parts Rigid components such as bodies with mass and inertia and massless rods
Modelica.Mechanics.MultiBody.Sensors Sensors Sensors to measure variables
Modelica.Mechanics.MultiBody.Visualizers Visualizers 3-dimensional visual objects used for animation
Modelica.Mechanics.MultiBody.Types Types Constants and types with choices, especially to build menus
Modelica.Mechanics.MultiBody.Icons Icons Icons for MultiBody package

Modelica.Mechanics.MultiBody.World Modelica.Mechanics.MultiBody.World

World coordinate system + gravity field + default animation definition


Model World represents a global coordinate system fixed in ground. This model serves several purposes:

Since the gravity field function is required from all bodies with mass and the default settings of animation properties are required from nearly every component, exactly one instance of model World needs to be present in every model on the top level. The basic declaration needs to be:

inner Modelica.Mechanics.MultiBody.World world

Note, it must be an inner declaration with instance name world in order that this world object can be accessed from all objects in the model. When dragging the "World" object from the package browser into the diagram layer, this declaration is automatically generated (this is defined via annotations in model World).

All vectors and tensors of a mechanical system are resolved in a frame that is local to the corresponding component. Usually, if all relative joint coordinates vanish, the local frames of all components are parallel to each other, as well as to the world frame (this holds as long as a Parts.FixedRotation, component is not used). In this "reference configuration" it is therefore alternatively possible to resolve all vectors in the world frame, since all frames are parallel to each other. This is often very convenient. In order to give some visual support in such a situation, in the icon of a World instance two axes of the world frame are shown and the labels of these axes can be set via parameters.


enableAnimation= true, if animation of all components is enabled
animateWorld= true, if world coordinate system shall be visualized
animateGravity= true, if gravity field shall be visualized (acceleration vector or field center)
animateGround= true, if ground plane shall be visualized
label1Label of horizontal axis in icon
label2Label of vertical axis in icon
gravityTypeType of gravity field
gConstant gravity acceleration [m/s2]
nDirection of gravity resolved in world frame (gravity = g*n/length(n)) [1]
mueGravity field constant (default = field constant of earth) [m3/s2]
driveTrainMechanics3D= true, if 3-dim. mechanical effects of Parts.Mounting1D/Rotor1D/BevelGear1D shall be taken into account
replaceable function gravityAccelerationFunction to compute the gravity acceleration, resolved in world frame
if animateWorld = true
axisLengthLength of world axes arrows [m]
axisDiameterDiameter of world axes arrows [m]
axisShowLabels= true, if labels shall be shown
axisColor_xColor of x-arrow
axisColor_zColor of z-arrow
if animateGravity = true and gravityType = UniformGravity
gravityArrowTail[3]Position vector from origin of world frame to arrow tail, resolved in world frame [m]
gravityArrowLengthLength of gravity arrow [m]
gravityArrowDiameterDiameter of gravity arrow [m]
gravityArrowColorColor of gravity arrow
if animateGravity = true and gravityType = PointGravity
gravitySphereDiameterDiameter of sphere representing gravity center (default = mean diameter of earth) [m]
gravitySphereColorColor of gravity sphere
if animateGround = true and gravityType = UniformGravity
groundAxis_uVector along 1st axis (called u) of ground plane, resolved in world frame (should be perpendicular to gravity direction) [1]
groundLength_uLength of ground plane along groundAxis_u [m]
groundLength_vLength of ground plane perpendicular to groundAxis_u [m]
groundColorColor of ground plane
nominalLength"Nominal" length of multi-body system [m]
defaultAxisLengthDefault for length of a frame axis (but not world frame) [m]
defaultJointLengthDefault for the fixed length of a shape representing a joint [m]
defaultJointWidthDefault for the fixed width of a shape representing a joint [m]
defaultForceLengthDefault for the fixed length of a shape representing a force (e.g., damper) [m]
defaultForceWidthDefault for the fixed width of a shape representing a force (e.g., spring, bushing) [m]
defaultBodyDiameterDefault for diameter of sphere representing the center of mass of a body [m]
defaultWidthFractionDefault for shape width as a fraction of shape length (e.g., for Parts.FixedTranslation)
defaultArrowDiameterDefault for arrow diameter (e.g., of forces, torques, sensors) [m]
defaultFrameDiameterFractionDefault for arrow diameter of a coordinate system as a fraction of axis length
defaultSpecularCoefficientDefault reflection of ambient light (= 0: light is completely absorbed)
defaultN_to_mDefault scaling of force arrows (length = force/defaultN_to_m) [N/m]
defaultNm_to_mDefault scaling of torque arrows (length = torque/defaultNm_to_m) [N.m/m]


frame_bCoordinate system fixed in the origin of the world frame
replaceable function gravityAccelerationFunction to compute the gravity acceleration, resolved in world frame
Automatically generated Thu Jan 24 11:19:52 2019.