# Point to Point Motion

## What is Point-to-Point Multi-Axis Motion?

Point-to-Point Multi-Axis Motion performs synchronized or coordinated motion with multiple axes.
Point-to-Point motion allows us to move a multiaxis system to a specific point. There are two different motion profiles available for this type of motion: Trapezoidal and SCurve.

## Trapezoidal Motion

 Velocity Acceleration ​ ​ ​ ​
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.

## SCurve Motion

 Velocity Acceleration ​ ​ ​ ​
SCurve 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.
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.

### (?) 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.