Share this

The Foundation of Robot Control Design – Standard Reference Points for Motion Controllers

2026-04-06 03:00:44 · · #1

Understanding the differences between coordinate systems and how they interact is key to successful motion control using groups. Part 4 of PLC Open, the global standard for motion control of programmable controllers IEC 6111-3, introduces the concept of multi-axis coordinated motion using groups. A group is a collection of axes that work together according to a common mechanism to provide motion paths in three-dimensional space. Examples include gantry systems, articulated robots , triangular robots, or connecting mechanisms; multi-axis coordination enables multi-dimensional motion of equipment.

As part of the new functionality, the concept of coordinate systems in the controller has become an important topic to understand. A coordinate system is a reference point that defines six degrees of freedom (DoF): the X, Y, and Z coordinates of the Cartesian coordinate system, and the Rx, Ru, and Rz angles (called Euler angles) that describe the rotational degree of each axis. Each controlled mechanism, component, or work unit has its own coordinate system. Because the PLCopen controller can control multiple groups, each operating on multiple components, it is essential to understand how the different coordinate systems interact, which is crucial for the programmer's comprehension.

Every coordinate system has an origin, which defines the zero point of all coordinates. The direction of each coordinate axis is determined by the right-hand rule (see Figure 1). If the index finger points in the positive X direction, then the extended middle finger (at a right angle to the index finger) points in the positive Y direction, and the extended thumb points in the positive Z direction.

The angle direction is determined using the right-hand rule (see Figure 2). The thumb points in the positive direction of the axis, and the direction in which the fingers bend around the axis is the positive direction of rotation of that axis.

Motor position

Ultimately, the controller controls the position of each motor . Each axis in the group has its own axis coordinate system (ACS), which represents the rotational position of the motor. For most complex mechanisms, such as articulated arms, triangular robots, and connection mechanisms, the position of a single axis coordinate system does not mean that everything is done in isolation; it is through the coordination of these axes, using kinematic calculations, that the position of the machine is determined. These calculations can be performed internally by the controller or by a separate robot controller.

The basic coordinate system for each group is the machine coordinate system (MCS). The machine manufacturer defines the origin of the machine coordinate system. For articulated and triangular robots, it is typically located on the robot's base. The controller then performs kinematic calculations to determine the tool plate coordinate system (TPCS), which is the endpoint of the machine itself. This coordinate system is not useful to the programmer on its own, but it can be used to define the origin of the tool's position. The tool has its own coordinate system, the cutter coordinate system (TCS).

Position commands

Typically, the tool is centered at the end of the machine, so this might be as simple as an offset in the +Z direction of the toolboard coordinate system, possibly requiring an Rz component to account for rotation. The tool coordinate system is most commonly used for slow traversal and teaching positions, but is not frequently used in automatic motion. The origin of the tool coordinate system is the tool center point (TCP), which is the starting point for commanded displacements. When a displacement in the machine coordinate system is invoked, the tool center point is moved to that position (see Figure 3).

Figure 3: Example of the relationship between the origin of the machine coordinate system (MCS) and the tool center point (TCP).

Since each group has its own machine coordinate system origin, moving multiple groups to the same location in space requires each group to have its own position command relative to its machine coordinate system position. For example, if two pickup robots pick up items from the same conveyor, each pickup needs different machine coordinate system position commands to move to the same position on the conveyor belt.

To simplify displacements in similar shared spaces, the machine coordinate system origin for each group can be obtained from the origin of the World Coordinate System (WCS), plus an offset. Each work unit has only one WCS source. When configuring a single group, the offset to the WCS origin needs to be defined. This allows multiple agencies to use a common coordinate system, simplifying programming.

Finally, the coordinate system to consider is the Part Coordinate System (PCS). This coordinate system defines the position and orientation of individual objects in world space. The origin of this coordinate system is located on the part and moves with it. This is very useful when manipulating individual parts, such as in pick-and-place applications. Other applications include conveyor tracking, where parts move along a conveyor belt. In this case, the Part Coordinate System moves relative to the origins of both the world and machine coordinate systems; therefore, moving the machine's tool center point to a specific Part Coordinate System position must take into account the constantly changing offsets between the different coordinate systems (see Figure 4).

Figure 4: The part coordinate system defines the position and orientation of a specific object and moves with the target object.

Understanding the differences between coordinate systems and how they interact is key to successfully implementing motion control using IEC systems. Different coordinate systems work together to accomplish the required operations.

Conveyor belt tracking example

In conveyor belt tracking applications, the first command might be to move the tool center point in the machine coordinate system, positioning it at the initial location within the tracking area. Once the part's position and orientation are defined, the conveyor tracking routine calculates the offset of the part from the origin of the mechanism's machine coordinate system. This offset defines the part's component coordinate system and the relationship between the machine coordinate system and the conveyor tracking function; the component coordinate system offset is adjusted as the part moves. Then, the user defines a movement in the component coordinate system space to pick up the part. Since the component coordinate system offset has six degrees of freedom, it can also be implemented if a box needs to be opened on the conveyor belt. The user then performs a displacement in the component coordinate system space to pick up the part.

The tool orientation is automatically matched to the part (if needed), and the offset between coordinate systems takes these factors into account. The same part coordinate system position is used for each pick; the part coordinate system offset only changes when a new part is encountered. Because the conveyor belt tracking function continuously updates the part coordinate system offset, the tool center point also tracks along the positive direction of the conveyor belt to address part movement issues.


Disclaimer: This article is a reprint. If it involves copyright issues, please contact us promptly for deletion (QQ: 2737591964). We apologize for any inconvenience.

Read next

CATDOLL Cici 109CM TPE (Soft Silicone Head with ivory Tone)

Height: 109cm Weight: 15.6kg Shoulder Width: 26cm Bust/Waist/Hip: 52/50/57cm Oral Depth: 3-5cm Vaginal Depth: 3-13cm An...

Articles 2026-02-22