Interpolation Modes available for MC_MovePath

Two different interpolation modes are available:

../_images/161f021de42310a30a331390017d4142

Behavior with CORNER_MODE=0

When CORNER_MODE in MC_PATH_REF is =0, the movement will be executed on the given path between 2 points until the given CORNER_DISTANCE is reached. Then the direction will be changed and the TCP will again reach the path from point 2 to point 3 at CORNER_DISTANCE behind point 2.

../_images/bf3fcfc2e42522640a3313900003eb0f

Behavior with CORNER_MODE=1

When CORNER_MODE=1 in MC_PATH_REF, the interpolation will meet every given point but will modify the velocity before the corner to direct the movement towards the next point and to reach a continuous ve-locity profile while doing so. A cubic interpolation is used from point-to-point in a way that a smooth velocity curve is achieved in every single direction (X/Y/Z). The acceleration is not taken in to account and just 3 consecutive points influence every specific movement.

The following diagram shows the 2 different interpolations for a very simple path.

../_images/55bc0309e425796e0a331390008b53a6

POSITION comparison

The points are:
X Y
0 0
50 50
100 50
150 50
200 0
150 -50
100 -50
50 -50
0 0

The yellow curve shows the original points, the pink curve the interpolation result for CORNER_MODE=1 and the blue curve the result for CORNER_MODE=0 with CORNER_DISTANCE=10.

-CORNER_MODE=0: the given path, as a linear movement from point-to-point, is followed, just at the given distance from the corner (predefined X/Y-point) this path is left and the movement turned into the direction of the next point.

-CORNER_MODE=1: the interpolation meets the given points, but the linear path is left as a cubic interpolation is performed to achieve a smooth movement.

A second example is shown with far more points to define the curve. In this case, it seems almost as if there was no difference between the 2 modes:

../_images/3b046bd0e42537e00a3313900131e22e

POSITION comparison

The difference is to be seen when exploring the curve in more detail. In this case, a CORNER_DISTANCE=1 is used, so the interpolation follows the path somehow “edgy”, while CORNER_MODE=1 creates a rounded curve.

../_images/554d531fe42556200a33139000b1c302

POSITION comparison in detail

An even clearer difference is to be seen in the velocity curve:

../_images/bbe55b78e425905c0a33139001000c47

VELOCITY comparison

-with CORNER_MODE=0, a constant velocity is maintained during the linear parts of the path. Just the section de-scribed by CORNER_DISTANCE (in this case, CORNER_DISTANCE=1) is used to change direction and velocity.

-with CORNER_MODE=1, a continuous velocity transition is achieved.