User Frame Lab: Difference between revisions

From Industrial Robotics & Automation - Fanuc Teach Pendant Programming
Content added Content deleted
No edit summary
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
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!
[[File:Robot-Conveyor-Small.jpg|thumb|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.


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.


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.]]
A User Frame is a redefined coordinate system allowing the operator to change where the intersection of the axes is (origin) as well as the direction of each.  
<br />


== '''What is a User Frame?''' ==
X, Y, and Z remain at right angles to one another but their positive directions from the newly defined origin are chosen.
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.''
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:


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


=== Methods ===
X Direction
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.
Y Direction


'''X Direction''' - Where the X axis "line" is. The direction from the origin also sets the positive direction.
'''Frames:'''
{| class="wikitable"
|Frame Type
|Details
|-
|Tool
|Where the center of the effective point on the tool is, relative to the tool plate.
|-
|'''User'''
|'''Where the work area’s origin (zero) point is located, as well as the direction of each cartesian axis.'''
|}
'''Example:'''


'''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.


=== '''Example''' ===
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.
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.
== The Three-Point Method ==
<br />
The three-point method for tool frames is to teach the positional data of the effective end of the tool. This does not teach the orientation, but for many uses is sufficient.
{| class="wikitable"
|[[File:MenuSetup.png|thumb|alt=]]
|Start by opening the menu with the MENU button on the keypad.


== '''Introduction to the Three-Point Method''' ==
Using the arrow keys, cursor down to SETUP and select the submenu item “Frames”.


== Prerequisite Knowledge: ==
          
·       Safety
<br />
|-
|[[File:SETUPFRAMES.png|thumb|alt=]]
|The SETUP Frames page will be displayed, but depending on which frame was last edited, may not yet be on Tool Frames.


·       Teach Pendant Navigation
The image on the left shows that User Frame is selected. We want to switch to Tool Frame.
<br />
|-
|[[File:Tool.png|thumb]]
|<nowiki>Open the menu for selecting frame types by hitting the |OTHER| softkey.</nowiki>


·       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
{| class="wikitable"
|[[File:MenuSetup.png|thumb|alt=|link=]]
|Starting with the robot at HOME, open the menu with the '''[[MENU]]''' button on the keypad.
Using the arrow keys, cursor down to '''[[MENU#SETUP|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.''
Select the first option, "Tool Frame".
|-
|-
|[[File:Frame method menu.png|thumb]]
|[[File:Tool.png|thumb|link=]]
|The SETUP Frames page will be displayed, but depending on which frame was last edited, may not yet be on '''User Frames'''.
|<nowiki>The method that appears may not be our desired Three-Point Method. To change methods, hit the softkey |METHOD| and select “Three Point”.</nowiki>
The Details page for your selected Tool Frame will appear.


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.
Notice the asterisks filling the Comment field. This indicates the field is uninitialized. Select it and hit the hard key ENTER.


The image on the left shows that Tool Frames was selected. We want USER Frames.
Name your Tool Frame with your initials and the month.


Example: MREJanuary


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.
'''What did you name your Tool Frame? ________________________'''


''*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.''
Note: Use Alphanumeric characters and start with a letter.
|-
|-
|[[File:Named Uninit 3 Point.png|thumb]]
|[[File:SETUPFRAMES.png|thumb|alt=|link=]]
|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'''”.
|Notice the name you gave it shows up in the Comment Field.


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.
Notice each Approach Point contains UNINIT. This means no points have been taught yet.


'''What is the number for the frame you have chosen? ____________'''
Select Approach point 1.


Hit the softkey '''DETAIL''' to open your user frame.
<br />
|-
|-
|[[File:Approach Point 1.png|thumb]]
|[[File:User Frame Method Menu Selection.jpg|alt=|thumb]]
|<nowiki>The method that appears may not be our desired Three-Point Method. To change methods, hit the softkey |METHOD| and select “</nowiki>'''Three Point'''”.
|Jog the robot so that the center of the robot’s tool touches the teaching object. Align it as best you can without disturbing the object.


Holding SHIFT, hit the soft key RECORD.


''*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.''
Jog the robot’s tool away from the teaching object so there is no risk of bumping it.
|-
|[[File:Cleared UserFrame Page Three Point Method.png|alt=|thumb]]
|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.
Select Approach point 2.


'''What did you name this user frame? ___________________________'''
<br />
<br />
|-
|-
|[[File:Approach Point 2.png|thumb]]
|[[File:UserFrame Page Three Point Method - Origin Selected.png|alt=|thumb]]
|Start by selecting the '''orient origin point'''.
|Jog in Yaw, Pitch, and Roll to move the robot’s tool to a significantly different orientation, such as pictured.


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 in X, Y, and Z to once again touch the center of the tool with the teaching object.


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.

Hold '''SHIFT''' and press the softkey '''RECORD'''. The orient origin point’s indicator will change from UNINIT (uninitialized) to RECORDED.
|-
|-
|[[File:Approach Point 3.png|thumb]]
|[[File:UserFrame Page Three Point Method - X selected, Origin Recorded.png|alt=|thumb]]
|Scroll down to the '''X direction point''' line.
|Jog the robot’s tool away from the teaching object so that there is no risk of bumping it.
Select Approach point 3.


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.
Jog again in Yaw, Pitch, and Roll to move the robot’s tool to a different orientation. Ensure you are not 180 degrees from either previous point you have taught. Jog in X, Y, and Z to once again touch the center of the tool with the teaching object.

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.
|-
|-
|[[File:Tool finished.png|thumb]]
|[[File:UserFrame Page Three Point Method - Y selected, Origin and X recorded.png|alt=|thumb]]
|Scroll down to the '''Y direction point''' line.
|With all 3 of the approach points taught, the robot will calculate the position of the tool’s center relative to the center of the tool plate. This information will be displayed at the top.


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.
Confirm your tool frame is correctly configured by moving the robot into an empty area of its envelope and jogging around in Yaw, Pitch, and Roll. If correctly taught, jogging in orientation will result in no translational movement whatsoever.
|}


Jog the robot to either of the remaining corners (or the edge between them) so that the tool’s point is touching it.
== The Direct-Entry Method ==
It may often be desirable to simply measure the tool's position relative to the center plate, and enter it manually. For instance, a tool may have interchangeable effectors - such as a milling bit - and the only difference from the last was length, which can be edited in the Z field.


Hold '''SHIFT''' and press the softkey '''RECORD'''. The Y Direction Point’s indicator will change from UNINIT (uninitialized) to RECORDED.
In this lab, we will take the tool frame we just created and edit it to include a suction cup we will place on the end of the tool.
{| class="wikitable"
|-
|-
|[[File:Zeroed_Calipers_On_Tool.png|thumb]]
|[[File:UserFrame Page Three Point Method - All 3 recorded.png|alt=|thumb]]
|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.
|We start by taking a measurement from a known fixed point to our previously taught tool tip. Since these are digital calipers, we need only take it to that point and then zero it out. This creates a reference point we can measure from.
|-
|[[File:Caliper on Suction Cup.jpg|thumb]]
|Once it is zeroed out, we add our suction cup. This cup sticks out a bit from the original brass piece by 4.9mm, as shown in the image.


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


The orientation elements (W,P,R) reference the direction of the axes.
'''What was your measured difference? ___________'''




This frame now exists exclusively for the use of the box currently on the bed.
|-
|-
|[[File:Flat cup dim guide22.gif|thumb]]
|[[File:UserFrame Page Three Point Method - Frame Selection Menu.png|alt=|thumb]]
|Now lets test the results of this new User Frame.
|The useful end of the suction cup is actually about 1mm inside the cup, as it should be pressed down on the object slightly to make proper contact for negative pressure to develop. We take the 4.9mm measured, subtract the 1mm from it and get 3.9mm for our changes.




What does your tool frame show as the Z value of the original tool? _____________


Hold down the '''SHIFT''' key and press the '''[[Teach Pendant#COORD|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.
Add your calculated value to the original tool's Z distance. What is the new value? ______________




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.
|-
|-
|[[File:Tool manual.png|thumb]]
|[[File:UserFrame Page Three Point Method - COORD menu.png|alt=|thumb]]
|Press the '''[[Teach Pendant#COORD|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.
|Select the Z value on screen and enter the new number you have come up with. Press enter to submit the change.<br />


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 ==
<br />
To learn how User Frames are used, check out the

Latest revision as of 19:51, 10 August 2019

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.

Methods

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.

Example

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