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