APIs, concepts, guides, and more
Point-to-Point Motion

Perform point-to-point motion with an Axis or MultiAxis.

🔹 What is Point-to-Point Motion?

Point-to-Point motion allows us to move an Axis or MultiAxis system to a specific point. There are two different motion profiles available for this type of motion: Trapezoidal and S-Curve.

🔹 Trapezoidal Motion

Velocity Acceleration
Image Image

Trapezoidal motion accelerates each axis at the given rate until it reaches the specified velocity. When each axis approaches the specified location, it decelerates at the given rate to a stop. All accelerations and decelerations are constant, as shown by the figure above on the right. The above-left diagram shows a trapezoidal motion profile.

🔹 S-Curve Motion

Velocity Acceleration
Image Image

S-Curve motion also moves each axis to specific points, however, each axis is accelerated at a non-constant rate determined by the jerk percentage. A motion profile with 100% jerk percent is shown above on the left. A jerk percentage of 0% is the same as a trapezoidal motion profile. At 100% jerk, the acceleration and deceleration are never constant, as shown in the above right figure.

Note
You can change the velocity, acceleration, and deceleration of a MoveSCurve that is executing on the fly simply by calling the function again with different parameters.

🔹 MultiAxis Synchronized Motion

Depending on the configuration, synchronization can occur at the start, end, or both. See MotionAttributeMaskOnSet. The default configuration is to synchronize at the start and end of the motion.

Sync Start Sync End Description
All the axes start at the same time.
All the axes stop at the same time.
All the axes start and stop at the same time; the faster axes are slowed down to match the time of the slowest axis. Axes whose motion completes too quickly are slowed down so that all axes will complete their motion at the same time.

Image

Image

Image

❓ FAQ

  • Can you overwrite a motion command that is in progress?
    Yes, point-to-point motion commands can be overwritten on-the-fly.
  • Can you blend a point to point move with a velocity move?
    Yes, you can command a Move.Trapezoidal() with a specified final velocity so that you can ensure at the time the axis gets to its target position, it will be moving at the specified velocity.

🔹 Subsections

  • Absolute Motion : Use Absolute Motion to move directly to a specified position, ensuring the axis reaches a defined destination regardless of its previous position.
  • Relative Motion : Use Relative Motion to move an axis a specified distance from its current position, providing flexibility to adjust position based on current location rather than a fixed point.
  • S-Curve Motion : S-Curve Motion offers a smoother acceleration profile compared to Trapezoidal Motion, utilizing a "Jerk Percent" parameter to fine-tune how acceleration phases are shaped, allowing precise control over motion transitions and peak accelerations.