Skip to main content

Coordinate Systems

CODESYS SoftMotion Robotics provides different coordinate systems in which movements can be commanded.

  • Axis Coordinate System (ACS)

  • Tool Coordinate System (TCS)

  • World Coordinate System (WCS)

  • Machine Coordinate System (MCS)

  • Product Coordinate System (PCS_1, PCS_2)

Coordinate System

Description

Axis Coordinate System (ACS)

The axis coordinate system defines a coordinate system in axis space where each axis of the robot spans one dimension. As a result, a position can be specified for each axis of the robot.

Tool Coordinate System (TCS)

The tool coordinate system is a Cartesian coordinate system which lies on the tool center point (TCP) of the kinematics. Its position and orientation depend on the position of the robot.

World Coordinate System (WCS)

The world coordinate system is a static Cartesian coordinate system and forms the basis for all subsequent coordinate systems. These are defined relative to the world coordinate system.

Machine Coordinate System (MCS)

The machine coordinate system is a static Cartesian coordinate system. The position and orientation of the MCS relative to the physical robot are defined by the kinematics.

The MC_SetCoordinateTransform function block can be used to shift the coordinate system relative to the world coordinate system (WCS).

Product Coordinate System (PCS_1, PCS_2)

The product coordinate systems are Cartesian coordinate systems which can be defined by the user. They are expressed relative to the world coordinate system (WCS) and can be either static or dynamic.

. Static
  • The MC_SetCoordinateTransform function block can be used to move the coordinate systems relative to the world coordinate system (WCS).

. Dynamic

The following function blocks can be used to define dynamic coordinate systems:

Initial position and orientation of the coordinate systems

The kinematics of the robot determine the initial position and orientation of the coordinate systems. This is described in the documentation of the kinematics.

. The kinematics define the following:
  • Position and orientation of the machine coordinate system (MCS) relative to the physical robot

  • Position and orientation of the tool center point (TCP) relative to the MCS and therefore the tool coordinate system (TCS)

  • Zero position of the robot as well as the directions of rotation or movement of the individual axes

The world coordinate system (WCS) and the product coordinate systems (PCS_1, PCS_2) are not initially shifted and are identical to the machine coordinate system.

Multiple robots and workpieces

The position and orientation of the coordinate systems are defined for each robot. When multiple robots are working together, it can be useful to define the world coordinate system (WCS) as a common base coordinate system. Based on this coordinate system, the machine coordinate systems (MCS) and product coordinate systems (PCS_1, PCS_2) of the individual robots can be shifted.

Example

Example using a robot with two rotary joints (a0 and a1)

Kinematics

The kinematics define the zero position of the robot (as shown below). The origin of the machine coordinate system lies on the axis of rotation of axis a0. The X-axis points in the direction of the first link when the position of the first axis a0 is 0. The Y-axis points in the direction of the first link when the position of the first axis a0 is +90°. Counterclockwise rotation corresponds to the positive direction of rotation. The tool center point (TCP) lies at the end of the second link of the robot (as shown below) and forms the origin of the TCS. The TCS is aligned in such a way that the X-axis runs along the second link.

_sm_img_coordinate_system_kinematic.png

Axis Coordinate System (ACS)

_sm_img_coordinate_system_acs.png

The kinematics have specified the zero position of the robot and the direction of rotation of the individual axes. Because the robot consists of two axes a0 and a1, we can specify the positions of axes a0 and a1 in the ACS.

In the first image, we specify the position (a0:= 0, a1:= 0). This corresponds to the zero position of the robot.

In the second image, we specify the position (a0:= 90, a1:= 0). Starting from the zero position, the first axis a0 is rotated 90° in the positive direction of rotation. The second axis a1 remains in the zero position.

In the third image, we specify the position (a0:= 90, a1:= -90). Starting from the zero position, the first axis a0 is rotated 90° in the positive direction of rotation (as in the second image). In addition, the second axis a1 is rotated 90° in the negative direction of rotation.

Tool Coordinate System (TCS)

_sm_img_coordinate_system_tcs.png

The kinematics define the position and orientation of the TCP and TCS. Depending on how we move the robot, the position and orientation of the TCS also changes.

World Coordinate System (WCS), Machine Coordinate System (MCS), and Product Coordinate System (PCS_1, PCS_2)

_sm_img_coordinate_system_wcs.png

In a production hall, two robots stand to the left and right of a conveyor belt. The robots should process products on the conveyor belt. We define a common world coordinate system and place it in the top left-hand corner of our production hall. Starting from this coordinate system, we determine the distance and rotation to the machine coordinate systems and the product and shift the coordinate systems accordingly.

In the example, all coordinate systems are aligned in the same way so that we only need to shift the coordinate systems. The machine coordinate system of the left robot is shifted in the Y-direction, the machine coordinate system of the right robot is shifted in the X-direction, and the product coordinate system is shifted in both the X-direction and Y-direction.