Documentation Center

  • Trial Software
  • Product Updates

Custom Joint

Joint with custom combination of prismatic, revolute, and spherical joint primitives

Library

Joints

Description

The Custom Joint block is a composite joint that you can customize with a specified combination of primitives (prismatic, revolute, or spherical) representing the most general and unconstrained degrees of freedom (DoFs) in three dimensions:

  • Up to three translational DoFs as three prismatic primitives

  • Up to three rotational DoFs:

    • As a single spherical primitive

    • As one, two, or three revolute primitives

    The sense of rotational DoFs is defined by the right-hand rule. One spherical or three revolutes together form a right-handed system.

You can add, configure, and delete these primitives from the Custom Joint, with a minimum and default of one primitive. The properties of each primitive are the same as the individual Joints of the same names.

    Warning   A joint with two or three revolute primitives becomes singular if two or three of the rotation axes become parallel ("gimbal lock"). A joint with two or three prismatic primitives becomes singular if two or three of the translation axes become parallel. The simulation stops with errors in these cases.

    A joint with three revolute primitives must be configured in the initial state with the three revolute primitive axes mutually orthogonal. There are no restrictions on the primitive axes once the simulation starts, except to prevent any two of the primitive axes from becoming parallel.

You can connect Actuator and Sensor blocks to a Custom Joint, with each Actuator and Sensor connecting to an individual primitive. You cannot connect an Actuator to a spherical primitive.

Satisfying Joint Requirements

A Joint block represents the relative degrees of freedom between two bodies, not the bodies themselves.

You must connect any Joint block to two and only two Body blocks, the base and the follower. All Joints have two connector ports for these connections, defining the direction of joint motion (base to follower). You connect each side of the Joint block to these Body blocks at a Body coordinate system (CS) port.

You specify the joint primitive axes, if any, in the Joint dialog.

Assembly Restrictions on Assembled Joints

This Joint block is assembled and places restrictions on the connected Body CSs.

  • If the Joint has no prismatic primitives, the origins of the connected Body CSs on either side of the Joint must be spatially collocated points, to within assembly tolerances.

  • If the Joint has one or more prismatic primitives, the origins of the connected Body CSs must lie in the span of the prismatic axes:

    Number of Prismatic PrimitivesSpan of Primitive Axes
    OneAlong the primitive axis
    TwoIn the plane of the primitive axes
    ThreeAnywhere in three-dimensional space

Dialog Box and Parameters

The dialog has two active areas, Connection parameters and Parameters.

Connection Parameters

The base (B)-follower (F) Body sequence determines the sense of positive motion:

  • Positive translation is the follower moving in the direction of the translation axis.

  • Positive rotation is the follower rotating in the right-hand rule about the rotation axis.

  • Positive rotation is the follower rotating in the right-hand rule as shown by the motion figure in the Spherical block reference page.

Current base

When you connect the base (B) connector port on the Custom Joint block to a Body CS Port on a Body, this parameter is automatically reset to the name of this Body CS. See the following figure, Custom Joint Base and Follower Body Connector Ports.

The base Body is automatically connected to the first joint primitive in the primitive list in Parameters.

Current follower

When you connect the follower (F) connector port on the Custom Joint block to a Body CS Port on a Body, this parameter is automatically reset to the name of this Body CS. See the following figure, Custom Joint Base and Follower Body Connector Ports.

The follower Body is automatically connected to the last joint primitive in the primitive list in Parameters.

Number of sensor/actuator ports

Using this spinner menu, you can set the number of extra connector ports needed for connecting Joint Actuator and Joint Sensor blocks to this Joint. The default is 0. A spherical primitive cannot be connected to an Actuator.

The motion of a prismatic primitive is specified in linear units. The motion of a revolute primitive is specified in angular units. The motion of a spherical primitive is three DoFs specified in quaternion form.

Custom Joint Base and Follower Body Connector Ports

Parameters

Switch between the Axes and Advanced tabs.

Axes Tab

The entries on the Axes tab are required. Each DoF primitive in Custom Joint has an entry line. These lines specify the direction of the axes of action of the DoFs that the Custom Joint represents.

Name - Primitive

In the pull-down menu, select a label and primitive type for this DoF. Up to three prismatic primitives P1, P2, P3 are allowed. The rotational DoFs are represented by up to three revolute primitives: R1, R2, R3. A spherical primitive S can take all three allowed rotational DoFs instead.

The default value is R1 - Revolute.

Axis of Action [x y z]

Enter here as a three-component vector the directional axis defining the allowed motion of this primitive and its corresponding DoF:

  • Prismatic: axis of translation

  • Revolute: axis of rotation

  • Spherical: field is not active

The default vector is [0 0 1]. The axis is a directed vector whose overall sign matters.

To prevent singularities and simulation errors, no two of the revolute axes and no two of the prismatic axes can be parallel.

Reference CS

Using the pull-down menu, choose the coordinate system (World, the base Body CS, or the follower Body CS) whose coordinate axes the vector axis of action is oriented with respect to. This CS also determines the absolute meaning of forces/torques and motion along/about the joint axis. The default is World.

The field is not active for a spherical primitive.

Managing the Joint Primitives List in a Custom Joint

The Custom Joint primitives list controls, in the figure, allow you to add, reorder, and delete joint primitives in a Custom Joint block.

Custom Joint Primitives List Controls

  • To add a joint primitive to the primitives list:

    • Highlight an existing primitive name in the list.

    • Click on the Add button (see the preceding figure, Custom Joint Primitives List Controls).

      A new primitive will appear immediately below the primitive you highlighted.

  • To change the position of a joint primitive in the list:

    • Highlight the primitive whose position you want to change.

    • Click on the Up or Down button (see the preceding figure, Custom Joint Primitives List Controls) until the primitive is where you want it.

  • To delete a joint primitive from the list:

  • Custom Joint requires at least one primitive, which you cannot delete.

 Restricted Parameters

Advanced Tab

The Advanced tab is optional. You use it to control the way SimMechanics™ simulation interprets the topology of your schematic diagram.

Mark as the preferred cut joint

In a closed loop, the simulation internally and automatically cuts one and only one joint.

If you want this particular joint to be weighted preferentially for cutting during the simulation, select the check box. The default is not selected.

Was this topic helpful?