Frames of reference
Frames of reference (short: frames) define the cartesian zero position and coordinate orientation. User-defined frames (user frames) can be used to apply a motion program at different positions without changing the any coordinates in the program, e.g. to use one palletizing program on multiple pallets. This feature is available since version 14.
When the robot is moved in cartesian mode all coordinates describing the motion are with respect to a specific frame of reference. iRC/CPRog allows to change the frame of reference that is used. Two predefined frames of reference ("#base" and "#tool" ) are provided and additional user frames can be chosen. All frames of reference used in iRC are orthonormal.
Predefined frames of reference
The predefined frames of reference are always available. They are marked by a # character as first letter of their names. They can neither be changed nor deleted.
Base frame
The base frame of reference is named "#base". It is the "natural" reference frame of the robot. Its exact position depends on the type of robot, typically its origin is at the base of the robot.
Tool frame
The tool frame ("#tool") has its origin at the TCP of the robot. Therefore this frame of reference will always be moving with the tool of the robot.
User-defined frames of reference
User-defined frames of reference provide a way to move the robot relative to a frame of reference that has been provided by the user. A userframe is uniquely defined by providing three points in space (A, B and C):
- Point A designates the origin of the reference frame.
- Point B always lies in positive x direction from the origin and thereby defines the direction of the x axis which always points from A towards B.
- Point C always lies in positive y direction of the origin. The y axis always lies inside of the plane spanned by the x axis and point C and is perpendicular to the x axis. The direction of the y axis is uniquely defined by those properties.
- The direction of the z axis is defined as the (unique) direction which is perpendicular to both, the y and x axes such that a right-handed coordinate system is created.
The first step in the creation of a new userframe consists of starting the userframe-wizard (see the screenshot above) via the project configuration section. When the wizard has been startet follow these steps:
- Move the robot into a pose, such that the TCP is located where point A is to be defined and then click on "use current". The chosen coordinates will now be displayed next to "Point A (origin)".
- Move the robot into a pose, such that the TCP is located where point B is to be defined and then click on "use current". The chosen coordinates will now be displayed next to "Point B (pos. x from origin)".
- Move the robot into a pose, such that the TCP is located where point C is to be defined and then click on "use current". The chosen coordinates will now be displayed next to "Point C (pos. y from origin)".
- Enter the name of the new userframe into the textbox under "Name" and then click on "Define" in order to complete the creation of the new userframe.
Please note that in iRC/CPRog any frame of reference is orthonormal. It is usually not possible to define the points A, B and C such that they exactly define an orthogonal coordinate system. Because of this any newly defined userframe will be orthonormalized in a way that produces a frame of reference that is as fitting as possible to the given points A,B,C while being orthonormal.
Changing frames
The currently active frame of reference is shown in the toolbar of iRC/CPRog and can be changed via the dropdown-menu there. Please note that viewing and selecting frames is only available if at least one userframe hast been defined before.
To jog the robot with respect to a userframe one hast to put iRC/CPRog in cartesian mode first. In cartesian mode iRC/CPRog will show the position and orientation of the currently selected frame of reference by drawing a colored coordinate cross.
In cartesian mode the jog buttons under the 3D view are showing the currently active frame of reference and the shown position is with respect to that frame.