Technical Article

How-To Guide to Robot Programming: All About User Frames

March 18, 2024 by Austin Futrell

In this article, we'll explore user frames in the context of a 6-axis industrial or collaborative robot. Learn the definition, practical applications, and advantages that user frames have to offer.

What are Frames/Coordinate Systems in a 6-axis Robot?

In robotics, a frame is the name that some robot brands apply to the set of coordinate systems that are absolutely essential for spatial referencing during programming and operation. This system is rooted in a 3D cartesian framework, comprising three perpendicular planes intersecting at a single point known as the origin. Within this system, which many people learn during a high school or college algebra course, each plane represents a dimension. The lines that form the edges of these planes are called ‘axes.’ Yaw (W), pitch (P), and roll (R) are also taken into account when calculating the robot's position in space.

  • Yaw (W) = Rotation about the X-axis.
  • Pitch (P) = Rotation about the Y-axis.
  • Roll (R) = Rotation about the Z axis.

These axes provide precise positional and directional information, and they enable robots to navigate and manipulate objects effectively in three-dimensional space. This framework serves as a fundamental basis for controlling robotic movements and facilitating various tasks across diverse applications in robotics.

An effective method to remember frames involves utilizing the "right-hand rule," which offers a straightforward approach to understanding coordinate systems by referencing your right hand for clarity.

 

The right hand rule robotics

Figure 1. The “right-hand rule” is used to recognize the orientation of coordinates easily. Image (modified) used courtesy of Adobe Stock

 

User Frames / Custom Frames

User frames, sometimes called custom frames, serve as reference points for all recorded positional data within a program. The robot programmer establishes user frames. While multiple user frames can be created and incorporated into a program, only one can be active at a given time. Programmers can define user frames at any reachable location and orientation within the robot’s operational range.

 

What is the Purpose of Setting Custom Frames?

Setting user frames in robotics is crucial for improving precision, simplifying programming, and boosting efficiency in industrial automation. These customized reference points within the robot's workspace help accurately optimize complex movements. From making programming more accessible to adapting to changes in production needs, user frames offer numerous benefits that enhance robotic operations.

What are some advantages of user frames, and how do they improve the efficiency of robot motion?

 

Working with Irregular Workspaces

When working with a robot, it's common to adjust the cartesian axes to suit the specific task. User frames provide this flexibility by allowing you to establish a custom reference plane and origin tailored to your work area, which may differ from the robot’s default position.

Consider surface treatment tasks such as painting or coating. Achieving precise application requires aligning the robot's coordinate system with the surface of the object being treated. This alignment simplifies complex movements and positions. Once the coordinate system is adjusted to match the workpiece, basic +/- movements in X, Y, or Z directions can smoothly move along the workpiece.

Alternatively, think about a welding jig table set at an angle relative to the floor. This may allow the robot to have an extended reach, but navigating along the robot’s fixed base coordinate axes will not be aligned with the table. A user frame will allow much more expedited jogging and programming.

 

FANUC painting robot

Figure 2. By establishing a user frame along the car part, the robot will automatically track a curve along the top. Image used courtesy of FANUC

 

Simplified Programming

User frames simplify programming tasks, making them notably more efficient. For instance, consider an example where a robot has two drop-off locations on identical conveyors for grouping purposes. By establishing two user frames based on identical positions, one on each conveyor, we can dramatically reduce the number of position registers (global positions) needed in the program.

Rather than maintaining separate local positions for approaching each conveyor, part drop-offs, and exiting positions, we can streamline the process by switching between user frames and then using just one set of position register values.

This approach only requires three position registers for the entire grouping program. For example, we assign user frame one to conveyor one and record position registers for approaching conveyor one, dropping the part, and a linear movement position register (+/- only in X, Y, or Z) based on the programmed coordinate system. Then, by calling user frame two within the program, we can utilize the same position registers to perform identical tasks for separate conveyors. This efficient method minimizes programming complexity.

 

A robot work cell

Figure 3. User frames within this application would reduce the position registers needed in half. Image used courtesy of JTM Engineering

 

Most Common Ways to Set User/Custom Frames

Three Point Method

Defining a user frame with the three-point method involves recording three specific positions within the robot's workspace. These positions serve as reference points for establishing the orientation and position of the user frame. The first point recorded represents the origin of the user frame. The second point is positioned along the +X axis of the user frame, determining its direction. Lastly, the third point lies on the X-Y plane of the user frame, thereby defining both the X-Y and Y-Z planes. The user frame is precisely defined by recording these three positions, providing a reliable reference for the robot's movements and operations.

 

Four-Point Method

When using the four-point method to define a frame, it's typically used in scenarios where the frame's origin is positioned differently from the reference point. This method is also applicable when defining multiple frames with parallel axes. The four points utilized in this method serve distinct purposes.

Firstly, the "orient origin point" acts as the reference for the frame, establishing its initial orientation. Secondly, a point positioned along the +X axis of the frame delineates the X-Z plane. Following that, a point located on the X-Y plane of the frame defines both the X-Y and Y-Z planes. Lastly, the "system origin" serves as the origin point of the frame itself.

The frame is accurately defined by recording these four points, offering an apparent reference for the robot's movements and operations. This method provides versatility in defining frames with varying orientations and origins within the robot's workspace.

 

Direct Entry Method

The direct entry method offers a more manual approach to defining user frames than other methods. With this method, you manually input the coordinates of the user frame rather than relying on the robot to record positions. This method is beneficial when you already know the precise coordinates of the user frame, perhaps from CAD model details.

By using the direct entry method, you have the flexibility to asign the origin of the user frame with specific values for X, Y, and Z, as well as rotational values for W, P, and R. This method also proves handy when refining points established through the three or four-point methods.

For instance, in the double conveyor grouping program example, if the part drop-off position on conveyor two needs adjustment, you can manually alter the position by inputting new coordinates using the direct entry user frame. This allows for precise adjustments, ensuring optimal application performance.

 

Does Every Robot Have User Frames?

Nearly all robot programming systems that use linear jogging methods provide the programmer with frames, or coordinate systems. Most common are the base (fixed) system, and a tool coordinate system located at the TCP (tool center point). Most other robots also make use of the user or custom coordinate systems, and some robots have more systems even beyond these.

Not every frame or coordinate system will always be used, it depends on the complexity of the program. However, since some of them must be implemented within the program itself, understanding frames is critical to avoid damage when running a program.