User Frame Lab

From Industrial Robotics & Automation - Fanuc Teach Pendant Programming

Hello! You have reached a page that is currently in progress. Images, text, and formatting need to be completed before this page is acceptable. Changes are made often, so check back soon!

In the above image, the robot is picking items off of a pallet and placing them on a conveyor. It would be desirable to have a user frame for the pallet, and another user frame for the conveyor, because the pallet location may not always be the same, relative to the conveyor. Additionally, using user frames means the robot itself can be moved, and by teaching just three points for each frame - it can perform the same task without having to write the programs again.

What is a User Frame?

When working with a robot, it is often desirable to align the Cartesian axes with your intended work area. This may be at a different position or angle than the base of the robot (World Frame) so the option of User Frames is used.

A User Frame is a redefined coordinate system allowing the operator to change where the intersection of the axes is located (origin) as well as the direction of each.

X, Y, and Z remain at right angles to one another but their positive directions from the newly defined origin are chosen.


This can be done through direct entry of measurements taken from the base of the robot but FANUC includes useful utilities for automatically calculating a new user frame. We will detail the 3-point method in this lab, which uses three points in space to determine position and orientation:

Origin - Where the "Zero point" exists between all positional axes.

X Direction - Where the X axis "line" is. The direction from the origin also sets the positive direction.

Y Direction - Which direction is Y positive. Since the Y axis must be a right angle to the X, the Y direction only sets which way is positive.


As an example, a robot may have a conveyor bringing products into its work envelope. This conveyor may be at an arbitrary position relative to the robot, at an angle, or at a unique height in reference to the world frame. Teaching a user frame allows you to jog the robot in a way that is perfectly aligned with that conveyor, as well as teach points on the conveyor that are in reference to permanent marks on the conveyor's chassis. This allows those taught points to still be useful and accurate, even if the conveyor's position, height, and orientation is changed - just by redefining where the new position and orientation are.

Additionally, there may be multiple work areas – such as where the robot picks up objects and where it drops them off. By defining different user frames for different work areas, programs you write can be “universal” in that no matter what the configuration of the cell may change to (or even what robot is being used) the points you taught won’t have to be taught again.

Introduction to the Three-Point Method

Prerequisite Knowledge:

·       Safety

·       Teach Pendant Navigation

·       Jogging and Clearing Alarms

Required Preliminary Setup:

·       A Pointer Tool with a selected Tool Frame pre-taught to tip. (May use tool from Tool Frame Lab)

·       A Box

·       Robot at HOME Position

Starting with the robot at HOME, open the menu with the MENU button on the keypad.

Using the arrow keys, cursor down to SETUP and select the submenu item “Frames”.

*You may also type the corresponding number of the menu item on the keypad, or simply hit the desired menu item with your finger on the touchscreen.

The SETUP Frames page will be displayed, but depending on which frame was last edited, may not yet be on User Frames.

Additionally, the displayed screen may be the DETAIL page for a frame that was previously opened. If so, press the PREV hard key to get to the list of available frames.

The image on the left shows that Tool Frames was selected. We want USER Frames.

To change to User Frames, hit the center softkey |OTHER| and use the arrow keys on the keypad to select “User Frame” in the menu.

*You may also type the corresponding number of the menu item on the keypad, or simply hit the desired menu item with your finger on the touchscreen.

Once on the “User Frame” setup page, select an available user frame. If none are available, find one that is not yet in use this semester and hit the softkey “CLEAR”.

It will as you to confirm your choice, and if you also wanted to clear the comment (name) of the selected frame. Hit YES to both.

What is the number for the frame you have chosen? ____________

Hit the softkey DETAIL to open your user frame.

The method that appears may not be our desired Three-Point Method. To change methods, hit the softkey |METHOD| and select “Three Point”.

*You may also type the corresponding number of the menu item on the keypad, or simply hit the desired menu item with your finger on the touchscreen.

Now that we have opened up the three point method for our selected frame, we can name it. Cursor to the Comment field on screen so that it is highlighted as the image to the left. Hit ENTER.

Use the keyboard to name the userframe. This one will be yours for the duration of the semester, so use your first name or nickname.

What did you name this user frame? ___________________________

Start by selecting the orient origin point.

Move your instructor-provided square box to a random angle (anything not straight with the table). Stay within the robot’s DCS sphere. Tape it down so it doesn’t move.

Jog the robot so that the tip of your tool touches the corner of the box. Any corner will do.

Hold SHIFT and press the softkey RECORD. The orient origin point’s indicator will change from UNINIT (uninitialized) to RECORDED.

Scroll down to the X direction point line.

Jog the robot to an adjacent corner of the box (one that is connected to the origin point’s corner) until the tool’s point is touching it. This direction will become our X axis.

Hold SHIFT and press the softkey RECORD. The X Direction Point’s indicator will change from UNINIT (uninitialized) to RECORDED.

The more accurate you are about the points, the more accurate your axes will become.

Scroll down to the Y direction point line.

Since the Y axis is always going to be exactly 90 degrees from the X axis, the only important part about teaching the Y Direction Point is the height of your next taught point, and what direction positive Y is. We don’t have to align it with any specific point, but the farther out we go, the more accurate our height can be (in case the box is slightly higher on one side) so we will go to the other side of the box.

Jog the robot to either of the remaining corners (or the edge between them) so that the tool’s point is touching it.

Hold SHIFT and press the softkey RECORD. The Y Direction Point’s indicator will change from UNINIT (uninitialized) to RECORDED.

Once all three points have been recorded, the indicators will change to USED and the 6 elements at the top of the screen will fill in with the newly calculated user frame.

The positional elements (X, Y, Z) reference the position of the origin.

The orientation elements (W,P,R) reference the direction of the axes.

This frame now exists exclusively for the use of the box currently on the bed.

Now lets test the results of this new User Frame.

Hold down the SHIFT key and press the COORD key.

Notice at the top right a yellow menu will appear. This lets us change our frame selections, which will affect how program positions are recorded and calculated, and how it will jog in various coordinate systems.

Use the arrow keys to cursor that menu down to “User”.

On the number pad, type the number of the user frame you just created.

Press the COORD button (without pressing shift) multiple times, until USER is displayed in the yellow box at the top right. This will make the robot jog in reference to your newly created user frame.

Jog the robot a little bit above the box so it won’t hit it, then jog in X and Y directions. Note that the keys now correspond perfectly with the orientation of the box, instead of the robot’s bed.

Congratulations, you have set up a user frame using the three-point method.

Take the robot back to HOME position, turn the teach pendant off, press in both emergency stop buttons, and hang up your teach pendant.

Application of User Frames

To learn how User Frames are used, check out the