# MPIGeometricPathParams

## Definition

typedef struct MPIGeometricPathParams { int32_t dimension; MPIGeometricPathPoint start; double velocity; double acceleration; double eceleration; MPIMotionType interpolation; MPIGeometricPathPlanType plan; double timeSlice; double conversion [MPIGeometricPathPointDIMENSION_MAX] [MPIGeometricPathPointDIMENSION_MAX]; double samplePeriod; } MPIGeometricPathParams;

## Description

MPIGeometricPathParams specifies the parameters for the path planner to apply when generating a list of PVT or PT points.

dimension | This value defines the number of axes to coordinate. Please see MPIGeometricPathPoint data type documentation for more information. |
---|---|

start | This structure defines the initial point for the path. |

velocity | This value defines the speed along the path. The units are in counts per second. |

acceleration | This value defines the rate of change of speed to reach the velocity along the path for PVT interpolation types. The units are in counts per second * second. |

deceleration | This value defines the rate of change of speed to reach zero velocity along the path. The units are in counts per second * second. If the interpolation type is non-PVT than the acceleration is dependent on the velocity, timeSlice, path, and spline type. |

interpolation | This value specifies the motion algorithm to generate the path. Please see MPIMotionType data type documentation for more information. |

plan | This value choses the velocity profile (TRAP or S-CURVE) for PVT moves. Please see MPIGeometricPathPlanType data type documentation for more information. |

timeSlice | This value specifies the amount of time between PT points. This value is ignored when the interpolation type is set to PVT. For PVT interpolation types, the MPI path planner will calculate an optimum time value for each point, depending on the specified path, velocity, and acceleration. The units are in seconds. The value must be a multiple of 2x controller sample period. If the value is greater than zero, but not a multiple of 2x controller sample period, the MPI will automatically round the value up to the next valid value. Smaller timeSlice values will improve the path accuracy, but increase the number of points to calculate and buffer. |

conversion | This value is an N x N matrix (where N is the number of dimensions in the path motion) that scales and rotates the axes used in the path motion. This is useful when using two axes with different resolutions for each axis.For two axes with different resolution:Set conversion[0][0] to (desired x resolution / actual x resolution) Set conversion [1][1] to (desired y resolution / actual y resolution) Set conversion[0][1] and conversion[1][0] = 0For a coordinate rotation, where alpha is the rotation of the coordinate system: Set conversion[0][0] and conversion [1][1] = cos(alpha) Set conversion[0][1] = sin(alpha) Set conversion[1][0] = -sin(alpha) |

samplePeriod | This value specifies the controller sample period for the path. It is used for error checking PVT motion. |

## See Also

mpiGeometricPathParamsGet | mpiGeometricPathParmsSet | MPIGeometricPathPointDIMENSION_MAX | PT and PVT Path Motion