Helical Interpolation
A helical interpolation command interpolates three axes in a three-dimensional helix. The linear motion of the helix must be entirely along one axis, and the rotational motion of the helix must be entirely in the remaining two axes.
The linear motion is defined by the end position. The rotational motion is defined by the center position, the arc length in degrees, and whether the rotation direction is clockwise or counterclockwise.
The linear end position and rotational center position may be specified as absolute positions or relative positions.
The motion profile (velocity, acceleration, deceleration, etc.) may be specified for the helical trajectory, just the linear motion, or just the circular motion.
Helical Interpolation Example
The following code executes a simple helical interpolation command.
Motion::HelicalIntplCommand hel;
hel.helicalProfileType = Motion::HelicalIntplProfileType::Helical;
hel.axis[0] = 0;
hel.axis[1] = 1;
hel.zAxis = 2;
hel.centerPos[0] = 10000;
hel.arcLengthDegree = 720;
hel.clockwise = 0;
hel.zEndPos = 20000;
hel.profile.velocity = 100000;
hel.profile.acc = 200000;
hel.profile.dec = 200000;
hel.profile.type = ProfileType::Trapezoidal;
wmxlib_CoreMotion->motion->StartHelicalIntplPos(&hel);
The following plots show the positions and velocities when the above code is executed.
