Path Motion

What is Path Motion?

Path Motion allows complex 3D paths to be specified using simple geometric elements (arcs and lines) in order to define the desired path. Path motion is useful for applications that need to move an end effector in 3D cartesian space on a machine with an arbitrary kinematic model.
This Path Motion feature is not the same as legacy path motion (methods on the Multi Axis class)

Classes for representing location in 3D space (Pose, Vector, Quaternion)

Pose
Fully defines 3D space location & orientation
Made of vector and quaternion
Vector
X, Y, Z or R, P, Y
Made of 3 Doubles
Quaternion
W, X, Y, Z
4 Doubles

Lines

Lines are defined by an endpoint. The start point will either be the end point of the previously appended motion(For the first move it will be the current position).

Arcs

Arcs are defined by a rotation direction, endpoint, and center Alternatively, the can be defined by an endpoint and radius but must then only take place on a specified plane.
Currently, all arcs must take place on the XY, YZ, or XZ plane.

Relative/Absolute

Lines and arcs can be programmed as either relative or aboslute. Absolute moves will be relative to the origin point of your kinematic space. Relative moves will be relative to the start point(end point of previous move)

Examples of Basic Cartesian Lines and Arcs

CartesianRobot.PathLine(Pose(1000,1000,0));
CartesianRobot.PathArc(RSIRotationDirection.Clockwise,Pose(1000,1000,0),Vector(0,1000,0));
CartesianRobot.PathArcXY(RSIRotationDirection.Clockwise,1000,1000,1000);