Coordinate System and kinematic transformation¶
The essence of a trajectory is the coordinated motion of two or more axes from a starting point to a target point via a defined path with a specified path velocity. As path one can think of a straight line, a circular movement, or via a spline function. The definition of a path -or any position information - in space requires a coordinate system. Within this specification three coordinate systems are defined:
Overview of the coordinate systems and transformations
Example for specifying point P in PCS, MCS or ACS assuming a SCARA robot with two rotary axes
ACS: Axes Coordinate System
Actual position of the physical axis (after homing).
MCS: Machine Coordinate System
Cartesian coordinate system with the origin is a fixed position relative to the machine. (Sometimes called “World Coordinate System” or “Base Coordinate System”). (Note: with Cartesian build machines, MCS may be identical to ACS, or mapped via a trivial transformation). The coordinate system from the physical multiple axes ACS is linked to the MCS via a kinematic transformation (forward and backward conversion).
PCS: Product Coordinate System
The real work piece can have a rotation or shift to the MCS or even might be moving relative to the MCS, and often one wants to describe the trajectory independent from the machine situation. To map these two worlds (MCS to PCS and vice versa), a cartesian or cylindrical transformation is normally done. The coordinate system of the product can be called PCS: “Product Coordinate System”, or “Program Coordinate System” in CNC world. There can be more than one PCS transformation applicable at the same time. In this case the ENUM to specify the coordinate system (CS) has to be extended. A PCS can be a static or a dynamic transformation.
In order to specify a point or orientation in space a position always has to be related to a coordinate system. By means of transformations this position can be transformed to other coordinate systems. Within this specification, Function Blocks are defined for these transformations, hiding the complexity of these transformations to the programmer in its day to day use. All multi axes motion commands are related to only one of the coordinate systems at the same time.
Example for specifying point P in PCS, MCS or ACS \ assuming a SCARA robot with two rotary axes
Point P is situated on a 2D workpiece. It can be described equivalent in PCS, MCS and ACS. Point P could be specified by referring to PCS resulting in the position PPCS = (x:sub:PCS, yPCS). Given the shift and orientation of PCS relative to MCS, point P equivalently could be speci-fied by PMCS = (xMCS, yMCS). Assuming a SCARA robot with two rotary axes point P also could be described by the angles of the axes PACS = (ɸ1, ɸ2).
Specifying point P in PCS, MCS or ACS assuming a SCARA robot with two rotary axes