Main Content


Connect bodies through joints, gears, and constraints

Connect bodies with joint and constraint blocks to assemble them into an articulated system. The joint blocks determine the maximum degrees of freedom—rotational and translational—allowed between the connected bodies. The constraint blocks reduce this number by applying kinematic relationships that often couple degrees of freedom. There are no restrictions on model topology: you can model kinematic trees such as a double pendulum and kinematic loops such as a four bar.


expand all

simscape.multibody.ComponentAbstract base class for components (Since R2022a)
simscape.multibody.JointAbstract base class for joints (Since R2022a)
simscape.multibody.MultibodySpecify structure of multibody system (Since R2022a)
simscape.multibody.RigidBodyConstruct rigid body (Since R2022a)
simscape.multibody.RigidTransformConstruct rigid transform (Since R2022a)
simscape.multibody.SolidConstruct rigid solid (Since R2022a)
simscape.multibody.WorldFrameConstruct world frame (Since R2022a)
simscape.multibody.BearingJointConstruct bearing joint (Since R2022a)
simscape.multibody.BushingJointConstruct bushing joint (Since R2022a)
simscape.multibody.CartesianJointConstruct Cartesian joint (Since R2022a)
simscape.multibody.ConstantVelocityJointConstruct constant-velocity joint (Since R2022a)
simscape.multibody.CylindricalJointConstruct cylindrical joint (Since R2022a)
simscape.multibody.GimbalJointConstruct gimbal joint (Since R2022a)
simscape.multibody.JointAbstract base class for joints (Since R2022a)
simscape.multibody.LeadScrewJointConstruct lead-screw joint (Since R2022a)
simscape.multibody.PinSlotJointConstruct pin-slot joint (Since R2022a)
simscape.multibody.PlanarJointConstruct planar joint (Since R2022a)
simscape.multibody.PrismaticJointConstruct prismatic joint (Since R2022a)
simscape.multibody.RectangularJointConstruct rectangular joint (Since R2022a)
simscape.multibody.RevoluteJointConstruct revolute joint (Since R2022a)
simscape.multibody.SixDofJointConstruct bushing joint (Since R2022a)
simscape.multibody.SphericalJointConstruct spherical joint (Since R2022a)
simscape.multibody.TelescopingJointConstruct telescoping joint (Since R2022a)
simscape.multibody.UniversalJointConstruct universal joint (Since R2022a)
simscape.multibody.WeldJointConstruct weld joint (Since R2022a)
simscape.multibody.ConstantVelocityPrimitiveConstruct constant-velocity joint primitive (Since R2022a)
simscape.multibody.JointPrimitiveAbstract base class to construct joint primitives (Since R2022a)
simscape.multibody.LeadScrewPrimitiveConstruct lead-screw primitive (Since R2022a)
simscape.multibody.PrismaticPrimitiveConstruct prismatic joint primitive (Since R2022a)
simscape.multibody.RevolutePrimitiveConstruct revolute joint primitive (Since R2022a)
simscape.multibody.SphericalPrimitiveConstruct spherical joint primitive (Since R2022a)
simscape.multibody.AlignedAxesRotationConstruct rotation by using aligned-axes parameterization (Since R2022a)
simscape.multibody.ArbitraryAxisRotationConstruct rotation by specifying custom axis-angle pair (Since R2022a)
simscape.multibody.CartesianTranslationConstruct Cartesian translation (Since R2022a)
simscape.multibody.CylindricalTranslationConstruct cylindrical-axis translation (Since R2022a)
simscape.multibody.QuaternionRotationConstruct rotation by using unit quaternion (Since R2022a)
simscape.multibody.RotationAbstract base class for 3-D rotations (Since R2022a)
simscape.multibody.RotationMatrixRotationConstruct rotation by using rotation matrix (Since R2022a)
simscape.multibody.RotationSequenceRotationConstruct rotation by using rotation-sequence parameterization (Since R2022a)
simscape.multibody.TransformationConstruct transformation (Since R2022a)
simscape.multibody.TranslationAbstract base class for 3-D translations (Since R2022a)
simscape.multibody.StandardAxisRotationConstruct rotation by using standard-axis parameterization (Since R2022a)
simscape.multibody.StandardAxisTranslationConstruct standard-axis translation (Since R2022a)
simscape.multibody.ZeroRotationConstruct zero rotation (Since R2022a)
simscape.multibody.ZeroTranslationConstruct zero translation (Since R2022a)
simscape.multibody.CompiledMultibodyCompiled multibody system (Since R2022a)
simscape.multibody.StateState of compiled multibody system (Since R2022a)

Simscape Blocks

expand all

Joints with One or No Primitives

Prismatic JointJoint that allows relative motion along single axis
Revolute JointJoint with one revolute primitive
Spherical JointJoint allows 3-D rotations
Weld JointJoint with zero primitives

Joints with Multiple Primitives

Bearing JointJoint with one prismatic and three revolute primitives
Bushing JointJoint with three prismatic and three revolute primitives
Cartesian JointJoint with three prismatic primitives
Cylindrical JointJoint with one rotational and one translational degree of freedom
Gimbal JointJoint with three revolute primitives
Pin Slot JointJoint with one prismatic and one revolute primitives possessing mutually orthogonal motion axes
Planar JointJoint with one rotational and two translational degrees of freedom
Rectangular JointJoint with two prismatic primitives
6-DOF JointJoint with six degrees of freedom and no kinematic singularity
Telescoping JointJoint with one prismatic and one spherical joint primitive
Universal JointJoint with two revolute primitives

Joints with Coupled Degrees of Freedom

Constant Velocity JointJoint that enforces a constant-velocity kinematic constraint between two shafts
Lead Screw JointJoint with coupled rotational and translational degrees of freedom
Bevel Gear ConstraintKinematic constraint between two bevel gear bodies with angled intersecting rotation axes
Common Gear ConstraintKinematic constraint between two coplanar spur gear bodies with parallel rotation axes
Rack and Pinion ConstraintKinematic constraint between a translating rack body and a rotating pinion body
Worm and Gear ConstraintKinematic constraint between worm and gear bodies with perpendicular non-intersecting rotation axes
Belt-Cable EndTip of the cord of a pulley system
Belt-Cable PropertiesGeneral characteristics of the cord of a pulley system
Belt-Cable SpoolSource and sink of cord in a pulley system
PulleyWheel wrapped in a cord for the transmission of torque and motion
Angle ConstraintFixed angle between two frame Z axes
Distance ConstraintFixed distance between two frame origins
Point on Curve ConstraintKinematic constraint between frame origin and curved path
Point on Surface ConstraintKinematic constraint between frame origin and 2-D surface (Since R2021a)


Assembling Bodies with Joints

Constraining Multibody Assemblies

  • Assemble a Gear Model
    Learn how to satisfy the assembly requirements of gear constraints using Rigid Transform blocks.
  • Counting Degrees of Freedom
    Using the Simscape™ Statistics Viewer to determine the motion degrees of freedom in a mechanism.
  • Constrain a Point to a Curve
    Use a Point on Curve Constraint block to restrict the motion of an aircraft flap to a curved trajectory specified in a Spline block.
  • Model a Compound Gear Train
    Use the Common Gear Constraint block to couple the rotational motions of the bodies comprising a planetary gear system.
  • Modeling Gear Constraints
    Learn how to model gear constraints using simple gear models as examples.