Main Content

simscape.multibody.LeadScrewJoint Class

Namespace: simscape.multibody
Superclasses: simscape.multibody.Joint

Construct lead-screw joint

Since R2022a

Description

Use an object of the simscape.multibody.LeadScrewJoint class to construct a lead-screw joint. The LSz property of the object contains a single simscape.multibody.LeadScrewPrimitive object that has one degree of freedom, as shown in the image.

Lead-screw Joint Primitive Illustration

During a simulation, the follower frame translates along the z-axis of the base frame while the follower frame rotates about the same z-axis. The z-axes of the base and follower frames are aligned. The translation is proportional to the rotation based on the value of the Lead and Direction properties of the LeadScrewPrimitive object.

To specify the state targets of a LeadScrewJoint object, use a simscape.op.OperatingPoint object. Note that you can specify either the linear or angular targets for the object. Specifying both linear and angular targets for one object generates an error.

Class Attributes

Sealed
true
ConstructOnLoad
true
RestrictsSubclassing
true

For information on class attributes, see Class Attributes.

Creation

Description

lsj = simscape.multibody.LeadScrewJoint constructs a lead-screw joint with default values.

Properties

expand all

Lead-screw primitive of the simscape.multibody.LeadScrewJoint joint, returned as a simscape.multibody.LeadScrewPrimitive object.

Attributes:

GetAccess
public
SetAccess
public
NonCopyable
true

Examples

collapse all

  1. Use a simscape.multibody.LeadScrewJoint object to create a lead-screw joint.

    joint = simscape.multibody.LeadScrewJoint;
  2. Set the lead and direction for the joint.

    joint.LSz.Lead = simscape.Value(3,"mm/rev");
    joint.LSz.Direction = simscape.multibody.Handedness.LeftHand;
  3. Before specifying the state targets of the LeadScrewJoint object, you need to add the object into a simscape.multibody.Multibody object by using the addComponent method. Create a Multibody object.

    mb = simscape.multibody.Multibody;
    addComponent(mb,"MyJoint",joint);
    
  4. To specify the targets of the object, create an empty operating point.

    op = simscape.op.OperatingPoint;
  5. Add a high-priority angular position target for the lead-screw primitive to the operating point.

    op("MyJoint/LSz/q") = simscape.op.Target(simscape.Value(30,"deg"),"High");

    Alternatively, you can add a linear position target. Note that the angular and linear targets must not be added to the same object.

    op("MyJoint/LSz/p") = simscape.op.Target(simscape.Value(50,"mm"),"High");
  6. Add a high-priority angular velocity target for the lead-screw primitive to the operating point.

    op("MyJoint/LSz/w") = simscape.op.Target(simscape.Value(3,"deg/s"),"High");

    Alternatively, you can add a linear velocity target.

    op("MyJoint/LSz/v") = simscape.op.Target(simscape.Value(5,"mm/s"),"High")

Version History

Introduced in R2022a