APIs, concepts, guides, and more


CartesianAxis CartesianCoordinate
char ExpectedLabel [ExpectedLabelBufferSize]
 The label the joint is expected to have. The maximum number of characters the label can have is MAX_LABEL_SIZE. (The buffer has an additional space to allow strings to be null-terminated)
int JointIndex
 The index of the robot's joint to map (within an array of joint positions). Often this index will refer to the index of the axis within a MultiAxis object.
double Offset
 The offset value that will be added to the scaled joint position.
double Scaling
 The scaling value that the joint position will be multiplied by.

Static Attributes

static constexpr int MaxLabelSize = 16
 The maximum size of a joint label and the size of the ExpectedLabel buffer.


This struct specifies a mapping of a joint on the robot to a coordinate of a point in Cartesian space. The mapping's scaling, offset, and label can also be specified.

The linear models perform a one-to-one mapping of one of the robot's joint positions to a coordinate in cartesian space. When performing forward kinematics, a linear model will take in an array of joint positions and output an array representing the coordinates of the point cartesian space the robot will be at.

For example, in a gantry system, each robot joint directly controls each of the three spatial coordinates (X-coordinate, Y-coordinate, Z-coordinate), so the mapping would be: {X-coordinate, X-joint}, {Y-coordinate, Y-joint}, {Z-coordinate, Z-joint}.

Note: Some users may wish to map the same joint to a different spatial coordinate. This can be done with {X-coordinate, X-joint}, {Y-coordinate, Y-joint}, {Yprime-coordinate, Y-joint}, where "Yprime-coordinate" refers to a second spatial coordinate mapped to the Y-joint.

GcodeMotion.cs, and PathMotion.cs.

Definition at line 825 of file cartesianrobot.h.