Uploaded by Haris Ahmad

3. Roboguide Help

advertisement
FANUC
Roboguide HELP
FEATURES
•
•
•
•
•
•
Animation tool easily enables a quick and low cost verification of robot application
systems
Easy to create the environment for devices and machines. Special skills are not
required.
Program creation using animation
Extreme reduction of start-up time and maintenance time by offline check in a shop
floor
Standard Package which supports various robot application
Robot application specific package with high operationability
o Arc welding package
o 2 coordinated robots arc welding package
o Chamfering package
Easy and Highly Accurate design, teaching and confirmation of Robot System
Modeling Function
•
Reduces of device modeling time
o Select from the library and modify using dimension settings
o Import CAD data and create the parts
o Create the parts by simple modeling function
Program Function
•
•
Same user interface as the actual Teach Pendant
Simulates actual program
o Execute actual program and confirm robot motion by animation
o Confirmation of Interlock logic (using simulated I/O)
Layout Function
•
•
Place objects by mouse operation on graphic screen
Place objects by numeral input
Simulation Function
•
•
•
Simple simulation by using virtual robots.
Simulation not only of robot movement but also application commands
Highly accurate simulation by using robot simulators.
Specifications
Software
Specifications
Comments
Modeling
Layout
Programming
Standard functions
Standard Package
Simulation
Remote Monitor
Profiler
Auto Place
Option
Option
Line Tracking
Option
Calculate robot
placement position so as
to minimize cycle time
for robot movement.
Robot tracking
movement is realized.
Duty Estimation
Option
Robot movement duty is
calculated.
System
Monitoring Tool
Option
Monitor function for
system trouble analysis
Option software for
Standard Package. The
Standard Package is
necessary in addition to
this software.
iPendant I/F
Option
Software
ROBOGUIDE layout is
displayed on iPendant
screen.
Specifications
Comments
Navigation menu
Arc Welding
Package
Program generation for
arc welding
Simulation for arc
welding
Option
2 coordinated
robots Arc
Welding
Package
Chamfering
Package
Hardware
Robot Simulator
Program generation for
2 robots arc welding
Option software for
Standard Package. The
Standard Package is
necessary in addition to
this software.
Navigation menu
Specifications
Highly accurate
simulation
Comments
Option software for
Standard Package. The
Standard Package is
necessary in addition to
this software.
Condition
Item
OS
CPU
Memory
HDD
Others
Contents
Windows 2000 or Windows XP, DirectX 8.0 or later
Pentium III 500MHz or more than 500MHz
More than 256MB
Space more than 2GB is available
It is possible to communicate with robot controller via Ethernet
It is possible to display more than 1024x768, 65000 colors
Mouse available under Windows
Table of Contents
1
ROBOGUIDE INTRODUCTION ......................................................................................................... 1
1.1
HANDLINGPRO INTRODUCTION ............................................................................................................ 1
1.1.1
New features in Roboguide 6.40.............................................................................................. 1
1.1.2
Getting started with Roboguide ................................................................................................ 6
1.1.3
Categorized Procedures for Roboguide PRO Software ....................................................... 6
2
ROBOGUIDE/PRO SOFTWARE WORKCELL EXAMPLES ........................................................... 8
2.1
2.2
2.3
2.4
3
ROBOGUIDE MENUS ...................................................................................................................... 53
3.1
4
SIMPRO: A SIMPLE PICK AND PLACE WITH ANIMATION PROGRAM ....................................................... 8
SIMPRO: A SIMPLE PICK AND PLACE WITH TP PROGRAM .................................................................. 21
PALLETPRO: A SIMPLE PALLET WORKCELL EXAMPLE ..................................................................... 37
BUID AN AUXILIARY AXIS EXAMPLE ...................................................................................................... 47
PALLETPRO MENUS ........................................................................................................................... 65
USING THE 3D WORLD .................................................................................................................. 84
4.1
4.2
NAVIGATING THE 3D CHUIWORLD .................................................................................................... 84
VIEWING MODES .................................................................................................................................. 86
5
JOGGING THE ROBOT ................................................................................................................... 88
6
CREATING, OPENING AND WORKING WITH WORKCELLS ..................................................... 99
6.1
6.2
6.3
6.4
6.5
6.6
7
ADDING AND MODIFYING CELL COMPONENTS ..................................................................................... 99
PLACING/MOVING OBJECTS IN THE 3D WORLD ................................................................................. 103
OPENING A WORKCELL ...................................................................................................................... 107
SAVING A WORKCELL ......................................................................................................................... 108
MANAGING ROBOGUIDE DATA ........................................................................................................... 109
MEASUREMENT AND DIMENSIONS .................................................................................................... 113
WORKING WITH ROBOT CONTROLLERS ................................................................................. 124
7.1
WORKING WITH A ROBOT................................................................................................................... 124
7.1.1
Working with robot variable files .......................................................................................... 124
7.1.2
PalletPRO Configuration ....................................................................................................... 125
7.2
ROBOT ARM DRESSOUT ..................................................................................................................... 132
7.3
WORKING WITH MULTIPLE ROBOTS ................................................................................................... 133
7.4
WORKING WITH KAREL PROGRAMS ................................................................................................ 135
7.5
WORKING WITH ROBOT END OF ARM TOOLING.................................................................................. 136
7.5.1
Using End of Arm Tolling with PalletPRO ......................................................................... 136
7.6
WORKING WITH COORDINATE FRAMES (CD PAIRS) ........................................................................ 138
7.7
WORKING WITH ROBOT MACHINES - POSITIONERS, AUX AXES ........................................................ 140
7.7.1
Working with extended axes/integrated axes .................................................................... 140
7.7.2
Working with positioners ....................................................................................................... 160
7.7.3
Working with IO driven machines ........................................................................................ 180
7.8
WORKING WITH JOBS ........................................................................................................................ 181
7.8.1
Working with PaintPRO Jobs ............................................................................................... 184
7.9
WORKING WITH THE ROBOT VIRTUAL TEACH PENDANT (TP) ........................................................... 201
7.10 ESTIMATING ROBOT DUTY CYCLE .................................................................................................... 203
8
ROBOGUIDE'S VIRTUAL ROBOT ............................................................................................... 207
8.1
9
USING THE IPENDANT ........................................................................................................................ 210
USING UFRAMES .......................................................................................................................... 217
10
WORKING WITH FIXTURES ..................................................................................................... 225
10.1 WORKING WITH PALLETPRO FIXTURES ........................................................................................... 234
10.1.1
PalletPRO Infeed Fixture Property Tabs ............................................................................ 234
10.1.2
PalletPRO Pallet Fixture Property tabs ............................................................................... 241
10.1.3
PalletPRO Slip Sheet Dispenser Fixture Property Tabs .................................................. 247
10.1.4
PalletPRO Pallet Dispenser Fixture Property Tabs .......................................................... 249
11
WORKING WITH OBSTACLES ................................................................................................ 252
12
WORKING WITH PARTS ........................................................................................................... 257
13
TEACHING A PROGRAM .......................................................................................................... 266
13.1 ADDING AND DELETING A TP PROGRAM ........................................................................................... 270
13.2 USING THE TP PROGRAM PROPERTY PAGE ..................................................................................... 274
13.3 JOGGING THE ROBOT WHILE TEACHING ............................................................................................ 280
13.4 USING THE ROBOGUIDE SIMULATION EDITOR .................................................................................. 283
13.5 MULTIPLE NODE EDIT ....................................................................................................................... 291
13.6 VIEWING A TP PROGRAM .................................................................................................................. 292
13.7 VALIDATING A PROGRAM ................................................................................................................... 294
13.8 TEACHING USING UFRAMES ........................................................................................................... 296
13.9 USING UTOOL'S WITH ROBOGUIDE PROGRAMS .............................................................................. 299
13.10
COORDINATING MULTIPLE ROBOT WORKCELLS ............................................................................ 301
13.11
WORKCELL LEVEL POSITIONS - TARGETS .................................................................................... 307
13.12
AUTOMATIC PATH GENERATION ................................................................................................... 323
13.12.1
Creating robot paths from CAD Features....................................................................... 327
14
CONVEYOR TRACKING WITH ROBOGUIDE ......................................................................... 378
14.1 LINE TRACKING WITH ROBOGUIDE .................................................................................................... 389
14.1.1
Line Tracking with PaintPRO and PaintTool ...................................................................... 395
14.2 RAIL TRACKING WITH ROBOGUIDE .................................................................................................... 397
14.2.1
Rail Tracking with PaintPRO and PaintTool....................................................................... 402
15
CALIBRATING YOUR WORKCELL ......................................................................................... 404
16
PALLETPRO-WORKING WITH UNIT LOADS ......................................................................... 410
16.1
16.2
16.3
17
17.1
18
UNIT LOAD BACKGROUND INFORMATION .......................................................................................... 410
PALLETPRO UNIT LOAD PROPERTY PAGES .................................................................................... 413
COMMON PROCEDURES WITH UNIT LOADS ....................................................................................... 430
RUNNING A PROGRAM ............................................................................................................ 435
ABOUT PALLETPRO SIMULATION ..................................................................................................... 440
EXAMPLE ................................................................................................................................... 443
Roboguide Introduction
1
1 Roboguide Introduction
1.1 HandlingPRO Introduction
1.1.1 New features in Roboguide 6.40
Features included in Roboguide PRO software V6.40 versions are described below. Note:
key functions are listed by Revision.
V6.40 Rev E.
· Object Transparency: property page for objects in the workcell have a transparency
slider bar.
· View individual objects in wireframe: property page for objects in the workcell have a
checkbox to enable/ disable wireframe view for the object.
· Copy/ paste location data: support to copy/ paste location data for all 6 items on
property pages. For more information see topic Copy and Paste of Location data for objects
· Coordinated Pair property pages: for systems that use coordinated motion, cell
browser entries are now available to edit CD pair information. Support is provided for multi
arm coordinated pairs, but not for robot to positioner type systems. For more information see
topic Using the Coordinate Frames (CD_Pair) Property Page
· Support handling coordinated motion program generation: CAD to Path supports the
generation of programs between multiple group robots. Specifically, the case where there is
a combination of robots coordinating holding a part using handling coordinated motion and
robots processing features on the part that the handling robots are processing.
· Support coordinated motion program generation for linear positioners: when a
system includes a robot and a positioner that is a linear device, you can use CAD to path to
coordinate the motion between the two devices. Previous to the Rev E. release, you could
only do CAD to Path on rotary type positioner axes.
· Coord motion jogtype in jog panel: when coordinate motion is present, a button and
dropdown box is available for selecting the coord motion jog frame. For information see
About the teach pendant jog panel.
· EOAT and Part in EOAT calibration: you can now calibrate the location of the EOAT
cad on the End of the robot arm. Parts in the EOAT can also be calibrated. For more
information on this topic see Using the Calibration Tab
Roboguide Introduction
2
V6.40 Rev D.
· Support for R-J3iC robots
· Multiple node position edit: you can now select multiple TP nodes and shift them in.
For more information see topic Using the Node Editing dialog.
· New serialize wizard structure: the serialize wizard has been modified to support the
R-J3iC robot controller. The wizard process flow is changed. You must first select robot
controller version. For more information see Configure your robot controller
· TCP trace now supports viewing trace results in the a tracking frame of reference for
line tracking programs.
· CAD to Path Enhancements:
o Spin control on raw normals tab: for more information see Using the feature Raw
Normals Property page tab
o Extended axis smoothing: when a robot has an extended axis defined new edit
boxes are shown on the CAD to Path Pos offsets tab. You can define start and end rail
values. Generated auxiliary axis positions are smoothed between the start and end values
defined.
· PaintPRO Enhancements:
o New position distance generation
o TP Process and Job validation: quickly analyze Paint processes for process issues.
See Validating a Paint Job or Process program for more information.
o Preset and Estat automatic generation: the Paint Zone generation property pages
have been modified to support additional flexibility in the placement of Elecrostat and Preset
instructions.
o TCP Trace capability: Paint simulations now support viewing the robot trajectory as
a trace. Robot tracjectory can be viewed in robot frame of reference or if your system uses
line tracking, the trace can be viewed in the tracking frame of reference.
V6.40 Rev. C
· Resolves issues found in earlier releases
· PaintPRO additions:
o Allows more flexibility on the Paint Zone Painting tab of the Paint Zone property
page when defining where to place Estat commands when generating programs.
o Support for different line tracking detect distances when generating process
programs.
Roboguide Introduction
3
V6.40 Rev. A
· Ability to add objects to links of the robot. For more information see About adding
objects to links of the robot
· Main Menu
o New Projects Main Menu item
o Reorganized window menu
· Machines: new capabilities have been added to Roboguide machines:
o Workcell Level: Non end of arm machines are defined at the workcell level. In
previous versions, machines were under each robot controller. Moving machines to the
workcell level provides additional flexibility. Any robot controller in the workcell can control a
link of the machine. Multiple robot controllers can be attached to a rail. For more information
regarding machines see Working with machines
o IO Driven links: This allows IO programming to control clamps and other IO driven
devices in the workcell. See Use the machine axis Motion tab for more information
o X-Type Gun: X-Type EOATs are generally used for clamping or welding
applications. A machine can be built that defines a mathematical relationship when
calculating its motion.
· CAD to Path Enhancements
o Additional information on how to use CAD to Path.
§ General use with examples
§ Use with Remote TCP
§ Use with multi group coordinated motion
o Blend segment normals: before V6.40, rotational offsets could be applied to
features by rotating about one of the tool vectors that are defined for CAD to Path
generation. The rotations would take effect on the generated TP program, and not on the
feature that generates the program. V6.40 provides a feature to blend CAD to Path segment
normal from start of segment to end of segment. The blending is applied to the segment
normals before program generation. See Using the Raw Normals tab for more information.
o Coordinated motion generation
o Reverse generation: the order of generation can be reversed from that defined by
the generated CAD to Path feature. See Using the feature general property page for more
information.
o Supports entering speed data in in/min
· Teach Pendant current position tab: the move functions have been enhanced.
o Group select: the desired group can be selected on the Teach Pendant current
position tab.
Roboguide Introduction
4
o Relative move: moves relative to the current position can be executed in different
frames of the selected robot.
For more information see Using the Current Position Tab of the Virtual TP
· Move Re-Try / Align
· Robot configuration enhancement: you can now define the memory configuration of
the virtual robot when generating a virtual robot. See Configure your robot controller for more
information.
· Simulation editor enhancements
o Extended axis support and Multiple group support: new capability to create
simulation programs for robots with auxiliary axes and for multiple group configured robots.
Extended axes will be recorded automatically with simulation programs. Multiple groups are
recorded like the actual robot controller. The groups recorded are dependent on the
programs group mask found on the TP program property page.
· Targets – Workcell level positions
o For more information see About Target Positions
· New Engineering features: capabilities that assist in managing information that is
shared with the physical robot that the workcell is simulating.
o Automatically create a virtual robot from a file backup. Accessed through the
serialization wizard.
o Create Loadsets: A loadset is a user definable collection of files used to transfer
information between Roboguide and a real robot. Loadsets allow you to more easily manage
information that will be transferred to a real robot. You mark what files should be included in
a loadset, and then export to the loadset. The loadset directory can then be loaded onto a
real controller.
Loadset definition lists are managed using different Roboguide interface elements:
§ Loadset list: accessed through Project Main Menu / Import / Edit List and Project
Main Menu/ Export / Edit List.
§ Items can be added for inclusion in a loadset list on different property pages.
System files, Robot programs, variables are examples of information that can be added to a
loadset list.
o Import/Export a loadset, programs, or variables to enable transfer of work between
the workcell and real robot.
§ Files in a loadset definition can be exported to a PC loadset directory or directly to a
robot controller.
Roboguide Introduction
5
§ Files in a loadset definition can be imported from a PC loadset directory or directly
from a robot controller.
§ Individual programs or variable files can be exported directly to a PC loadset
directory or directly to a robot controller
§ Individual programs or variable files can be imported directly from a PC loadset
directory or directly from a robot controller
The above items are exported or imported by using the Project Main menu or by using right
mouse click popup menus in the cell browser
§ Project main menu selection: selections for import and export are present on the
Project main menu item.
§ Right mouse click in the cell browser: select the variable file or program to import or
export and press right mouse button. Import and export are available from popup menu.
o Variables category in the Cell Browser for each robot to view and edit variable
information. Before V6.40, the information could only be edited from the virtual teach
pendant. Roboguide V6.40 has graphical user interface dialogs to edit the following robot
information: .
§ System Variables
§ Numeric Registers
§ Position Registers
§ Program Variables
For more information see Using the robot variable file property page
o File category in the Cell Browser for access to files stored on your PC for:
§ Viewing and editing program source using the supplied full-featured editor.
§ Translating KAREL and TPP source into loadable binary programs
§ Compressing KAREL dictionaries into their loadable versions.
· Workcell backup and sharing
Methods have been added to better organize workcell backups. Workcells can be shared
more efficiently without having to copy an entire workcell and complete virtual robot
directories.
o Save creates a SavePoint from which a virtual controller can be fully recovered
o Recover from SavePoint fully recovers the entire workcell
o Share a Workcell or SavePoint outputs the most compact file set required to send a
workcell to another person.
See Workcell backups and restores - Savepoints for more information.
· OLPCPRO
o KAREL development support - translator
Roboguide Introduction
6
o New Project menu
· Nodemap support
o Coordinated motion programs: Program instructions that use the coordinated
motion option are drawn in the coordinated frame.
o Remote TCP programs: Program instructions that use the Remote TCP motion
option are drawn in the RTCP frame
· TCP Trace enhancements: When teaching in a coordinated frame you can view
TCP trace data in the coordinated frame (Part Relative). See Using the TCP trace display
property page for more information.
1.1.2 Getting started with Roboguide
Roboguide simulation products are targeted to provide an easy to use interface to create
workcells and robot programs. Roboguide simulation products help has many examples to
help you get started.
It is strongly encouraged that you work through the simple workcell creation example
provided in the help file. After implementing the workcell, you should have the basic and
advanced familiarity with Roboguide simulation products to create your own workcells.
Also included with Roboguide simulation products are example workcells.
· Simple Workcell Creation Example 1
· Simple Workcell Creation Example 2
· Create a positioner
· Create an aux axis system
1.1.3 Categorized Procedures for Roboguide PRO Software
3D CHUIWorld Navigation
•
•
•
•
Using the Navigation Tips Screen
Zooming the view
Panning the view
Rotating the view
Jogging the robot
•
•
•
•
•
•
Jogging using the teach tool
Showing and hiding the teach pendant jog panel
Changing speed override on the robot
Jogging using frames
Jogging using Utool
Detecting collisions while jogging
Roboguide Introduction
•
Moving to a surface point
Workcell_Procedures
•
•
•
•
•
•
•
•
•
•
Creating a workcell!
Determining robot reach capability
Adding a workcell object
Selecting objects in the workcell
Opening an objects property page
Deleting a workcell object
Move objects in the workcell
Opening a workcell
Saving a workcell
Locating where workcells are saved
Robot_Controllers and End of arm tooling
•
•
•
•
•
•
•
•
•
•
Show the robot work envelope
Changing the robot model in a workcell
Set the pallet switch
Control how pallets are processed
Set the pallet system options
Teach the perch position
Teach the maintenance position
Change the end of arm tooling used
Change the utool offset for pallet system
Change the UTOOL Offset in SimPRO
Teaching_a program
•
•
Creating a TP program
Automatic_path generation
Running_a program
•
•
•
•
•
•
•
•
•
•
Program run
Opening the run panel window
Controlling a program from the toolbar
Controlling a program from the run panel
Detecting collisions
Setting the refresh rate of the screen
Selecting run panel options
Running a program in a loop
Creating an AVI movie
Improving performance in PRO Software
7
Roboguide/PRO Software Workcell Examples
8
2 Roboguide/PRO Software Workcell Examples
2.1 SimPRO: A simple pick and place with animation program
A simple simulation workcell creation example
The following procedures provide a procedure for creating a Roboguide workcell. The
example assumes that you have started Roboguide and that you have no active workcell in
the workspace of Roboguide.
When complete your workcell should contain the following entities:
• An R-2000iA/165F robot with end of arm tooling
• 2 rectangular fixtures for holding a part
• A Roboguide Simulation TPP Program which moves the part from one fixture to the
other.
This workcell is built, and is available in Directory: Install directory used for install. Typically
this is c:\Program Filles\FANUC\PRO\SimPRO\Sample Workcells\Workcell Example
Initial state of Roboguide:
• Roboguide is running with no workcell defined
• The Process Navigator window is open
Simple Workcell Step 1: Creating a new workcell
Simple Workcell Step 1: Creating a new workcell
1. Select Start New Cell from the Process Navigator.
Or select File / New from the Menu
Or, Press the New Workcell Icon () on the toolbar
A Workcell Creation Wizard is presented which guides you through the steps to build a
workcell definition.
2. The type of workcells that can be created are presented in a list. The types listed are
based upon the plugins available in Roboguide on the PC being used. Select
HandlingPRO – Basic Material Handling Cell and press Next
Roboguide/PRO Software Workcell Examples
9
3. Enter the name: simprog example, and press Next
4. If prompted with a list of Application/Tool packages to be loaded select HandlingTool
(N.A.), and press Next.
5. The next step is where you define the type of robot. Select R-2000iA/165F from the
list of robot models presented, and press Next.
6. If multiple controller versions exist, the next step shows Virtual robot versions
available. Select the latest version.
7. The next step shows robots and positioners for additional motion groups. Select
nothing and press next.
8. The next step shows controller options that can be loaded. No additional options are
required. Press Next.
9. .A summary page is presented that describes your workcell type, robot, and
controller options. Press Finish to build the robot.
Roboguide will start a Virtual Robot and then create a 3D virtual world with a robot. At
this point the robot can be jogged on the screen
Resulting Roboguide state:
You should now have a new workcell with a robot. The workcell has a robot. The 3D
CHUIWorld view can be viewed and modified.
Next step
Simple Workcell Step 2: Editing the robot properties
Simple Workcell Step 2: Editing the robot properties
The robot’s properties can be modified. You can move the robot around the workcell and set
other properties for the robot.
1. Select Edit Robot Properties on the Process Navigator
2. For this example you will use the HandlingPRO defaults. Set the Lock All Location
Values checkbox on the property page to ensure that the robot base can not be moved
in the workcell
Roboguide/PRO Software Workcell Examples
10
Previous Step Next Step
Resulting HandlingPRO state:
• A robot should be in your workcell
• The Lock All Location Values option box should be checked on the Robot Property
Page
Simple Workcell Step 3: Add a part to the
workcell
Simple Workcell Step 3: Add a part to the workcell
In this step you will add a part to the workcell to be picked and placed. There are a few basic
steps to create a simulation of the robot picking and placing parts.
• Add a part to the workcell – This step
• Define the part orientation in the End of Arm Tool – Step 4
• Define the part orientation in the pick fixture – Step 5
• Define the part orientation in the place fixture – Step 5
Add a part to the workcell
1. Select Add a Part to the cell from the Define the Cell category of the Process
Navigator
2. You will see a dialog with several options. Select CAD Model – Browse for file and
press OK. A browse dialog will appear on the screen. Browse to C:\Program
File_Menus\FANUC\PRO\SimPRO\Robot Library and select the file lrmate200i-3d.csb.
Press the Open button on the browse dialog.
3. The Part property page for the new part will now appear on the screen. In the Name
field enter Little Robot Part and press Apply.
4. On the property page change the scale parameters to Scale X = 0.5, Scale Y = 0.5,
Scale Z = 0.5 and press Apply.
You have now defined a part for the workcell. The part is shown visible on the Part Fixture. In
Roboguide/PRO Software Workcell Examples
11
order to use the part you will have to assign it to a fixture. For a description of the part /
fixture relationship see Working with Parts and Working with Fixtures
Previous Step
Next Step
Simple Workcell Step 4: Adding End of Arm Tooling to the robot
In this step, you will add End of Arm Tooling to the robot. This includes defining the CAD
model to be used, how the tool is mounted on the robot, and the Tools UTOOL definition.
Defining the end of arm tooling and the mounting of the tooling of the robot.
1. Select Edit End of Arm Tooling in the Define the Cell category of the Process
Navigator
2. In the Primary CAD field select Browse to file icon (). Browse to the C:\Program
files\FANUC\PRO\SimPRO\Image Library\EOATs\grippers directory and select the file:
36005f-200.csb
3. Press the Apply button. A tool should appear on the end of the robot.
The tool does not appear mounted correctly on the robot. You modify how the tool is
connected to the robot by modifying the Location value on the Tool Properties /
General Tab. You can think of this like physically mounting a tool to a robot.
4. In the W value of Location on the Tool Properties / General Tab enter the value 270
and press apply. The tool should now be mounted correctly on the robot.
Defining the Tooling UTOOL value of the robot
1. Select the Tool Properties / UTOOL tab
2. There are 2 methods to define the tooling offset:
Method 1: Select the Edit UTOOL option box. The tooling mounted on the end of the
robot in CHUIWorld now has a triad coordinate system. You can adjust the Tool Center
Point by dragging or rotating the triad to the desired location. Press the Use Current
Triad Location and press Apply to set the TCP UTOOL value for the robot tooling.
Method 2: You can directly enter the value. For this example, direct enter the values
Roboguide/PRO Software Workcell Examples
12
0,0,850,0,0,0 and press Apply
3. Select the Tool Properties / General Tab.
4. Enable the Lock All Location Values property by checking the box on the tab and
press Apply.
The end of arm tooling is now defined for jogging the robot. You can jog the robot by using
teach tool jogging or by using the virtual TP.
Define the part orientation in the end of arm tooling
1. Click on the end of arm tool and open its property page. You can open the property
page from the Cell browser by right clicking on the Tooling/UT:1 and selecting Eoat1
properties from the menu.
2. On the General Tab of Eoat1’s property page uncheck the option box for Lock All
Location Values and press Apply.
3. Select the Simulation tab.
4. In the Function field select Material Handling- Clamp.
5. In the Actuated CAD field select Browse to file icon (). Browse to the C:\Program
files\FANUC\PRO\SimPRO\Image Library\EOATs\grippers directory and select the file:
36005f-200-4.csb.
6. Press Apply. The CAD for a closed gripper is loaded. You can toggle between the
two CAD images by selecting Open or Closed and pressing Apply.
7. Select the Parts Tab
8. In the Parts field select Little Robot Part. Press Apply. You should see the part
attached to the tooling
9. Select the Edit Part Offset field by checking the box. You can now edit the part offset
in the EOAT.
10. There are multiple methods to define the Part Offset in the tooling:
Method 1: Select the Drag-Teach Part Offset option box. The Little Robot Part now has a
triad coordinate system. You can adjust the part offset in the tooling by dragging or rotating
the triad to the desired location When finished moving the part press Apply to set the Part
Offset value for the part in fixture location.
Roboguide/PRO Software Workcell Examples
13
Method 2: Use the automatic calculate method. For this example the offset will be entered
directly- method 3.
Method 3: You can directly enter the value. For this example, direct enter the values (0, 1170, -45, 225, -85, 45) and press Apply.
11. On the General Tab of Eoat1’s property page check the option box for Lock All
Location Values and press Apply.
You should now have the robot with end of arm tool holding the Little Robot Part. You can
view the open and close states for the robot and end of arm tool by toggling between the
Open and Closed buttons on the Material Handling Tab, or by pressing the open/closed icon
button () on the toolbar.
Resulting HandlingPRO state:
The workcell should now have a robot with an end of arm tool, and a part defined for the end
of arm tooling. The Tool Center Point should be defined for the robot with the Z axis of the
TCP pointing out from the tooling in line with the robot arm. The TCP UTOOL value should
be 0, 0, 850, 0, 0, 0.
Previous Step
Next Step
Simple Workcell Step 5: Add a pick fixture to the workcell
In this step, you add a fixture to the workcell where the robot will pick your defined part. The
Fixture, called Pick Fixture, will be a blue box which a part can be picked from. You then
associate the part created earlier, Little Robot Part, with this fixture.
Create Fixture 1
1. Select Add a fixture to the Cell in the Define the Cell category of the Process
Navigator
2. You will see a dialog with several options. Select Box Primitive Model and press OK.
A box will appear on the screen and the Fixture Property Page dialog window will
appear defaulted to the General Tab
3. In the Name field of the property page enter the text "Pick Fixture" and press Apply
4. In the Size in Z field of the property page enter 500 and press Apply.
5. In the Color field of the property page select the color wheel. When the color palette
appears select a nice shade of blue and press OK. When the color palette dialog closes
Roboguide/PRO Software Workcell Examples
14
select Apply. The box color should change to Blue.
You can now move the box around the workcell to place it where you want to pick parts from.
6. Move the box in front of the robot. For this example, move the box to location 1500,
0, 500, 315, 0, 0. These values should be in the Location properties on the Pick Fixture
Property Page
Associate Part with Fixture
You need to define what part will work with the fixture. Once you have defined what part
goes with this fixture you can define its placement in the fixture.
1. Select the Parts Tab on the Fixture property page
2. Select Little Robot Part from the Parts list and press Apply. You will see Little Robot
Part appear relative to the fixture.
Note: if you do not see the part, make sure the Part Visible at Teach Time box is
checked.
3. Enable the Edit Part Offset button.
4. There are Multiple methods to define the Part Offset in the fixture:
Method 1: Select the Edit Part Offset option box. The Little Robot Part now has a triad
coordinate system. You can adjust the part location by dragging or rotating the triad to
the desired location. When finished moving the part press Apply to set the Part Offset
value for the part in fixture location.
Method 2: Use the automatic calculate method. For this example the offset will be
entered directly- method 3.
Method 3: You can directly enter the value. For this example, direct enter the values 0,
0, 0 ,0 ,0 ,0 and press Apply.
Define Simulation parameters
You now must assign properties to the fixture so that it can accept parts.
1. Select the Simulation Tab
2. Select Allow Part to be picked are Picked here and press Apply. This tells
Roboguide that this fixture will be used for picking parts.
3. Change the Part Create to 2.00 seconds and press Apply. This tells PRO software
Roboguide/PRO Software Workcell Examples
15
to wait 2 seconds after the part is picked before creating a new part in the fixture.
4. Select the Fixture Properties / General Tab.
5. Enable the Lock All Location Values property by checking the box on the tab and
press Apply.
Resulting HandlingPRO state:
You should now have a pick fixture in your work cell. The pick fixture should be blue and
directly in front of the robot, tilted on an angle.
Previous Step
Next Step
Simple Workcell Step 6: Add a place fixture to the workcell
Fixture two, called Place Fixture, will be a red box which a part can be placed on. In this step
you create fixture 2 and define how the part is placed on the fixture.
Create Fixture 2:
1. Select Add a Fixture to the Cell in the Define the Cell category of the Process
Navigator.
2. You will see a dialog with several options. Select Box Primitive Model and press OK.
A box will appear on the screen and the Fixture Property Page dialog window will
appear defaulted to the General Tab
3. In the Name field of the property page enter the text "Place Fixture" and press Apply
4. In the Size in Z field of the property page enter 750 and press Apply.
5. In the Color field of the property page select the color wheel. When the color palette
appears select a nice shade of red and press OK. When the color palette dialog closes
select Apply. The box color should change to red.
You can now move the box around the workcell to place it where you want to place parts.
6. Move the box in front of the robot to the robots left. For this example, move the box
to location 850, 1500, 750, 0, 0, 0. These values should be in the Location properties
on the Pick Fixture Property Page
Roboguide/PRO Software Workcell Examples
16
Associate Part with Fixture
You need to define what part will work with the fixture. Once you have defined what part
goes with this fixture you can define its placement in the fixture.
1. Select the Parts Tab on the Fixture property page
2. Select Little Robot Part from the Parts list and press Apply. You will see Little Robot
Part appear relative to the fixture.
Note: if you do not see the part, make sure the Part Visible at Teach Time box is
checked.
3. Enable the Edit Part Offset button.
4. There are Multiple methods to define the Part Offset in the fixture:
Method 1: Select the Edit Part Offset option box. The Little Robot Part now has a triad
coordinate system. You can adjust the part location by dragging or rotating the triad to
the desired location. When finished moving the part press Apply to set the Part Offset
value for the part in fixture location.
Method 2: Use the automatic calculate method. For this example the offset will be
entered directly- method 3.
Method 3: You can directly enter the value. For this example, direct enter the values 0,
0, 0 ,0 ,0 ,0 and press Apply.
Define Simulation parameters
You now must assign properties to the fixture so that it can accept parts.
1. Select the Simulation Tab
2. Select Allow Part to be placed and press Apply. This tells HandlingPRO that this
fixture will be used for placing parts.
3. Change the Part Destroy to 2.00 seconds and press Apply. This tells PRO software
to wait 2 seconds after the part is placed before destroying the part in the fixture.
4. Select the Fixture Properties / General Tab.
5. Enable the Lock All Location Values property by checking the box on the tab and
press Apply.
Resulting HandlingPRO state:
Roboguide/PRO Software Workcell Examples
17
You should now have a fully defined workcell with Fixtures and Parts.
Parts are associated with fixtures and are visible in each fixture.
End of arm tooling is defined for open and closed with the closed state displaying a part in
the tooling.
Previous Step
Next Step
Simple Workcell Step 7: Create a robot program
Create a robot program
In this step you will create a new robot animation program that can be run in the simulation
environment. You will learn how to add a program, and record and touchup points.
Create a Robot TPP Program
The first step is to create a new TPP Animation Program.
1. Select Add a TP Program from the Teach TP Programs category of the Process
Navigator.
A new TP Program is created. The Program Teach Edit Window and the Program
Properties Page are displayed.
2. In the Name field of the Program Properties page enter exmpl_wc and press Apply.
3. In the Program Properties page select OK. The page should close.
You now have a TP Program called exmpl_wc which shows in the Cell Browser window
under the Robot Controllers / Robot1 /Programs category. Exmpl_wc is loaded into the
Program Teach window with no TP Lines created.
Creating and editing TP Program lines
You will now create an animation TP program that performs a pick and place function.
Pick Sequence teach:
1. Jog the robot to a position that will serve as a home position.
2. In the Program Teach Window press Record from the menu. A position should be
created.
3. Set the motion type to Joint by selecting the combo box that specifies motion type.
4. Jog the robot to create a position near the pick up point
Roboguide/PRO Software Workcell Examples
18
5. In the Program Teach Window press Record from the menu. A second position
should be created.
6. In the Program Teach Window press Record from the menu. A third position should
be created. This position will be used for the pickup of the part.
7. Press the close hand icon ()to close the gripper and see the part on the EOAT.
8. In the Program Teach Window select Pickup from the Inst dropdown. A Pickup
instruction should be entered into your program.
9. Select Little Robot Part from the Pickup field, Pick Fixture from the drop down list in
the From field, and select UT:1 from the With field.
10. Select the program statement immediately before the Pickukp instruction. (in this
example – line 3)
11. Select Touchup to Pick/Place Point in the dropdown list included in the Touchup
instruction toolbar item. HandlingPRO automatically records the position which
optimizes the robot pickup point. This is determined by how you oriented the part in the
fixture.
12. Press MoveTo from the toolbar. The robot moves to the pickup point that was
automatically calculated.
Place Sequence Teach:
1. Select the last line of the TP Program in the Program Teach Window.
2. Jog the robot away from the pick position and press record.. A new TP Program line
is created.
3. Press the close hand icon ()to close the gripper and see the part on the EOAT.
4. Jog the robot near the place fixture
5. Press record to create a via position.
6. PRO Software V6.22 adds new features to quickly teach fixture positions. Open the
place fixture property pages.
7. Select the parts tab
Roboguide/PRO Software Workcell Examples
19
8. Select Little Robot part
9. In the dropdown box in the part offset frame select UT:1 (EOAT1).
10. Press the MoveTo button. The robot should move to the place position.
11. Press Record from the menu to create a new TP line. This line will be used for the
place of the part.
12. In the Program Teach Window select Drop from the Inst menu dropdown. Drop
instruction should be entered in your program.
13. Select Little Robot part from the Drop field, UT:1 from the From field, and Place
Fixture from the On field.
14. Jog the robot away from the place point and press record. A move away position is
created after the Open Hand instruction
You have now created your TP Program for this example.
Previous Step
Next Step
Resulting HandlingPRO state:
You should now have a fully defined workcell with Fixtures and Parts.
Parts are associated with fixtures and are visible in each fixture.
End of arm tooling is defined for open and closed with the closed state displaying a part in
the tooling.
A TP Program is created to run a pick and place process.
Simple Workcell Step 8: Run the program
You will now run a simulation of your workcell.
Running the program
1. Select Run TP Program from the Run Production category of the Process Navigator.
The Roboguide Run panel window will appear on your screen.
2. Press Run on the toolbar.of the UOP window
The program should run, and you should see the part get picked and placed.
Roboguide/PRO Software Workcell Examples
20
Profiling your program for cycle time
1. Select Profile TP Program from the Run Production category of the Process
Navigator.
The Roboguide Run panel and Profiler windows will appear on your screen.
Enable the Collect TCP Trace option on the Run Panel.
The Profiler window is shown that displays information for each run of the program.
There are 2 tabs on the windows. Display options are set to define how you want to see
the robot data as the cycle runs. The Profile tab shows the cycle time and alarms for
the running TP Program.
2. Select the Profile Tab.
3. Press Run on the toolbar.of the UOP window
The program should run, and you should see the part get picked and placed. The
profiler window shows times for the program and each TP program line.
Note: the profiler can also be opened from the main menu Test-Run / Profiler menu
selection.
Profiling your program with TP Trace
1. Select Run TP Program from the Run Production category of the Process Navigator.
The Roboguide Run panel window will appear on your screen.
2. Select Test-Run / Profiler from the main menu
3. Select the following options (make sure a check mark appears), Collect TP Trace,
Refresh Display, and Compress AVI on the Display Options tab.
4. Select the Profile tab in the Profiler window.
5. Press Run on the toolbar.of the Run Panel window
The program should run, and you should see the part get picked and placed. The
profiler window shows times for the program and each TP program line. You will see a
trace line that runs with the robot as the robot moves. This is the actual robot motion.
The profiler provides several features. If you run the program multiple times, a separate
profile set is created for each run. You can experiment with different settings to view results.
For example, if you change motion parameters in your TP Program, you can run the Profiler
TP Trace and view the results to determine how the change effects your robot motion. The
Keep Visible check box on each Profile Display Options tab can be checked to determine
Roboguide/PRO Software Workcell Examples
21
differences in runs.
Previous Step
Next Step
Simple Workcell Step 9: Creating an AVI of your workcell
It is easy to create an AVI file of your running workcell.
1. Select Run TP Program from the Run Production category of the Process Navigator.
The Roboguide Run panel window will appear on your screen.
2. Press Record on the toolbar.of the UOP window
The program should run, and you should see the part get picked and placed.
Roboguide is creating an AVI file of your run. When the run is complete, Roboguide will
popup a window that describes where the AVI file was placed on your computer.
2.2 SimPRO: A simple pick and place with TP program
A simple pick and place workcell creation using TP Program
The following procedures provide a procedure for creating a HandlingPRO workcell. The
example assumes that you have started Roboguide and that you have no active workcell in
the workspace of SimPRO. The difference between this workcell and the Simple Workcell
Example is that this example creates a Robot TPP program and not a simulation program.
The same workcell is built as the first example except you now create a program using the
Virtual TP. If you have already built this workcell you can open the example workcell and skip
to Step 7: Create a robot program.
When complete your workcell should contain the following entities:
• An R-2000 robot with end of arm tooling
• 2 rectangular fixtures for holding a part
• A robot TPP Program which moves the part from one fixture to the other.
This workcell is built for you and is available in Directory: Install directory used for install.
Typically this is c:\Program Filles\FANUC\PRO\SimPRO\Samples Workcells\Workcell
Example
Roboguide/PRO Software Workcell Examples
22
Initial state of SimPRO:
• HandlingPRO is running with no workcell defined
• The Process Navigator window is open
Simple Workcell 2 Step 1: Creating a new workcell
Simple Workcell 2 Step 1: Creating a new workcell
1. Select Start New Cell from the Process Navigator.
A Workcell Creation Wizard is presented which guides you through the steps to build a
workcell definition.
2. The type of workcells that can be created are presented in a list. The types listed are
based upon the plugins available in Roboguide on the PC being used. Select
HandlingPRO – Basic Material Handling Cell and press Next
3. Enter the name: simprog example2, and press Next
4. If prompted with a list of Application/Tool packages to be loaded select HandlingTool
(N.A.), and press Next.
5. The next step is where you define the type of robot. Select R-2000iA/165F from the
list of robot models presented, and press Next.
6. If multiple controller versions exist, the next step shows Virtual robot versions
available. Select the latest version.
7. The next step shows robots and positioners for additional motion groups. Select
nothing and press next
8. The next step shows controller options that can be loaded. No additional options are
required. Press Next.
9. .A summary page is presented that describes your workcell type, robot, and
controller options. Press Finish to build the robot.
HandlingPRO will start a Virtual Robot and then create a 3D virtual world with a robot.
At this point the robot can be jogged on the screen
Resulting HandlingPRO state: You should now have a new workcell with a robot. The
Roboguide/PRO Software Workcell Examples
23
workcell has a robot. The 3D CHUIWorld view can be viewed and modified.
Simple Workcell 2 Step 2: Editing the robot properties
Simple Workcell 2 Step 2: Editing the robot properties
The robot’s properties can be modified. You can move the robot around the workcell and set
other properties for the robot.
1. Select Edit Robot Properties on the Process Navigator
2. For this example you will use the HandlingPRO defaults. Set the Lock All Location
Values checkbox on the property page to ensure that the robot base can not be moved
in the workcell
Resulting HandlingPRO state:
• A robot should be in your workcell
• The Lock All Location Values option box should be checked on the Robot Property
Page
Simple Workcell 2 Step 3: Add a part to the workcell
In this step you will add a part to the workcell to be picked and placed. There are a few basic
steps to create a simulation of the robot picking and placing parts.
• Add a part to the workcell – This step
• Define the part orientation in the End of Arm Tool – Step 4
• Define the part orientation in the pick fixture – Step 5
• Define the part orientation in the place fixture – Step 5
Add a part to the workcell
1. Select Add a Part to the cell from the Define the Cell category of the Process
Navigator
2. You will see a dialog with several options. Select CAD Model – Browse for file and
Roboguide/PRO Software Workcell Examples
24
press OK. A browse dialog will appear on the screen. Browse to C:\Program
File_Menus\FANUC\PRO\SimPRO\Robot Library and select the file lrmate200i-3d.csb.
Press the Open button on the browse dialog.
3. The Part property page for the new part will now appear on the screen. In the Name
field enter Little Robot Part and press Apply.
4. On the property page change the scale parameters to Scale X = 0.5, Scale Y = 0.5,
Scale Z = 0.5 and press Apply.
You have now defined a part for the workcell. The part is shown visible on the Part Fixture. In
order to use the part you will have to assign it to a fixture. For a description of the part /
fixture relationship see Working with Parts and Working with Fixtures
Simple Workcell 2 Step 4: Adding End of Arm Tooling to the robot
Simple Workcell Step 4: Adding End of Arm Tooling to the robot
In this step, you will add End of Arm Tooling to the robot. This includes defining the CAD
model to be used, how the tool is mounted on the robot, and the Tools UTOOL definition.
Defining the end of arm tooling and the mounting of the tooling of the robot.
1. Select Edit End of Arm Tooling in the Define the Cell category of the Process
Navigator
2. In the Primary CAD field select Browse to file icon (). Browse to the C:\Program
files\FANUC\PRO\SimPRO\Image Library\EOATs\grippers directory and select the file:
36005f-200.csb
3. Press the Apply button. A tool should appear on the end of the robot.
The tool does not appear mounted correctly on the robot. You modify how the tool is
connected to the robot by modifying the Location value on the Tool Properties /
General Tab. You can think of this like physically mounting a tool to a robot.
4. In the W value of Location on the Tool Properties / General Tab enter the value 270
and press apply. The tool should now be mounted correctly on the robot.
Defining the Tooling UTOOL value of the robot
1. Select the Tool Properties / UTOOL Tab
Roboguide/PRO Software Workcell Examples
25
2. There are 2 methods to define the tooling offset:
Method 1: Select the Edit UTOOL option box. The tooling mounted on the end of the
robot in CHUIWorld now has a triad coordinate system. You can adjust the Tool Center
Point by dragging or rotating the triad to the desired location. Press the Use Current
Triad Location and press Apply to set the TCP UTOOL value for the robot tooling.
Method 2: You can directly enter the value. For this example, direct enter the values
0,0,850,0,0,0 and press Apply
3. Select the Tool Properties / General Tab.
4. Enable the Lock All Location Values property by checking the box on the tab and
press Apply.
The end of arm tooling is now defined for jogging the robot. You can jog the robot by using
teach tool jogging or by using the virtual TP.
Define the part orientation in the end of arm tooling
1. Click on the end of arm tool and open its property page. You can open the property
page from the Cell browser by right clicking on the Tooling/UT:1 and selecting Eoat1
properties from the menu.
2. On the General Tab of Eoat1’s property page uncheck the option box for Lock All
Location Values and press Apply.
3. Select the Simulation tab.
4. In the Function field select Material Handling- Clamp.
5. In the Actuated CAD field select Browse to file icon (). Browse to the C:\Program
files\FANUC\PRO\SimPRO\Image Library\EOATs\grippers directory and select the file:
36005f-200-4.csb.
6. Press Apply. The CAD for a closed gripper is loaded. You can toggle between the
two CAD images by selecting Open or Closed and pressing Apply.
7. Select the Parts Tab
8. In the Parts field select Little Robot Part. Press Apply. You should see the part
attached to the tooling
9. Select the Edit Part Offset field by checking the box. You can now edit the part offset
Roboguide/PRO Software Workcell Examples
26
in the EOAT.
10. There are multiple methods to define the Part Offset in the tooling:
Method 1: Select the Drag-Teach Part Offset option box. The Little Robot Part now has
a triad coordinate system. You can adjust the part offset in the tooling by dragging or
rotating the triad to the desired location When finished moving the part press Apply to
set the Part Offset value for the part in fixture location.
Method 2: Use the automatic calculate method. For this example the offset will be
entered directly- method 3.
Method 3: You can directly enter the value. For this example, direct enter the values (0,
-1170, -45, 225, -85, 45) and press Apply.
11. On the General Tab of Eoat1’s property page check the option box for Lock All
Location Values and press Apply.
You should now have the robot with end of arm tool holding the Little Robot Part. You can
view the open and close states for the robot and end of arm tool by toggling between the
Show Open and Show Closed option buttons on the Material Handling Tab. You must press
Apply each time you change your selection.
Resulting HandlingPRO state:
The workcell should now have a robot with an end of arm tool, and a part defined for the end
of arm tooling. The Tool Center Point should be defined for the robot with the Z axis of the
TCP pointing out from the tooling in line with the robot arm. The TCP UTOOL value should
be 0, 0, 850, 0, 0, 0.
Simple Workcell 2 Step 5: Add a pick fixture to the workcell
In this step, you add a fixture to the workcell where the robot will pick your defined part. The
Fixture, called Pick Fixture, will be a blue box which a part can be picked from. You then
associate the part created earlier, Little Robot Part, with this fixture.
Create Fixture 1
1. Select Add a Fixture to the Cell in the Define the Cell category of the Process
Navigator
2. You will see a dialog with several options. Select Box Primitive Model and press OK.
A box will appear on the screen and the Fixture Property Page dialog window will
appear defaulted to the General Tab
3. In the Name field of the property page enter the text "Pick Fixture" and press Apply
Roboguide/PRO Software Workcell Examples
27
4. In the Size in Z field of the property page enter 500 and press Apply.
5. In the Color field of the property page select the color wheel. When the color palette
appears select a nice shade of blue and press OK. When the color palette dialog closes
select Apply. The box color should change to Blue.
You can now move the box around the workcell to place it where you want to pick parts from.
15. Move the box in front of the robot. For this example, move the box to location 1500,
0, 500, 315, 0, 0. These values should be in the Location properties on the Pick Fixture
Property Page
Associate Part with Fixture
You need to define what part will work with the fixture. Once you have defined what part
goes with this fixture you can define its placement in the fixture.
1. Select the Parts
Tab!JumpID(`SimPRO_Parts.hlp',`Using_the_Parts_Property_Page_Tab') on the
Fixture property page
2. Select Little Robot Part from the Parts list and press Apply. You will see Little Robot
Part appear relative to the fixture.
Note: if you do not see the part, make sure the Part Visible at Teach Time box is
checked.
3. Enable the Edit Part Offset button.
4. There are Multiple methods to define the Part Offset in the fixture:
Method 1: Select the Edit Part Offset option box. The Little Robot Part now has a triad
coordinate system. You can adjust the part location by dragging or rotating the triad to
the desired location. When finished moving the part press Apply to set the Part Offset
value for the part in fixture location.
Method 2: Use the automatic calculate method. For this example the offset will be
entered directly- method 3.
Method 3: You can directly enter the value. For this example, direct enter the values 0,
0, 0 ,0 ,0 ,0 and press Apply.
Define Simulation parameters
You now must assign properties to the fixture so that it can accept parts.
Roboguide/PRO Software Workcell Examples
28
1. Select the Simulation Tab
2. Select Allow Part to be picked are Picked here and press Apply. This tells
HandlingPRO that this fixture will be used for picking parts.
3. Change the Part Create to 2.00 seconds and press Apply. This tells PRO software
to wait 2 seconds after the part is picked before creating a new part in the fixture.
4. Select the Fixture Properties / General Tab.
5. Enable the Lock All Location Values property by checking the box on the tab and
press Apply.
Resulting HandlingPRO state:
You should now have a pick fixture in your work cell. The pick fixture should be blue and
directly in front of the robot, tilted on an angle.
Simple Workcell 2 Step 6: Add a place fixture to the workcell
Fixture two, called Place Fixture, will be a red box which a part can be placed on. In this
step you create fixture 2 and define how the part is placed on the fixture.
Create Fixture 2:
1. Select Add a Fixture to the Cell in the Define the Cell category of the Process
Navigator.
2. You will see a dialog with several options. Select Box Primitive Model and press OK.
A box will appear on the screen and the Fixture Property Page dialog window will
appear defaulted to the General Tab
3. In the Name field of the property page enter the text "Place Fixture" and press Apply
4. In the Size in Z field of the property page enter 750 and press Apply.
5. In the Color field of the property page select the color wheel. When the color palette
appears select a nice shade of red and press OK. When the color palette dialog closes
select Apply. The box color should change to red.
You can now move the box around the workcell to place it where you want to
place parts.
Roboguide/PRO Software Workcell Examples
29
6. Move the box in front of the robot to the robots left. For this example, move the box
to location 850, 1500, 750, 0, 0, 0. These values should be in the Location properties
on the Pick Fixture Property Page
Associate Part with Fixture
You need to define what part will work with the fixture. Once you have defined what part
goes with this fixture you can define its placement in the fixture.
1. Select the Parts Tab on the Fixture property page
2. Select Little Robot Part from the Parts list and press Apply. You will see Little Robot
Part appear relative to the fixture.
Note: if you do not see the part, make sure the Part Visible at Teach Time box is
checked.
3. Enable the Edit Part Offset button.
4. There are Multiple methods to define the Part Offset in the fixture:
Method 1: Select the Edit Part Offset option box. The Little Robot Part now has a triad
coordinate system. You can adjust the part location by dragging or rotating the triad to
the desired location. When finished moving the part press Apply to set the Part Offset
value for the part in fixture location.
Method 2: Use the automatic calculate method. For this example the offset will be
entered directly- method 3.
Method 3: You can directly enter the value. For this example, direct enter the values 0,
0, 0 ,0 ,0 ,0 and press Apply.
Define Simulation parameters
You now must assign properties to the fixture so that it can accept parts.
1. Select the Simulation Tab
2. Select Allow Part to be placed and press Apply. This tells HandlingPRO that this
fixture will be used for placing parts.
3. Change the Part Destroy to 2.00 seconds and press Apply. This tells PRO software
to wait 2 seconds after the part is placed before destroying the part in the fixture.
4. Select the Fixture Properties / General Tab.
Roboguide/PRO Software Workcell Examples
30
5. Enable the Lock All Location Values property by checking the box on the tab and
press Apply.
Resulting HandlingPRO state:
You should now have a fully defined workcell with Fixtures and Parts.
Parts are associated with fixtures and are visible in each fixture.
End of arm tooling is defined for open and closed with the closed state displaying a part in
the tooling.
Simple Workcell 2 Step 7: Create a robot program
Create a robot program
In this step you will create a new robot TPP program that can be run in the simulation
environment. You will learn how to add a program, and record and touchup points.
Additionally, you learn how to animate picks and places using the virtual TP.
Create a Robot TPP Program
1. The first step is to create a new TPP on the virtual robot Program.
2. Open the cell browser
3. Right click on the Programs category under Robot Controllers / Robot1. A popup
menu should display. Select Add TPP Program.
A new TPP Program is created on the virtual robot, and the property page should show
for this program. The virtual TP window opens with the edit page showing.
4. In the Name field of the Program Properties page enter exmpl2wc and press Apply.
5. In the Program Properties page select OK. The page should close.
16. You now have a TP Program called exmpl2wc which shows in the Cell Browser
window under the Robot Controllers / Robot1 /Programs category. Exmpl2wc is loaded
into the Virtual TP Editor with no TP Lines created.
Creating and editing TP Program lines
You will now create a TPP program that performs a pick and place function.
Pick Sequence teach:
1. Jog the robot to a position that will serve as a home position.
Roboguide/PRO Software Workcell Examples
31
2. In the Virtual TP, enable the TP, then press the shift key and then press F1
<POINT>. A TPP Line should be created.
3. Jog the robot to create a position near the pick up point
4. In the Virtual TP, enable the TP, and then press F1 <POINT>. A menu is displayed
on the virtual TP display. Select item 4: L P[] 100mm/sec CNT100. A TPP Line should
be created.
5. Using the arrow keys on the Virtual TP, move the cursor over the 100 mm/sec. Enter
1000 using the Virtual TP keypad and Press the Enter key on the Virtual TP. The speed
for the line changes to 1000 mm/sec.
6. Press the down arrow key on the Virtual TP. The cursor should be on the [End]
statement of the TP Program.
7. Press the close hand icon on the toolbar (). The EOAT should now show the gripper
holding the part.
8. PRO Software has features to quickly teach fixture positions. Open the pick fixture
property pages.
9. Select the parts tab.
10. Select Little Robot part
11. In the dropdown box in the part offset frame select UT:1 (EOAT1).
12. Press the MoveTo button. The robot should move to the pick position.
13. In the Virtual TP, enable the TP, and then press F1 <POINT>. A menu is displayed
on the virtual TP display. Select item : L P[] 100mm/sec FINE. A TPP Line should be
created.
Place Sequence Teach:
1. With the Virtual TP arrow keys move the cursor to the [End] statement of the
program.
2. Jog the robot away from the pick position.
3. In the Virtual TP, enable the TP, and then press F1 <POINT>. A menu is displayed
on the virtual TP display. Select item: L P[] 100mm/sec CNT100. A TPP Line should be
Roboguide/PRO Software Workcell Examples
32
created.
4. Jog the robot near the Place position.
5. In the Virtual TP, enable the TP, and then press F1 <POINT>. A menu is displayed
on the virtual TP display. Select item: J P[] 100% CNT100. A TPP Line should be
created
6. PRO Software has features to quickly teach fixture positions. Open the place fixture
property pages.
7. Select the parts tab.
8. Select Little Robot part
9. In the dropdown box in the part offset frame select UT:1 (EOAT1).
10. Press the MoveTo button. The robot should move to the place position.
11. In the Virtual TP, enable the TP, and then press F1 <POINT>. A menu is displayed
on the virtual TP display. Select item: L P[] 100mm/sec FINE. A TPP Line should be
created.
12. Press the close hand icon on the toolbar. The EOAT should now show the gripper
open.
13. Jog the robot away from the place point.
14. In the Virtual TP, enable the TP, and then press F1 <POINT>. A menu is displayed
on the virtual TP display. Select item: J P[] 100% CNT100. A TPP Line should be
created.
Resulting HandlingPRO state:
You should now have a fully defined workcell with Fixtures and Parts.
Parts are associated with fixtures and are visible in each fixture.
End of arm tooling is defined for open and closed with the closed state displaying a part in
the tooling.
A TP Program is created to run a pick and place process.
The TP Program that runs has no animation.
Roboguide/PRO Software Workcell Examples
33
Simple Workcell 2 Step 8: Animating a Virtual TP Program
Virtual TP programs have no direct support to animate the attachment of parts to the end of
arm tooling. To animate, you use a mixture of animation programs and TP Programs. In
this step you create a animation TP program that closes the gripper and a program that
opens the gripper. These programs are then inserted into the Virtual TP program with Calls
to pickup and drop respectively.
Create a Close Gripper Animation Program
The first step is to create a new animation TPP program that only closes the gripper.
1. Open the cell browser
2. Right click on the Programs category under Robot Controllers / Robot1. A popup
menu should display. Select Add Simulation Program.
A new simulation program is created, and the Simulation Program Editor is opened.
3. In the Name field of the Program Properties page enter closeg and press Apply.
4. In the Program Properties page select OK. The page should close.
You now have a TP Program called closeg which shows in the Cell Browser window
under the Robot Controllers / Robot1 /Programs category. closeg is loaded into the
Simulation Program Editor with no TP Lines created.
5. In the Simulation Program Editor, select the dropdown for Inst menu item, and select
Pickup.
A Pickup instruction is inserted into the program.
6. Select Little Robot Part from the Pickup field, Pick Fixture from the drop down list in
the From field, and select UT:1 from the With field.
Pick Fixture should now show in the Pickup instruction.
7. In the Simulation Program Editor, select the dropdown for Inst menu item, and select
WAIT 0.5(sec)
A Wait instruction is inserted into the program.
The pickup (closeg) program is now created and will be inserted into the Virtual
TP program in a later step.
Create a Open Gripper Animation Program
The next step is to create a new animation TPP program that only opens the gripper.
1. Open the cell browser
Roboguide/PRO Software Workcell Examples
34
2. Right click on the Programs category under Robot Controllers / Robot1. A popup
menu should display. Select Add Simulation Program.
A new simulation program is created, and the Simulation Program Editor is opened.
3. In the Name field of the Program Properties page enter openg and press Apply.
4. In the Program Properties page select OK. The page should close.
You now have a TP Program called openg which shows in the Cell Browser window
under the Robot Controllers / Robot1 /Programs category. openg is loaded into the
Simulation Program Editor with no TP Lines created.
5. In the Simulation Program Editor, select the dropdown for Inst menu item, and select
Drop.
A drop instruction is inserted into the program.
6. Select Little Robot part from the Drop field, UT:1 from the From field, and Place
Fixture from the On field
Place Fixture should now show in the Drop instruction.
7. In the Simulation Program Editor, select the dropdown for Inst menu item, and select
WAIT 0.5(sec)
A Wait instruction is inserted into the program.
The Drop program is now created and will be inserted into the Virtual TP program
in a later step.
Inserting Call statements into the TP program
The next step is to insert Call statements into your virtual TP program which call
the above created programs.
1. Select exmpl2wc from the cell browser.
2. Open the virtual TP Editor
3. Use the Virtual TP arrow keys to move the TP editor cursor to the line after the
position where you want to close the gripper.
4. Insert a blank line. Enable the Virtual TP, and press the Next button. Press F5
[EDCMD] and select Insert (1). Press the Enter button on the keypad. A blank line is
inserted.
5. Insert a Call Instruction to closeg.
Press F1 [INST]. A window shows on the display.
Roboguide/PRO Software Workcell Examples
35
Select CALL. A new window shows.
Select CALL program. A CALL … instruction is put into the program. Select closeg from
the list.
6. Use the Virtual TP arrow keys to move the TP editor cursor to the line after the
position where you want to open the gripper.
7. Insert a blank line. Enable the Virtual TP, and press the Next button. Press F5
[EDCMD] and select Insert (1). Press the Enter button on the keypad. A blank line is
inserted.
8. Insert a Call Instruction to openg.
Press F1 [INST]. A window shows on the display.
Select CALL. A new window shows.
Select CALL program. A CALL … instruction is put into the program. Select openg from
the list.
The program is now setup to run animation. When the program is run the gripper will pick
and place the part.
NOTE: when using Shift FWD on the TP animation does not appear because HandlingPRO
only puts animation programs on the virtual robot when it is running a program.
Simple Workcell 2 Step 9: Run the program
You will now run a simulation of your workcell.
Running the program
1. Select Run TP Program from the Run Production category of the Process Navigator.
The Run panel window will appear on your screen.
2. Press Run on the toolbar.of the UOP window
The program should run, and you should see the part get picked and placed.
Profiling your program for cycle time
1. Select Profile TP Program from the Run Production category of the Process
Navigator.
The Run panel and Profiler windows will appear on your screen.
The Profiler window is shown that displays information for each run of the program.
There are 2 tabs on the windows. Display options are set to define how you want to see
the robot data as the cycle runs. The Profile tab shows the cycle time and alarms for
the running TP Program.
Roboguide/PRO Software Workcell Examples
36
2. Select the Profile Tab.
3. Press Run on the toolbar.of the UOP window
The program should run, and you should see the part get picked and placed. The
profiler window shows times for the program and each TP program line.
Profiling your program with TP Trace
1. Select Run TP Program from the Run Production category of the Process Navigator.
The Run panel window will appear on your screen.
2. Select Test-Run / Profiler from the main menu
3. Select the following options (make sure a check mark appears), Collect TP Trace,
Refresh Display, and Compress AVI on the Display Options tab.
4. Select the Profile tab in the Profiler window.
5. Press Run on the toolbar.of the UOP window
The program should run, and you should see the part get picked and placed. The
profiler window shows times for the program and each TP program line. You will see a
trace line that runs with the robot as the robot moves. This is the actual robot motion.
6. The profiler provides several features. If you run the program multiple times, a
separate profile set is created for each run. You can experiment with different settings
to view results. For example, if you change motion parameters in your TP Program, you
can run the Profiler TP Trace and view the results to determine how the change effects
your robot motion. The Keep Visible check box on each Profile Display Options tab can
be checked to determine differences in runs.
Simple Workcell 2 Step 10: Creating an AVI of your workcell
It is easy to create an AVI file of your running workcell.
1. Select Run TP Program from the Run Production category of the Process Navigator.
The Run Panel window will appear on your screen.
2. Press Record on the toolbar.of the run panel
The program should run, and you should see the part get picked and placed.
Roboguide is creating an AVI file of your run. When the run is complete, Roboguide will
popup a window that describes where the AVI file was placed on your computer.
Roboguide/PRO Software Workcell Examples
37
2.3 PalletPRO: A Simple Pallet Workcell Example
Simple Pallet Workcell Example Overview
The following procedures provide a procedure for creating a PalletPRO workcell. The
example assumes that you have started PalletPRO and that you have no active workcell in
the workspace of PalletPRO.
When complete your workcell should contain the following entities:
• An M-410iB/160 robot with end of arm tooling – vacuum – double case.
• 2 infeeds for conveying boxes
• 2 pallets for stacking boxes
This workcell is built for you and is available in Directory: <install
directory>\PRO\PalletPRO\Example Workcells\Workcell Example\ Workcell Example.
Install directory is typically C:\Program Files\FANUC
Initial state of PalletPRO:
• PalletPRO is running with no workcell defined
• The Process Navigator window is open
Simple Pallet Workcell Step 1: Creating a new workcell
Simple Pallet Workcell Step 1: Creating a new workcell
1. Select Start New Cell from the Process Navigator .
The workcell wizard is opened
2. A step is shown that allows selection of the process to perform
Select PalletPRO and press Next
3. A dialog is shown that presents current existing workcells, and a field to enter a new
workcell name. Enter a name for your new cell, and press Next. (for this example use
the workcell name "PalletPRO Example Workcell".
4. The next step shows a list of supported robots. For this example, select M-
Roboguide/PRO Software Workcell Examples
38
410iB/160, and press Next.
5. If multiple controller versions exist, the next step shows Virtual robot versions
available. Select the latest version.
6. The next step shows robots and positioners for additional motion groups. Select
nothing and press next.
7. The next step shows controller options that can be loaded. Ensure that PalletTool
Turbo is selected and press next
8. A summary page is shown that displays how the virtual robot will be loaded
9. Press Finish
PalletPRO will start a Virtual Robot and then create a 3D virtual world with a robot.
At this point the robot can be jogged on the screen
Resulting state: You should now have a new workcell with a robot. The workcell has a robot,
a single pallet, and an infeed. The 3D CHUIWorld view can be viewed and modified.
Simple Pallet Workcell Step 2: Editing the robot and pallet system properties
Editing the robot and pallet system properties
The robot’s properties can be modified. You can move the robot around the workcell and set
other properties for the robot and pallet system.
1. Select Setup Pallet System on the Process Navigator .
From this page you can define how the pallet system should operate. For this example
you will use the PalletPRO defaults.
2. Select the General Tab.
3. Set the Lock all location values checkbox on the property page to ensure that the
robot base can not be moved in the workcell. Press Apply.
Resulting state:
• A robot should be in your workcell
Roboguide/PRO Software Workcell Examples
• The Lock all location values option box should be checked on the Robot / General
Property Page
Note: The pallet system tab provides many options to change the operation of the pallet
workcell. The ability to change how the workcell and robot process pallets and multiple
infeed systems is provided. For this example, the defaults are used.
Simple Pallet Workcell Step 3: Setup Palletizing Gripper / EOAT
In this step you will setup the palletizing gripper on the robot. PalletPRO starts your
workcell with a default vacuum gripper. You may change the gripper CAD on the end of
arm.
For this example we use the default gripper.
1. Select Setup Gripper from the Process Navigator
The End of arm tooling property page should open.
There are two tabs on the EOAT property page. The General tab and the Palletizing
tab.
2. Select the Palletizing tab
3. Change the Gripper Type to be edited to Vacuum – Double for this example.
4. Select the General Tab
5. Set the Lock all location values checkbox on the property page to ensure that the
tooling can not be moved from the robot.
6. Press Apply or OK to make the changes take effect
Resulting state:
The robot defined with a double vacuum gripper and has been locked to the end of arm.
The default Pallet Station and Infeed are also present.
39
Roboguide/PRO Software Workcell Examples
40
Simple Pallet Workcell Step 4: Adding and
working with pallet stations
PalletPRO includes a default pallet station when it creates a workcell. This example
workcell has 2 infeeds and 2 pallets. In order to balance the workcell, we will place the
objects symmetrically in front of the robot.
In this step you will modify the location of the default pallet station, and add and locate a
new pallet station.
Modify the default location of the pallet station
1. Select PalletStation1 in the workcell, and open its property page
When you select a pallet station, you see a black arrow on a red box on the pallet. This
is the origin teach plate that PalletTool / PalletPRO use. This will be discussed later.
We will re-locate pallet station 1. Objects can be moved in the workcell.
2. Direct enter the new location for the pallet station. Enter the values 440, -2100, 24,
0, 0, 0 into the location field on the Pallet Stations General Property tab, and press
Apply to make the change take effect.
The pallet should now be in a new location.
3. Set the Lock all location values checkbox on the property page to ensure that the
pallet station can not be moved in the workcell
4. Press OK or Apply to make the changes take effect.
Add a pallet station
1. From the process navigator select "Add a Pallet Station".
NOTE: you can also add a new pallet station using the Cell Browser
A new pallet station is entered in the workcell and needs to be located correctly.
2. Direct enter the new location for the pallet station. Enter the values 440, 1300, 24, 0,
0, 0 into the location field on the Pallet Stations General Property tab, and press Apply
to make the change take effect.
The pallet should now be in a new location.
Roboguide/PRO Software Workcell Examples
41
3. Set the Lock all location values checkbox on the property page to ensure that the
pallet station can not be moved in the workcell
4. Press OK or Apply to make the changes take effect.
Resulting State:
You should now have 2 pallet stations and a single infeed in your workcell.
Simple Pallet Workcell Step 5: Adding and working with infeed stations
In this step you work with the properties for the default infeed station and add a second
infeed station. You need to define infeed properties that define how units are delivered on
the infeed, and transit delay times. PalletPRO attempts to properly configure IO for the
infeed.
Modify the location of the default infeed station
1. Select Infeed 1 in the workcell and open its property page.
When you select an infeed station, you see a black arrow on a red box on the infeed
station. This is the origin teach plate that PalletTool / PalletPRO use. This will be
discussed later.
We will re-locate pallet station 1. Objects can be moved in the workcell.
2. Direct enter the new location for the infeed station. Enter the values 1100, -700, 750,
0, 0, 0 into the location field on the Infeed Stations General Property tab, and press
Apply to make the change take effect.
The infeed station should now be in a new location.
3. Set the Lock all location values checkbox on the property page to ensure that the
infeed can not be moved in the workcell
4. Press OK or Apply to make the changes take effect.
Add an infeed station
1. Select Add an Infeed Station from the Process Navigator.
Roboguide/PRO Software Workcell Examples
42
NOTE: you can also add a new infeed station from the Cell Browser.
A second infeed is added to the cell.
2. Direct enter the new location for the infeed station. Enter the values 1100, 100, 750,
0, 0, 0 into the location field on the Infeed Stations General Property tab, and press
Apply to make the change take effect.
The infeed station should now be in a new location.
3. Set the Lock all location values checkbox on the property page to ensure that the
infeed can not be moved in the workcell
4. Press OK or Apply to make the changes take effect.
Resulting State
You should now have 2 pallets and 2 infeeds in your workcell.
Simple Pallet Workcell Step 6: Adding and working with slip sheet dispensers
In this step, you add a slip sheet dispenser to your workcell.
Add a slip sheet dispenser
1. Select Add a Slip Sheet Dispenser from the Process Navigator.
NOTE: you can also add a new slip sheet dispenser from the Cell Browser.
A slip sheet dispenser is added to the cell.
2. Direct enter the new location for the slip sheet dispenser. Enter the values -675, 1300, 0, 0, 0, 0 into the location field on the Slip Sheet Dispenser's General Property
tab, and press Apply to make the change take effect.
The slip sheet dispenser should now be in a new location.
3. Set the Lock all location values checkbox on the property page to ensure that the
slip sheet dispenser can not be moved in the workcell
4. Press OK or Apply to make the changes take effect.
Resulting State:
Roboguide/PRO Software Workcell Examples
43
You now have a complete cell with 2 pallet stations, 2 infeed stations, and a slip sheet
dispenser. The slip sheet pick up positions are automatically set by PalletPRO.
Simple Pallet Workcell Step 7: Modifying a pallet stations process properties
In this step, you change the pallet orientation / origin position for pallet station 2.
Modifying a pallets orientation / origin for the palletizing process.
1. Select PalletStation2 in the workcell, and open its property page
2. Select the Pallet Tab.
3. Select the length on width picture () in the Teach Aid Frame and press Apply. This
moves the origin for the palletizing process to a different corner of the station. Unit
Loads are process on a pallet as defined by this origin. The build will start from this
origin.
4. Select OK or Apply to accept the changes.
Resulting State:
You now have a complete cell with 2 pallet stations, 2 infeed stations, and a slip sheet
dispenser. The origin of pallet 2 has been switched to the outside corner which means the
unit loads will build from this corner.
Simple Pallet Workcell Step 8: Modifying an infeed stations process properties
In this step, you change the Infeed orientation / origin position for infeed station 2.
Modifying a infeeds orientation / origin for the palletizing process.
1. Select Infeed 2 in the workcell, and open its property page
2. Select the Infeed Tab.
3. Select the length on width picture () in the Teach Aid Frame and press Apply. This
moves the origin for the palletizing process to a different corner of the station. Unit
Loads are process on a infeed as defined by this origin.
4. Select OK or Apply to accept the changes.
Roboguide/PRO Software Workcell Examples
44
Resulting State:
You now have a complete cell with 2 pallet stations, 2 infeed stations, and a slip sheet
dispenser. The origin of infeed 2 has been switched to the opposite corner which means the
units will feed on this side of the infeed.
Simple Pallet Workcell Step 9: Editing a unit load and adding a new unit load
PalletPRO initializes with a unit load already existing in your workcell. In this example, you
will modify the default unit load and add a new unit load. Parameters will be changed on
both unit loads so that you can become more familiar with the editing of a unit load.
Edit an existing unit load
1. Select unit load UL001-Sample Product from the cell browser
The unit load's property page will open.
Note:when the page opens, you will see the unit load you are working on as configured
shown on pallet 1 in the 3D world. As changes are made in the property pages, the
pallet unit load in the 3D world is updated when you press Apply.
2. On the Enter dimensions tab: change the Unit dimensions width value to 300.
Remember, you must press Apply to have the change take effect.
3. On the Select Pattern Tab change the pattern to Optimal and press Apply.
4. Press the Palletizing Parameters button
This takes you to the property page where you modify the palletizing process. Layer
configuration and optimal path are two such processing parameters you can modify.
5. Change the layers field to 3, and press Apply.
6. In the left center of the property page a graphic shows Layer configurations. Right
mouse click on the portion of the graphic that shows "Layer 1: Normal". A popup menu
is shown. "Select Slip Sheet Above" from the list. Press Apply.
A slip sheet is placed in the graphic, and on the pallet in the 3D world
7. In the Process Parameters frame select Double Case from the drop down list for
Grippers, and press OK
The unit load property pages should close..
Roboguide/PRO Software Workcell Examples
45
You have modified unit load 1.
Add a Unit Load
In this procedure, a new unit load is created. A double gripper is defined, and the Layer
picking is manually modified. You manually modify picking configuration to optimize
system efficiency. A double case gripper can pick and place multiple units. By default,
PalletPRO configures the unit load for multiple unit picks and single unit placements. The
unit load created will be modified to place multiple units.
1. Select Add Unit Load from the Setup Unitloads category on the Process Navigator.
A new unit load is created and the property page is shown. The defaults for dimensions
and pattern are used.
2. PalletPRO allows you to input a "skin" to a unit. A "skin" is an image file that is
placed on each face of a unit. Press the folder button to the right of the Skin Image
File: field. Select <install directory>\PRO\PalletPRO\Example Workcells\Workcell
Example\frna_logo.jpg. Install directory is typically C:\Program Files\FANUC.
Press Apply. Your unit load shown in the 3D world will now have a new "skin" attached
on each unit.
3. Select the Palletizing Parameters button to open the property page for processing
parameters.
It is on this page that we modify the gripper type and Layer cycle definition.
4. In the Process Parameters frame select Double Case from the drop down list for
Grippers, and press Apply.
The normal layers cycles frame grid changes to reflect a double case gripper.
5. In the Normal Layers cycle frame grid on the Configure Cycles tab we will modify
the Group column to configure simultaneous placement of units.
For each row in the grid, you modify how boxes are presented on the infeed, and how
the robot places units. Modify the grid to have the following entries.
Cycle Infeed Pick Orientation 1st drop Group 2nd
1 Length on Length 1 & And 2
2 Width on Length 3 & And 4
3 Width on Length 5
.
6. When you have completed editing the grid, press OK to finish the editing of this unit
Roboguide/PRO Software Workcell Examples
load.
Resulting State:
You now have a complete cell with 2 pallet stations, 2 infeed stations, and a slip sheet
dispenser. 2 unit loads are defined.
Simple Pallet Workcell Step 10: Running a production simulation
Your workcell is now complete, and we can run a simulation of the palletizing process.
Running the simulation of the palletizing process.
1. Select Run Panel from the Run Production category of the Process Navigator.
The PalletPRO Run Panel dialog is opened.
2. Make sure the Refresh Display option is checked. Press Run.
The Simulation Cycle Start dialog is opened.
3. Ensure that the following entries are made in the table.
Line #1 – UL001 – Sample Product, Pick = Infeed1, Place – PalletStation1
Line #2 – UL002 – Sample Product, Pick = Infeed2, Place – PalletStation2
Press Start
The Production Data display box is opened and the workcell starts palletizing.
46
Roboguide/PRO Software Workcell Examples
47
2.4 Buid an auxiliary axis example
Building an aux axis system example Step 1 Create a new workcell
A new workcell is created with the name Aux_System_example. Several steps are required
and this step describes each procedurally.
Step 1: Create a new workcell
1. Start a new workcell by selecting File / New from the main menu
The workcell creation wizard is opened.
2. Select which Roboguide plugin you desire and press Next. This example uses
HandlingPRO.
3. Name the workcell and press Next. This example uses the workcell name
Aux_System_Example.
4. Select the desired robot from the list and press Next. This example uses the R2000iA/165F.
5. On the Additional Motion Groups Page select Next.
6. Select options to be loaded on the robot. Check the box next to the Extended Axis
Control option in the list and press Next.
See Configuring a virtual robot for an aux axis system form a more detailed description
of this wizard step.
7. The final step of the wizard shows the configuration of the robot that will be
serialized. Press Finish to start the creation of the virtual robot.
After pressing finish the virtual robot is serialized. The process can be seen on the
virtual TP screen. PRO should initialize with a 3D ChuiWorld.
Defining the auxiliary axis hardware information. After serializing the virtual robot the
configuration has extended axis capability. Axes must be added to the robot group 1 before
the axes can be used.
8. Start the virtual robot in controlled start mode by selecting Robot / Restart Controller
/ Controlled Start from the main menu.
The robot will restart in controlled start.
9. Press Menu button, and then select Maintenance
Roboguide/PRO Software Workcell Examples
48
10. Down Arrow to the extended axis item and press enter
11. Press Manual
12. A menu is presented which allows you to select the motion group to modify
extended axis information. Select Group 1 and press enter.
13. Enter the hardware start number for the extended axes. Select 7 and press enter.
14. A menu is presented which allows you to modify extended axis configurations.
Select the Add Ext Axis item and press Enter.
15. The Virtual TP screen shows question that must be answered to define the
hardware selected. When the questions appear left click the mouse on the virtual TP
window, and answer the questions as detailed below (the answers provided may not be
correct for the hardware on an actual auxiliary axis hardware. See the Robot manuals
for more information).
16. Aux axis 1 Initialization
o Enter the axis to add: 1
o Motor Size: Aca6
o Motor Type Setting: /2000
o Amplifier Current Limit Setting: 40A
o Extended axis type: Integrated Rail (Linear axis)
o Direction: Select Y – this makes joint 7 perform in the robot Y direction.
o Enter Gear Ratio: 120
o Maximum Joint Speed Setting: No Change
o Motion Sign Setting: False
o Upper Limit Setting: 5000
o Lower Limit Setting: -5000 (Press the – key on the numeric keypad)
Roboguide/PRO Software Workcell Examples
o Master Position Setting: 0
o Accel Time 1 Setting: No Change
o Accel Time 2 Setting: No Change
o Minimum Accel Time Setting: No Change
o Load Ration Setting: 2
o Amplifier Number Setting: 1
o Select Amp Type: Alpha amp - 2
o Brake Number Setting: 2
o Servo Timeout: Disable
17. After answering the last question, the Ext Axis Setting program menu is shown
again. Select the Add Ext Axis item and press Enter
18. Aux axis 2 Initialization
o Enter the axis to add: 2
o Motor Size: Aca6
o Motor Type Setting: /2000
o Amplifier Current Limit Setting: 40A
o Extended axis type: Integrated Rail (Linear axis)
o Direction: Select X – this makes joint 8 perform in the robot X direction.
o Enter Gear Ratio: 120
o Maximum Joint Speed Setting: No Change
o Motion Sign Setting: False
49
Roboguide/PRO Software Workcell Examples
50
o Upper Limit Setting: 4000
o Lower Limit Setting: -4000 (Press the – key on the numeric keypad)
o Master Position Setting: 0
o Accel Time 1 Setting: No Change
o Accel Time 2 Setting: No Change
o Minimum Accel Time Setting: No Change
o Load Ration Setting: 2
o Amplifier Number Setting: 1
o Select Amp Type: Alpha amp - 2
o Brake Number Setting: 2
o Servo Timeout: Disable
19. The axes have been defined and setup. The Ext Axis Setting program menu is
shown. Select Exit and press Enter.
20. The select group menu is shown. Select Exit and press enter.
21. Press Fctn / Start (Cold)
Roboguide opens with a robot in a workcell with no other devices. Expand the Robot
Controllers / Robot 1 tree in the cell browser. The axes exist but a machine needs to be
defined that use the auxiliary axes. To validate that the extended axes have been defined,
the additional joints should be available on the Current Position tab of the virtual Teach
Pendant.
Building an aux axis system example Step 2 Build the auxiliary axes system
Step 1 created a new workcell, and configured a virtual robot with extended axes on the
virtual robot. Step 2 uses these extended axes to build a Roboguide machine / auxiliary
axis system.
A machine is defined that has a base that defines the 10 meter Y rail. An additional joint is
Roboguide/PRO Software Workcell Examples
51
added to define the 8 meter X rail. The robot is then attached to the X rail. The following
procedure defines this relationship within the workcell.
Build the base of the auxiliary axis system
1. Open the cell browser if it is not open. There should be a Machines element in the
tree under the workcell.
2. Right Click on the Machines Element and select Add Machine / Box menu selection.
A box is added to the workcell and the property page for the machine is shown.
3. Change the Name Property to X-Y Rail and press Apply.
4. Locate the Box. Enter Size in X = 1000, Y= 10000, Size in Z = 300 and 0, 0, 300, 0,
0, 0 for the CAD Location, and press Apply. The box should move to the floor and be
10 meters in the Y direction.
5. Select Lock All Location Values and press Apply to lock the base in the workcell.
6. The base now exists for the robot Y rail of travel. The next step is to add the Y rail
control such that when axis 7 (Y direction) is jogged or moved the X rail moves in the Y
direction (joint 7).
Build the dependent X rail axis.
7. Right Click on the X-Y Rail Machine root node under Machines and select Add Link > Box. A box for the X rail axis of the machine should be loaded into the workcell, and
the property page for the control of joint 7 should be open. The motion control axis must
be defined, the motor must attached to the motion control axis, and the CAD box must
be located correctly for the machine.
8. Change the Name Property to X Rail and press Apply.
9. On the General property page press the Select 3D Axis button. This highlights the
coordinate system that moves when the axis is jogged or moved.
For more information regarding the 3D axis and Link CAD reference frames see
Working with machines.
10. Roboguide constrains that the 3D axis origin of the axis link defines the origin of
motion with the Z axis of the axis link defining the direction of travel. The Z axis of the
axis link must be rotated to align with the Y rail base Box created in an earlier step. In
the Axis Origin fields enter 0, 0, 0, 90, 0, 0 and press Apply.
Note that the 3D axis reference frame now is in the direction of travel along the rail.
Roboguide/PRO Software Workcell Examples
52
11. Locate the Box relative to the Joint 7 Axis Origin of motion. Select the Link CAD
tab on the X Rail Property page. Enter Size in X= 8000, Size in Z = 300 and 0, 0, 300, 90, 0, 0 for the CAD Location, and press Apply. The box should be on the floor and be
8 meters in the X direction.
12. Define the robot axis that controls this axis. On the X Rail Motion Property page
select Group = GP:1 R-2000iA. In the Joint field, select Joint 7. Press Apply.
13. Open the virtual Teach Pendant and jog Joint 7. The box just attached to joint 7
moves in the World Y direction relative to the base CAD box. If the teach ball at the end
of the robot moves in the opposite direction of the axis, it means that the motor
direction is opposite of the CAD link Axis direction defined.
To quickly change this association, open the property page for the X Rail and select the
Negative checkbox on the General property page. The robot teach ball should now
move with the rail as it is jogged.
Attach the robot to the X rail Axis
14. Right Click on the G:1, J:7 - X Rail Machine node under Machines and select
Attach Robot -> GP:1 – R-2000iA/165f. This attaches the robot to J:7 X- Rail so that
when the X Rail is jogged the robot moves on the rail.
15. Change the Name Property to Robot R2000 and press Apply.
16. Press the Select 3D Axis button. This highlights the coordinate system that moves
when the axis is jogged or moved.
17. Roboguide constrains that the origin of the axis link defines the origin of motion
with the Z axis of the axis link defining the direction of travel. The Z axis of the axis link
must be rotated to align with the X rail Box created in an earlier step. In the Axis Origin
fields enter 0, 0, 0, 0, 90, 0 and press Apply. The Z axis is now aligned with the
direction of travel. The robot rotates because the Link CAD is relative to the 3D Axis
origin.
18. Locate the Robot relative to the Axis Origin of motion. Select the Link CAD tab on
the Robot R2000 property page. Enter 0, 0, 0, 0, -90, 0 for the CAD Location, and press
Apply. The box should be on the floor and be 8 meters in the X direction.
19. Define the robot axis that controls this axis. On the Motion Tab of the Property
page select the Servo radio button and then select Group = GP:1 R-2000iA. In the Joint
field, select Joint 8. Press Apply.
An aux axis system should now be defined. Validation can be done by jogging both joints 7
and 8.
Roboguide Menus
3 Roboguide Menus
Roboguide Menus
SimPRO’s main menu
• File_Menu
o New Cell
o Open Cell
o Restore Cell Save point
o Save Cell
o Save Cell As
o Package Cell
o View File: allows you to open and view a file.
o Recent File: provides a list of recently viewed files.
o Export
 IGES export
 Bitmap export
o Recently used Workcell list
• Edit
o Undo
o Redo
o Cut: cuts the currently selected object.
o Copy: copies the currently selected object to the clipboard
o Paste: paste the cut or copied object
o Delete: deletes the selected object
• View
o Cell Browser
o Navigator
o Zoom In: zooms the 3D world
o Zoom Out: zooms the 3D world out.
o Zoom Window
o Orthogonal Views: snaps the view to the selected view
o Center on selected object: centers the selected object
o Full View: changes the zoom level of the 3D world such that all objects
are in the field of view.
o Wireframe: changes the objects to wireframe from surface mode. This
setting is a toggle on to wireframe and toggle off to surface mode.
o Perspective: toggles the 3D world into Perspective view.
o Program Details
o Quick bars
 Jog coordinates
 Gen override
 Teach
 MoveTo
 Targets
o Mouse Commands
• Cell
o Add Robot
o Add Part
o Add Fixture
o Add Obstacle
o Add Target group
53
Roboguide Menus
• Robot
• Teach
•
•
•
•
54
o Restart All Controllers: Cold starts all controllers in the workcell
o IO Interconnections
o Workcell properties
o Object Properties: opens the property page for the selected object in the
workcell.
o Lock Teach Tool Selection
o Show Work Envelope; toggles the robot work envelope on/off.
o Teach Pendant
o Alarms
o Web Browser: provides a window that has the Web server output
displayed.
o KCL Window: if KCL is enabled on the virtual robot, a KCL window is
displayed. KCL commands can be entered.
o Open/Close Hand: toggles the state of the end of arm tooling. See About
using end of arm tooling for more information.
o Restart controller: provides ability to restart the virtual robot in controlled
start mode or cold start mode.
o Load motion optimization: restarts the robot with motion optimization
option enabled. This works with MotionPRO.
o Launch MotionPRO
o Robot Properties: opens the robot property page for the currently active
robot controller.
o Add Simulation Program
o Add TP Program
o Load TP Program
o Draw Part Features
o Teach Program: opens the currently selected program into the program
editor.
o Program Properties: opens the property page for the selected program.
Test-Run
o Run Panel
o Run Options: allows options available on the run panel to be modified
from the main menu.
o Profiler
o Duty Estimation
Project
o Add Files
o Recent files
o Set Default folder
o Build
o Import
o Export
Tools
o Explore <workcell name>: opens a MS Windows explorer window with the
workcell directory as the active directory.
o Options
Window
o 3D Panes:
o Minimize all: Minimize editor windows
o Show All: opens all windows
55
Roboguide Menus
• Help
o Reset "Don’ show this again" captions: resets the dialogs that you turned
off.
o Contents: opens the help system.
o Help on Current Windows: opens the help topic for the currently selected
window.
o Register SimPRO: provides licensing dialogs.
o Transfer Roboguide License: provides dialogs to transfer a valid software
license from one PC to another.
o About: provides version information about the currently loaded process
plugin.
Creating a workcell
Roboguide provides a wizard to create new workcells. Within the creation wizard you
define workcell name, robot type, and robot options. When complete the wizard creates a
new virtual robot. This robot is the configuration for the virtual robot which is real robot
software
running
on
your
PC.
When creating a workcell you must consider whether you want the robot
• Created from a blank. Use this option when you want to build a robot and define
options for the robot. This is generally used when you don’t have a physical robot that
has been configured for your workcell.
• Created from the backup of an actual physical robot. Use this option when you want
to model an actual workcell that has a robot configured. For more information see
Creating a virtual robot from backup.
The wizard is initialized when you select create a new workcell.
To create a new workcell from the toolbar
1. Left click on the new cell toolbar icon ()
2. The workcell creation wizard dialog box is shown
To create a new workcell from the main menu
1. From the main menu select File / New Cell
2. The workcell creation wizard dialog box is shown
For
more
information
on
using
the
workcell
creation
wizard
press
here.
If you are using PaintPRO, and you have run PaintPRO by opening PaintPRO and not by
Roboguide Menus
56
generating a PaintPRO workcell from Roboguide a paint specific wizard is displayed.
Related topics
Using the workcell creation wizard
The workcell creation wizard provides an interface to create a new workcell and to define
the robot within the workcell. The type of robot can be modified after a workcell is created
through the Robot Property Page.
When creating a workcell you must consider what type of workcell you want:
• Handling Workcell
• Pallet Workcell
• Etc.
When creating a workcell you must consider whether you want the robot
• Created from a blank/scratch. Use this option when you want to build a robot and
define options for the robot. This is generally used when you don’t have a physical
robot that has been configured for your workcell.
• Created from the backup of an actual physical robot. Use this option when you want
to model an actual robot in a workcell.
When the creation wizard is opened you see the steps of the wizard shown as a tree on the
left. You can step through the wizard with the next and back buttons, or you can select a
step directly by left clicking on the Workcell Navigator step in the left pane.
Workcell Creation Step by step description: (specific to creating a workcell).
Step: Enter process Selection:
• Select the process type you want for your workcell. Roboguide knows what
application process plugins are installed on the PC. If only one application is present on
the PC it is your default type.
Step: Workcell Name:
• Enter the name you want for your workcell.
Roboguide Menus
57
Adding a workcell object
To add an object using the cell browser
1. Right mouse click the type of element you want to add to your workcell
A popup menu will appear with selections. The popup menu will have items based upon
the PRO Software plug-in and the options loaded on robots in the workcell. For
example, if line tracking is enabled, you would see "add line" under the fixtures menu.
2. Select the source of the object from which it should be added.
Roboguide supports a CAD Library, importing of IGES files, and primitive objects.
3. If you select CAD File a dialog is opened in which you can select the CAD File
desired. You may select multiple CAD files if you want to import multiple CAD images
into the workcell as a single object. Note: the origin of the combined object will be the
origin of the CAD files overlaid.
If you select CAD Library a dialog is opened where you can browse the CAD library and
select an object
If you select one of the primitives, a primitive object is loaded into your workcell with
default parameters.
To add an object using the main menu
1. From the main menu select Cell. And then select the type of object to add.
2. Select from the popup menu (if applicable) the source of the object from which it
should be added. Roboguide supports a CAD Library, importing of IGES files, and
primitive objects.
3. If you select CAD File a dialog is opened in which you can select the CAD File
desired. You may select multiple CAD files if you want to import multiple CAD images
into the workcell as a single object. Note: the origin of the combined object will be the
origin of the CAD files overlaid.
If you select CAD Library a dialog is opened where you can browse the CAD library and
select an object
If you select one of the primitives, a primitive object is loaded into your workcell with
default parameters.
If you select Robot, the robot serialize wizard is opened.
Roboguide Menus
58
Configure your robot controller
ROBOGUIDE provides two wizards to help you create and modify the robot controller for
your workcell. .
• Workcell Creation Wizard: used to create a workcell with its initial robot. Select the
File > New Cell menu or press the button on the main toolbar to launch this wizard.
• Virtual Robot Edit Wizard: used to add a new robot to the workcell or modify an
existing one. Select Add Robot from the Cell menu or the right-click popup menu on the
Robot Controllers category of the cell browser to launch this wizard for adding a robot.
Press the Serialize Robot on the General tab of the robot property page to launch this
wizard for modifying the selected robot.
The wizards are very similar. The Workcell Creation Wizard has one or two additional steps
at the beginning to identify the workcell.
When the creation wizard is opened you see the steps of the wizard shown as a tree on the
left. You can step through the wizard with the next and back buttons, or you can select a
step directly by left clicking on the Navigator step in the left pane.
NOTE: Version Roboguide V6.40 Rev D and later: the creation wizard order changes. The
robot controller version must first be chosen when creating a new robot. The reason for the
change is that the R-J3iC controller platform requires a new option selection mechanism.
The Virtual Robot Edit Wizard (link to Configure your robot controller) makes it easy to
modify the configuration of your robot. It is designed to allow you to quickly try robot
variations for simulation purposes only. A number of the motion parameters (for example:
axis limits) are reset to their default values by the wizard. Do not use this wizard if you have
created this robot from a backup and intend to restore any files from the workcell back to
the original robot.
Steps in the wizard include:
Step: Process Selection
• Select the process plugin from the list.
• This step is only shown by the Workcell Creation Wizard when more than one
process plugin is installed on the PC.
• It is also hidden if ROBOGUIDE is initiated by a specific process plugin.
Roboguide Menus
59
Step: Workcell name
• Enter the desired workcell name
• This step is only shown by the Workcell Creation Wizard
• It is recommended that you use the Delete Item feature of this step if you wish to
remove a workcell. It manages the cleanup of the Robot Neighborhood when a workcell
is deleted.
Step: Robot Selection Method
• Select the method to create the virtual robot.
o Create a new robot with the default xxxPRO config: The robot
configuration in the steps below is initialized with the default selections
provided by the selected process plugin..
Note: The text "xxxPRO" is replaced by the actual name of the selected
process plugin.
o Create a new robot with the last used xxxPRO config. This option is
shown if you are creating a workcell or adding a new robot.
or
Create as a modification of the existing robot. This option is shown if you are
reserializing a robot from the robot property page.
o Create a robot from a file backup: creates a robot from a controller
backup. The robot configuration is defined in the file backdate.dt.
Press the browse icon (file folder) and browse to the directory that contains
the backup of the desired controller. Select the backdate.dt file and press
Open.
When you press the Next button, the wizard tree is populated with
information in the backdate.dt file. You will not be able to modify the details
of the robot configuration.
o Create an exact copy of an existing robot: allows you to make a copy of
an existing robot. The robot may be a virtual robot or real robot.
Press the browse robots () icon to open the Robot Neighborhood. Browse to
Roboguide Menus
60
the desired robot directory and press Select.
When you press the Next button, the wizard tree is populated with
information in from the robot. You will not be able to modify the details of the
robot configuration.
After the robot is created you may re-enter the serialize wizard and change detail
information. You re-enter the serialize a robot from the Robot Property Page
Step: Robot Software Version
• Virtual robot software that is loaded on your PC is displayed. Select the virtual robot
controller version that you desire.
Step: Robot Application Tool
• Select the desired application Tool for the robot.
Step: Robot Model
• Select the desired robot from the list
Step: Robot Models for additional motion groups
• The step shows robots and positioners for additional motion groups. And a table that
diagrams how the devices would be configured on the virtual robot. Click here for more
information on defining additional motion groups.
Step: Robot Options
• Robot options, Languages and Memory configuration can be configured:
o Software options tab: Scroll through the selections and check the boxes
for the options that you desire.
o Languages tab: select the desired language settings.
o Advanced tab: Select the desired memory configuration for the created
virtual robot. Select if FANUC Ltd. or FANUC Robotics America parameters
should be loaded. (V7.20 and later)
If the checkbox labeled "Configure I/O for simulation" is enabled you can
decide if you want 4 process I/O boards to be configured or not. They
provide a mix of I/O and UOP assignments suitable for simulation. The UOP
assignments are required for proper operation of the run panel controls.
Roboguide Menus
61
With the option unchecked, you can assign your own I/O configuration after
the robot is started.
Using the Target Quickbar
The Target quickbar is displayed by pressing the Target quickbar toolbar icon (). There are
buttons/ modes for:
• Air Target: when depressed an air target is created with each left mouse click at the
mouse cursor. The target is added under the Targets category of the cell browser.
• Surface Target: when depressed a target is generated with each left mouse click at
the normal of the surface that mouse cursor is over. The target is added under the
Targets category of the cell browser.
To create a target at the center of an arc, the SHIFT and Alt key must be depressed to
show a crosshair at the center of the arc. When the left mouse button is clicked a target
is generated at the center of the arc.
• At robot TCP: when depressed a target is generated at the active / selected robots
TCP.
• To Group: when depressed, a new target is added to the Targets category and the
current cell browser selected Target group. If not Target group is selected a message is
posted.
About program generation
Robot programs can be generated from defined features in PRO software.
Features and parts
Features are owned by the parts they are created on. Since parts can be used in multiple
fixtures, a feature can be used to generate programs for a part in several locations. The
fixture to generate a TPP part program on is a setting in the CAD to Path feature property
pages.
Features and segments defined:
Features are 3 dimensional lines in PRO’s CHUIWorld. Robot programs can be generated
from PRO’s features automatically. A feature can be generated from:
• CAD Edges
• Freehand drawn lines: mouse clicking on CAD surfaces to create a node by node
line. Similar to a line creation tool in a drawing package.
Roboguide Menus
62
A feature can be broken into segments. A segment can be broken into multiple segments.
The result is a feature that can contain many separate segments. When creating a program
from the feature, different creation properties can be given to each segment in the feature
to generate desirable robot process programs. For more information on CAD features click
here.
The following presents an example feature with 3 segments that was generated along a
CAD Edge. Each segment has its own path generation properties. The yellow segment is
the actively chosen segment.
A feature is organized in the cell browser, and is owned by the part category in the cell
browser. It is visualized as a tree with the feature being the root node.
The feature and its segments represent the 3D line that should be used to generate robot
programs.
Creating features
A feature is a "3D" line segment that can be generated in multiple ways in PRO Software.
1. From a CAD entity. Roboguide has tools to track the edges of CAD entities and
create a feature.
26. Drawing a line on the CAD. This works like most drawing packages where you click
and drag the mouse to create a line segment. As the line segment is drawn it is
mapped to the CAD surface on which you are creating the line. There are multiple line
drawing options:
Once a feature is defined you can break the feature into segments that make up the
feature. Each segment can then have a unique path taught for it. This allows multiple
process changes to easily be handled when creating programs from features.
As you define features, they are represented in the Cell Browser under the Part object that
created the feature with. The feature stays with the part, even if you use the part in multiple
locations in your workcell. When generating a program, you can select which instance of
the part should have the program generated.
The feature property pages provide settings to control the generation of TP programs.
Once parameters are defined, TPP programs are generated automatically when Apply is
pressed. For more detail on the types of features supported see What features are
available in PRO Software.
Programs generated from features and segments:
A feature and its segments have properties for the program generation for the entire
generated program. Each segment can set properties for the generation of the chosen
segment. Each segment has properties that can be defined for the loaded PRO process
plugin. This provides great flexibility in generating programs from a feature to meet desired
process needs.
Once a feature has been defined, the feature and its segments have property pages that
Roboguide Menus
63
define how robot programs should be generated from the feature. Properties can be
adjusted and programs generated so that you can very quickly make changes to output
programs to obtain desired robot programs. For more information on what features can be
created see What features are available in SimPRO.
Setting up defaults for program generation to optimize desired results
When generating programs it is desirable to have the programs generated take into
account the configuration of the end of arm tooling. For example, if the tool center point on
the robot has a definition that has the TOOL Z vector defined into the tooling (as ARC
does), the paths being generated should take this into account. A TOOL Z vector defined
out of the tooling would require the Z vector of a created point to be opposite in direction in
order to attain desired results.
PRO allows you to setup the CAD to PATH generation properties on the Tooling property
pages. Fields include approach and retract distance and speeds, and tooling orientation
setup for program generation. For more information see Setting up a UTOOL for path
generation . The tooling defines defaults, but many factors can influence the generation of
the programs. The tooling defaults can be overridden on a features generation property
pages. These include part location and orientation relative to the robot.
Program generation methods:
When generating a program, PRO uses the normal to the surface that was used to create
the feature as its reference starting point for generation. Therefore, if a program is
generated with no modifications to the generation parameters, the resulting program
provides points with orientation normal to the surface that was used to generate the
feature.
PRO generates the number of positions based upon several factors including:
• The specified speed: PRO optimizes the spacing between created positions by
placing positions at a distance based upon the motion system capability at the specified
speed.
• Linearity between points: PRO minimizes the number of created positions by testing
for linearity between positions. The determination of linearity can be adjusted on the
feature to program generation property pages.
• Circularity between points: PRO determines if three created positions define an arc
that can be defined using circular motion. If PRO determines and arc exists it
automatically creates the circular motion program lines to provide the desired arc. The
determination of circularity can be adjusted on the feature to program generation
property pages.
• By default a feature has one segment when it is first created. Feature properties
effect segments that make up the feature. When a segment is first created it inherits the
properties of the feature. The first segment properties control the approach position and
the last segment controls the retract position. If there is only one segment for the
Roboguide Menus
64
feature, the segment properties control the approach and retract positions. The
approach point is generated using the orientation of the first point of the first segment in
the feature. The retreat point is generated using the orientation of the last point of the
last segment in the feature. The feature owns the approach/retract distance and speed
properties.
• Roboguide minimizes the number of points that meet the criteria defined on the
property pages for linearity, circularity, and programmed speed. Roboguide uses these
settings and automatically eliminates points such that the resulting program is within
the parameters specified.
Controlling output program parameters being generated
When generating programs the output program name, robot group to generate with,
UFRAME and UTOOL to be used can be defined on a property page.
Controlling Program settings
General program speed and program flow must be defined for programs. A program should
include approach and retract distances with associated speeds and motion types. Motion
parameters for generated positions along a feature must be defined to meet the process
needs. Different robot processes require different process control capability, and the ability
to call programs while generating programs must be allowed so that additional editing of
generated programs can be minimized.
Roboguide provides fields to control these parameters on the Feature and Segment Prog
Settings property page.
Default control of positions being generated
There are several factors that effect how position location and orientation should be
generated.
• Tooling axis alignment to the feature and its segments: For example, it may be
desirable to have the tooling +Y vector follow along the feature.
• Orientation tracking along a feature and its segments. In some cases, it is desirable
to have a tool vector track the feature . This is required when precise alignment of the
tooling relative to the part is required (cutting). In some cases, the precise orientation of
the end of arm tool relative to the feature is not as critical (deburring) .
• Desired robot configuration: a robot can generally reach a position with different arm
configurations.
• Desired motion types: the types of motions being created is defined by the feature
that is used to generate programs. If a feature has many linear pieces it is desirable to
reduce the number of positions using linear motions. If arcs are present it is desirable to
have circular motion control.
The default position generation settings are defined on the Feature and Segment Pos
Roboguide Menus
65
Defaults property page.
Fine control of positions being generated
Once a feature and its programs have been generated it may be necessary to offset
positions either by translation or rotation about the feature. Examples include, work angle
for arc welding or deburring angle for a removal application. There are multiple references
that may be desirable based upon the application and the parts being used:
• Relative to a reference surface: the position is offset relative to the surface that was
used to define the feature. Translations and rotations are relative the surface used to
generated the feature.f
• The normal relative to the normal itself: when this is chosen the position is offset
relative to the normal itself. Translations are relative to the surface used to generate the
feature and rotations are relative to the normal vector
When performing both translation and rotation on positions it is important to specify
whether the translation is done first or the rotation is done first. The results are different
based upon is chosen.
The Fine control generation settings are defined on the Feature and Segment Pos Offsets
property page.
3.1 PalletPRO Menus
PalletPRO menus are customized for the PalletPRO process. The following lists by Main
menu category additional menu items added by PalletPRO. For the core menus see
Roboguide menus.
· File_Menu
o Download
· Edit
o Same as Roboguide menus
· View
o Same as Roboguide menus
· Cell
o Add Part is removed
o Add Fixture : PalletPRO has specific fixtures targeted for palletizing.
o Add Unit load: available only in PalletPRO. Adds a unit load to the
workcell. For more information see About Pallet Unit Loads
o Gripper setup: used for end of arm tooling configuration.
o Pallet System Setup
· Robot
o Open/Close Hand is removed
· Teach
o Add Simulation Program is removed.
o Add TP Program
Roboguide Menus
· Test-Run
· Tools
· Help
66
o Load TP Program
o Draw Part Features is removed.
o Teach Program is removed.
o Program Properties is removed.
o Teach perch position
o Teach maintenance position
o Run Panel
o Run Options: allows options available on the run panel to be modified from
the main menu.
o Profiler is removed
o Duty Estimation
o Production data
o Cycle start
o Same as Roboguide menus
o Same as Roboguide menus
Working with the PalletPRO fixture property pages
PalletPRO has unique fixture objects. Each have unique properties that you can define
through PalletPRO. These include:
• Infeeds
• Pallets
• Slip Sheet dispensers
Using the Infeed Fixture Property Tabs
Infeed fixtures have general Roboguide fixture properties and Palletizing Infeed unique
properties. General properties include location, CAD file, and color. Palletizing properties
include defining orientation, simulation parameters, and other pallet specific properties.
Related Topics:
Working with the Infeed Fixture General Property tab
Working with the Infeed Fixture Infeed Property tab
Roboguide Menus
Using the Fixture General tab
The General Tab of the Fixture Properties page provides fields to edit general obstacle
properties. These fields include:
• Name: enter the name you want for the fixture.
• CAD File: defines the CAD file used for this fixture.
• Visible: if checked you can see the fixture. When you change the state of the field,
you must press Apply for the action to take place.
• Type: set by Roboguide. This is a primitive entity of Box, Cylinder, Sphere, or CAD
image.
• Color: allows you to change the color of primitive objects.
• Wire Frame: when enabled the object is shown as wireframe
• Transparency slider bar: controls the transparency of the object.
• Location: defines the location of the fixture relative to the 3D ChuiWORLD zero
reference position.
• Size: defines the parametric values for primitive objects.
• Scale: defines the scale parameters for CAD type objects.
• Show robot collisions: when checked this fixture is checked for collisions with
robots in the workcell.
• Lock All Location Values: when checked, locks all of the location values for the
fixture.
67
68
Roboguide Menus
Working with the Infeed Fixture Infeed Property tab
The infeed fixture Infeed property tab has fields to define various infeed properties.
• Infeed Properties
o Number: defines the infeed number that PalletPRO uses when running a
simulation. You should not have to change this number.
o Transit delay: defines the delay time PalletPRO uses before releasing a
unit from the infeed queue to the robot. For more detail on how PalletPRO
controls unit flow click here.
• Teach Aid
o Orientation defines what side of the conveyor that parts are presented to
the robot, and is also known as the origin of the infeed. It also defines how
the X direction of the UTOOL lines up with the infeed.
When you select an orientation a flat box with an arrow appears on the
infeed (). , the station origin must be in the corner of the conveyor where the
unit will be when it is picked up. The conveyor will place the units in a
specific corner of the conveyor. Locate the station origin in the corner where
the robot will find the units
PalletTool uses a standard teach plate to define the origin. PalletPRO can
automatically determine the proper station origin since it has knowledge of
the workcell and where objects are located. You must select which side of
the conveyor you want the origin to be on which defines the origin to
PalletPRO and PalletTool.
For infeed stations, the station origin must be in the corner of the conveyor
where the unit will be when it is picked up. The conveyor will place the units
in a specific corner of the conveyor. Locate the station origin in the corner
where the robot will find the units
 Length on length:.Parts are received on the right side of the
conveyor. Called length on length because the arrow on the
PalletTool teach plate is along the length of the conveyor. The X
direction of the UTOOL is along the length infeed.
 Width on length: Parts are received on the left side of the
conveyor. Called width on length because the arrow on the
PalletTool teach plate is along the width of the conveyor. The X
direction of the UTOOL is along the width of the infeed.
69
Roboguide Menus
For further information on origins and orientation click here.
o X offset, Y offset: specifies the distance to shift the origin of the infeed
along the length of the infeed station. Infeed offset (length) and (width) are
typically used when the robot cannot reach the corner of the infeed in order
to teach the origin. Since PalletPRO has knowledge of the workcell and
automatically determines the origin, it may not be necessary to set the offset
values.
o Move To: select this to move the robot to the origin position created by
PalletPRO.
• Infeed IO
o Maximum Parts: defines the maximum number of units that can be
queued on the conveyor.
o Part Orientation DO: signals PalletTool what orientation the next unit will
be. Not used by PalletPRO.
o Part Present DI : signals if a part is present
o Part Request DO: requests a part from the conveyor
About defining and teaching stations
When you set up PalletTool/ PalletPRO you must teach/ define the stations for your
application. A station is the area where the robot picks up or places units. When you teach
a station you determine where the pallet or conveyor will be by locating it in your workcell,
and then define on the station property page information that PalletPRO uses to calculate
the location of each station and the position of each unit.
When you teach the stations you
• Decide the station location by locating it in your workcell
• Locate the station origin by defining the orientation on the respective stations
property pages.
PalletTool/ PalletPRO uses two kinds of stations:
70
Roboguide Menus
• Pallet station, which is the area where the unit load is located.
• Infeed station, which is the area at the end of the conveyor where the robot picks up
units for palletizing or places units for depalletizing.
The figure below shows standard layouts for single infeed, single pallet station workcell
configurations with recommended locations for infeed stations and pallet stations, and
example fixture plate locations. These workcells could use a single slip sheet station.
Standard Workcell Layouts - Single Infeed, Single Pallet
The figure below shows a standard layout for a double infeed, double pallet station workcell
configuration. This workcell could use two slip sheet stations.
Standard Workcell Layout - Double Infeed, Double Pallet
Station Location and Origin
The location of the infeed and pallet stations is determined by the requirements of your
installation.
If your unit loads require slip sheets or pallet handling , you must also plan where to
locate the slip sheets and pallets so that the robot can reach them, and they do not
interfere with the application.
Station Origin
The station origin is the corner of the station closest to where you teach P1 using the fixture
plate. PalletPRO automatically determines location based upon how properties are set.
For infeed stations, the station origin must be in the corner of the conveyor where the unit
will be when it is picked up. The conveyor will place the units in a specific corner of the
conveyor. Locate the station origin in the corner where the robot will find the units.
Fixture Plate Orientation for Infeed Stations
Infeed offset (length/width) specifies the distance to shift the origin of the infeed along the
length of the infeed station. Infeed offset (length) and (width) are typically used when the
robot cannot reach the corner of the infeed in order to teach the origin. Since PalletPRO
has knowledge of the workcell and automatically determines the origin, it may not be
necessary to set the offset values.
For pallet stations, FANUC Robotics recommends that you select the station origin to
optimize cycle time and prevent collision of the units during palletizing. This will generally
be at one of the two corners farthest from the infeed. If the robot cannot reach the corner,
you can place the origin somewhere other than the corner of the pallet, then use pallet
offset information under Pallet Station setup.
71
Roboguide Menus
When the fixture plate is positioned correctly for pallet stations, P1 will be in the corner
where PalletTool will place the first unit. P2 will lie along the build direction of the pallet
station (or the arrow of the fixture plate). The build direction is the direction in which
PalletTool will build the unit load. It is also the direction in which the arrow of the fixture
plate points.
The orientation of the fixture plate also determines the positive and negative directions for
the pallet approach length and the pallet approach width. The pallet approach length and
width are values that can be adjusted to optimize how the robot places units on the pallet.
See the following figure for examples of how the positive and negative values are affected
by the fixture plate orientation.
Fixture Plate Orientation for Pallet Stations
Pallet offset (length/width) specifies the distance to shift the origin of the pallet, along the
length/width of the pallet station. Pallet offset (Length) and (Width) are typically used when
the robot cannot reach the corner of the pallet in order to teach the origin. In this case,
teach the station origin on the pallet, in a location where the robot can reach it. . Since
PalletPRO has knowledge of the workcell and automatically determines the origin, it may
not be necessary to set the offset values.
About controlling infeed rates with PalletPRO
The rate at which units are delivered to the robot on an infeed is controlled with several
parameters within PalletPRO. The factors that control this include:
• Infeed Transit Delay (found on the Infeed's Infeed property tab): defines the delay
time PalletPRO uses before releasing a unit from the infeed queue to the robot. This
assumes there are boxes in the queue to be released. Boxes in the queue are
controlled by the case rate of the unit load.
• Maximum Parts: (found on the Infeed’s Infeed property tab). defines the maximum
number of units that can be queued on the conveyor.
• Case Rate: (found on the unit load dialog under palletizing parameters): controls the
rate at which units are fed to the infeed queue. This is the key value to calculate
throughput during simulation.
You adjust these parameters for multiple purposes:
Quality of throughput calculations: the key parameter is the Case Rate defined as part
of the unit load. This value provides the throughput assumptions from the real system
Quality of visualization: setting the Infeed transit delay to a low value will allow for the
boxes to stack up on the conveyor. This may or may not be desirable. Increasing this value
can make the visualization appear as more of a "flow" of units on the conveyor. Too high a
Roboguide Menus
72
number and you may "starve" the infeed at the pickup point. For proper throughput
calculations you must make sure that setting this value does not "starve" the conveyor at
the pickup point. Maximum parts value can be adjusted to show "stackup" on the infeed
queue. If the value is one then you see little part queuing. If the number is 6 (max) you can
see up to 6 parts queued on the infeed.
Using the Pallet Fixture Property tabs
Pallet fixtures have general Roboguide fixture properties and Palletizing pallet unique
properties. General properties include location, CAD file, and color. Palletizing properties
include defining orientation, simulation parameters (pallet index time), pallet positions, and
other pallet specific properties.
It is critical to correctly configure your pallet for proper Palletizing simulation.
Related Topics:
Working with the Infeed Fixture General Property tab
Working with the Pallet Fixture Pallet Property Page
Working with the Pallet Fixture Pallet Positions Property Page
Using the Fixture General tab
The General Tab of the Fixture Properties page provides fields to edit general obstacle
properties. These fields include:
• Name: enter the name you want for the fixture.
• CAD File: defines the CAD file used for this fixture.
• Visible: if checked you can see the fixture. When you change the state of the field,
you must press Apply for the action to take place.
• Type: set by Roboguide. This is a primitive entity of Box, Cylinder, Sphere, or CAD
image.
• Color: allows you to change the color of primitive objects.
• Wire Frame: when enabled the object is shown as wireframe
• Transparency slider bar: controls the transparency of the object.
• Location: defines the location of the fixture relative to the 3D ChuiWORLD zero
reference position.
Roboguide Menus
73
• Size: defines the parametric values for primitive objects.
• Scale: defines the scale parameters for CAD type objects.
• Show robot collisions: when checked this fixture is checked for collisions with
robots in the workcell.
• Lock All Location Values: when checked, locks all of the location values for the
fixture.
Working with the Pallet Fixture Pallet Property Page
The Pallet fixture pallet property page has fields to configure the pallet in your PalletPRO
workcell. Fields include:
• Pallet properties
o Number: is the Pallet ID number used by PalletTool.
o Index Time: is the time used to determine the delay between when a
Pallet is full to when a new pallet is put into the workcell. This delay is used
for simulation purposes.
• Teach Aid
o Orientation: defines the origin of the pallet for palletizing. It also defines
how the X direction of the UTOOL lines up with the pallet. FANUC Robotics
recommends that you select the station origin to optimize cycle time and
prevent collision of the units during palletizing. This will generally be at one
of the two corners farthest from the infeed. If the robot cannot reach the
corner, you can place the origin somewhere other than the corner of the
pallet, then use pallet offset information under Pallet Station setup.
When you select an orientation a flat box with an arrow appears on the
pallet (). The arrow lies along the build direction of the pallet station (or the
arrow of the fixture plate). The build direction is the direction in which
PalletTool will build the unit load. It is also the direction in which the arrow of
the fixture plate points.
The orientation of the fixture plate also determines the positive and negative
directions for the pallet approach length and the pallet approach width. The
pallet approach length and width are values that can be adjusted to optimize
how the robot places units on the pallet.
74
Roboguide Menus
The orientation selection on the Pallet Tab provide the following definitions
for the pallet.
 Length on Length. The arrow is along the length of the pallet
and defines the X direction of the UTOOL to be along the length
of the pallet.
 Width on Length. The arrow is along the width of the pallet and
defines the X direction of the UTOOL to be along the length of
the pallet.
o X offset, Y offset: specifies the distance to shift the origin of the pallet
station along the length of the pallet station. Pallet offset (length) and (width)
are typically used when the robot cannot reach the corner of the infeed in
order to teach the origin. Since PalletPRO has knowledge of the workcell
and automatically determines the origin, it may not be necessary to set the
offset values.
o Move To: select this to move the robot to the origin position created by
PalletPRO.
• Pallet IO
o Pallet Present DI: Is the IO point used to detect that a pallet is present.
o Pallet Index DO: Is the IO point used to signal a pallet index.
Working with the Pallet Fixture Pallet Positions Property Page
The Pallet Fixture pallet positions property page is used to teach special positions specific
to a pallet. Positions include:
• Slip Sheet Position: the slip sheet position is the initial drop location for a slip sheet.
Generally, for PalletPRO, this is the surface of the pallet at the center of the pallet.
PalletPRO automatically generates this position when the pallet is put in the workcell.
o If you move the pallet, PalletPRO automatically updates the position to be
the center of the pallet.
o If you move the robot and record a new position this would be the new
slip sheet position.
Roboguide Menus
75
o If you record a new slip sheet position and then move the pallet,
PalletPRO will move the slip sheet position to center of the pallet at the new
location, and maintain the recorded slip sheets z height.
• Diagonal Return position: can be used to decrease cycle time. A diagonal retreat
path can be used when the pallet retreat position is higher than the infeed perch
position.
Using the Slip Sheet Dispenser Fixture property tabs
A slip sheet or tier sheet is a sheet of heavy paper or cardboard that is placed between the
layers of a unit load. Slip sheets provide added load stability, particularly when columnar
patterns are used. Some unit loads are built directly on a slip sheet or tier sheet, instead of
on a pallet.
Slip Sheet Dispenser property pages are provided to define general fixture properties and
slip sheet specific properties. Tabs include:
• General Tab
• Slip Sheet Dispenser Tab
PalletPRO provides slip sheet dispenser fixtures to enable slip sheet simulation. PalletPRO
automatically calculates key Slip sheet positions (search start and search end) because it
has knowledge of the slip sheet dispenser in the workcell.
If your unit loads require slip sheets, you must
• Enter complete layer spacing information during Unit Load Setup, for each unit load
that uses slip sheets.
• Position the slip sheet magazine (container holding slip sheets) properly in the
workcell.
• Record the position registers used by the slip sheet program. Slip sheet search
attempt information will automatically be calculated from the position register
information PalletPRO initializes this value, but you can change it.
76
Roboguide Menus
About the PalletPRO Upload dialog
PalletPRO provides an Upload menu under the main File menu to read all palletizing data
from a backup directory, a networked robot or from the virtual controller in PalletPRO, and
update the 3-D simulation world in PalletPRO.
Why is this feature needed?
This feature allows you to synchronize your production workcell with the PalletPRO
simulation workcell. Many users first use PalletPRO to test/validate their application as
close to the real world conditions as possible. Then all data is downloaded to the real
production robot. While running with the real robot, users tweak fixture locations, unitload
data and I/O points. It is a great advantage to be able to import or upload all the data back
to PalletPRO so that the real-world and simulation world scenarios are exactly the same.
With the Upload menu in PalletPRO, the slip sheet dispenser, pallet dispenser, infeeds and
pallets can be re-located exactly where they were relative to the robot in the real world. If
you made changes to unitloads in the real robot, they would be imported into PalletPRO.
The following data are imported into PalletPRO:
Data File Read
PMINFxxx.VR
PMSTAxxx.VR
POSREG.VR
Description
Infeed data
PalletPRO allows maximum
4 infeeds to be refreshed.
Pallet data
PalletPRO allows maximum
4 pallets to be refreshed.
Data will be reset in the pallet
station file for "Pallet index
time".
Perch Position, Maintenance
Position, Slip Sheet
Positions, Pallet Dispenser
Positions
PMGRIPDT.VR
Gripper Data
PMPSYSDT.VR
PalletSystem Data
PMULxxx.VR
Comment
Unitload data
If the pallet dispenser and
slip sheet dispenser position
registers are uninitialized,
then it is assumed that they
are not used and PalletPRO
will not create/display these
fixtures.
Data will be reset in the
unitload for:
Case Rate, Customer Name,
Measurement System (always
77
Roboguide Menus
mm), Skin image.
DIOCFGSV.IO
I/O data
Configures virtual controller in
PalletPRO to be the same as
the real robot.
Description of Features:
Upload From: The combo box allows you to select the "Upload source". The choices are 1)
Workcell Robot Controller 2) Networked Robot 3) Backup Directory.
Workcell Robot Controller refers to the virtual robot controller in PalletPRO.
Networked robot refers to any FANUC robot on a network, which has an assigned IP
address. Backup Directory refers to a directory on your PC or on the network that
contains a backup (from File -> Backup All" from the teach pendant) of a real robot.
Browse: The Browse button is disabled when the Upload From (source) is Workcell
Robot Controller. This command button allows you to open a file dialog as shown
below, to navigate to a backup directory on your PC or a networked PC when the Upload
From (source) is Backup directory. Highlight the backup directory and then click on ok.
If the Upload From (source) is Networked Robot, Browse will open a "Robot Network"
dialog as shown below. Users can add/delete Robot IP addresses here. To add a robot,
type the network name or the IP address of the robot in the Robot Name/IP text box, and
then click on Add Robot. The item will be added to the List of Robots list box. If you wish to
delete an item, select it in the List of Robots list box and then click on the Del Robot button.
The selected robot for upload operations will be the one that is highlighted in the List of
Robots list box.
Files To Upload: The list box is populated with the files that are uploadable from either the
workcell robot, the networked robot or the backup directory depending on
the selection in the Upload From combo. You can use Ctrl and SHIFT buttons on your
keyboard while clicking with the mouse to select multiple items.
DeleteFrom PalletPRO items that are not found in the Upload Source checkbox: While
uploading data, if you wish to delete from PalletPRO, infeeds, pallets, unitloads, slip sheet
dispenser or pallet dispenser that were not found in the backup directory, workcell robot or
the networked robot, you must check this box.
Backup data in Virtual Controller before Uploading checkbox: If you check this box, then
before performing an Upload, PalletPRO will backup the data that exists on the Workcell
Robot Controller to the "PalletBackup" directory which will be located in your Workcell
directory. If for any reason, the Upload failed, you can restore this backup and try the
Upload again to go back to your old settings. If you do choose to backup data, this might
take a long time depending upon how many unitloads you have in your workcell.
Roboguide Menus
78
Status Combo: The status of the upload operations or error messages will be stored in this
combo. The combo continuously lists the last 100 status messages.
Upload: This button performs the actual uploading of the files and refresh of the 3-D world.
Upload is performed only for the selected files in the Files to Upload list box. If the Delete
check box is checked, then it deletes the orphan elements in PalletPRO. A progress bar
will be displayed in the 3-D world during the Upload operation. When the process is
complete, a file called "Upload.log" is created in the workcell directory that stores useful
information about the Upload steps – conflicts that PalletPRO encountered, skipping files
where it was uncertain, things that it changed, etc.
PROCEDURAL RECOMMENDATIONS FOR UPLOAD
• If the robot is on a riser, first raise the robot to the appropriate height from the
Location control Z value of the Robot General property page. Then do the Upload. You
need to do this because the data in the Backup directory on the robot controller does
not contain the data for the riser height. If it is not done before invoking the Upload
procedure, then all the positions uploaded are likely to be offset by the riser height. This
will make many positions not reachable.
If you forgot to set the Z height in the robot property page, then fortunately, it is still
quite simple to recover. Set the Z height in the robot property page and then repeat the
upload procedure. Now all your positions will be correct.
• If your infeed stations have a Scale Y other than 1 (you have narrower or wider
infeeds than the standard), then first create that infeed station and set its Scale Y
correctly before invoking the Upload procedure. Failing to do so, will create the infeed
at an incorrect location. The reason you must do this is that Scale information does not
exist in the backup or controller data.
• If you have Pallet stations that are taught "Width on Length", then Upload may not
draw your pallet at the proper location, unless you follow the following procedure.
o Insert as many pallet stations as you need into the workcell. Their actual
location is not important since they would be updated by "Upload" later.
o Create a different unitload to run on each of the pallets. Decide which
unitload is going to run on which pallet station. Once you decide that, enter
the value of the pallet dimensions in the appropriate unitload. Then run
simulation (Press the play button). As soon as the robot goes to perch
position and as soon as you see the "Begin Palletizing" message at the
bottom of the screen, abort simulation. You will note that in the 3-D world,
each pallet station contains a pallet of the size you wish to run there.
Roboguide Menus
79
o Now run the Upload procedure.
o This procedure must be followed for pallet stations which are taught
width on length and which will run pallets whose width dimension is not the
same as 40 inches or 1016 mm. If the pallet is taught length on length, then
this procedure is not necessary. If the pallet is taught width on length but the
width dimension is 40 inches or 1016 mm, then this procedure is not
necessary.
Notes & Limitations for Upload
1. There is no UNDO for Upload. Please save your workcell before invoking Upload. If
after the Upload, you wish to revert to your items in PalletPRO, exit the workcell without
saving and then re-open it. Also, remember that you might have a valid backup of
virtual controller data in the "PalletBackup" directory under your workcell directory.
2. At the completion of the Upload, a filed called "Upload.log" is created in your
workcell directory. You should get into the habit of reviewing this file after an Upload.
3. When you do a workcell Save, the data for Upload From (source), Upload Path and
the selected Robot in Robot Network are saved in the PalletPRO workcell. These
settings will be restored when you re-open the workcell.
4. Upload will update any infeed, pallet, slip sheet dispenser, pallet dispenser or
unitload in PalletPRO when it finds matching items in both PalletPRO and the Upload
From source. If an item in the Upload source is not found in PalletPRO, it will be
created in PalletPRO. For example, if you have Unitload number 610 in the Upload
Source and not in PalletPRO, a new UL610 is created in PalletPRO. When a new
Unitload, infeed or pallet station is created in PalletPRO, it will utilize all the data that
was found on the controller. However, certain items will be unique to PalletPRO such
as the Case Rate in the unitload menu or the pallet index time in the Pallet menu. For
such items, default values will be used.
5. If the "Delete checkbox" is checked, items in PalletPRO that were not found in the
Upload source will be deleted. For example, if UL620 did not exist in the Upload source
but was found in PalletPRO, it will be deleted. If the "Delete checkbox" is not checked,
this deletion of orphan elements in PalletPRO will not be performed.
6. Upload does not use TP programs and System variables If you wish to update
PalletPRO with these items, you must manually copy them from the real robot to the
virtual robot in PalletPRO. The reason PalletPRO does not automatically do this is
because your custom programs may contain I/O logic that will prevent simulation from
running or which may need to be simulated manually using the virtual teach pendant.
Roboguide Menus
80
So, you must do this manually and either jump over or delete lines that might prevent
simulation from running such as waiting for an Input that PalletPRO does not recognize.
7. You are expected to upload the proper version of the files to PalletPRO. For
example, if you have a PalletPRO workcell with a V6.31 virtual robot containing
PalletTool Turbo, you must upload files from a real controller that contains V6.31
version and PalletTool Turbo. If you fail to match versions in the real and simulated
robots, your upload will fail and/or the PalletPRO workcell will stop working.
8. Upload function is available only when the PalletPRO workcell is not running.
9. Always verify your data after the Upload.
PalletPRO supports uploading data from many versions – primarily from V5.30-3 to the
latest 6.40-1 versions. Between these versions, there were many changes to the
various data files (VR files). PalletPRO knows about the changes and handles them.
However, in handling them, sometimes it has to infer or assume certain pieces of data
required by PalletPRO that are not directly available in the VR files.
Users must be aware of this and check and rectify data, if necessary. One example is
that the Number of cases of a multi-case gripper is not saved in the Unitload VR files.
While Uploading data, PalletPRO infers the number of cases by counting the number of
units in each row of the "Configure cycle" data. However, users can assign less than
the maximum number of cases to each row and PalletPRO might conclude that the
multi-case gripper has only 4 cases whereas in reality it had 5. This is not a problem
except that when you open the unitload in PalletPRO, you will get a warning and a
choice to either reset the data or not reset it. You should always choose not to reset the
data.
If uploading data from a V5.30 source, then please note that PalletPRO does not
support custom grippers. So, if your unitload contains custom grippers, you need to
check and correct your data.
Another example is Upload of gripper data. The I/O configurations in the
PMGRIPDT.VR file might not match the I/O configuration in PalletPRO and this might
generate "Write I/O failed" errors.
Third, some features such as "Pallet picking" are not supported for certain controller
versions such as V5.30 or V6.22. In such a case, the robot will not pickup the actual
pallet but it will go through its motions.
Fourth, if the I/O assignments for each case of single, double, triple and multi-case
grippers are not the same, then box flow on the infeed conveyor will stop or appear to
not maintain the specified case rate.
You may need to uninitialize the pallet search end and slip sheet search end positions if
you do not really have a pallet or slip sheet dispenser in the cell.
81
Roboguide Menus
If not all the I/O points are assigned to the infeed, then PalletPRO will display error
messages indicating that.
10. If you wish to load all the TP programs also, we suggest that you first run it with
standard PalletTool or Turbo and then phase in your loads. Otherwise, due to custom
logic and special I/O you put into the programs, PalletPRO might not run properly or
worse yet, lock up.
To download files from PalletPRO to a robot using ethernet
This procedure details the process to download unit load data from PalletPRO to a robot
controller using an Ethernet connection. For detailed information about setting up Ethernet
on the robot controller, reference robot controller documentation.
To download files from PalletPRO to a robot using ethernet
1. Setup the controller for Ethernet communications. Refer to the robot communications
manuals for details.
After setup you should know the controller’s IP address and name (if setup). You will need
this information.
Ensure that the robot is communicating with the PC through Ethernet. The following presents
a summary of setup.
If you are using Ethernet Download, then you will need to setup FTP (Host Comm) on the
robot controller. Please make sure to set the following items in the Menus - > Setup - > Host
Comm ->
TCP/IP Details:
SETUP\Host\Comm\\\\\\\\\\\\\\\USER\\10\%
TCP/IP 1/31
Node name: \\\\\\\\\PDEROB028
Router name: R32
Board address: 00:E0:E4:F7:94:1D
Subnet Mask: 255.255.240.0
Host Name (LOCAL) Internet Address
1 PDEROB028 172.22.194.28
2 R32 172.22.192.1
3 ********** ******************
4 ********** ******************
2. Ensure that PalletTool is setup for Ethernet communications.
3. From PalletPRO, select from the main menu File / Download.
4. Ensure that the desired download file(s) is in the Download From box. If not, browse to
the PC directory that contains the desired files. PRO software places all workcell files in the
My Workcells directory of your user profile.
Roboguide Menus
82
5. Select the desired files to download.
File types and names include:
o Unitload data files – PMULxxx.DT
o Infeed Station files – PMINFxxx.DT
o Pallet Station files – PMSTAxxx.DT
o Gripper data file – PMGRIPDT.DT
o PalletStation data file – PMPSYSDT.DT
6. If the robot is not in the Download To: list enter the desired robot name or IP address into
the Add Robot box, and press Add Robot.
The robot entry should appear in the Download To: box.
7. Select the desired robot(s) to download the selected file(s) to.
8. Press the Download button.
Files should download with messages posted to the status box. The status box is a
dropdown so multiple messages may be viewed.
Note: if the robot controller is setup for a file download method of serial, the files will be
copied to the controller’s RD: directory. When the file download method is changed to
Ethernet the unit load files are loaded automatically.
To download files from PalletPRO to a robot using serial
This procedure details the process to download unit load data from PalletPRO to a robot
controller using a serial connection. When you download files using a serial connection,
you will actually be pulling the files from the teach pendant of the real robot.
To download files from PalletPRO to a robot using serial
1. Setup the controller for Serial communications. Refer to the robot manuals for
details.
Ensure that PalletTool is setup for Serial communications.
2. From PalletPRO, select from the main menu File / Download.
3. Select serial for Type of Connection.
4. Press Download. A DOS window will open.
5. Go to the robot teach pendant to copy files to the controller.
Select Menus / File / Type / PC-Robot. After ensuring the serial connection is valid, press
Done.
The PC-Robot menu will list all the files as shown below (this may take some time):
GET_KEY LINE 259 PAUSED
FILE\PC\To\Robot\\\\\\\\\\\\\\USER\\10\%
Roboguide Menus
FLPY:\PMUL*.DT 1/5
ITEM UNIT LOAD FILE
\\1 PMGRIPDT
2 PMINF001
3 PMPSYSDT
4 PMSTA001
5 PMUL001
[ TYPE ]TRANSFER HELP
Select the file you wish to download and press the TRANSFER key.
File types and names include:
o Unitload data files – PMULxxx.DT
o Infeed Station files – PMINFxxx.DT
o Pallet Station files – PMSTAxxx.DT
o Gripper data file – PMGRIPDT.DT
o PalletStation data file – PMPSYSDT.DT
6. When you are done downloading, press the ENTER key in the Kfloppy DOS window in
PalletPRO to dismiss it.
83
Using the 3D World
84
4 Using the 3D World
4.1 Navigating the 3D CHUIWorld
Roboguide provides several ways to control the present view in the 3D World. 3D world
manipulation includes:
• Zooming the view
• Panning the view
• Rotating the view
Zooming the view
To zoom the 3D World:
Using the mouse
To zoom in:
1. Press and hold the left and right mouse buttons
2. Move the mouse up
To zoom out:
1. Press and hold the left and right mouse buttons
2. Move the mouse down
If you have a mouse that has a wheel and button:
1. Turn the center wheel of the mouse. One direction zooms in and the other direction
zooms out.
Using the toolbar
There are 2 zoom features on the toolbar.
To fill the view with a boxed selection:
1. Select the Zoom Window Icon on the toolbar (). The cursor changes to select a
zoom window ()
Using the 3D World
85
2. Press the left mouse button and drag the mouse to make a window that you want to
fill the screen.
3. Release the left mouse button,
The screen is filled with your selection
To zoom in from the current viewpoint:
1. Click the + zoom button () on the toolbar with the left mouse button
To zoom out from the current viewpoint:
1. Click the - zoom button () on the toolbar with the left mouse button
Using the menus
To zoom in:
1. Select from the menu system – View , 3D World, Zoom-In
To zoom out:
1. Select from the menu system – View , 3D World, Zoom-Out
Panning the view
To pan the 3D World
You use the mouse to pan the 3D world.
1. Press and hold the CTRL keyboard key
2. Press and hold the right mouse button
3. Drag the mouse to pan the field of view
4. Release the left mouse button to stop panning mode
Using the 3D World
86
If you have a mouse that has a wheel and button:
2. Press and hold down on the center button
3. Drag the mouse to pan the field of view
4. Release the center mouse button to stop panning mode
Rotating the view
To rotate the view
The field of view will rotate about the currently selected objects frame of reference.
1. Select the object with which you want to rotate the view about.
2. Press and hold the right mouse button
3. Drag the mouse. You will see the world rotate.
4. Release the right mouse button to stop rotation mode.
4.2 Viewing modes
View modes
Roboguide has different viewing modes:
• Normal view: this is the default viewing mode in CHUIWorld.
• Wire frame mode: all objects are viewed in wire frame. To enable wireframe select
Wire-frame from the main menu View / Wire-Frame or from the toolbar icon wire-frame
toggle button ().
• Perspective view: the workcell is viewed in perspective view. To select perspective
view select Perspective from the main menu View / Perspective.
Using the 3D World
87
3D CHUIWorld
Roboguide simulation software’s working environment is centered around a 3D virtual
robot world. CHUI designates the new developing Robot CH User Interface standard for 3D
world environments. It is a highly optimized graphics environment developed by industry
experts targeted for use in Robotic simulation systems.
The world view can be manipulated with mouse and keyboard commands.
Using the Navigation Tips Screen in the 3D CHUIWorld
Navigation of the 3D CHUIWorld is done through mouse commands and combinations of
keyboard and mouse commands. Roboguide provides a tips window to help you learn and
remember CHUIWorld navigation methods.
To turn on/off the navigation tips on the 3D CHUIWorld using the toolbar
1. Press the Navigation Tips Toolbar icon () to show / hide the navigation tips window.
To turn on/off the navigation tips on the 3D CHUIWorld using the menus
1. Select Mouse Commands from the View menu.
About the CHUIWorld View Plane
The 3D CHUIWorld view plane is what your eye currently sees in the 3D World locked at the
objects reference frame for depth.
For example, assume you have chosen the robot as the desired object, and its located at the
0 point of the world. If you view from directly in front of the robot, the view plane is the robot
worlds Y – Z Plane locked at the World X for depth.
The best way to understand the View plane is to jog the robot using View plane jogging.
About collision detection in 3D CHUIWorld
Collision detection is enabled by default whenever you operate in 3D CHUIWorld. Collision
detection can be disabled on the Run Panel while running a simulation.
As the robot moves while jogging or through a simulation, the robot, its end of arm tooling,
and, if present, parts in the end of arm tooling are checked for collisions with objects in the
workcell. When a collision occurs the robot and the object it collides with change color.
Jogging the robot
88
5 Jogging the robot
Jogging the robot
In PRO Software, the robot acts like a real robot. If you try to jog to an unreachable position
it gives the same errors as a real robot. You can jog the robot with traditional Teach
Pendant buttons using the Virtual Teach Pendant. PRO Software also provides a teach/ jog
tool which allows you to "drag" the robot around the work envelope
There are multiple ways to jog the robot.
• Jogging using the teach tool
• Jog using the virtual teach pendant
About the teach pendant jog panel
The teach pendant jog panel provides a toolbar to quickly modify the jogging frame of the
robot. If options are loaded on the controller (RTCP, WristJoint, coordinated motion)
additional buttons are added.
Changing the jog coordinate frame using this toolbar effects the Virtual teach pendant robot
jog and how the teach tool operates.
• Virtual Robot Jogging: changes the jog coordinate frame
• Teach tool operation: changes the view of the teach ball triad. The teach ball triad is
displayed in the selected jogging coordinate frame
Jog modifiers are available for different types of motion including Wrist joint, and Remote
TCP.
There are two frames on the jog panel toolbar:
• Coord type: lists available coordinate jog types. This sets the Coord on the virtual
robot.
• Teach tool motion: you can select either Joint or Linear motion. The selected motion
is they type of motion that is executed when the teach tool ball is used to move the
robot.
Jogging the robot
89
About jog coordinate frames
PRO Software Virtual Teach Pendant supports the following jogging coordinate frames
• Joint: when a jog button is depressed the specified robot joint moves
• User: jogs the robot in a UFRAME.. See Jogging using UFRAMEs for more
information.
• World: when a jog button is depressed the robot moves in the world coordinate
system along the axis selected.
• Tool: when a jog button is depressed the robot moves in the Tool coordinate system
along the axis selected. See Jogging using UTOOL for more detail.
• Wrist Joint: this jog mode is enabled with another Cartesian jog mode (User, World,
or Tool). When the robot moves, the joint axes 4, 5, and 6 are not linear interpolation.
Joint interpolation is used on the minor axes.
• RTCP: this jog mode can be selected with another Cartesian jog frame, and the robot
can be jogged in the RTCP frame.
• Coord Jog: this jog mode is used with coordinated frames. The leader group is
moved, and follower groups are coordinated with the leader group in the define
coordinated motion frame. For more information, see controller documentation on
coordinated motion.
Enabling and disabling the teach pendant jog panel
To view/ hide the jog panel
From the toolbar
1. Click the show jog panel toolbar icon () with the left mouse button
The toolbar icon acts as a toggle to show and hide the jog panel
Jogging the robot
90
Changing the robot speed override
To change the robot speed override from the teach pendant
1. Open the virtual Teach Pendant
2. Press the speed override up/ down buttons
To change the robot speed override from the Speed override toolbar
1. Press the speed override toolbar button ()
2. Slide the speed override slide bar to the desired speed override
Jogging using UFRAMEs
On the Virtual Teach Pendant or the pop up Coord system toolbar you can select what jog
coordinates with which to jog. If UFRAME is selected the robot will jog in the UFRAME that
the currently selected for the robot in the cell browser.
Jogging using UTOOL
On the On the Virtual Teach Pendant or the pop up coord system toolbar you can select
what jog coordinates with which to jog. If Tool is selected the robot will jog in the UTOOL
coordinate system that is currently selected in the cell browser / Robot Controllers / Robot /
GP:1 <robot type> / Tooling category.
The currently selected Tooling can be set in multiple ways:
• When a program is selected from the cell browser, Roboguide sets the Utool to the
value defined by the programs UTool Used property
• When a Tooling EOAT is selected from the cell browser, Roboguide sets the Utool to
the EOAT Tool Center Point defined on the EOAT Property Page / Tool Center Point
tab.
Jogging the robot
91
Selecting the teach tool
To select the teach tool using the toolbar or 3D World
Select the teach tool by either clicking on the end of arm tooling or clicking on the teach
tool icon on the toolbar ().
Note: when you use the teach tool select toolbar button the teach tool ball is locked with a
jog coordinate system. This makes it less easy to select other objects in the workcell.
To release the lock:
• Double click on some other object in the workcell
• Release the lock by pressing the teach tool toolbar button
Move Retry - Automatic tool orientation adjust while jogging
When jogging the robot with the teach tool it is common to move the teach ball to an
unreachable position. The position can be unreachable for several reasons. Two common
reasons include:
• Location is out of the reach of the robot
• Orientation is not reachable by the robot
Roboguide provides a move to retry function that is applied when Roboguide is in MoveTo
retry mode. When the mode is enabled, Roboguide will re-calculate the position orientation
that it is attempting to move to and retry the move. A search is continued until either the
position can be moved to or no reachable position is found.
When enabled, Move To retry is used for the following types of moves:
• Teach ball jog
• Surface moves
• Virtual TP current position tab moves
To enable / disable move retry mode
1. Press the Move Retry Toggle button on the toolbar ()
When in this mode and the Move Retry functionality is activated the teach ball will turn
yellow when it reaches the new modified position.
92
Jogging the robot
Jogging using the teach tool
For translation
Along a teach tool coordinate axis:
1. Select the teach tool
2. Put the mouse cursor over the coordinate of the teach tool that you want to move
the robot. The cursor will change to a hand (
).
3. Click the left mouse button and drag the coordinate system triad.
4. Release the mouse button where you want the robot to move to.
5. The robot will move to the position if possible.
Show me an AVI
Along the CHUIWorld view plane
1. Select the teach tool
2. Put the mouse cursor over any coordinate of the teach tool. The cursor will change
to a hand (
).
3. Press and hold down the CTRL Key on the keyboard.
4. Click the left mouse button and drag the coordinate system triad.
5. Release the mouse button where you want the robot to move to.
6. The robot will move to the position if possible.
Show me an AVI
For rotation
1. Select the teach tool
93
Jogging the robot
2. Put the mouse cursor over the coordinate of the teach tool that you want the robot to
move about.. The cursor will change to a hand (
).
3. Press and hold down the shift key.
4. Click the left mouse button and drag mouse. The tool will rotate about the selected
axis.
5. Release the mouse button where you want the robot to move to.
6. The robot will move to the position if possible.
Show me an AVI
Notes:
If the robot cannot physically move to the selected position it will not. The sphere at the
center of the coordinate triad will turn to red.
The motion type used when the teach ball is dragged to move the robot can be set to linear
or joint motion. See About the teach pendant jog panel for more information.
Jogging in a Remote TCP frame
Roboguide provides tools that make jogging in a Remote TCP frame easier. There are
features that make RTCP jogging simpler in Roboguide’s 3D CHUIWorld. It is important to
understand how to jog the robot in the RTCP frame. If there is intent to use CAD to Path for
Remote TCP program generation it is important to understand jogging to help define CAD
to Path properties. For additional information out Remote TCP application see the robot
operations manuals.
Remote TCP Jog Mode
The robot controller provides a remote TCP jogging mode. When enabled, the robot can be
jogged in the remote TCP frame in any Cartesian jog frame. There are two ways to enable
RTCP jog mode:
1. Roboguide’s jog coordinate quickbar (
- on toolbar)
The jog coordinate can be selected. If a non-joint jog mode is selected the robot RTCP
jog modifier is activated. When pressed the RTCP jog mode is enabled
Jogging the robot
94
2. Virtual TP Fctn Menu.
The jog modifier can be selected by pressing the Fctn key on the teach pendant.
When the robot is put into RTCP jog mode, the teach ball available in Roboguide will move
to the remote TCP and be displayed in the selected coordinate jog frame. You can move
the teach ball to jog the robot. The teach ball snaps back to the RTCP when released since
the RTCP is fixed in space.
Jogging the robot in Remote TCP Jog Mode
Jogging in RTCP with the teach ball may seem different at first. You will notice that you
often have to drag the teach ball in the opposite direction of the part to get the part relative
to RTCP as desired.
Figures to show example:
Figure of the Remote TCP frame (UFRAME 1):
Figures that show the teach ball for different settings of jog frame.
It is recommended to view the RTCP jog frame at the RTCP in the UFRAME coord system
for RTCP CAD to Path.
Moving to a CAD surface in Remote TCP Jog Mode
If Remote TCP jog mode is enabled, a surface click move moves the surface point to the
Remote TCP location. This is very useful to move the part on the end of the tooling to the
remote TCP.
Before Ctrl - Shift click:
After Ctrl – Shift Click:
The surface point on the part is moved to the Remote TCP. Alignment is as defined on the
EOAT property page UTOOL Tab except that the defined normal to surface setting on the
UTOOL tab aligns the normal to the surface with the UFRAME axis assigned on the
UTOOL tab.
Jogging the robot
Changing the teach tool size
The size of the teach tool (the green sphere at the robot TCP) can be modified.
To change the teach tool size
1. Open the Virtual TP
2. Select the current position tab at the bottom of the virtual TP
3. Change the teach tool size by changing the value on the slider bar.
As you zoom in and out in the workcell, the teach tool size automatically scales.
Turning the teach tool on and off
The teach tool (ball at the end of the robot arm) can be made visible and not visible.
To toggle the visibility of the teach ball
1. Open the property page for the robot
2. Toggle the teach tool visible field
3. Select OK or Apply
Detecting collisions while jogging
While jogging, if the robot moves into an object the object and the robot change color to
signal a collision. Collision detection can be turned on/ off for any object on its property
pages.
95
Jogging the robot
96
Moving to a point on a surface
It is very easy to move to a point on a surface. Each End of Arm Tool can be setup to make
moving to a surface simple.
To move to a position that is normal on a surface
1. Position the mouse cursor at the point on the object that you want to move to.
2. Hold down Shift and Ctrl keys on your keyboard. An arrow appears that shows the
normal vector on the object.
3. Press the left mouse button while holding the keys and the robot moves to the
position.
To move to a position that is normal on an edge
1. Position the mouse cursor at the point on the object that you want to move to.
2. Hold down Shift and Alt keys on your keyboard. An arrow appears that shows the
normal vector on the object along the edge the mouse is currently over.
3. Press the left mouse button while holding the keys and the robot moves to the
position.
To move to a position that is normal on a vertex
1. Position the mouse cursor at the point on the object that you want to move to.
2. Hold down Shift, Alt, and Ctrl keys on your keyboard. An arrow appears that shows
the normal vector on the object at the closest vertex to which the mouse is over..
3. Press the left mouse button while holding the keys and the robot moves to the
position.
To move to a position that is the center of an arc or circle
1. Position the mouse cursor on the edge of the arc or circle on the object that you
want to move to the center of
2. Hold down Shift and Alt keys on your keyboard. An cross appears that shows the
center of the arc on the object that the mouse is over..
3. Press the left mouse button while holding the keys and the robot moves to the
Jogging the robot
97
position.
All of these move functions are available from the Move Quickbar menu
Roboguide provides a move to retry function that is applied when Roboguide is in MoveTo
retry mode. When the mode is enabled, Roboguide will re-calculate the position orientation
that it is attempting to move to and retry the move. A search is continued until either the
position can be moved to or no reachable position is found.
The move created has a position value, but it is not guaranteed that you can move to this
position because of orientation. If the move can not be made the Teach Tool sphere turns
red. Re-orient the end of arm tool, and try the move again.
Using the Move To Quickbar menu
Roboguide has the ability to make move the robot to CAD locations on CAD data or
selected robot program.TP program positions. The robot is moved to the normal on a
surface on specific CAD entities. Entities include:
• Surface Face
• Surface Edge
• Surface Vertex
• Center of an arc
Additionally the move menu provides the ability to move to a position in the currently
selected .TP program.
To move to a surface entity with the Move To quickbar
1. Open the quickbar by pressing the Toolbar button for selecting from the View /
Quickbars main menu item.
2. Select the desired entity by pressing the entity button on the quickbar
3. Drag the mouse over the CAD entity desired.
4. Press the left mouse button and the robot will move to the selected entity if possible.
If the robot can not move to the generated position an error should be generated on the
virtual TP.
To move to a position in the selected TP program from the Move To quickbar:
Jogging the robot
98
1. In the TP Point frame on the Move To quickbar select the desired .TP position from
the drobdown list.
2. Press the MoveTo button.
Creating, Opening and Working with Workcells
99
6 Creating, Opening and Working with Workcells
6.1 Adding and modifying cell components
Adding a workcell object
To add an object using the cell browser
1. Right mouse click the type of element you want to add to your workcell
A popup menu will appear with selections. The popup menu will have items based upon
the PRO Software plug-in and the options loaded on robots in the workcell. For
example, if line tracking is enabled, you would see "add line" under the fixtures menu.
2. Select the source of the object from which it should be added.
Roboguide supports a CAD Library, importing of IGES files, and primitive objects.
3. If you select CAD File a dialog is opened in which you can select the CAD File
desired. You may select multiple CAD files if you want to import multiple CAD images
into the workcell as a single object. Note: the origin of the combined object will be the
origin of the CAD files overlaid.
If you select CAD Library a dialog is opened where you can browse the CAD library and
select an object
If you select one of the primitives, a primitive object is loaded into your workcell with
default parameters.
To add an object using the main menu
1. From the main menu select Cell. And then select the type of object to add.
2. Select from the popup menu (if applicable) the source of the object from which it
should be added. Roboguide supports a CAD Library, importing of IGES files, and
primitive objects.
3. If you select CAD File a dialog is opened in which you can select the CAD File
desired. You may select multiple CAD files if you want to import multiple CAD images
into the workcell as a single object. Note: the origin of the combined object will be the
origin of the CAD files overlaid.
If you select CAD Library a dialog is opened where you can browse the CAD library and
select an object
If you select one of the primitives, a primitive object is loaded into your workcell with
default parameters.
If you select Robot, the robot serialize wizard is opened.
Creating, Opening and Working with Workcells
100
Selecting objects in the workcell
Objects in the workcell include the robot, the robot’s end of arm tooling, obstacles,
fixtures, and parts. You can select them by clicking the mouse while the mouse
cursor is over the object, or clicking on the objects name in the cell browser. A triad
coordinate system will appear at the objects origin.
Opening an objects property page
To open an objects property page using the cell browser
1. Right click on the desired object from the cell browser
2. Select <object name> Properties from the menu
The property page for the selected object is shown.
To open an objects property page using the mouse
1. Double left click on the desired object from the cell browser
OR
Double left click on the desired object in the workcell.
The objects property page is opened..
To open an objects property page using the main menu
1. Left click on the object in the 3D World view. The objects coordinate reference frame
is shown.
2. From the main menu select Cell / <object name> Properties.
The property page for the selected object is shown.
Creating, Opening and Working with Workcells
101
About property page visibility
Roboguide manages the visibility of object property pages. The following general rules
apply.
• If a property page is visible for an object selecting another object will bring the new
selected objects properties into the property page window
• If a property page is not visible on the screen selecting another object will not
automatically show the new selected objects property page.
Deleting a workcell object
To delete an object using the cell browser
1. Right click on the desired object from the cell browser.
2. Select Delete <object name> from the menu.
The object is deleted from the workcell.
To delete an object using the keyboard
1. Left click on the desired object in the 3D World view,. or select the object with the
left mouse button in the cell browser. The objects coordinate reference frame is shown.
2. Press the delete key on the keyboard.
The object is deleted from the workcell.
Cut, Copy, or Paste an object
To cut, copy, or paste an object using the cell browser
1. Right click on the desired object
2. Select Cut, Copy, or Paste <object name> from the menu
To cut, copy, or paste an object using menus
1. Select the object by clicking on it. A triad coordinate system will appear at the
Creating, Opening and Working with Workcells
102
objects origin.
2. Select from the menus Edit / Cut, Copy, or Paste <object name>
Copy and Paste of Location data for objects
An objects Location data (X, Y, Z, W, P, R) can be copied and pasted to another objects
Location data.
To copy or paste an objects location data:
1. Open the desired object’s property page and select the tab that has the location
information that you desire to copy.
2. Press down the CTRL keyboard key
3. Right mouse click in any location box
A popup menu is shown that shows Copy All or Paste All.
4. Select:
o Copy All to copy all the Location data into the Copy buffer
o Paste All to paste the information in the Copy buffer into the selected
location fields.
Creating, Opening and Working with Workcells
103
6.2 Placing/moving objects in the 3D world
Moving objects in the workcell
Objects in the workcell can all be translated and rotated in the workcell. There are different
methods to move objects.
• With the mouse for translation or rotation
• With direct entry for translation or rotation by directly setting their position values in
the objects property page.
Moving an object in the workcell using the
mouse
There are multiple ways to move objects in CHUIWorld. Movement can be translation of
the object or rotation of the object.
To translate an object in space along an objects coordinate axis using the: mouse
1. Select the object by clicking on it. A triad coordinate system will appear at the
objects origin.
2. Move the mouse cursor over the axis that defines the direction in which you want to
move. The cursor will change to a hand
3. Press the left mouse button, and drag the part.
4. Release the mouse button where you want the part to be.
Show me an AVI
to translate an object in space along the current view plane of CHUIWorld using the
mouse:
1. Select the object by clicking on it. A triad coordinate system will appear at the
objects origin.
2. Move the mouse cursor over any of the triad axes. The cursor will change to a hand
3. Press the Ctrl key and the left mouse button, and drag the part in the view plane
Creating, Opening and Working with Workcells
104
4. Release the mouse button where you want the part to be.
Show me an AVI
Moving an object in the workcell using direct entry
To locate an object in space using direct entry:
1. Select the object by clicking on it. A triad coordinate system will appear at the
objects origin.
2. Open the property page for the object.
3. Enter the location for the object in the Location fields on the property page and
select apply.
Rotating an object in the workcell using the
mouse
To rotate an object in space using the mouse
Select the object by clicking on it. A triad coordinate system will appear at the objects
origin.
Move the mouse cursor over the axis that defines the axis which you want to rotate about.
The cursor will change to a hand
Press the Shift key and then the left mouse button, and drag the mouse. You will see the
object rotate. Release the mouse key when complete.
Rotating an object in workcell using direct entry
To rotate an object in space using direct entry
Select the object by clicking on it. A triad coordinate system will appear at the objects
origin.
Open the property page for the object.
Enter the rotation for the object in the W,P,R fields in the Location area on the property
page and select apply.
Creating, Opening and Working with Workcells
105
Grouping objects
Objects in the workcell can be grouped.
Groups have the following properties:
• The group may be moved together as a single object.
• The group can be selected by selecting any member in the group. The selected
object in the group origin triad is shown. Any movement of the selected object will
effectively move all other objects in the group with the selected object.
• Items are grouped by selecting desired objects to be grouped while holding down the
CTRL keyboard key.
• When an item in the group is selected all objects in the group are highlighted in the
cell browser
• The group can be made persistent by right mouse clicking on any object in the cell
browser and selecting lump objects from the menu
• A group can be un-grouped by right mouse clicking on an item in the group in the cell
browser, and selecting an ungroup / unlump action.
Procedure to group objects
Objects in the workcell can be grouped.
Procedure to group objects:
1. Select an object in the workcell that you want to include in the group. The objects
origin triad should show.
2. Hold down the CTRL key and select another object to be grouped. The object is
highlighted in the cell browser.
3. Continue selecting objects until you have selected all objects you want to group.
4. Right mouse click in the cell browser on any object that will be in the group and
select Lump Objects from the popup menu.
Objects should be in a group. When any object in the group is selected, all objects in the
group should be highlighted in the cell browser.
Creating, Opening and Working with Workcells
106
Procedure to ungroup objects
Procedure to ungroup objects:
1. Right mouse click in the cell browser on any object in the group. Select UnLump
objects.
The objects should no longer be grouped.
Moving an object using measurement and dimension property page
The measurement and dialog property page can be used to move objects relative to other
objects. When the measurement is created the X, Y, and Z components are shown in the
measurement dialog. The component value can be modified and the location value for the
To object will be modified calculated by the changed distance.
To move an object relative to another object
1. Create a measurement between the 2 desired objects. Ensure that the From and To
objects are as desired. Changes to the values on measurement and dimension
property pages affect the location of the To object.
2. Modify the D, X, Y, Z components of the measurement or dimension. The To object
will move
If the To object has its locations locked, the measurement or dimension property page will
have the D, X, Y, Z components grayed out and they are not editable.
Creating, Opening and Working with Workcells
107
6.3 Opening a workcell
Opening an existing workcell
To open an existing workcell using the recent workcells list:
1. Select File from the main menu
2. Select the desired workcell from the list at the bottom of the menu
To open an existing workcell using the main menu
1. Select File from the main menu
2. Select the Open menu item
3. If you want to open a document that was saved in a different folder, locate and open
the folder.
4. Double-click the document you want to open.
To open an existing workcell using the toolbar
1. Click Open.
2. If you want to open a document that was saved in a different folder, locate and open
the folder.
3. Double-click the document you want to open.
Creating, Opening and Working with Workcells
108
6.4 Saving a workcell
Saving a workcell
When a save is performed, many actions take place.
• The workcell file is saved in the workcell directory
• All simulation programs are saved in the workcell file and .TP versions are loaded on
the virtual robot controller
• A backup of the workcell file is saved in the workcell directory
To save a workcell using the toolbar
1. Click Save on the toolbar
To save a workcell using the main menu
1. Select File from the main menu
2. Select the Save Cell menu item
Save a copy of a workcell
To save a copy of a workcell
1. Select File from the main menu
2. Select the Save Cell As menu item
3. A dialog is shown to enter the workcell name. Enter the name and press OK
A new copied workcell is created. Roboguide starts a new workcell virtual robot.
Creating, Opening and Working with Workcells
109
6.5 Managing Roboguide data
Locating where my workcell files are saved
The default directory is based upon your user profile in Windows. Roboguide uses the
following path to save your workcells.
Drive: /Documents and Settings /"USERNAME" / My Workcells / "workcell name"
• Drive: is the local drive that has Windows local and network PC information
• Documents and Settings: is the folder name that contains user account information
• "USERNAME": is the login name of the person currently logged into the PC
• My Workcells: is the folder that Roboguide adds to the logged in users account
information
• "workcell name": is the cell name given to a workcell in SimPRO
To change this working directory, change the default settings on the options page.
Contained under the "workcell name" folder are all of the folders and information required
for a Roboguide workcell.
Within the "workcell name" directory
• The workcell extension is based upon which FANUC Robotics plugin is being used.
o "workcell name".frw – your workcell structure data for Roboguide
workcells
o "Workcell name".ppw – your PalletPRO workcell
o "Workcell name".ptw – your PaintPRO workcell
o "Workcell name".wpw – your WeldPRO workcell
• chui_cache.xml: contains data about the graphics settings that were defined when
the workcell was last exited.
Creating, Opening and Working with Workcells
110
• Multisync.bin: contains Roboguide IO management information
• *.csb. When an IGES part is imported to the workcell, Roboguide converts the file to
a .CSB graphics filetype. The .CSB file is FANUC Proprietary. When re-opening a
workcell Roboguide uses this graphics file and not the IGES file used for import.
Within the "workcell name" directory are sub directories:
Within the layout directory: workcell layout data
Within the object directory : workcell object data
Within the AVI directory:
• *.AVI – any .AVI files created in Roboguide for this workcell
Within the Exports directory
• Any IGES, Bitmap, or CSV exports from the workcell
Within the TCPTrace directory
• TCP Traces for runs
SavePoints directory: under the SavePoints directory are backups of your workcell. See
Workcell Backups and Restores for more information.
Robot Backups: Roboguide makes backup directories of your workcell data.
"workcell name" / Robot_* : workcell virtual robot configuration data where star references
the robot in your workcell.
Sharing a workcell with others
It is common to share a workcell with others. There are multiple methods to do this.
• Copy the workcell directory to the target PC. If the target PC has virtual robot
versions that are required to run the workcell, the workcell should load.
• Use the Package a workcell function or the Share a Savepoint function. A key
difference between using the share function versus copying the entire workcell is that
the virtual robot core files are not included. The result is a much smaller memory size
that is copied to the PC that will use the copy of the workcell data. When the workcell is
Creating, Opening and Working with Workcells
111
opened from a share or save function the virtual robot is restored and re-load at
generation time.
o Share a workcell: copies necessary files from the current workcell state to
a directory of your choice. The target directory is specified.
o Share a savepoint: copies Savepoint data from a previous state of the
current workcell to a directory of your choice. The savepoint directory and
target directory can be specified.
To share the current workcell using the current workcell directory files
1. Copy the entire workcell directory to the target PC. Ensure that the target PC has
virtual robot versions that match the virtual robots in the copied workcell.
To share the current workcell using Package a Workcell function
1. Select main menu item File / Package / Cell <workcell Name>.
A prompt is provided to define where the shared workcell will be saved.
2. Select a target directory
3. Press OK
A Savepoint is created with the current workcell data in the directory specified.
To share a previous version of the current workcell
1. Select main menu item File / Package./ other cell savepoint
A dialog is provide to define which savepoint to share
2. Browse to the desired Savepoint directory and select the workcell file.
A dialog is provided to define where the shared savepoint will be saved
3. Press OK
Creating, Opening and Working with Workcells
Restoring a workcell file from a
savepoint
A workcell saved in a Savepoint can be restored.
To restore a workcell from a Savepoint
Open the workcell from the File Main Menu – Open a workcell
1. Browse to the workcell.
2. Select the workcell file
3. Press Open
A prompt is provided asking if you want to recover from the Savepoint
To restore a workcell from the File Main Menu – Recover a Savepoint
1. Select File Main Menu – Recover a Savepoint
2. Browse to the workcell.
3. Select the workcell file
4. Press Open
112
Creating, Opening and Working with Workcells
113
6.6 Measurement and Dimensions
About measurement and dimensions
Roboguide has a measurement function. The measurement system is enabled by pressing
the measurement toolbar button.
The measurement function is used to create a distance line between two points. A
measurement has several important characteristics. A measurement line:
• Is measured FROM one point TO another point.
• Has direction.
• Is displayed as the line (D) and the X, Y, Z components of the measurement line.
• Is not saved. Measurement information can be saved when it is converted to a
dimension.
Measurements can be saved as dimensions. To create a dimension line from a
measurement see topic Procedure to create a dimension line
Dimensions are shown in the cell browser under the Dimensions element. You can create
an extrusion of a dimension line.
The following figure details different components.
An extrusion of a dimension line is owned by the dimension it is created from. The
properties of an extrusion are found on the extrusions tab of the dimension.
For more information on how to use the measurement dialog see Using the measurement
dialog
Using the measurement dialog
The measure dialog has fields to modify and define measurement functions. The
measurement function is not saved and is used to measure between to points. A measure
can be saved as a dimension line. Dimensions are organized in the cell browser.
The measurement system can be enabled by pressing the measurement toolbar button. ()
Once a measurement has been made, you can create dimension lines with extrusions. See
topic Procedure to create a dimension line and topic Extruding dimension lines.
Creating, Opening and Working with Workcells
114
Fields include:
Measurement frame: fields are used to create the measurement starting and ending point.
• FROM button: when pressed the FROM point can be selected in the workcell. As
you move the mouse the cursor highlights entities in the workcell. When the left mouse
button is clicked the position anchors.
• FROM Entity name: is shown and not changeable. As you select different FROM
entities the name of the object in the workcell that the FROM point is associated with
shows in the box.
• FROM Snap to: when an entity is selected, you can change which object attribute
can be used to anchor the FROM point.
o If a non robot object is selected you can choose between:
 Entity: the point on the entity clicked on.
 Origin: the origin of the object that contains the entity is
automatically selected.
o If a robot is selected you can choose between:
 Entity: the point on the entity clicked on.
 Origin: the origin of the robot CAD
 Robot Zero: the world zero position of the robot.
 Robot TCP: the robots Tool Center point
• TO button: when pressed the FROM point can be selected in the workcell. As you
move the mouse the cursor highlights entities in the workcell. When the left mouse
button is clicked the position anchors
• TO Entity name: is shown and not changeable. As you select different FROM
entities the name of the object in the workcell that the FROM point is associated with
shows in the box.
• TO Snap to: when an entity is selected, you can change which object attribute can
be used to anchor the FROM point.
Creating, Opening and Working with Workcells
115
o If a non robot object is selected you can choose between:
 Entity: the point on the entity clicked on.
 Origin: the origin of the object that contains the entity is
automatically selected.
o If a robot is selected you can choose between:
 Entity: the point on the entity clicked on.
 Origin: the origin of the robot CAD
 Robot Zero: the world zero position of the robot.
 Robot TCP: the robots Tool Center point
Distance Frame: fields are used to set desired display options for components of the
dimension line. Fields include:
• Distance enabled checkbox: when enabled the D line is shown.
• D value: textbox that shows the distance value
• X, Y, Z enabled checkbox: when enabled the respective line is shown. When not
selected the lines are not drawn.
• X, Y, Z, W, P, R value: textbox that shows the respective x, y, z, w, p, r value of the
distance line. The values are shown with the FROM point being the origin and the TO
point being the endpoint.
To move the TO entity relative to the FROM entity, you may edit the value.
If the TO entity is locked, the values are not editable.
• Relative to (FROM): when selected the distance values are shown in the coordinate
system of the FROM object.
• Relative to Workcell: when selected the distance values are shown relative to the
workcell coordinate from (Workcell Zero). Note: if the selected To and FROM origins
have the same orientation as workcell zero, relative to FROM and relative to Workcell
are the same.
Creating, Opening and Working with Workcells
116
• All components visible: when checked all components (x,y,z,d) are shown.
• Color property: allows you to modify the color of the dimension line (D)
• Camera center: centers the camera in the current view.
• Create dimension button: when pressed the measurement information is copied
and a dimension line is created.
Using the dimensions property page
The dimensions property page has fields to modify and define dimensions. Dimensions are
created in multiple ways. For more information see topic Procedure to create a dimension
line .
The dimension property page has multiple tabs.
• General Tab: used to define the dimensions endpoints. The dialog also shows
measurement values. For more information see Using the dimensions general property
page tab.
• Extrusion Tab: shows the properties of extrusions that have been generated from
the dimension components. Extrusions can be easily generated from any of the
component lines. For more information on using the tab see Using the dimensions
extrusion property page tab. For more information on how to generate extrusion lines
see Extruding dimension lines.
Using the dimensions general property page
tab
The dimensions general property page has fields to modify and define dimensions. A
dimension is saved with the workcell and a dimension is accessed through the cell browser
under the dimensions node.
The measurement system can be enabled by pressing the measurement toolbar button. ()
Fields include:
Dimension frame: fields are used to create the dimension starting and ending point.
• Name: the name for the dimension. The default name given by Roboguide is the
Creating, Opening and Working with Workcells
117
point on the dimension that represents the starting point of the dimension (FROM)
concatenated with the point on the dimension that represents the ending point of the
dimension (TO). The FROM and the TO default names use the object name in the
Roboguide workcell
• Visible: when enabled the dimension is visible in the workcell.
• FROM button: when pressed the FROM point can be selected in the workcell. As
you move the mouse the cursor highlights entities in the workcell. When the left mouse
button is clicked the position anchors.
• FROM Entity name: is shown and not changeable. As you select different FROM
entities the name of the object in the workcell that the FROM point is associated with
shows in the box.
• FROM Snap to: when an entity is selected, you can change which object attribute
can be used to anchor the FROM point.
o If a non robot object is selected you can choose between:
 Entity: the point on the entity clicked on.
 Origin: the origin of the object that contains the entity is
automatically selected.
o If a robot is selected you can choose between:
 Entity: the point on the entity clicked on.
 Origin: the origin of the robot CAD
 Robot Zero: the world zero position of the robot.
 Robot TCP: the robots Tool Center point
• TO button: when pressed the FROM point can be selected in the workcell. As you
move the mouse the cursor highlights entities in the workcell. When the left mouse
button is clicked the position anchors
• TO Entity name: is shown and not changeable. As you select different FROM
entities the name of the object in the workcell that the FROM point is associated with
shows in the box.
Creating, Opening and Working with Workcells
118
• TO Snap to: when an entity is selected, you can change which object attribute can
be used to anchor the FROM point.
o If a non robot object is selected you can choose between:
 Entity: the point on the entity clicked on.
 Origin: the origin of the object that contains the entity is
automatically selected.
o If a robot is selected you can choose between:
 Entity: the point on the entity clicked on.
 Origin: the origin of the robot CAD
 Robot Zero: the world zero position of the robot.
 Robot TCP: the robots Tool Center point
Distance Frame: fields are used to set desired display options for components of the
dimension line. Fields include:
• Distance enabled checkbox: when enabled the D line is shown.
• D value: textbox that shows the distance value
• X, Y, Z enabled checkbox: when enabled the respective line is shown. When not
selected the lines are not drawn.
• X, Y, Z, W, P,R value: textbox that shows the respective x, y, z, w, p, r value of the
distance line. The values are shown with the FROM point being the origin and the TO
point being the endpoint.
To move the TO entity relative to the FROM entity, you may edit the value.
If the TO entity is locked, the values are not editable.
• Relative to (FROM): when selected the distance values are shown in the coordinate
system of the FROM object.
• Relative to Workcell: when selected the distance values are shown relative to the
workcell coordinate from (Workcell Zero). Note: if the selected To and FROM origins
Creating, Opening and Working with Workcells
119
have the same orientation as workcell zero, relative to FROM and relative to Workcell
are the same.
• All components visible: when checked all components (x,y,z,d) are shown.
• Color property: allows you to modify the color of the dimension line (D)
Using the dimensions extrusion property page tab
The extrusion property page tab has fields to modify an extrusion line. For more information
on measurement and dimension see topic About measurement and dimensions.
Fields include:
• Extrusion listbox: lists the dimension’s currently defined extrusion lines. Left mouse
select the desired extrusion line to show the properties.
• Extrusion: L text box: defines the distance from the dimension line to draw the
dimension.
• Angle text box: defines the angle to draw the dimension line.
• Delete: deletes the extrusion line.
• Visible: when enabled the extrusion line shows.
• Color: allows modification of the extrusion line color.
Procedure to create a dimension line
A dimension line is created from the measurement dialog with multiple methods.
• Press the Create dimension button on the measurement dialog. A dimension is
created and is added to the cell browser dimensions category.
• Extrude a D, X, Y, Z component of the measurement line. If a dimension does not
already exist that has extrusions from the same FROM / TO objects, a new dimension
is automatically created. If a dimension does exist, the extrusion is added to the
existing dimension.
Creating, Opening and Working with Workcells
120
• Right mouse click on the root dimensions node in the cell browser. A new dimension
is added with the measurement objects used as the FROM and TO components.
The dimension can be modified on the dimension property page.
Extruding dimension lines
An extruded dimension line can be shown for any of the components of a dimension
(D, X, Y, Z). An extruded dimension line is owned by the dimension it is created from,
and can be found on the Extrusions tab for the dimension it is created from.
Roboguide makes it easy to create a dimension line extrusion that can be viewed from
a desired direction. It is common to want to view dimensions in of the workcells
orthogonal view planes (Top, left, right, bottom, front, back), or to view dimensions
relative to an object in the workcell.
There are multiple methods to create an extruded dimension line (light blue line in
picture).
To create an extruded line of a measured component (D, X, Y, Z) from the
measurement dialog
1. Create a measurement
2. Move the mouse over the distance text displayed on the desired component of
the measurement (D, X, Y, or Z).
3. Hold down the left mouse button and drag the mouse. The way the extrusion is
created depends on which component is being created:
o Distance (D) component: the dragging of the mouse extrudes a line of
the component in the 3D CHUIWorld view plane.
o X, Y, Z components: the dragging of the mouse extrudes a line in a
logical plane of the box that forms the dimensions components. For
example, dragging the X component draws the extrusion in the X – Y, or
X-Z plane of the box. The plane chosen depends on how the mouse is
dragged. By dragging the mouse, extrusions can be drawn above or
Creating, Opening and Working with Workcells
121
below the component line in either plane.
4. Release the mouse button when the extrusion is as desired.
When the mouse is released an extrusion of the selected component line is
created. If a dimension exists that contain the objects that define the FROM and TO
objects, the extrusion is added to the dimensions extrusions. If a dimension does
not exist that contain the objects that define the FROM and TO objects a new
dimension is automatically created with an extrusion for the dimension. Extrusions
can be viewed and modified on the dimension's extrusion tab.
To create an extruded line of a dimension line component (D, X, Y, Z) from the
dimension property page
1. Open the desired dimension in the cell browser dimensions category
2. Move the mouse over the distance text displayed on the desired component of the
dimension line (D, X, Y, or Z).
3. Hold down the left mouse button and drag the mouse. The way the extrusion is
created depends on which component is being created:
o Distance (D) component: the dragging of the mouse extrudes a line of the
component in the 3D CHUIWorld view plane
o X, Y, Z components: the dragging of the mouse extrudes a line in a
logical plane of the box that forms the dimensions components. For
example, dragging the X component draws the extrusion in the X – Y, or X-Z
plane of the box. The plane chosen depends on how the mouse is dragged.
By dragging the mouse, extrusions can be drawn above or below the
component line in either plane.
4. Release the mouse button when the extrusion is as desired.
When the mouse is released an extrusion of the selected component line is created.
Extrusions can be viewed and modified on the dimension's extrusion tab..
To create an extruded dimension line as a projection in the current 3D view
This can be very useful to draw the X, Y, Z component as a dimension. The procedure can
Creating, Opening and Working with Workcells
122
be used from either the measurement dialog or from a dimensions property page.
1. Move the mouse over the distance text displayed on the dimension / measurement
line (thick blue line in picture).
2. Hold down the left mouse button and the CTRL keyboard button, and drag the
mouse. The extrusion will move with the mouse movement. Release the mouse button
when the extrusion is as desired.
Note that the dimension is drawn as a projection from the current field of view
When the mouse is released an extrusion of the selected component line is created. If
a dimension exists that contain the objects that define the FROM and TO objects, the
extrusion is added to the dimensions extrusions. If a dimension does not exist that
contain the objects that define the FROM and TO objects a new dimension is
automatically created with an extrusion for the dimension. Extrusions can be viewed
and modified on the dimension's extrusion tab.
Modifying a dimension extrusion line
A dimension’s extrusion properties can be modified.
• The length of the extrusion (distance of the side bars from the original dimension line)
• The angle of the extrusion from the original creation of the dimension.
• The color of the extrusion line
To modify the extrusion length
1. Open the property page for the dimension that has the extrusion line.
2. Select the extrusion tab
3. Select the desired extrusion line by left mouse clicking on the extrusion line in the
Extrusion list.
4. Modify the extrusion length field on the property page, or drag the extrusion line with
the mouse while left mouse clicking
Creating, Opening and Working with Workcells
123
To modify the extrusion angle
1. Open the property page for the dimension that has the extrusion line
2. Select the extrusion tab
3. Select the desired extrusion line by left mouse clicking on the extrusion line in the
Extrusion list.
4. Modify the extrusion angle on the property page.
Deleting an extrusion line
Extrusion lines of a dimension can be deleted on the extrusion tab for the dimension that
has the extrusion line.
To delete an extrusion line
1. Open the property page for the dimension that has the extrusion line.
2. Select the extrusion tab
3. Select the desired extrusion line by left mouse clicking on the extrusion line in the
Extrusion list.
4. Press the delete button
Working with Robot Controllers
124
7 Working with Robot Controllers
7.1 Working with a robot
7.1.1 Working with robot variable files
Using the robot variable file property page
A robot controller has variables that are logically grouped. Variable groupings contain
information about the robot. Robot variables can be viewed in the cell browser under a
robot controller node.
The Variables category under a robot controller is visible if the Roboguide option to view
development tools is enabled. Enable the Show the development tools field on the Main
Menu \Tools\ Options dialog General tab if you want to see the Variables node in the cell
browser.
A robot Variables grouping has a name property that can not be edited.
Using the variable file editor
A variable grouping can be edited from a dialog.
To edit variables
1. Under the Robot controller / Variables category select the desired set of variables.
2. Right mouse click or double click on the set of variables
3. An editor opens
variables are show in a tree format
4. Navigate the tree to the variable desired
5. Edit the value field
6. Press OK or Apply
NOTE: changing system variables can effect the performance of the robot.
125
Working with Robot Controllers
7.1.2 PalletPRO Configuration
7.1.2.1 PalletPRO Pallet System Tab
Use the Pallet System Tab
The Pallet System property page allows modifications of all the settings with the exception
of pallet picking. You can choose Part ID method, Cycle Start Control, Part Drop Recovery,
End of Batch, etc
Fields include:
• Pallet System Setup
• Pallet Switch
• Pallet System options
Each is described below.
Pallet System Setup:
PalletPRO shows the configuration for the pallet system.
This item specifies the number of infeed conveyors in your
application.
Number of infeeds
Number of pallets
This item specifies the number of pallets in the workcell.
This item specifies how PalletTool knows which unit loads to
run at CYCLE START.
o • TP means that you will identify
unit loads manually, through
PalletTool teach pendant menus.
Part ID method
o • PLC means you will use a cell
controller to identify parts.
Cycle
start
control
This item specifies the device from which to issue a start signal.
You can issue a start signal only from one device.
o • SOP means that you will
signal to start production from the
standard operator panel cycle start
126
Working with Robot Controllers
button.
o • UOP means that you will
signal to start production from the
cell controller.
This item specifies where to control part drop recovery.
Recovery
Control
o • TP means that you will do
part drop recovery and cycle stop
using teach pendant menus.
o • PLC means that you will use
a cell controller to do part drop
recovery and cycle stop.
This item controls how data files will be received on the
controller.
File
Download
Method
o • Serial allows data file
transfers from serial
communication only.
o • Ethernet allows data file
transfers from serial or Ethernet
communication.
Pallet Switch:
Production Control - the following items control production related functions.
This item specifies when the robot will switch pallets.
Pallet switch
Per pick means the robot will switch pallets after each pick-andplace cycle.
Per layer means the robot will switch pallets after each layer,
unless parts are not present at the infeed.
Per Unit Ld means that the robot will switch pallets after each unit
load unless parts are not present at the infeed
No switch means the robot will not switch pallets. This is used for
systems with only one infeed station and only one pallet station.
Alt layer means the robot will switch pallets after each layer. It will
not switch pallets unless the layer is done, even if parts are not at
the infeed.
Alt unitld means the robot will switch pallets after each unit load. It
will not switch pallets unless the unit load is done, even if parts are
127
Working with Robot Controllers
not at the infeed.
Pallet System Options:
Production Control - the following items control production related functions.
Not all options are available in PalletPRO. PalletPRO configures the system to enable
running of simulations.
This item changes the return path to the infeed:
o • NO Specifies the normal
return path
Diagonal return enable
o • YES Enables the robot to
move to a taught position before
returning to the infeed.
This item changes the return path to the infeed:
o • NO Specifies the robot to
retreat to the infeed approach
height when returning to the infeed
Clear
return
enable
o • YES Enables the robot to
retreat to the infeed retreat height
when returning to the infeed.
This item controls whether checking for dropped parts is
performed during production:
Part drop
Recovery
Enable
o • NO disables checking for
dropped parts during production.
o • YES enables checking for
dropped parts during production.
This item is used to enable pallet handling when a pallet is
needed at a pallet station.
Pallet
Placement
Enable
o • NO disables this function.
o • YES enables PKPLPAL.TP
whenever a pallet is required at
128
Working with Robot Controllers
any pallet station.
This item controls whether to use the end of batch option:
End of
Batch
Enable
o • NO disables the end of batch
option.
o • YES enables the end of batch
option. When a partial pallet is
indexed, any remaining boxes will
be picked up from the infeed
before indexing the pallet.
Control how pallets are processed
The pallet switch options on the pallet system tab for the robot system defines how pallets
are processed.
This item specifies when the robot will switch pallets.
• Per pick means the robot will switch pallets after each pick-and-place cycle.
• Per layer means the robot will switch pallets after each layer, unless parts are not
present at the infeed.
• Per Unit Ld means that the robot will switch pallets after each unit load unless parts
are not present at the infeed
• No switch means the robot will not switch pallets. This is used for systems with only
one infeed station and only one pallet station.
• Alt layer means the robot will switch pallets after each layer. It will not switch pallets
unless the layer is done, even if parts are not at the infeed.
• Alt unitld means the robot will switch pallets after each unit load. It will not switch
pallets unless the unit load is done, even if parts are not at the infeed
Working with Robot Controllers
129
To define how the robot should switch pallets:
1. Open the robot system property page
2. Select the Pallet System tab
3. Select the desired pallet switch option
4. Press OK or Apply to save changes
7.1.2.2 PalletPRO PalletTool Positions Tab
Use the Pallet Positions Tab
The pallet positions tab is used to teach commonly used positions in the Palletizing
process.
You can teach the perch position and the maintenance position.
Teach the pallet system perch position
To teach the pallet system perch position.
1. Select the robot
2. If the robots property page is not visible, open the robots property page.
3. On the General Tab ensure that the Lock All Location Values checkbox is
unchecked. If it is checked, uncheck the box and press Apply to UnLock location value
editing.
4. Select the PalletTool Positions Tab
5. Move the robot to the desired position.
6. You may record the position or directly enter the position.
o Record: Press Record and then press Apply to save the position.
o Direct enter: enter the position value into the location fields and press
Apply to save the new values
Working with Robot Controllers
130
Teach the pallet system maintenance position
To teach the pallet system maintenance position.
1. Select the robot
2. If the robots property page is not visible, open the robots property page
3. On the General Tab ensure that the Lock All Location Values checkbox is
unchecked. If it is checked, uncheck the box and press Apply to UnLock location value
editing.
4. Select the PalletTool Positions Tab
5. Move the robot to the desired position.
6. You may record the position or directly enter the position.
o Record: Press Record and then press Apply to save the position.
o Direct enter: enter the position value into the location fields and press
Apply to save the new values
Loading a TPP Program onto the robot
Typically, you load a file from the default device when
• You want to modify a program (teach pendant program file, .TP) that is not currently
in controller memory
Loading programs using the cell browser
1. Open the cell browser
2. Right mouse click on the Programs element under the desired robot controller
3. Select Load TP program
A dialog box is presented. Browse to the desired directory. Select what programs you
want to load.
4. Press Open
Working with Robot Controllers
131
Loading Files using the File Menu
Steps
1. Set the default device to the device you want:
o Press MENUS.
o Select FILE.
o Press F1, [TYPE].
o Select File.
o Press F5, [UTIL].
o Select Set Device.
o Move the cursor to the device you want and press ENTER.
5. Press MENUS.
6. Select FILE.
7. Press F1, [TYPE].
8. Select File.
o To load a single file:
o Generate a directory of the default device that contains the file you want
to load.
o Move the cursor to the name of the file you want to load and press F3,
LOAD.
9. Load the file(s):
o To load the file(s) you selected, press F4, YES.
o If you do not want to load the file(s) you selected, press F5, NO.
Working with Robot Controllers
132
10. If the program already exists:
o To overwrite, press F3, OVERWRITE.
o To skip the file, press F4, SKIP.
o To cancel , press F5, CANCEL.
7.2 Robot arm dressout
About adding objects to links of the robot
Roboguide version V6.40 adds the ability to attach objects to links of the robot.
It is common to have additional hardware attached to the robot arm in many applications.
Objects may be attached to any of the links of a robot arm.
Add an object to a link of the robot arm
Roboguide version V6.40 adds the ability to attach objects to links of the robot.
It is common to have additional hardware attached to the robot arm in many applications.
Objects may be attached to any of the links of a robot arm.
To add an object to a link of the robot arm
1. Right mouse click on the Robot group in the cell browser, drag the mouse over the
Dressout selection, drag the mouse over the desired robot joint, and select the desired
method to add an object.
After the object is added it should appear on the joint selected, and the machine
general property page should appear.
2. Set the properties as desired.
Using the dressout property page tab
The dressout property page tab works the same as the machine base property page tab.
Object properties for a dressout object can be modified through the properties on the tab.
Working with Robot Controllers
133
7.3 Working with multiple robots
Roboguide simulation software supports multiple robot workcell creation.
Robots in the workcell can synchronize though shared IO. When running simulations the
robot motion system for each robot and the shared IO is synchronized to provide accurate
motion and IO interactions.
Note: only robots that have Virtual Robot V6.31 and above are supported and allowed in
multiple robot workcells.
Add a robot to the workcell
A robot can be added to the workcell from the cell browser robot controllers item and the
main menu Cell category.
Delete a robot from the workcell
If more than one robot is available in the workcell, robots can be deleted.
Working with IO Interconnections between robots in the workcell
When multiple robots are present in a workcell, IO can be mapped between robots.
When and Output is set on one robot, it is sent to all robots defined in the robot
interconnections.
Any input on a robot can have only one output mapped into the input. A robot output
can be mapped to an input on the same controller.
When simulations are executed, IO is synchronized with all virtual robots. This allows
for highly accurate and repeatable IO timing in the virtual robot Roboguide environment.
Using the IO interconnections setup property page
The IO interconnect property page provides IO mapping capability. IO can be mapped in
groups of 8 or as single IO points. Any input on a robot can have only one output mapped
into the input. A robot output can be mapped to an input on the same controller.
Fields on the property page include:
• Current IO configuration table: the table shown displays and allows entry of IO
mapping information. Note that you must double click on the table entry to modify the
contents. Columns in the table include:
o Output Device: the device in the workcell for which outputs will be
mapped.
o IO Tag: the output type and number to be mapped.
o Input Device: the device in the workcell for which inputs will be mapped.
Working with Robot Controllers
134
o IO Tag: the input type and number to be mapped
• Commands: are used to add and delete lines from the IO connections table.
o Add 1: adds a single IO mapping to the table.
o Add 8: adds a group of contiguous 8 IO mapping to the table.
NOTE: Double click on each entry in the table to change the contents.
o Delete: deletes the selected line from the table.
Procedure to add an IO Interconnection between robots
IO can be defined between 2 robots in a workcell.
To add an IO interconnection between 2 robots:
1. Open the IO Interconnections property page.
o Using the mouse, right mouse click on the Workcell root in the cell
browser and select Properties. When the workcell property page opens
select the IO interconnections tab.
o Using the main menu, select the Cell Main menu item. Select IO
Interconnections.
2. Select Add 1 or Add 8 from the commands frame. Add 1 will add one IO entry and 1
IO mapping. Add 8 will add one IO entry that maps 8 contiguous IO points.
3. Double left mouse click on the Output Dev item. A dropdown list is presented. All
available IO devices are displayed in the list. Select the desired device.
4. Double mouse click on the IO Tag for the output device selected. A dropdown list is
presented. Select the desired IO type and enter the starting IO number and press
Enter.
5. Double left mouse click on the Input Dev item. A dropdown list is presented. All
available IO devices are displayed in the list. Select the desired device.
6. Double mouse click on the IO Tag for the input device selected. A dropdown list is
presented. Select the desired IO type and enter the starting IO number and press
Working with Robot Controllers
135
Enter.
7. Press OK or Apply.
8. Add additional definitions as desired.
The IO interconnection should now be defined and functioning.
7.4 Working with KAREL Programs
Working with KAREL Programs
KAREL programs can be loaded into Roboguide virtual robots. The method to do this is
exactly like working with an actual robot. P-Code (.PC) files are loaded onto the robot from
the teach pendant for from a KAREL command file. Programs can then be executed using
Shift-FWD or from KCL.
To Load .PC files onto the virtual robot
1. Copy .PC files into the flpy directory of the virtual robot for your workcell. Virtual
robot directory is found under the Robot_x directory of your workcell. The options page
shows the directory settings.
2. Two methods to load the programs:
o From the TP: press Menus/ File on the TP. Do a DIR command, select
the program and press Load softkey.
o From KCL window: type Load Prog <devicename><filename>. Where
device name is FLPY or the device where the files exist.
To Run the KAREL Programs.
• From KCL:
o Serialize your robot with the KCL option selected. Do this when creating a
workcell on the options screen of the wizard. After doing this the KCL option
will be enabled under the Robot main menu item
o Open the KCL window by selecting Robot/KCL
Working with Robot Controllers
136
o Set var $rmt_master = 1
o Open the virtual TP
o you must set the Remote/Local Setup to Remote - Select Menus/System
(on the second page). Select Type[F1] and select Config - Go to
Remote/Local setup item (~37 in the list) and set it to Remote
o you should now be able to go to the KCL window and issue a RUN
command on your program
• From the TP:
o Select the .PC file from the select screen
o Press Enter
o Press Shift/ FWD on the Virtual TP.
7.5 Working with robot end of arm tooling
7.5.1 Using End of Arm Tolling with PalletPRO
Use the end of tooling with PalletPRO
The end of arm tooling/ gripper property page has fields used to define the tooling on the
workcell robot. Multiple tabs are used on the End of Arm Tooling property page.
• General Tab: used to define tooling name, location and other general properties.
• Palletizing Tab: used to define the gripper type and the gripper IO.
Working with Robot Controllers
137
Use the End of Arm Tooling Palletizing tab
The end of arm tooling palletizing tab has fields to define gripper type, tool definition, and
tooling IO.
Fields include:
• Gripper type: defines the end of arm gripper type. The list provides grippers that are
supported by PalletPRO.
Standard single, double, and triple case vacuum grippers are symmetrical about the
robot tool center point (TCP). With standard grippers, PalletTool automatically
calculates the UTOOL x and y offset values. You must enter only the UTOOL z offset
value.
Custom 1 – 4 grippers are available in the dropdown list for user definable grippers.
These custom grippers - all vacuum type - will be used by the robot exactly as
described in the PalletTool Setup and Operations manual. The Unitload setup menu in
PalletPRO will also allow the selection of the custom grippers
• No. of cases: the number of cases the gripper supports
• Gripper tool definition settings:
o Pick Delay and Place Delay: the delay used at pick and place,
respectively.
o Tooling definiton: faceplace to bottom of cups: this is the distance
measured from the faceplate of the robot to the bottom of the cups. The
number of rows available for setup matches the number of cases defined.
Standard grippers used with PalletTool constrain tooling definitions as
required by PalletTool which is primarily only in the tooling Z direction.
Custom grippers allow for modifications of X, Y, Z, and R.
• Gripper IO: You must set up I/O for all kinds of grippers. PalletPRO will set up default
I/O automatically as defined for PalletTool.
If your application uses a standard PalletTool gripper, you do not need to set up any
additional information
Note: the values set in this menu for I/O will only be used to download to a real robot.
PalletPRO itself uses its own internal default I/O values.
138
Working with Robot Controllers
Setup Item
Single Case
Gripper
Double ICC or Triple Case Gripper
Case 1
Close
Open
Part presence
UTOOL
RO[1] on
RO[2] off
RO[1] off,
pulse RO[2] for
0.1 second
RO[1] on
RO[2] off
RO[1] off,
pulse RO[2] for
0.1 second
RI[1]
RI[1]
0,0,300,0,0
0,0,300,0,0
Case 2
Case 3
RO[3] on
RO[4] off
RO[5] on
RO[6] off
RO[3] off,
pulse RO[4] for
0.1 second
RI[2]
0,0,300,0,0
RO[5] off,
pulse RO[6] for
0.1 second
RI[3]
0,0,300,0,0
7.6 Working with Coordinate Frames (CD Pairs)
Using the Coordinate Frames (CD_Pair) Property Page
Coordinated motion between a robot group and another robot group requires definition of
the relationship between the follower group and the leader group. When robot arms are the
motion groups that are coordinated, the CD_Pair frame is a transformation position value
that defines the relationship between origins of the follower group robot and the leader
group robot.
For details on coordinated motion, see the robot controller manual for coordinated motion.
Roboguide provides property pages that enable you to view and define coordinated frames
(CD_Pair frames).
The process of defining the CD_Pair relationship is called calibration of the CD_Pair frame.
The CD_Pair property page provides methods to enable setting the CD_Pair relationship.
These include:
1. Define the leader group and follower group of a coordinated motion pair
2. Calibrate a coordinated motion pair. Modifies the location of robot groups in the
Roboguide workcell to match the controller system variable value. The location of either
the follower group or the leader group in the CHUIWorld can be modified.
3. Define a CD_Pair to use coordinated handling motion. Coordinate handling motion
is a specific coordinated motion type where multiple arms are used to hold a fixed
object. The follower robot moves relative to the leader so that the relationship is
maintained between the leader and follower. See the coordinated motion
documentation for a more complete explanation.
Working with Robot Controllers
139
4. Set the follower robot UFRAME to match the CD_Pair. This is very useful when
teach robot positions.
If coordinated motion is enabled and multiple groups exist on the controller, the CDPair
Frames show in the cell browser under a robot controller.
NOTE: Roboguide currently only provides functions for defining the relationship between
multiple robot arms. Specifically, the CD_Pair property page does not support setup of a
robot arm and positioner device.
Fields available on the CD_Pair property page include:
• CD Pair Definition Frame
o Leader combo box: defines the leader group
o Follower combo box: defines the follower group
o Handling Coordinated Motion checkbox: when enabled the robots defined
for the CD_Pair will use coordinated handling motion. The
$CD_PARAM.$MH_ROB_GMSK is set.
When the leader and follower are defined fields are shown to define the CD_Pair value.
• $CD_PAIR Frame:
o X, Y, Z, W, P, and R values of the current $CD_PAIR
o Copy to Follower’s UF combo box: when set, the X, Y, Z, W, P, R of the
$CD_PAIR is copied to the selected user frame of the follower
• $CD_PAIR Calibration frame:
o Status icon: The exclamation icon and the warning message are
displayed when there is a difference between the $CD_PAIR and the
Roboguide workcell relationship. When the icon is displayed, the user can
select a calibration method by the Combo box.
o Calibration method combo box: presents choices for calibration:
 "No calibrate": When the item is selected, the calibrate button
is not enabled.
 "Update $CD_PAIR": the CD_Pair frame is changed to the
Working with Robot Controllers
140
coordinate transformation from the CHUIWorld robot origin of the
follower group to the robot origin of the leader group.
 "Locate Follower": the Roboguide location of the follower group
is modified relative to the leader group to match the $CD_PAIR
value.
 "Locate Leader": the Roboguide location of the leader group is
modified relative to the follower group to match the $CD_PAIR
value
o Calibrate button: After the method of the calibration is selected, pushing
the button "Calibrate" executes the calibration.
After calibration, the status icon and the warning message are changed to indicate
successful calibration."
7.7 Working with Robot Machines - positioners, aux axes
7.7.1 Working with extended axes/integrated axes
Building an aux axis system example
The following example shows the process required to build an auxiliary axis system. The
example creates a new workcell, configures a virtual robot with extended axis, and builds
the auxiliary axis from PRO CAD primitives. The auxiliary axis system built is a 2 auxiliary
axis X-Y systems where a Robot is mounted on the X rail.
The workcell can be found in <install drive> \Program Files\FANUC\PRO\SimPRO\Sample
Workcells\ aux_system_example
Building an aux axis system example Step 1
Create a new workcell
A new workcell is created with the name Aux_System_example. Several steps are required
and this step describes each procedurally.
Step 1: Create a new workcell
1. Start a new workcell by selecting File / New from the main menu
The workcell creation wizard is opened.
2. Select which Roboguide plugin you desire and press Next. This example uses
Working with Robot Controllers
141
HandlingPRO.
3. Name the workcell and press Next. This example uses the workcell name
Aux_System_Example.
4. Select the desired robot from the list and press Next. This example uses the R2000iA/165F.
5. On the Additional Motion Groups Page select Next.
6. Select options to be loaded on the robot. Check the box next to the Extended Axis
Control option in the list and press Next.
See Configuring a virtual robot for an aux axis system form a more detailed description
of this wizard step.
7. The final step of the wizard shows the configuration of the robot that will be
serialized. Press Finish to start the creation of the virtual robot.
After pressing finish the virtual robot is serialized. The process can be seen on the
virtual TP screen. PRO should initialize with a 3D ChuiWorld.
Defining the auxiliary axis hardware information. After serializing the virtual robot the
configuration has extended axis capability. Axes must be added to the robot group 1 before
the axes can be used.
8. Start the virtual robot in controlled start mode by selecting Robot / Restart Controller
/ Controlled Start from the main menu.
The robot will restart in controlled start.
9. Press Menu button, and then select Maintenance
10. Down Arrow to the extended axis item and press enter
11. Press Manual
12. A menu is presented which allows you to select the motion group to modify
extended axis information. Select Group 1 and press enter.
13. Enter the hardware start number for the extended axes. Select 7 and press enter.
14. A menu is presented which allows you to modify extended axis configurations.
Select the Add Ext Axis item and press Enter.
15. The Virtual TP screen shows question that must be answered to define the
hardware selected. When the questions appear left click the mouse on the virtual TP
Working with Robot Controllers
142
window, and answer the questions as detailed below (the answers provided may not be
correct for the hardware on an actual auxiliary axis hardware. See the Robot manuals
for more information).
16. Aux axis 1 Initialization
o Enter the axis to add: 1
o Motor Size: Aca6
o Motor Type Setting: /2000
o Amplifier Current Limit Setting: 40A
o Extended axis type: Integrated Rail (Linear axis)
o Direction: Select Y – this makes joint 7 perform in the robot Y direction.
o Enter Gear Ratio: 120
o Maximum Joint Speed Setting: No Change
o Motion Sign Setting: False
o Upper Limit Setting: 5000
o Lower Limit Setting: -5000 (Press the – key on the numeric keypad)
o Master Position Setting: 0
o Accel Time 1 Setting: No Change
o Accel Time 2 Setting: No Change
o Minimum Accel Time Setting: No Change
o Load Ration Setting: 2
o Amplifier Number Setting: 1
o Select Amp Type: Alpha amp - 2
Working with Robot Controllers
143
o Brake Number Setting: 2
o Servo Timeout: Disable
17. After answering the last question, the Ext Axis Setting program menu is shown
again. Select the Add Ext Axis item and press Enter
18. Aux axis 2 Initialization
o Enter the axis to add: 2
o Motor Size: Aca6
o Motor Type Setting: /2000
o Amplifier Current Limit Setting: 40A
o Extended axis type: Integrated Rail (Linear axis)
o Direction: Select X – this makes joint 8 perform in the robot X direction.
o Enter Gear Ratio: 120
o Maximum Joint Speed Setting: No Change
o Motion Sign Setting: False
o Upper Limit Setting: 4000
o Lower Limit Setting: -4000 (Press the – key on the numeric keypad)
o Master Position Setting: 0
o Accel Time 1 Setting: No Change
o Accel Time 2 Setting: No Change
o Minimum Accel Time Setting: No Change
o Load Ration Setting: 2
Working with Robot Controllers
144
o Amplifier Number Setting: 1
o Select Amp Type: Alpha amp - 2
o Brake Number Setting: 2
o Servo Timeout: Disable
19. The axes have been defined and setup. The Ext Axis Setting program menu is
shown. Select Exit and press Enter.
20. The select group menu is shown. Select Exit and press enter.
21. Press Fctn / Start (Cold)
Roboguide opens with a robot in a workcell with no other devices. Expand the Robot
Controllers / Robot 1 tree in the cell browser. The axes exist but a machine needs to be
defined that use the auxiliary axes. To validate that the extended axes have been defined,
the additional joints should be available on the Current Position tab of the virtual Teach
Pendant.
Next Step
Building an aux axis system example Step 2 Build the auxiliary axes system
Step 1 created a new workcell, and configured a virtual robot with extended axes on the
virtual robot. Step 2 uses these extended axes to build a Roboguide machine / auxiliary
axis system.
A machine is defined that has a base that defines the 10 meter Y rail. An additional joint is
added to define the 8 meter X rail. The robot is then attached to the X rail. The following
procedure defines this relationship within the workcell.
Build the base of the auxiliary axis system
1. Open the cell browser if it is not open. There should be a Machines element in the
tree under the workcell.
2. Right Click on the Machines Element and select Add Machine / Box menu selection.
A box is added to the workcell and the property page for the machine is shown.
3. Change the Name Property to X-Y Rail and press Apply.
4. Locate the Box. Enter Size in X = 1000, Y= 10000, Size in Z = 300 and 0, 0, 300, 0,
Working with Robot Controllers
145
0, 0 for the CAD Location, and press Apply. The box should move to the floor and be
10 meters in the Y direction.
5. Select Lock All Location Values and press Apply to lock the base in the workcell.
6. The base now exists for the robot Y rail of travel. The next step is to add the Y rail
control such that when axis 7 (Y direction) is jogged or moved the X rail moves in the Y
direction (joint 7).
Build the dependent X rail axis.
7. Right Click on the X-Y Rail Machine root node under Machines and select Add Link > Box. A box for the X rail axis of the machine should be loaded into the workcell, and
the property page for the control of joint 7 should be open. The motion control axis must
be defined, the motor must attached to the motion control axis, and the CAD box must
be located correctly for the machine.
8. Change the Name Property to X Rail and press Apply.
9. On the General property page press the Select 3D Axis button. This highlights the
coordinate system that moves when the axis is jogged or moved.
For more information regarding the 3D axis and Link CAD reference frames see
Working with machines.
10. Roboguide constrains that the 3D axis origin of the axis link defines the origin of
motion with the Z axis of the axis link defining the direction of travel. The Z axis of the
axis link must be rotated to align with the Y rail base Box created in an earlier step. In
the Axis Origin fields enter 0, 0, 0, 90, 0, 0 and press Apply.
Note that the 3D axis reference frame now is in the direction of travel along the rail.
11. Locate the Box relative to the Joint 7 Axis Origin of motion. Select the Link CAD
tab on the X Rail Property page. Enter Size in X= 8000, Size in Z = 300 and 0, 0, 300, 90, 0, 0 for the CAD Location, and press Apply. The box should be on the floor and be
8 meters in the X direction.
12. Define the robot axis that controls this axis. On the X Rail Motion Property page
select Group = GP:1 R-2000iA. In the Joint field, select Joint 7. Press Apply.
13. Open the virtual Teach Pendant and jog Joint 7. The box just attached to joint 7
moves in the World Y direction relative to the base CAD box. If the teach ball at the end
of the robot moves in the opposite direction of the axis, it means that the motor
direction is opposite of the CAD link Axis direction defined.
Working with Robot Controllers
146
To quickly change this association, open the property page for the X Rail and select the
Negative checkbox on the General property page. The robot teach ball should now
move with the rail as it is jogged.
Attach the robot to the X rail Axis
14. Right Click on the G:1, J:7 - X Rail Machine node under Machines and select
Attach Robot -> GP:1 – R-2000iA/165f. This attaches the robot to J:7 X- Rail so that
when the X Rail is jogged the robot moves on the rail.
15. Change the Name Property to Robot R2000 and press Apply.
16. Press the Select 3D Axis button. This highlights the coordinate system that moves
when the axis is jogged or moved.
17. Roboguide constrains that the origin of the axis link defines the origin of motion
with the Z axis of the axis link defining the direction of travel. The Z axis of the axis link
must be rotated to align with the X rail Box created in an earlier step. In the Axis Origin
fields enter 0, 0, 0, 0, 90, 0 and press Apply. The Z axis is now aligned with the
direction of travel. The robot rotates because the Link CAD is relative to the 3D Axis
origin.
18. Locate the Robot relative to the Axis Origin of motion. Select the Link CAD tab on
the Robot R2000 property page. Enter 0, 0, 0, 0, -90, 0 for the CAD Location, and press
Apply. The box should be on the floor and be 8 meters in the X direction.
19. Define the robot axis that controls this axis. On the Motion Tab of the Property
page select the Servo radio button and then select Group = GP:1 R-2000iA. In the Joint
field, select Joint 8. Press Apply.
An aux axis system should now be defined. Validation can be done by jogging both joints 7
and 8.
Working with Robot Controllers
147
Working with extended axes and integrated axes
Auxiliary axes systems are mechanical devices that are controlled by the robot controller.
Auxiliary axes systems are used in several applications and are generally used to move the
robot to different locations in a workcell. Auxiliary axes can be defined on the robot
controller to control the devices.
Robots on aux axes can have different configurations:
• Integrated axis: the robot world coordinate system is on the aux axis. The position on
the rail (linear) or on the arm (rotary) is added to the robot position.
• Extended axis: the robot world coordinate system is at the robot base. The aux axis
device is a joint value and does not participate in defining the robot tool center point
location. The position on the rail (linear) or on the arm (rotary) is not added to the robot
position.
Auxiliary axes define a set of motors and axes that are combined to accomplish a motion
task.
The robot and the auxiliary axes can be controlled using extended axes on the controller,
and appear as additional joints on the motion group to which they are assigned.
Extended axes and integrated axes definitions and layout within FANUC Roboguide
Roboguide models auxiliary axis systems from the base of the aux device out to the last
axis of the device. You can see this representation in the cell browser.
Note: starting in release V6.40 Roboguide changes and additional functionality have been
made regarding machines.
• Non end of arm machines are defined at the workcell level. In previous versions,
machines were under each robot controller. Moving machines to the workcell level
provides additional flexibility. Any robot controller in the workcell can control a link of
the machine. Multiple robot controllers can be attached to a rail.
• Links can be driven by IO on a robot controller. This allows IO programming to
control clamps and other IO driven devices in the workcell. See Use the machine axis
Motion tab for more information.
You could build an IO driven slide with this capability.
An aux axis device represents 1 or more joints added to the robot controller. Generally, an
aux axis is used to carry the robot or to carry objects to the robot. Auxiliary axes systems
can be either integrated or extended. Some examples:
Working with Robot Controllers
148
• Robot on a rail.
• Robot on a rail doing rail tracking. (Integrated axes)
• Robot on an RTU.
• Robot controlling a conveyor motor.
• Aux axis on the end of the robot arm
When building auxiliary axis devices in Roboguide the virtual robot has to be configured for
auxiliary axis by loading the controller option, and the Roboguide environment has to be
defined to link 3D ChuiWorld entities to the virtual robot axes.
Cell Browser representation of multiple auxiliary axes external to the robot arm
The cell browser shows Robots under the Robot Controllers category. A robot can have
multiple additional extended joints. The additional axes definitions are defined by what has
been setup at controlled start for the virtual robot. See Configuring a virtual robot for an aux
axis system for more information on setting up the virtual robot.
Auxiliary axis machines are built from the additional axes defined for the robot. An auxiliary
axis is modeled in the cell browser as a machine controlled by the robot. A machine is a
series of axes that are configured to represent an aux axis configuration.
The machine is the root of an auxiliary axis system definition and represents the base of
the device. Each dependent link is listed under the machine as a group and a joint. If a link
is dependent on a different link it is listed under the link it is dependent on. These
dependencies can be edited to define an overall auxiliary axis function.
Examples:
A robot on an RTU.
The above picture of the cell browser shows single integrated axes – Joint 7 system.
G:1:J:7 Slide is the root of the device and the robot is attached to it.
A robot on a X – Y slide.
The above picture of the cell browser shows 2 integrated axes – Joint 7 and 8 system. The
components of the tree define the following:
• X-Y Rail: the root of the auxiliary axis machine, and defines the base.
• G:1:J:7 X-Rail is the rail that moves when joint 7 is moved.
• G:1, J8 – Robot R2000 moves perpendicular along the X Rail and the robot is
attached to J8.
Working with Robot Controllers
149
Cell Browser representation of auxiliary axes on the robot arm
Extended auxiliary axes can be added to the end of the robot arm. The axes are added to
the end of arm tooling on the robot.
Auxiliary axis devices are built from the additional axes defined for the robot. An auxiliary
axis is modeled in the cell browser as a machine controlled by the robot on the end of arm
tooling. A machine is a series of axes that are configured to represent an aux axis
configuration.
The machine is the root of an auxiliary axis system definition and represents the base of
the device. Each dependent link is listed under the machine as a group and a joint. If a link
is dependent on a different link it is listed under the link it is dependent on. These
dependencies can be edited to define an overall positioner function.
The following figure shows the cell browser tree for a robot controller configured with and
external axis on the end of the arm.
Components of an auxiliary axis definition within Roboguide
A machine / auxiliary axes system has a base with joints relative to the base and other
joints. Roboguide software defines each component with the following properties regarding
joint positions and CAD.
Machines: defines machines that are connected to the robot
<Machine>: represented at the root of a machine.
• CAD Location: the location of the base in the workcell. This is the CAD origin relative
to the 3D world zero.
• CAD File: defines the CAD to be used for the base
Axis joints: the joint links relative to the base is modeled in a tree. A joint link is
another group’s joint. Each joint is built relative to what it is dependent upon. If a
joint is dependent on a different joint then it is added underneath the joint that it is
dependent upon.
• Axis Link Origin: this is the location of the joints link axis relative to the previous link
CAD. The axis link is the link that moves when the joint is jogged. When defining the
axis link Roboguide requires that the +Z axis be along the axis of rotation (rotary) or
translation (linear).
• Link CAD: defines the CAD to be used for the joint and the location of the CAD origin
relative to the axis link
The following figure shows the relationship between Axis origin and the Link CAD. When
the axis moves the CAD Origin moves along the Z axis of the axis link origin.
Working with Robot Controllers
150
Process to configure virtual robot and PRO 3D world for an aux axis system
This topic provides a high level procedure to configure a Roboguide workcell that supports
an auxiliary axis system. Several procedures are required to build a working auxiliary axis
workcell. For more information regarding Roboguide use of auxiliary axis systems see the
help topic Extended axes and integrated axes definitions and layout within FANUC
Roboguide. Steps in the process may reference other procedures.
Process to configure virtual robot and 3D CHUIworld for auxiliary axis.
1. Open a New Workcell!
2. When you encounter the setup robot options step in the wizard, you configure the
options for the virtual robot being built. Select the Extended Axis control option to be
configured on the virtual robot. This initializes the virtual robot with the option to use
auxiliary axes.
3. After your selection of options you can finish the wizard and initialize the virtual
robot.
4. The virtual robot is initialized with additional axes, but need to have axes added to
match the actual hardware configuration. This is done at robot controlled start. Follow
the procedure Adding an Extended or Integrated axis to the virtual robot for each
additional axis required.
5. The auxiliary axis machine can now be built, located, and calibrated in the workcell.
Build or modify an aux axis system
An aux axis system is modeled as a series of joints in the cell browser under the Robot /
Machines category. The machine is the root of a auxiliary axis device definition and
represents the base of the auxiliary axis device. Each dependent link is listed under the
machine. If a link is dependent on a different link it is listed under the link it is dependent on
These dependencies can be built and modified to define an overall auxiliary axis device
function. See Extended axes and integrated axes definitions and layout within FANUC
Roboguide for more background information.
Procedure to build a auxiliary axis device
This process assumes the virtual robot has been configured for Extended axes, and the
axes have been added to the virtual robot When PRO is running, the virtual should have
the extra axes defined, but the graphics portion must be linked into the virtual robot.
Roboguide detects if the virtual robot has been configured with additional extended axes.
Create a new auxiliary axis machine, set the base location, and set the base CAD.
Working with Robot Controllers
151
1. Select and Right click on the Machines category under the robot, and select how the
base CAD should be created. Generally this is from an IGES file.
If file is chosen, select the file that will be used for the base CAD.
The base should be loaded into Roboguide and seen on the screen.
2. Locate the base where desired
Associate and locate axes for the positioner
1. Expand the cell browser tree under the desired machine.
2. In the cell browser right click on the element that will have an additional joint added.
Select Add Link. You may add CAD from:
o CAD Library – CAD elements available from Roboguide library
o CAD File – IGES CAD information
o Box, Cylinder, Sphere – Basic shapes that can be used to model many
simple machines
The link should show and is placed relative to the previous links CAD position.
3. Select the group and the joint that drives the axis by selecting the Group and Joint
from the dropdown box shown on the general property page, and press Apply.
4. Locate the axis link relative to the previous axis link .
Often times locating the axis link of motion changes the location and orientation of the
CAD that defines the link (Link CAD). The next step is to move the CAD relative to this
link axis of motion.
5. Modify the Link CAD for the axis and modify the location of the link CAD relative to
the axis link.
6. On the General Page for the positioner axis set the Clockwise / Direction checkbox
to reflect how the motor should move when the +X jog key is pressed. The effects of
this can be seen when actually jogging the robot in CHUIWorld. If the value is incorrect
the robot moves opposite of the teach tool triad on the screen.
7. Repeat steps 4-8 until all axes are added. Joints are added relative to dependent
joints.
Working with Robot Controllers
152
NOTE: it is possible to add "dummy" links that have no servo axis control. This is useful to
build a machine out of many parts, even if they have no motion characteristics. The added
links will move with whatever links they are associated (links above it in the tree)
Build or modify an aux axis on the end of arm
An aux axis system is modeled as a series of joints in the cell browser under the Robot /
Tooling category. The UTOOL is the root of a auxiliary axis device definition and represents
the base of the auxiliary axis device on the end of the arm. Each dependent link is listed
under the UTOOL. If a link is dependent on a different link it is listed under the link it is
dependent on. These dependencies can be built and modified to define an overall auxiliary
axis device function. See Extended axes and integrated axes definitions and layout within
FANUC Roboguide for more background information.
Procedure to build a auxiliary axis device on the end of arm
This process assumes the virtual robot has been configured for Extended axes, and the
axes have been added to the virtual robot When PRO is running, the virtual should have
the extra axes defined, but the graphics portion must be linked into the virtual robot.
Roboguide detects if the virtual robot has been configured with additional extended axes.
Associate and locate axes for the end of arm machine
1. Expand the cell browser tree under the Robot / Tooling and select the UTOOL
where you want to add the end of arm tooling machine.
2. In the cell browser right click on the element (root UTOOL node or a axis below it)
that will have an additional joint added. Select Add Link. You may add CAD from:
o CAD Library – CAD elements available from Roboguide library
o CAD File – IGES CAD information
o Box, Cylinder, Sphere – Basic shapes that can be used to model many
simple machines
3. The link should show and is placed relative to the previous links CAD position. For
the initial link on the end of arm this is the faceplate of the robot.
4. Locate the axis link relative to the previous axis link .
Often times locating the axis link of motion changes the location and orientation of the
CAD that defines the link (Link CAD). The next step is to move the CAD relative to this
link axis of motion.
Working with Robot Controllers
153
5. Modify the Link CAD for the axis and modify the location of the link CAD relative to
the axis link.
6. Select the Motion Tab.
7. Select the group and the joint that drives the axis by selecting the Group and Joint
from the dropdown box shown on the general property page. The motion type should
be set to Servo. Press Apply.
8. On the General Page for the axis set the Clockwise / Direction checkbox to reflect
how the motor should move when the +X jog key is pressed. The effects of this can be
seen when actually jogging the robot in CHUIWorld. If the value is incorrect the robot
moves opposite of the teach tool triad on the screen.
9. Repeat steps 4-8 until all axes are added. Joints are added relative to dependant
joints.
NOTE: it is possible to add "dummy" links that have no servo axis control. This is useful to
build a machine out of many parts, even if they have no motion characteristics. The added
links will move with whatever links they are associated (links above it in the tree)
Locating a machine in the workcell
A machine is located in a workcell by placing its base in the workcell location that is
desired.
Procedure to locate a machine in the workcell
1. Select from the cell browser the machine that represents the device you want to
modify
2. Open its property page.
3. Locate the machine base where desired
Working with Robot Controllers
154
Configuring a virtual robot for an aux axis system
The virtual robot in the workcell must have the Extended Axis control before axes can be
added to the robot.
To configure a virtual robot for an aux axis system
If the workcell is already created and the option needs to be added to the existing virtual
robot
1. Open the robots property page
2. Select Serialize Robot button
the workcell wizard is opened. Press next until the Robot Options selection page is
available.
3. Select Extended Axis control from the list
4. Press Next until the summary page is displayed
5. Press Finish.
6. Press Apply from the Robot Property Page dialog
If a new workcell is being created the option needs to be added to the virtual robot.
1. When stepping through the Workcell creation wizard one of the pages allows
selection of robot options. Stop on the robot options selection page.
2. Select Extended Axis control from the list
3. Press Next until the summary page is displayed
4. Press Finish.
5. The robot will be initialized with the extended axis option.
The robot will have the option enabled, but additional axes must be defined. See
Adding an axis to the aux axis system in PRO for more information.
Working with Robot Controllers
155
Adding an extended or integrated axis to the virtual robot
An axis can be added to the virtual robot in the same way that you add an axis to a robot
on an actual robot. The axis is added to the robot group from controlled start.
Procedure to add an axis to a group on the virtual robot
State: PRO is running and the virtual robot Extended axis motion option was selected when
the robot was started from the serialize wizard.
1. Start the virtual robot in controlled start mode by selecting Robot / Restart Controller
/ Controlled Start from the main menu.
The robot will restart in controlled start.
2. Press Menu button, and then select Maintenance
3. Down Arrow to the Extended Axis Control item and press the Manual Softkey.
A menu is presented which allows you to work with the motion group axis setup.
4. Select the group that will have an additional axes added and press Enter
A menu is shown. Select Add Ext axes.
5. Questions are presented to configure the hardware. When the questions are
answered the menu for the Extended Axis will be presented.
6. Select Exit and press Enter.
7. The select group menu is shown. Select Exit and press Enter.
8. Press FCTN and then select START (Cold) so that the new settings can take effect.
When the robot returns to Cold Start, the new axes are added to the robot. To verify that
the axis has been added, go to the Current Position Tab of the Virtual Teach Pendant to
see that the axis shows in the current position.
Changing an aux axis configuration on the virtual robot
An axis configuration can be modified on the virtual robot in the same way that you modify
an axis to a robot on an actual robot.
Procedure to add an axis to a group on the virtual robot
State: PRO is running and the virtual robot Extended axis motion option was selected when
the robot was started from the serialize wizard.
1. Start the virtual robot in controlled start mode by selecting Robot / Restart Controller
/ Controlled Start from the main menu.
Working with Robot Controllers
156
The robot will restart in controlled start.
2. Press Menu button, and then select Maintenance
3. Down Arrow to the Extended Axis Control item and press the Manual Softkey.
A menu is presented which allows you to work with the motion group axis setup.
4. Select the group that will have an additional axes added and press Enter
A menu is shown. Select Modify Ext axes.
5. Select the axis that needs to be modified and press enter.
6. Questions are presented to configure the hardware. When the questions are
answered the menu for the Extended Axis will be presented.
7. Select Exit and press Enter.
8. The select group menu is shown. Select Exit and press Enter.
9. Press FCTN and then select START (Cold) so that the new settings can take effect.
When the robot returns to Cold Start, the new axes are modified on the robot.
Change the link axis of motion origin value for a machine axis
The link axis of motion origin represents the origin point where a joint axis moves. It is the
location of the joints link axis relative to the previous link CAD. The axis link is the link that
moves when the joint is jogged.
For more information about the relationship between machine axes see Working with
machines.
When defining the axis link Roboguide requires that the +Z axis be along the axis of
rotation (rotary) or translation (linear).
Procedure to change the link axis of motion origin location
1. Open the property page for the joint axis desired.
2. Press the select 3D axis button to activate the coordinate triad for the link.
3. Move the coordinate triad to the correct location relative to the link it is dependant
upon. The origin of the link axis is the origin of the virtual motor. The link axis of motion
must align the coordinate triad’s +Z axis along the axis of rotation rotary) or translation
Working with Robot Controllers
157
(linear). A links axis is dependant upon the previous link’s Link CAD origin.
Changing the CAD used for a machine axis
Objects can be defined from IGES CAD or PRO primitives. CAD used for the machine axis
can be changed on the property page that defines the machine axis.
To change the CAD used for a machine axis
1. Open the property page for the joint axis desired
2. Select the Link CAD page.
3. Click on the CAD field. If CAD is to be used, browse by selecting the folder icon. A
PRO primitive may be selecting the type from the CAD type field.
4. Click OK or Apply
Changing the CAD location relative to axis link for a machine axis
Link CAD: defines the CAD to be used for the joint and the location of the CAD origin
relative to the axis link. It is common that after the axis link has been setup that the CAD
location and orientation may not be desirable. This procedure explains the steps to change
the CAD location relative to the axis link.
For general information about the relationship between machine axes see Working with
machines.
For more information on the relationship between Axis Link origin and CAD location for
extended axis systems see Extended axes and integrated axes definitions and layout
within FANUC Roboguide .
For more information on the relationship between Axis Link origin and CAD location for
positioner systems see Positioner definitions and layout within FANUC Roboguide.
Changing the CAD location relative to axis link for a positioner axis
1. Open the property page for the joint axis desired
2. Select the Link CAD page.
3. Click on the CAD in the workcell being used for the axis.
4. Move the object to the desired offset.
Working with Robot Controllers
158
5. Click OK or Apply
Loading a previously defined machine
A previously defined machine can be loaded into a workcell.
There are multiple ways a .DEF file can be loaded:
• After the workcell has been generated, and the virtual robot has been configured for
additional groups and/or axes, a machine definition file can be loaded from the cell
browser.
• During workcell generation:
o Auxiliary axis DEF files are seen in the robot list, and can be selected.
o Positioner DEF files (multiple groups) are shown on the Add groups
workcell wizard page.
Loading a previously defined machine after a workcell has been created
If the workcell has been defined, and the virtual robot has been configured for the machine
axes, a saved machine definition can be loaded.
1. From the cell browser, right click on the Machines Category and select Add Machine
/ Positioner Library. Select the .DEF file you desire, and press Open.
The selected machine will be loaded into the workcell.
Loading a previously defined auxiliary axis machine from the workcell wizard
The .DEF file must be saved in the image library directory structure of Roboguide in order
for the DEF file to appear in the robot list.
<Install Drive> Program Files\FANUC\PRO\SimPRO\Image Library\Positioners
1. Create a new workcell
2. Select the saved DEF file from the Select Robot list
3. Step to the end of the wizard and select Finish
Loading a previously defined positioner (multi group) machine from the workcell
wizard
The .DEF file must be saved in the image library directory structure of Roboguide in order
Working with Robot Controllers
159
for the DEF file to appear in the robot list.
<Install Drive> Program Files\FANUC\PRO\SimPRO\Image Library\Positioners
1. Create a new workcell
2. Select the saved DEF file from the group list on the Add Group wizard step
3. Add the def file to the robot by pressing the Hand icon in the list
4. Step to the end of the wizard and select Finish
Loading a previously defined end of arm machine after a workcell has been created
If the workcell has been defined, and the virtual robot has been configured for the machine
axes, a saved machine definition can be loaded.
1. From the cell browser, right click on the Robot / Tooling / Desired UTOOL and select
Load Tooling. Select the .DEF file you desire, and press Open.
The selected machine will be loaded into the workcell onto the end of arm.
Calibrating an aux axis system
An aux axis system is calibrated using the same procedures for calibration as all objects
within Roboguide.
See Using the Calibration Tab for more information on using the Calibration tab from within
Roboguide.
Working with Robot Controllers
160
7.7.2 Working with positioners
Robot positioners are mechanical devices that are controlled by the robot controller.
Positioners are used in several applications and are generally used to manipulate parts and
tooling. Motion groups can be defined on the robot controller to control positioners.
A motion group defines a set of motors and axes that are combined to accomplish a motion
task. FANUC Robotics robots are an example of a motion group, typically Group 1.
Additional motion groups are defined to control axes on a piece of equipment other than the
robot.
The maximum number of groups that can be supported by a controller is five. Up to four
positioner devices can be added as motion groups to the system.
Each additional motion group can have
• Up to six motors
• Up to three extended axes
The robot and the positioners can be controlled using coordinated motion. When you use
coordinated motion, the "coordination" that is performed is between two motion groups.
Positioner definitions and layout within FANUC Roboguide
Roboguide models positioners from the base of the positioner out to the last axis of the
positioner. You can see this representation in the cell browser.
A positioner represents 1 or more motion groups on the robot controller. Generally, a group
is assigned to positioner axes that perform a task. Some examples:
• A single axis rotating table would be a group with 1 joint.
• A multi axis rotating table (spin and tilt) would be a group with 2 joints
• An H style Ferris wheel (headstock/tailstock) could be represented as a group for the
center of the H which rotates, and a separate single joint axis for rotation of each arm of
the H. This is a 3 group positioner with the H arms dependent on the center of the H.
When building positioners in Roboguide software the virtual robot has to be configured for
motion groups and group axes, and the Roboguide environment has to be defined to link
3D CHUIWorld entities to the virtual robot groups and axes.
Cell Browser representation of multiple groups and positioners
The cell browser shows Robots under the Robot Controllers category. A robot can have
multiple groups, which are listed under the specific robot. The group definitions are defined
by what has been initialized during create a workcell wizard process.
Working with Robot Controllers
161
Positioners are built from the groups defined for the robot. A group is a series of joints. A
positioner is modeled in the cell browser as a machine controlled by the robot. A machine
is a series of groups that are configured to represent a positioner’s configuration.
The machine is the root of a positioner’s definition and represents the base of the
positioner. Each dependent link is listed under the machine as a group and a joint. If a link
is dependent on a different link it is listed under the link it is dependent on. These
dependencies can be edited to define an overall positioner function.
Examples:
A 3 group positioner.
The above picture of the cell browser shows a 3 group system. Group 1 (GP:1) is the robot,
GP:2 and GP:3 are the additional groups. Each group shows the number of axes defined
for the group by indicating J1:Jx in each groups expanded tree.
These groups are used to define Machine 1 under Machines.
GP: 2 and GP:3 each has a 1 joint axis.
A 3 group Ferris wheel positioner that is shaped like an H. The center turns with each arm
of the H able to turn.
Group 1 is the robot. Under machines is the Versa3M3 which has a center turn group G:4
with a single joint J:1. Groups 2 and 3 are each dependent on Group 4, and each have 1
joint (J:1).
Components of a positioner definition within Roboguide
A machine/ positioner has a base with joints relative to the base and other joints. FANUC
Roboguide defines each component with the following properties regarding joint positions
and CAD.
Machines: defines machines that are connected to the robot
• <Machine>: represented at the root /base of a machine.
o CAD Location: the location of the base in the workcell. This is the CAD
origin relative to the 3D world zero.
o CAD File: defines the CAD to be used for the base
• Axis joints: the joint links relative to the base is modeled in a tree. A joint link is
another group’s joint. Each joint is built relative to what it is dependent upon. If a group
is dependent on a different group’s joint then it is added underneath the group’s joint
that it is dependent upon.
o 3D Axis Origin: this is the location of the joints link axis relative to the
previous link CAD. The axis link is the link that moves when the joint is
jogged. When defining the axis link Roboguide requires that the +Z axis be
Working with Robot Controllers
162
along the axis of rotation (rotary) or translation (linear).
o Link CAD: defines the CAD to be used for the joint and the location of the
CAD origin relative to the axis link
Process to configure virtual robot and PRO 3D world for positioners
This topic provides a high level procedure to configure a Roboguide workcell that supports
positioners. Several procedures are required to build a working positioner workcell. Steps
in the process may reference other procedures.
Process to configure virtual robot and 3D CHUIworld for positioners
1. Open a New Workcell
2. When you encounter the Robot Models for additional motion groups step in the
wizard, you configure the groups for the positioner being built. There are different types
of devices that can be chosen from the list and are differentiated by the icon that shows
in front of each item. See Configuring a virtual robot for multigroup positioners for more
detail.
3. After your selection of group and positioner type you can select desired controller
options and initialize the virtual robot. .
4. If Basic Positioner or General Positioner was selected, the positioner groups have to
be setup at controlled start.
After the workcell is started, a 3D CHUIWorld with a robot that supports groups is
shown. What is available depends on what was selected during the Workcell Creation
Wizard.
Xxx Positioner was selected: the xxx positioner selected should be in
the workcell and configured into the system with the parameters that
were previously saved.
Basic Positioner was selected: no positioner exists in the workcell. The
robot has the multi group option, the axes for each group have to be
defined at robot controlled start before it can be built.
5. If you selected a defined positioner that had previously been defined it should be
fully configured and only needs to be located in your workcell. The cell browser / Robot
category shows the positioner as additional motion groups. You may change the
positioner configuration through the cell browser and property pages. If you want to
change the motor configuration you do this at robot controlled start.
Working with Robot Controllers
163
6. If you chose Basic Positioner when defining additional motion groups the virtual
robot is initialized with additional groups, but need to have axes added to each group to
match the actual hardware configuration. This is done at robot controlled start. Follow
the procedure Adding a positioner axes to the virtual robot for each additional axis
required.
7. The positioner can now be built, located, and calibrated in the workcell.
Build or modify a positioner
A positioner is modeled as a series of joints in the cell browser. The machine / positioner is
the root of a positioner’s definition and represents the base of the positioner. Each
dependent link is listed under the group. If a link is dependent on a different link it is listed
under the link it is dependent on. If a group is dependent on a different group it is listed
under the group it is dependent on. These dependencies can be built and modified to
define an overall positioner function. See Positioner definitions and layout within FANUC
Roboguide for more background information.
Procedure to build a positioner
This process assumes the virtual robot has been configured for multigroup support, and the
axes have been added for each group. When PRO is running, the virtual should have the
extra groups and axes defined, but the graphics portion must be linked into the virtual
robot. Roboguide detects if the virtual robot has been configured with multiple groups.
Create a new machine / positioner, set the base location, and set the base CAD.
1. Select and Right click on the Machines category under the robot, and select from
where the base CAD should be created. Generally this is from an IGES file.
If file is chosen, select the file that will be used for the base CAD.
The base should be loaded into Roboguide and seen on the screen.
2. Locate the base where desired
Associate and locate axes for the positioner
3. Expand the cell browser tree under the desired machine.
4. In the cell browser right click on the element that will have an additional joint added.
Select Add Link. You may add CAD from:
o CAD Library – CAD elements available from Roboguide library
o CAD File – Iges CAD information
Working with Robot Controllers
164
o Box, Cylinder, Sphere – Basic shapes that can be used to model many
simple machines
5. The link should show and is placed relative to the previous links CAD position.
6. Select the group and the joint that drives the axis by selecting the Group and Joint
from the dropdown box shown on the general property page.
7. Locate the axis link relative to the previous axis link . An axis link can be defined to
be a different group axis or and additional joint on a group.
Often times locating the axis link of motion changes the location and orientation of the
CAD that defines the link (Link CAD). This is because the CAD link is dependent on the
3D axis origin link. The next step is to move the CAD relative to this link axis of motion.
8. Modify the Link CAD for the axis and modify the location of the link CAD relative to
the axis link.
9. On the General Page for the positioner axis set the Clockwise / Direction checkbox
to reflect how the motor should move when the +X jog key is pressed. You generally
know when to change this setting if when you jog the joint, the joint moves in the
opposite direction of desired. Changing this will move the motor opposite of the current
setting.
10. Repeat steps 4-8 until all axes are added. Joints are added relative to dependant
joints. Groups can be added to depend on other groups.
Configuring a virtual robot for multigroup positioners
The additional motion groups step in the serialize wizard is where motion groups are
defined for the virtual robots. The Additional Motion Groups wizard step shows two tables.
Table 1: Available axis devices: lists available devices for additional motion groups.
Additional devices include:
• -Robot: robot CAD. This includes the information required to operate the robot.
Robots listed in the table can be added as a second group in dual arm configurations.
• Positioner with no definition: enables multi-group motion of the stated type.
Includes no definition (.DT) file definitions for the group device. When a group is set to
a positioner with no definitions the axes will have to be defined during the virtual robot
serialization process. This process is the same as on an actual robot. This is the
desired setting if a positioner is being defined for the first time.
Working with Robot Controllers
165
• Positioner with definitions: enables group motion of the stated type. Includes
definition files for the positioner. After a positioner is built the first time, it can be saved
to a Positioner with definitions, and would show up in the list as a Positioner with
definitions.
Definitions include:
Positioner joint CAD: this is the geometry that shows the joint in the 3D CHUIWorld.
Positioner group relationships: the positioner is built from multiple groups. When the
positioner is built it is defined as a machine in PRO. The definition file contains the
machine definition and the relationships of the robot motion groups to build the machine.
For example, a ferris wheel positioner has a central axis which spins to arms of an H
where each arm of the H represents a group with a single joint axis. The definition file
describes how the machine is built where the 2 arms of the positioner are dependent on
the center of the positioner.
Table 2: Group mapping: provides capability to map devices from table 1 to virtual robot
groups. When a device is selected from table one and inserted into table 2 the
configuration is shown in Table 2. The type of device selected in Table 1 effects how Table
2 is populated.
• -Robot: robot CAD: Inserts a the robot selected onto the group selected
• Positioner with no definition: Defines a positioner group with no default joint and
positioner motor information. This is the basic starting selection when constructing a
positioner from nothing. This selecting will result in having to answer the positioner
setup questions during virtual robot serialization at controlled start.
• Positioner with definitions: defines a positioner that has been previously
configured. The hardware setup for the joints is included as well as the properties that
were saved when the definition file was created.
These two tables work to define the group information for the virtual robot. Group device
types are selected in Table 1 and linked to virtual robot groups in Table 2.
Procedure to configure a virtual robot for multigroup positioners
1. Select the available axis device desired from the first table.
2. Press the hand button next to the group you want to be associated with the selected
axis device. When you select the hand button, PRO inserts the group information as
appropriate.
3. Press Next to proceed
Working with Robot Controllers
166
Multiple devices can be selected until the group information table is populated.
Adding a positioner group to the virtual robot
A group can be added to a virtual robot in the same way that you add a group to an actual
robot. The group is added from controlled start.
Procedure to add a group to a virtual robot
State: PRO is running and the virtual robot multigroup motion option was selected when the
robot was started from the serialize wizard.
1. Start the virtual robot in controlled start mode by selecting Robot / Restart Controller
/ Controlled Start from the main menu.
The robot will restart in controlled start.
2. Press Menu button, and then select S/W Install
3. Down Arrow to the Robot Library item and press enter
4. Down arrow to Basic Positioner
5. Press F5, ADD GRP.
6. Press F1, INSTALL.
7. Answer the questions as it relates to your hardware setup.
8. Select the positioner you want to install from the list of robots.
9. When you have finished, press FCTN and then select START (Cold) so that the new
settings can take effect.
Adding a positioner axis to the virtual robot
An axis can be added to a group on the virtual robot in the same way that you add an axis
to a group on an actual robot. The axis is added to the group from controlled start.
Procedure to add an axis to a group on the virtual robot
State: PRO is running and the virtual robot multigroup motion option was selected when the
robot was started from the serialize wizard.
1. Start the virtual robot in controlled start mode by selecting Robot / Restart Controller
/ Controlled Start from the main menu.
Working with Robot Controllers
167
The robot will restart in controlled start.
2. Press Menu button, and then select Maintenance
3. Down Arrow to the desired group and press enter
4. Press Manual
A menu is presented which allows you to work with the motion group.
5. Select the Add Axis item and press Enter
An axis is added, and you must answer questions to configure the hardware. When the
questions are answered the menu for the group will be presented.
6. Select Exit and press Enter.
7. Press FCTN and then select START (Cold) so that the new settings can take effect.
After cold start the group should show the added axis in the cell browser.
Changing a positioner configuration on the virtual robot
A positioner and its axis information must be correctly defined on the virtual robot. The
configuration is the same as the configuration on the actual robot. This includes item such
as amp number, axis number, motor type, mosign direction, motion limits, etc. Using the
controlled start menus on the robot controller can change the configuration. The controlled
start menus operate the same on the virtual robot as on the actual robot.
State: PRO is running and the virtual robot multigroup motion option was selected when the
robot was started from the serialize wizard.
1. Start the virtual robot in controlled start mode by selecting Robot / Restart Controller
/ Controlled Start from the main menu.
The robot will restart in controlled start.
2. Press Menu button, and then select Maintenance
3. Down Arrow to the desired group and press enter
4. Press Manual
A menu is presented which allows you to work with the motion group.
5. Select the Display / Modify item and press Enter
6. Enter the Axis to Display / Modify
Working with Robot Controllers
168
You can step through the items by following the menus.
7. After changing the desired item, finish stepping through the settings until you return
to the top level menu.
8. Select Exit and press Enter.
9. Press Fctn -> Start (Cold)
The robot will restart.
Using the Coord Tab to define a coordinated pair
The Coord tab is used primarily for setting up coordinated motion for positioners.
When defining a coordinated motion pair, the positioner group and robot are taught 3
different locations. These locations are used to calculate the coordinated motion frame.
The Coord tab provides a mechanism to quickly move the robot and positioner to 3 unique
locations. The tab is used along with the coordinated motion setup screens on the virtual
TP. This tab provides a simple mechanism to quickly move the devices. After each move,
the unique coordinated pair setup positions can be recorded from the virtual TP.
To define a Coordinated Pair using the Coord Tab
This procedure assumes that the positioner has been built and that the groups and their
joints can be jogged from the Teach Pendant.
1. Select the group axis for which a coordinated pair will be created.
2. Open the machine axis property page for the group
3. Select the Coord Tab.
4. Enable the Has Calibration Point checkbox.
5. Press the Select 3D Calibration Point button. This selects the calibration point with a
position triad.
6. A calibration point must be defined. When the MoveTo button is pressed the
positioner axis is moved to the position defined in Positioner Angle and the robot is
moved to the calibration point. Locate the calibration point by either:
o Direct entering numbers
o Dragging the Calibration point
Working with Robot Controllers
169
Note: makes sure that the Z, X, and Y settings fot he calibration point are such
that the robot can move to the position.
7. Open the Coord Motion setup screen on the virtual teach pendant. Open the Virtual
TP and select Menus / Setup/ Type (F1)/ Coord (may be under the second page).
8. On the Virtual Teach Pendant Coord motion setup screen enter the coordinated pair
information. This includes Coord Pair Number, Leader Group Number (the positioner
group), and the Follower Group (the robot).
9. On the Virtual Teach Pendant select the softkey C_TYP and select Unknown PT.
10. Ensure that the robot is the active motion group for jogging.
11. Three positions with unique positioner axis locations are taught to define the
coordinated motion frame. The PRO interface Coord Tab is used to quickly move the
robot and the positioner axes to three locations. The Virtual Teach Pendant Coord
Setup screen is used to record the required 3 positions.
12. Enter a positioner Angle on the Coord Tab from within PRO and press MoveTo.
The robot and positioner should move to the Angle entered with the robot TCP at the
calibration point.
Note: it is not uncommon to have position not reachable errors when trying to do the
MoveTo. Ensure that the positioner rotation does not make the position unreachable,
and that the Z, X, and Y settings of the calibration point are oriented such that the robot
can reach the position.
13. Enable the Virtual TP and down arrow to Point 1 and Press Shift – Record.
14. Enter a new positioner Angle on the Coord Tab from within PRO and press
MoveTo.
The robot and positioner should move to the Angle entered with the robot TCP at the
calibration point. It is best to use the largest angles between points that the robot can
reach.
15. Enable the Virtual TP and down arrow to Point 2 and Press Shift – Record.
16. Enter a third positioner Angle on the Coord Tab from within PRO and press
MoveTo.
The robot and positioner should move to the Angle entered with the robot TCP at the
calibration point.
Working with Robot Controllers
170
17. Enable the Virtual TP and down arrow to Point 3 and Press Shift – Record.
18. Press Shift – and the EXEC softkey. The coordinated pair is now defined.
The controller must be cold started for the pair to be initialized.
19. From the Main Menu select Robot / Restart Controller / Cold Start.
When the controller is restarted the coordinated pair is defined.
To validate that the coordinated pair is defined correctly jog the robot close to an edge on
the positioner axis. Select the group to be jogged. Press Fctn – Toggle Coord Jog. When
the group joint is jogged the robot should track with the moving joint.
7.7.2.1 Building a positioner example
Building a positioner example
The following example shows the process required to build a positioner. Required to build
the positioner is CAD information for the positioner joints. The example creates a new
workcell, configures a virtual robot with multiple groups, and builds the positioner from CAD
elements in the Roboguide interface. The positioner built is a 3 group Genesis Versa 3M3
which includes an axis (Group) to rotate a ferris wheel that has an axis on each side of an
H with each arm of the H being a single axis group. (headstock/ tailstock)
The workcell can be found in <install drive> \Program
Files\FANUC\PRO\WeldPRO\Sample Workcells\ positioner example
Step 1: Create a new workcell
Step 2: Build the positioner
Building a positioner example Step 1 Create a new workcell
A new workcell is created with the name Positioner_Example. Several steps are required
and this step describes each procedurally.
Step 1: Create a new workcell
1. Start a new workcell by selecting File / New from the main menu
The workcell creation wizard is opened.
2. Select which PRO plugin you desire and press Next. This example uses WeldPRO.
You should be able to use the same procedure in other PRO software.
3. Name the workcell and press Next. This example uses the workcell name
Positioner_Example.
Working with Robot Controllers
171
4. Select the desired robot from the list and press Next. This example uses the M6iB/ARCMate100iB robot.
5. If a list of software versions is presented, select the highest support virtual robot
version.
6. Select the positioner type for each group used by the positioner. This example
places a Basic positioner with no definitions for each of 3 groups.
Select Basic Positioner and press the hand icon () next to group 2.
Select Basic Positioner and press the hand icon () next to group 3.
Select Basic Positioner and press the hand icon () next to group 4.
A 3 group positioner system is now configured for the virtual robot. When the
virtual robot is started the 3 group systems is defined and motor definitions will
have to be made. This is common with serializing an actual robot.
See Configuring a virtual robot for multigroup positioners for a more detailed
description of this wizard step.
Press Next when complete.
7. Select options to be loaded on the robot. When selecting additional groups in the
earlier step, Roboguide automatically enabled the multi group option. This example
also enables the Coordinated Motion option.
Check the box next to the Coordinated Motion option in the list and press Next.
8. The final step of the wizard shows the configuration of the robot that will be
serialized. Press Finish to start the creation of the virtual robot.
After pressing finish the virtual robot is serialized. The process can be seen on the
virtual TP screen. Roboguide should initialize with a 3D CHUIWorld.
Defining the positioner axis hardware information. After serializing the virtual robot the
configuration has 3 additional motion groups defined with each group having 0 axes. Axes
must be added to these groups before the group can be used.
9. Start the virtual robot in controlled start mode by selecting Robot / Restart Controller
/ Controlled Start from the main menu.
The robot will restart in controlled start.
10. Press Menu button, and then select Maintenance
11. Down Arrow to the desired group
12. Press Manual
A menu is presented which allows you to work with the motion group.
Working with Robot Controllers
172
If asked the hardware start axis, enter 7 for Axis 7.
13. If asked for the Kinematics Type Setting, select Unknown Kinematics.
14. A menu is then presented. Select the Add Positioner Axis item and press Enter
15. The Virtual TP screen shows question that must be answered to define the
hardware selected. When the questions appear left click the mouse on the virtual TP
window, and answer the questions as detailed below (the answers provided may not be
correct for the hardware on an actual positioner. See the FANUC Robotics North
America manuals for more information).
16. Group 2 Positioner Initialization
o Enter hardware start axis (if not already answered): 7
o Kinematics Type Setting(if not already answered): Unknown Kinematics
o Motor Size: Aca6
o Motor Type Setting: /2000
o Amplifier Current Limit Setting: 40A
o Amplifier Number Setting: 2
o Amp type : Alpha
o Axis Type: Rotary Axis
o Direction Setting: +Y
o Gear Ratio Setting: 161
o Maximum Speed Setting: No Change
o Motion Sign Setting: True
o Upper Limit Setting: 450
o Lower Limit Setting: -450 (Press the – key on the numeric keypad)
Working with Robot Controllers
o Master Position Setting: 0
o Accel Time 1 Setting: No Change
o Accel Time 2 Setting: No Change
o Exponential Filter Setting: False
o Minimum Accel Time Setting: No Change
o Load Ratio Setting: 2
o Brake Number Setting: 0’
o Servo Off Setting: False
o Group 2 Total Positioner Axes = 1: Exit
17. Cursor down to Group 3 and press Manual
18. Group 3 Positioner Initialization
o Enter hardware start axis: 8
o Kinematics Type Setting: Unknown Kinematics
o Group 3 Total Positioner Axes = 0: Add Positioner Axis
o Motor Size: ACa6
o Motor Type Setting: /2000
o Amplifier Current Limit Setting: 40A
o Amplifier Number Setting: 3
o
o Amp type : Alpha
o Axis Type: Rotary Axis
173
Working with Robot Controllers
o Direction Setting: +Y
o Gear Ratio Setting: 161
o Maximum Speed Setting: No Change
o Motion Sign Setting: True
o Upper Limit Setting: 450
o Lower Limit Setting: -450 (Press the – key on the numeric keypad)
o Master Position Setting: 0
o Accel Time 1 Setting: No Change
o Accel Time 2 Setting: No Change
o Exponential Filter Setting: False
o Minimum Accel Time Setting: No Change
o Load Ration Setting: 2
o Brake Number Setting: 0’
o Servo Off Setting: False
o Group 3 Total Positioner Axes = 1: Exit
19. Cursor down to Group 4 and press Manual
20. Group 4 Positioner Initialization
o Enter hardware start axis: 9
o Kinematics Type Setting: Unknown Kinematics
o Group 4 Total Positioner Axes = 0: Add Positioner Axis
o Motor Size: Aca6
174
Working with Robot Controllers
o Motor Type Setting: /2000
o Amplifier Current Limit Setting: 40A
o Amplifier Number Setting: 4
o Amp type : Alpha
o Axis Type: Rotary Axis
o Direction Setting: +X
o Gear Ratio Setting: 161
o Maximum Speed Setting: No Change
o Motion Sign Setting: True
o Upper Limit Setting: 450
o Lower Limit Setting: -450 (Press the – key on the numeric keypad)
o Master Position Setting: 0
o Accel Time 1 Setting: No Change
o Accel Time 2 Setting: No Change
o Exponential Filter Setting: False
o Minimum Accel Time Setting: No Change
o Load Ratio Setting: 2
o Brake Number Setting: 0’
o Servo Off Setting: False
o Group 4 Total Positioner Axes = 1: Exit
21. Press Fctn / Start (Cold)
175
Working with Robot Controllers
176
The PRO package opens with a robot in a workcell with no other devices. Expand the
Robot Controllers / Robot 1 tree in the cell browser. Under the Robot 1 tree are GP:1
through GP:4. Each group has a single joint axis. The axes exist, but a positioner needs to
be defined that use the groups.
Next Step
Building a positioner example Step 2 Build the positioner
Step 1 created a new workcell, and configured a virtual robot with 4 groups with groups 2-4
having a single joint axis. Step 2 uses these groups to build a PRO machine / positioner.
A machine is defined that has a base that holds the positioner axes. Group 4 is defined as
the center axis of the two arms of H/ ferris wheel positioner. Each arm of the positioner is
defined as group 2 and 3 respectively. Since each arm of the H/ ferris wheel positioner
moves when group 4 (center) moves the machine must have this relationship defined in the
Roboguide. The following procedure defines this relationship within the workcell.
Build the base of the positioner
1. Open the cell browser if it is not open
2. Expand the Robot Controllers/ Robot1 Category where GP:1 through GP:4 are
shown. Each group has a single joint axis. The axes exist but a positioner needs to be
defined that use the groups.
3. Right Click on the Machines Element and select Add Machine / CAD File menu
selection. A dialog appears to select a CAD file. Browse <install drive> \Program
Files\FANUC\PRO\WeldPRO\SampleWorkcells\ positioner example and select
SimPro_V3M3_Base.csb, and press Open.
The base CAD for the positioner should be loaded into the workcell.
4. Change the Name Property to Versa 3M3 and press apply.
5. Locate the Base CAD. Enter -300,0,0, 90, 0, 180 for the CAD Location, and press
Apply. The Base should move to where the robot is located.
6. Select Lock All Location Values and press Apply to lock the base in the workcell.
Locate the robot on the base of the positioner
7. Open the property page for the robot
Working with Robot Controllers
177
8. Set the location value to 0, 0, 170, 0, 0, 0 and press Apply
9. Set the check box for Lock all Location Values and press Apply
Build the center of rotation axis – Group 4, Joint 1.
10. Right Click on the Versa3M3 Machine root node under Machines and select Add
Link -> CAD File. A dialog appears to select a CAD file. Browse to <install drive>
\Program Files\FANUC\PRO\WeldPRO\SampleWorkcells\ positioner example and
select SimPro_V3M3_major.csb, and press Open.
The CAD for the major axis of the positioner should be loaded into the workcell. The
origin of the Major axis CAD loaded is placed relative to the origin of the base
(Versa3M3 node).
11. Change the Name Property to Versa3M3_Major and press apply.
12. The axis of rotation must now be defined. PRO defines the axis of rotation to be
the +Z axis of the Axis origin for the Joint being defined. See Positioner definitions and
layout within FANUC Roboguide for more description.
Press Select 3D Axis. The 3D joint axis is highlighted. The +Z axis must now be aligned
along the axis of rotation and placed at the correct location where the motor will rotate.
Change the Axis Origin Values to –1763.598, 354.787, 0, -90, 0, 0 and press Apply.
The center rotation of axis should now be located correctly (in front of the robot).
The positioner axis origin of rotation information is now correct in the workcell. The
CAD may be incorrect in the workcell, but this is adjusted in a later step. The key is that
the Z axis of the 3D axis is aligned and located where the motor will rotate.
13. The CAD location must now be adjusted relative to the axis origin.
Select the Link CAD tab for Versa3M3_Major. Change the CAD Location values to
0,0,0,90,0,0 and press Apply. The CAD should now be properly located. When jogged
the CAD rotates about the axis defined in a previous step.
A virtual robot group must now be assigned to the CAD.
14. In the group dropdown on the Motion Tab for the Versa3M3_Major node select
GP:4 – Basic Positioner. In the Joint dropdown select Joint 1 (should already be
selected by default). Press Apply
The major axis should now move if Group 4 is jogged from the virtual TP.
15. Save the workcell.
Build Group 2 side of the positioner axis – Group 2, Joint 1.
16. Since each side of the positioner moves when the center axis (Group 4) is jogged,
Working with Robot Controllers
178
this dependency must be defined when building the positioner. This is done by adding a
link relative to the G:4, J:1 – Versa3M3_Major node in the cell browser.
Right Click on the G:4, J:1 – Versa3M3_Major node under Machines / Versa3M3 and
select Add Link -> CAD File. A dialog appears to select a CAD file. Browse to <install
drive> \Program Files\FANUC\PRO\WeldPRO\SampleWorkcells\ positioner example
and select SimPro_V3M3_minor.IGS, and press Open.
The CAD for the minor axis of the positioner should be loaded into the workcell. The
origin of the minor axis CAD loaded is placed relative to the link CAD of the
Versa3M3_Major axis link (G:4, J:1 - Versa3M3_Major node).
17. Change the Name Property to Versa3M3_Minor_Side_A and press Apply.
18. The axis of rotation must now be defined. PRO defines the axis of rotation to be
the +Z axis of the Axis origin for the Joint being defined. See Positioner definitions and
layout within FANUC Roboguide for more description.
Press Select 3D Axis. The 3D joint axis is highlighted. The +Z axis must now be aligned
along the axis of rotation and placed at the correct location where the motor will rotate.
Change the Axis Origin Values to 512.775, 445.211, 718.033, 0, 180, 0 and press
Apply. The center rotation of axis should now be located correctly (at the correct arm of
the center major axis). . The CAD is correct in this example so it does not have to be
adjusted. A virtual robot group must now be assigned to the CAD.
19. Select the Motion Tab.
20. Select the Servo Radio button (set by default).
21. In the group dropdown on the Motion Tab for the Versa3M3_Minor_Side_A node
select GP:2 – Basic Positioner. In the Joint dropdown select Joint 1. Press Apply
The minor axis should now move if Group 2 is jogged from the virtual TP.
Build Group 3 side of the positioner axis – Group 3, Joint 1.
22. Since each side of the positioner moves when the center axis (Group 4) is jogged,
this dependency must be defined when building the positioner. This is done by adding a
link relative to the G:4, J:1 – Versa3M3_Major node in the cell browser.
Like the previous steps, right Click on the G:4, J:1 – Versa3M3_Major node under
Machines / Versa3M3 and select Add Link -> CAD File. A dialog appears to select a
CAD file. Browse to <install drive> \Program Files\FANUC\PRO\WeldPRO\Sample
Workcells\ positioner example and select SimPro_V3M3_minor.csb, and press Open.
The CAD for the minor axis of the positioner should be loaded into the workcell. The
origin of the minor axis CAD loaded is placed relative to the link CAD of the
Working with Robot Controllers
179
Versa3M3_Major axis link (G:4, J:1 - Versa3M3_Major node).
23. Change the Name Property to Versa3M3_Minor_Side_B and press Apply.
24. The axis of rotation must now be defined. PRO defines the axis of rotation to be
the +Z axis of the Axis origin for the Joint being defined. See Positioner definitions and
layout within FANUC Roboguide for more description.
On the General tab Press Select 3D Axis. The 3D joint axis is highlighted. The +Z axis
must now be aligned along the axis of rotation.
Change the Axis Origin Values to -512.775, 445.211, 718.033, 0, 180, 0 and press
Apply. The center rotation of axis should now be located correctly (at the correct arm of
the center major axis). . The CAD is correct in this example so it does not have to be
adjusted. A virtual robot group must now be assigned to the CAD.
25. Select the Motion Tab.
26. Select the Servo Radio button (set by default).
27. In the group dropdown on the Motion Tab for the Versa3M3_Minor_Side_B node
select GP:3 – Basic Positioner. In the Joint dropdown select Joint 1. Press Apply
The minor axis should now move if Group 3 is jogged from the virtual TP.
Add group 2 fixture to hold parts: a static box will be added to group 2 to fixture parts
28. Right mouse click on the G:2,J:1 – Versa3M3_Minor_Side_A node of the machine
and select Add Link. Select Box.
A box is attached to the G:2 Link and the property page for the new link should be
open.
29. Name the link. On the General tab, rename the link to Side_A fixture and press
Apply.
30. Disable any motion axes for the link. On the Motion property page for the new link
select "none" in the Group dropdown list box. Click Apply.
31. Select the Link Cad Tab
32. Change the scale / size values to 300, 50, 1500 and press Apply.
The box size should change.
33. Change the CAD Location values to 0,0, 1500, 0, 0, 0.
The box should be centered in the positioner.
Working with Robot Controllers
180
Now when group 2 is jogged the box / fixture should move with the group.
Add group 3 fixture to hold parts: a static box will be added to group 2 to fixture parts
34. Right mouse click on the Side_A fixture you just created and select Copy Side_A
fixture
The link is copied into the clipboard.
35. Right mouse click on the G:3, J:1 – Versa3M3_Minor_Side_B ode of the machine
and select Paste Side_A fixture.
A new Side_A fixture1 should be created
36. Rename the Side_A fixture 1 to Side_B fixture and press apply
Now when group 3 is jogged the box / fixture should move with the group.
After building a positioner, the positioner information may be saved for future use. When
saved for future use, the positioner can be loaded during the Workcell Creation Wizard
process..
Parts can be attached to any of the positioner fixture links using the Parts tab on each
respective link.
7.7.3 Working with IO driven machines
Working with IO driven machines
It is common to have devices in a workcell that are moved to a state based upon a state of
robot or other device IO. Robots on IO driven slides, clamps, gates are only a few
examples.
Machine links can be defined to be driven by robot servo motors defined on the virtual
robot or by IO.
An IO driven device is created using the same procedures as building a machine the only
difference is that the motion type is set to IO on the Motion tab for the machine link.
For more information:
• Regarding building machines: Working with machines
• Regarding the details of assigning IO to a machine link: Use the machine axis Motion
tab
Working with Robot Controllers
181
Configure a machine link to be driven by
robot IO
To define a link to be driven by the state of robot IO:
1. Build a machine
When defining the motion type for a machine on the Machine Link Motion Tab, select
IO as the type.
2. Define the outputs and state of the link in the outputs grid.
3. If desired, define the inputs based upon the state of the link in the inputs grid.
7.8 Working with Jobs
Working with robot controller jobs
Processing a part may require several different robot TP programs to obtain desired
results. Roboguide has a Jobs category under a robot controller where jobs can be
created, edited and auto-generated.
Several robot Application Tool packages support programs with the type Job. Roboguide
plug-ins support jobs as intended by the robot application Tool.
• HandlingPRO: HandlingTool does not have a Job program type. Roboguide uses
Jobs as a tool for the robot programmer to auto generate a TP program that calls
several other TP programs. Higher level programs can be generated by using a
Roboguide Job.
• WeldPRO: ArcTool does not have a Job program type. WeldPRO uses Jobs as a tool
for the robot programmer to auto generate a TP program that calls several other TP
programs. The Job capability could be very useful to create an overall process program
that calls several TP programs that were generated using automatic path generation
CAD to path programs.
• PaintPRO: PaintTool supports the concept of Jobs and Processes. PaintPRO fully
supports Job types available in PaintTool. For more information regarding PaintPRO
jobs see About PaintPRO Jobs.
Working with Robot Controllers
182
Using the Roboguide Job property page
The Job property page enables you to quickly create a TP program that CALLs other TP
programs. This may be very desirable when you have several separate TP programs that
need to be called in a defined order.
The Job property page has Tabs that enable the configuration and build of a Job. Tabs
include:
General Tab: Has fields that define how the .TP program should be generated. Fields
include:
• Name:
o Name: Defines the name of the Job in the Roboguide
o TP Program Name: defines the name of the output TP program.
• Generation Parameters:
o Group Mask: defines what robot group mask property to give the output
.TP program.
Note: if the option to generate a Job program that combines all TP lines into
a single Job program is selected, the group mask for all processes being
combined must be the same as the group mask chosen.
o Call the process TPs from the job TP radio button: if enabled, selected
process TPs are combined by creating a the Job.TP program that has Calls
to selected processes on the Processes tab.
 Generate all assigned CAD-To-Path features first:
If enabled, Job TP program and any feature (CAD to PATH)
processes defined on the Processes Tab are generated.
If not enabled, only the Job TP program is generated, which calls
the programs as defined on the Processes Tab.
o Insert all process TP lines into the job: if enabled, selected process TPs
on the processes tab are combined into the generated Job.TP program. The
resulting program combines all process TP lines into the Job.TP program.
 Include process comment lines: when checked, comment lines
are also include in the resulting TP program.
Working with Robot Controllers
183
• Generate: when pressed, programs are generated as defined on the property page
tabs.
Processes Tab:
• Process Selection Frame: items in the box on the left can be snapped to the box on
the right. The contents of the box on the right defines what programs should be called
when the job is generated.
o Available items: define the CAD features and robot controller programs
available to be generated into a job
 Show Part feature, Show TP, and Show MR are switches to
define what is viewed in the Available Items box.
o Items in Job box: defines the processes and TP programs that will be
auto generated into the Job program when Generate is selected.
o Action keys: allow for items to be added and deleted from the Items in
Job box.
 - when pressed, moves the selected item on the left into the
box on the right.
 - when pressed, moves all the items on the left into the box on
the right.
 - when pressed, removes the selected item on the right.
 - when pressed, removes all the items in the box on the right.
After processes have been added to the job, switch to the General tab to generate.
Working with Robot Controllers
184
Adding a Job
To add a new Job
1. Right mouse click on the Jobs Category in the Cell Browser
2. Select Add Job
A new Job is created, and the Job property page should show.
7.8.1 Working with PaintPRO Jobs
About PaintPRO Jobs
PaintPRO supports the generation of Job program types that are supported on PaintTool.
The PaintPRO Job Property page has fields that provide automatic generation of PaintTool
jobs, and have settings to generate the TP programs that are called by a job.
Job programs call / execute process TP programs in order to perform the paint process.
Job programs generally CALL process TP programs that combine to perform the
processing task required. For more information regarding jobs and paint zones see
Background information on PaintPRO workcells
Jobs are used uniquely on different types of Paint Booths. There are specific structures and
guidelines that must be utilized so that PaintTool can properly playback workcell programs.
PaintPRO supports P-500 booths and basic PaintTool configurations. The Job editor is
uniquely customized for the different configurations.
• P-500 jobs:
• Basic PaintTool jobs: for PaintTool / PaintPRO workcells that utilize non P-500
configurations the job editor creates a paint job program type.
About P500 jobs
P-500 robot controllers generally have dual arm configurations. Group 1 defines the left
hand robot, and group 2 defines the right hand robot. PaintTool conventions are followed
when creating Job programs. Conventions include:
• To execute a style on a robot controller, the PLC initiates the robot Job. In general,
PaintTool accepts the initiated Style number and option bits, runs the left hand job, and
looks in the header information of the left hand job to find out what right hand job to
execute.
Working with Robot Controllers
185
PaintPRO automatically sets up the header information for the left hand job to follow
this procedure.
• PaintTool uses the multitasking capability of the robot controller. When the right hand
(group 2) Job program is executed it runs simultaneously with the left hand Job
program.
Generating Job Programs
The techniques utilized to generate job programs vary depending upon how you choose to
create programs to process a part. The PaintPRO job property page is flexible and can be
used to generate desired job programs from different configuration of processes.
It is common to utilize the Job property page multiple times with different settings to obtain
desired Job and Process program outputs.
General techniques include:
Generate opposite arm jobs and processes from selected arm:
• Define paint zones on a single side (right or left) and duplicate (mirror image) the
programs to the opposite side. This is very common since it is often desired to have the
right and left robots execute the same trajectory relative to the part on opposite sides.
The PaintPRO Job property page has functions to "mirror" image a paint zone to the
robot on the opposite side using group mask exchange. The Job property page is
configured to generate Job TP’s from one arm’s assignments, and then to generate the
opposite arm’s assignment based upon the initial arms Job. The general process has
the following steps.
1. Define the processes for the desired arm on the respective Left or Right processes
tab,.
2. Define, on the Job general tab, the appropriate setting for the desired right or left
side that the Job is generated from. The setting is to Generate the Job program from
defined processes from the one side defined in step 1
3. Change settings for the opposite side job to use the group mask exchange option to
generate a job from the job just generated. This essentially mirrors the initial Job by
using Group Mask Exchange capability of the robot controller. A job is created
automatically based upon the step 1 defined job.
The following figure shows an example of where processes are defined on the left side of
the part. The Job is defined for the left side of the part.
The job’s Left Processes Tab is used to build a Job from assigned paint zones.
The job’s General property page tab defines:
• That the LEFT Job TP to be created using the left paint zone job assignments.
Working with Robot Controllers
186
• That the RIGHT Job TP be generated using Group Mask exchange from LEFT
processes to RIGHT then to Generate the Job TP
After generation, the right hand Job and TP programs are created as a mirror image of the
left side using group mask exchange.
The result is an entire job that run mirrored programs on each side of the part.
Generate Jobs and processes from defined zones for each arm:
• Define paint zones uniquely for both right and left sides. Projection templates and
their associated process programs can be created where desired on a part. The
PaintPRO Job property page has functions to have Job and Process programs be
generated uniquely from defined paint zones. Processes are defined on the left and
right processes tabs and then generated. The general process has the following steps:
1. Define the LEFT processes for the Job program from defined processes from the
LEFT side on the Left Processes Tab.
2. Define the RIGHT processes for the Job program from defined processes from the
RIGHT side on the Right Processes Tab.
3. Define, on the Job general tab, to generate the Job TP from LEFT Assignments, and
to generate JOB TP from RIGHT Assignments.
The following figure shows and example of where processes are defined on the left side of
the part. The Job is defined for the left side of the part on the Left Processes Tab.
A single paint zone is defined on the right side of the part. The Job is defined for the right
side of the part on the Right Processes Tab.
The job’s General property page tab defines:
• That the LEFT Job TP to be created using the left paint zone job assignments.
• That the RIGHT Job TP to be created using the Right paint zone job assignments
After generation programs are created for both sides based upon the assignments on the
Left and Right processes tabs.
Programs for the left side can be shown.
The program for the right side can be shown.
The result is a left and right job that each call unique paint zone processes (Shown in
Working with Robot Controllers
187
figure).
The Job editor provides the capability to create Jobs uniquely for each arm, or to create
Jobs for on arm from the opposite arms process definitions.
Using the PaintPRO Job Property Page
The Job editor provides fields to create PaintTool jobs from processes. Fields on the Job
editor depend on the configuration of the PaintPRO workcell. It is recommended that you
understand PaintTool jobs and how PaintPRO supports PaintTool jobs before using the
Job Property pages. For information regarding PaintTool jobs see the PaintTool operations
documentation. For detailed information regarding PaintPRO jobs see About PaintPRO
Jobs.
The Job property page has multiple tabs: not all tabs are always available as the
configuration of the workcell effects desired definition for Jobs. P-500 workcells have left
and right process tabs as each robot controller has a right and left arm associated. Non P500 configurations, where each controller has a single arm, will have a single process tab
on the Job property page.
The General tab is used to define what to generate. The Process tabs define what
programs / processes to execute during the job. Job definition is done using the processes
tabs, and the general tab is used to generate based upon the definitions on the processes
tabs.
How the property pages are used is driven by how you have defined paint zones. The
following items describe different use methods. Links to procedures to use these methods
are provided.
P500 Jobs:
Methods to use the Job property pages: the following cases are common.
• CASE 1: Dual arm / right and left arm configuration and paint zones have been
uniquely defined on each side of the part.
Step 1: Assign processes on the Left and Right Processes tabs.
Step 2: Generate Jobs from their assigned zones on the General tab: this procedure is
used with dual arm applications when paint zones have been defined uniquely for both
left and right processes.
See Create unique jobs and processes for each arm for procedures.
• CASE 2: Dual arm / right and left arm configuration and paint zones have been
uniquely defined on the left arm side of the part. You want to create mirrored paint
zones of the left arm to the right side because the robot should run the same program
Working with Robot Controllers
188
motions as the left on the opposite side of the part.
Step 1: Assign processes on the Left Processes tabs.
Step 2: On the General tab, select Generate Job TP from LEFT Assignments for the
LEFT Job TP.
Step 3: On the General tab, select Group Mask Exchange LEFT process to RIGHT,
then Generate Job TP for the RIGHT Job TP
If the Generate all assigned paint zone TPs before the job TP is enabled, robot process
TP programs are also generated.
See Create opposite arm jobs and processes from a defined job for procedures.
• CASE 3: Dual arm / right and left arm configuration and paint zones have been
uniquely defined on the right arm side of the part. You want to create mirrored paint
zones of the right arm to the left side because the robot should run the same program
motions as the right on the opposite side of the part.
Step 1: Assign processes on the Right Processes tabs.
Step 2: On the General tab, select Generate Job TP from Right Assignments for the
RIGHT Job TP.
Step 3: On the General tab, select Group Mask Exchange RIGHT process to LEFT,
then Generate Job TP for the LEFT Job TP.
If the Generate all assigned paint zone TPs before the job TP is enabled, robot process
TP programs are also generated.
See Create opposite arm jobs and processes from a defined job for procedures.
Non P-500 workcells:
Utilize the basic job editor.
Tabs on the Job property page include:
• General Tab: provides fields to define Job names, and job generation parameters.
• Left Processes Tab: provides fields to build a job for left processes.
Working with Robot Controllers
189
• Right Processes Tab: provides fields to build a job for left processes.
Using the PaintPRO Job Property Page General Tab
The Job general property page tab provides fields to define Job names, and job generation
parameters.
It is recommended that you understand PaintTool jobs and how PaintPRO supports
PaintTool jobs before using the Job Property pages. For detailed information regarding
PaintPRO jobs see About PaintPRO Jobs.
The General tab is used to define what to generate. The Process tabs define what
programs / processes to execute during the job. Job definition is done using the processes
tabs, and the general tab is used to generate based upon the definitions on the processes
tabs.
The general property page tab is used in multiple ways to create Job programs. The
method that you use settings on the General tab depends on how you have defined paint
zones on the part CAD data. First the fields are described, and then different methods to
use the general property page tab are described in Using the PaintPRO Job Property
Page. For more information see PaintPRO Jobs.
Field descriptions:
P-500 Workcell Job editor
• Job Settings Frame: fields to define properties that effect the naming and selection of
desired job and style.
o Name: The name for the Job program that is displayed in the Cell
Browser.
o Paint Preset: if not zero, a standalone preset instruction with the number
entered used as a parameter is added to the Job program.
o Style combo box: the desired PaintPRO style to be used. The available
styles are listed in the dropdown combo box. The selected style defines
what process can be chosen to build the job.
o New Option Button: generates a new Job with the option fields of the
Job TP Names modified. Note: PaintPRO creates new Job TP Names using
PaintTool conventions. If your controls system requires a different naming
convention, you must modify the names appropriately.
o New Repair Button: generates a new Job with the repair fields of the Job
TP Names modified. Note: PaintPRO creates new Job TP Names using
PaintTool conventions. If your controls system requires a different naming
Working with Robot Controllers
190
convention, you must modify the names appropriately.
• LEFT Job TP frame:
o Left TP Name: defines the name of the Job TP to create. Note: PaintPRO
creates new Job TP Names using PaintTool conventions. If your controls
system requires a different naming convention, you must modify the names
appropriately.
o Auto Name enabled: when checked PaintPRO creates the name
automatically. When unchecked you may enter a desired Job name.
o Generate Job TP from LEFT Assignments selection: when chosen,
and the job is generated, PaintPRO auto generates the Job TP program as
defined on the Left Processes tab.
o Group Mask Exchange RIGHT process to LEFT, then Generate Job
TP:
is used if you want to generate the left Job from the right arm process
definitions. This is used when the left Job execution is the same or similar to
the right arm Job execution. When generate is pressed a Left Job is
generated using the right arms Job definition as a template. The new Job
process definition can be seen on the Left Processes tab
If the Generate all assigned paint zone TP’s before the job TP option is
enabled, PaintPRO generates process TP programs from the right arm
program by modifying the generated TP program to use the left arm
configuration and left arm tracking schedules. After the TP programs are
generated the Job program is generated.
NOTE: if generate all assigned paint zone TPs before the job TP is not
enabled, there may not be any process TP available to create the left
process TP. PaintPRO generates a error, and selections can be made how
to proceed.
o Don’t Generate Job TP: when enabled, and the program is generated,
no action is taken to generate a LEFT Job TP.
• RIGHT Job TP frame:
o RIGHT TP Name: defines the name of the Job TP to create. Note:
PaintPRO creates new Job TP Names using PaintTool conventions. If your
controls system requires a different naming convention, you must modify the
names appropriately.
Working with Robot Controllers
191
o Auto Name enabled: when checked PaintPRO creates the name
automatically. When unchecked you may enter a desired Job name.
o Generate Job TP from RIGHT Assignments selection: when chosen,
and the job is generated, PaintPRO auto generates the Job TP program as
defined on the Right Processes tab.
o Group Mask Exchange LEFT process to RIGHT, then Generate Job
TP:
is used if you want to generate the right Job from the left arm process
definitions. This is used when the right Job execution is the same or similar
to the left arm Job execution. When generate is pressed a Right Job is
generated using the left arms Job definition as a template. The new Job
process definition can be seen on the Right Processes tab
If the Generate all assigned paint zone TP’s before the job TP option is
enabled, PaintPRO generates process TP programs from the left arm
program by modifying the generated TP program to use the right arm
configuration and right arm tracking schedules. After the TP programs are
generated the Job program is generated.
NOTE: if generate all assigned paint zone TPs before the job TP is not
enabled, there may not be any process TP available to create the right
process TP. PaintPRO generates a error, and selections can be made how
to proceed.
o Don’t Generate Job TP: when enabled, and the program is generated,
no action is taken to generate a RIGHT Job TP.
• Generate all assigned paint zone TPs before the job TP: if enabled, PaintPRO
generates all process TP’s before generating the Job TP program.
• Generate: when pressed, Job programs are generated based upon the settings on
the property page.
NOTE: if generate all assigned paint zone TPs before the job TP is not enabled
process programs may not be available on the robot controller unless they were
generated at some other time.
Different methods to use these settings with P-500 configurations is discussed in
Using the PaintPRO Job Property Page
Procedures to use the property page tabs include:
Working with Robot Controllers
192
o Build a job program for the right or left robot
o Procedure to create opposite arm jobs and processes from a defined job
o Create unique jobs and processes for each arm
Non P-500 Workcell Job editor: The job editor for non P-500 workcells has less fields.
• Job Settings Frame: fields to define properties that effect the naming and selection of
desired job and style.
o Name: The name for the Job program that is displayed in the Cell
Browser.
o Style combo box: the desired PaintPRO style to be used. The available
styles are listed in the dropdown combo box. The selected style defines
what process can be chosen to build the job.
o New Option Button: generates a new Job with the option fields of the
Job TP Names modified. Note: PaintPRO creates new Job TP Names using
PaintTool conventions. If your controls system requires a different naming
convention, you must modify the names appropriately.
o New Repair Button: generates a new Job with the repair fields of the Job
TP Names modified. Note: PaintPRO creates new Job TP Names using
PaintTool conventions. If your controls system requires a different naming
convention, you must modify the names appropriately.
• Job TP frame:
o TP Name: defines the name of the Job TP to create. Note: PaintPRO
creates new Job TP Names using PaintTool conventions. If your controls
system requires a different naming convention, you must modify the names
appropriately.
o Auto Name enabled: when checked PaintPRO creates the name
automatically. When unchecked you may enter a desired Job name.
• Generate all assigned paint zone TPs before the job TP: if enabled, PaintPRO
generates all process TP’s before generating the Job TP program.
• Generate: when pressed, Job programs are generated based upon the settings on
Working with Robot Controllers
193
the property page.
NOTE: if generate all assigned paint zone TPs before the job TP is not enabled
process programs may not be available on the robot controller unless they were
generated at some other time.
Using the PaintPRO Job Property Page Processes Tabs
The Job property page has tabs for Left and Right processes with P-500 workcells, and a
single processes tab for other single arm controller PaintTool configurations. These tabs
provide the ability to build a job definition from:
• paint zones defined for the style
• Robot programs on the robot controller: the PaintTool has process TPs, regular TPs,
and macros.
With P-500 workcells, each process tab defines the processes that should execute on the
corresponding robot. After populating the fields on the tab, the job program can be autogenerated on the Job general property page.
For a procedure on how to use the processes tab to build a job see Build a job program for
the right or left robot
Fields on the processes tabs include:
• Processes Frame:
o Available Processes Listbox: provides a list of processes available for
the style selected on the Job general property tab. Additional robot
programs available on the robot controller are shown based upon the
program type selection below the Available processes selection listbox.
o Assigned Processes Listbox: displays the list of processes assigned to
the job.
o Program display type selection: when each individual program type is
checked, programs of that type shows in the available processes listbox.
Types include:
 Show Paint Zones: zones created for that style
 Show PR: process type TP programs on the robot controller.
 Show TP: TP program type on the robot controller
Working with Robot Controllers
194
 Show MR: Macro program type on the robot controller.
o Arrow move controls: are used to move processes between Available
and Assigned processes list boxes. Controls work as follows:
 : moves the selected process on the left to the right
 : moves all processes on the left to the right
 : moves the selected process on the right from the right list box
 : removes all processes on the right from the listbox.
NOTE: items in the list boxes can be selected using standard Windows selection
techniques:
• Single left click: selects the item
• Ctrl-Single left click: keeps current selected items and adds the clicked item
• Shift-Single left click: selects all the items between a highlighted item and the left
clicked on item.
After defining processes, the job program can be generated on the General property page.
Specific P-500 procedures to use the property page tabs include:
• Build a job program for the right or left robot
• Procedure to create opposite arm jobs and processes from a defined job
• Create unique jobs and processes for each arm
Working with Robot Controllers
195
Build a job program for the right or left robot
The following procedure describes how to use the Left and Right Processes Tabs of the
Job Property page for P-500 workcells, and the Processes Tab for single arm PaintTool
configurations. This procedure assumes a job has been created and defines how to use the
Processes Tabs.
To Build a job program for the right or left robot
1. Select the Job in the cell browser
2. Open the Job property page
3. Select the desired Processes tab
4. Select the robot program types that should show in the Available Processes listbox
5. Use the arrow buttons to move desired processes into the Assigned Processes
listbox.
6. When finished press OK or Apply
The Job program is not generated until settings are defined on the General Tab and
Generate is pressed on the General Tab.
V6.31 Rev H. and higher of PaintPRO adds the ability to Cross-Controller Job exchange.
See Build a job program from a controller to a different controller arm
Using the Cross Controller Job Exchange Property Page
V6.31 Rev H. and higher of PaintPRO adds the ability to Cross-Controller Job exchange.
This utility is used to create an opposite arm Job program on a different controller in the
booth. For example, Robot controller 1: Left arm Job 1 executes Process1 and Process2.
For processing reasons, the opposite side of the style (Right arm) Process1 and Process 2
need to be executed by Robot controller 2.
Fields include:
Source Controller:
• Source controller selection box: defines the source controller that Job programs are
generated from.
Working with Robot Controllers
196
• Left to Right, Right to Left selector radio buttons: defines the source arm for the
selected controller.
• Source Job TP List box: When selected the Source Job TP list box shows available
source Job TP programs for the selected source arm.
Destination controller
• Destination controller selection box: defines the destination controller that Job
programs are generated To
• Home macro name: This name is used to generate the call to home macro on the
destination controller.
• Do Exchange execute button: Executes the job exchange.
When a cross controller process is created the correct tracking boundaries are used when
building the process program.
Build a job program from a controller to a
different controller opposite arm
V6.31 Rev H. and higher of PaintPRO adds the ability to Cross-Controller Job exchange.
This utility is used to create an opposite arm Job program on a different controller in the
booth. For example, Robot controller 1: Left arm Job 1 executes Process1 and Process2.
For processing reasons, the opposite side of the style (Right arm) Process1 and Process 2
need to be executed by Robot controller 2.
When a cross controller process is created the correct tracking boundaries are used when
building the process program.
Procedure to build a job program from a controller to a different controller opposite
side arm using the cross controller Job exchange property page:
1. Open the Cross controller job exchange dialog from the Tools menu
2. Select the source controller
3. Select Left to Right or Right to Left.
When a selection is made a list is presented that allows selection of the desired source
Working with Robot Controllers
197
Job programs.
4. Select the destination controller.
5. Define the home macro name. This name is used to generate the call to home
macro on the destination controller.
6. Press Do Exchange to build the opposite arm job program.
Procedure to build a job program from a controller to a different controller opposite
side arm using the cell browser:
1. Right mouse click on the desired process
2. Move the mouse over the Group Mask exchange menu item
3. Select the desired To: robot arm from the fly out menu item
Create Jobs for both arms when all paint zones are defined on a single side of the part
This procedure is used to handle the following cases:
• CASE 1: Dual arm / right and left arm configuration and paint zones have been
uniquely defined on the left arm side of the part. You want to create mirrored paint
zones of the left arm to the right side because the robot should run the same program
motions as the left on the opposite side of the part.
Step 1: Assign processes on the Left Processes tabs.
Step 2: On the General tab, select Generate Job TP from LEFT Assignments for the
LEFT Job TP.
Step 3: On the General tab, select Group Mask Exchange LEFT process to RIGHT,
then Generate Job TP for the RIGHT Job TP
If the Generate all assigned paint zone TPs before the job TP is enabled, robot process
TP programs are also generated.
• CASE 2: Dual arm / right and left arm configuration and paint zones have been
uniquely defined on the right arm side of the part. You want to create mirrored paint
Working with Robot Controllers
198
zones of the right arm to the left side because the robot should run the same program
motions as the right on the opposite side of the part.
Step 1: Assign processes on the Right Processes tabs.
Step 2: On the General tab, select Generate Job TP from Right Assignments for the
RIGHT Job TP.
Step 3: On the General tab, select Group Mask Exchange RIGHT process to LEFT,
then Generate Job TP for the LEFT Job TP.
If the Generate all assigned paint zone TPs before the job TP is enabled, robot process
TP programs are also generated.
CASE 1: To create a job when all paint zones have been defined on the left side of
the part
1. Create a style with paint zones as desired. Paint Zones should be defined on only
the left side of the part
2. Select the job in the cell browser. If a job does not exist Add a job.
3. Open the Job property page
4. Select the Left Processes Tab
5. Build the job using processes for the style
6. Press Apply when finished
7. Select the General Tab
8. In the LEFT Job TP frame, select Generate Job TP from LEFT assignments.
9. In the RIGHT Job TP frame, select Group Mask Exchange LEFT procs to RIGHT,
then Generate Job TP
10. Enable (check) Generate all assigned paint zone TPs before the job TP
11. Press the Generate button.
PaintPRO then:
o generates the process TPs for the left side assigned processes because
Working with Robot Controllers
199
Generate all assigned paint zone TPs before the job TP is enabled.
o generates the process TPs for the right side processes by using group
mask exchange
o generates the Job program for the Left side.
o Generates the Job program for the Right side based upon the left side.
CASE 1: To create a job when all paint zones have been defined on the right side of
the part
1. Create a style with paint zones as desired. Paint Zones should be defined on only
the right side of the part
2. Select the job in the cell browser. If a job does not exist Add a job.
3. Open the Job property page
4. Select the Right Processes Tab
5. Build the job using processes for the style
6. Press Apply when finished
7. Select the General Tab
8. In the RIGHT Job TP frame, select Generate Job TP from RIGHT assignments.
9. In the LEFT Job TP frame, select Group Mask Exchange RIGHT procs to LEFT,
then Generate Job TP
10. Enable (check) Generate all assigned paint zone TPs before the job TP
11. Press the Generate button.
PaintPRO then:
o generates the process TPs for the right side assigned processes because
Generate all assigned paint zone TPs before the job TP is enabled.
o generates the process TPs for the left side processes by using group
Working with Robot Controllers
200
mask exchange
o generates the Job program for the right side.
o Generates the Job program for the left side based upon the right side.
Create unique jobs and processes for each arm
This procedure is used to handle the following case:
CASE 1: Dual arm / right and left arm configuration and paint zones have been uniquely
defined on each side of the part.
Steps:
Step 1: Assign processes on the Left and Right Processes tabs.
Step 2: Generate Jobs from their assigned zones on the General tab: this procedure is
used with dual arm applications when paint zones have been defined uniquely for both left
and right processes.
To create unique jobs and processes for each arm
1. Create a style with paint zones as desired. Paint Zones should be uniquely defined
on both sides of the part.
2. Select the Job in the cell browser. If a Job does not exist Add a job
3. Open the Job property
page!JumpID(`SimPRO_Creating_Workcells.hlp',`Opening_an_objects_property_page')
4. Select the Left Processes tab
5. Build a left robot job
6. Press Apply when finished
7. Select the Right Processes tab
8. Build a right robot job
9. Press Apply when finished
10. Select the General tab
11. In the LEFT Job TP frame, select Generate Job TP from LEFT assignments.
Working with Robot Controllers
201
12. In the RIGHT Job TP frame, select Generate Job TP from RIGHT assignments.
13. Select Generate Jobs from their assigned zones
14. Press the Generate button
NOTE: if generate all assigned paint zone TPs before the job TP is not enabled,
process programs may not be available on the robot controller unless they were
generated at some other time.
7.9 Working with the robot virtual Teach Pendant (TP)
About the virtual robot TP
The virtual Teach Pendant (TP) provides the same Teach Pendant User Interface as an
actual robot. The virtual TP operates like the actual TP operates on a real robot. For
additional information on how to use the Virtual TP interface, reference the Setup and
Operations Manuals for your robot.
The virtual TP window has 3 tabs available.
• TP Keypad: is the TP interface to the virtual robot. The TP Keypad operates like the
TP on a real robot.
• Current Position: provides the ability to move to a position and to adjust the size of
the sphere used for the teach tool.
• Virtual Settings: provides the ability to define your default PC directories for the
virtual robots MC: and FLPY: devices.
Roboguide supports both the traditional teach pendant and the iPendant. The selection of
what kind of teach pendant will be displayed depends on the setting of the pendant type
option on the main menu Tools / Options property page.
Regardless of what type of teach pendant interface chosen there are buttons available to
control the use of the virtual TP.
• : When pressed the TP keypad is hidden.
• : When pressed the PC keyboard keys are mapped onto the teach pendant keys.
The mapping can be determined by dragging the mouse pointer over the desired key. A
popup mapping box is shown.
Working with Robot Controllers
202
• : available only with iPendant. When pressed the iPendant is shown in compressed
mode. Note that the top line of the Pendant is not shown. Alarms will show on the
bottom of the Roboguide screen.
Opening the Virtual TP
To open the virtual robot TP from the Toolbar
1. Press the Virtual TP toolbar button
To open the virtual robot TP from the main menu
1. Select Teach Pendant from the Robot main menu item.
The Virtual TP is opened.
Using the TP Keypad Tab of the Virtual TP
The virtual TP operates like the actual TP operates on a real robot. For additional information
on how to use the Virtual TP interface, reference the Setup and Operations Manuals for your
robot
Using the Current Position Tab of the Virtual TP
The current position tab provides the following functions:
• Group: Dropdown list provides selections for available groups on the selected robot.
• Robot Current Position: displays the current position of the robot in Robot world,
joint. Or user frame.
To move to a desired position enter the value into the appropriate field and press
MoveTo.
• Relative Button: when pressed additional options are presented that allow entry for
moving relative to the current position of the robot.
o Tool, Joint, XYZ, USER radio buttons: defines with what frame of
reference the robot will move.
Working with Robot Controllers
203
o X, Y, Z, W, P, R: defines the values for the relative move.
o Move To: initiates the move.
o Move Back: initiates a move back to the position of the robot before the
current relative move.
o Clear: clears the relative values
NOTE: Teach Tool Sphere Radius: In V6.40 Roboguide and higher the teach tool sphere
radius is controlled on the robot property page.
Using the Virtual Settings Tab of the Virtual
TP
The virtual settings tab have settings for the MC: and FLPY: directories of you workcells
robot. By default, these directories are set under the workcells virtual robot directories. It
may be convenient to set these to a directory path where you are copying files to transfer
between the real robot / Roboguide workcell.
7.10 Estimating Robot Duty Cycle
About Duty Cycle Estimation
The Duty Cycle plugin for Roboguide provides offline duty cycle estimation. This is a very
useful function to determine if the robot is capable of running the application.
Overview
The duty diagnosis option provides servomotor duty cycle information. Duty is the physical
load on the robot servomotor.
You look at duty cycle information:
• To check whether there is a high load on a servomotor
• To diagnose a servomotor overheating problem
Note: Duty diagnosis is available only if the option is supported on the robot. Duty
diagnosis is available only for specific robots.
Duty Value
The duty value of a servomotor is displayed as a percentage value. The percentage is the
ratio of the root mean square current of the motor to the allowable root mean square
current, at a defined temperature.
Duty Value Less than 100%
A duty value less than 100% means that the servomotor is working within an acceptable
Working with Robot Controllers
204
load for the defined temperature.
The ideal operating conditions are when the duty values displayed for all joint axes are less
than 100%.
Duty Value Greater than 100%
A duty value greater than 100% means that the load on the servomotor is above the
recommended range. A value greater than 100% does not necessarily mean that the motor
will overheat. It does mean that the servomotor is working hard for the conditions and has
the potential to overheat.
When a servomotor has a duty value greater than 100%, you should adjust the program to
reduce the load on the servomotor. For example, you could add an ACC instruction to
increase the acceleration time, or a WAIT instruction to slow the execution of the program.
In addition, you could touchup certain positions to minimize duty, if possible.
Note: If the servomotor for an axis overheats, the message, "SRVO-046 SERVO OVC
alarm," will be displayed on the teach pendant screen. This message is displayed before
damage has been done to the servomotor. When you see this message, you should take
actions to reduce the load on the servomotor to eliminate the overheating condition. Refer
to the FANUC Robotics Controller Maintenance Manual for more information on recovery
from an overheated servomotor.
Duty Cycle estimation is only an approximation. While offline estimation is a high quality
approximation of real motor characteristics, the output should be evaluated as being an
estimate. If the output of the estimate is close to duty cycle limits please contact FANUC
Robotics for more information.
Using the Duty Cycle Estimation Dialog
The Duty Cycle Estimation dialog is used to analyze duty cycle. As you run programs duty
information is collected and information is displayed in the Duty Cycle Dialog. Duty
information is collected to support two viewing functions:
• Live Update: shows the duty dialog screen dynamically as a program is running. The
dialog update rate is controlled by the sampling rate shown on the Run Panel dialog.
Note: data is collected at a very high rate regardless of what the Run Panel setting is
for sampling rate.
• Static Data View: after a program is executed, the data that was collected during the
run can be viewed in detail. The display rate from the data file can be controlled in the
Display Options field on the dialog.
NOTE: in multi robot workcells, duty cycle estimation is provided on the selected robot
when the duty estimation dialog is opened. To change the desired robot for duty estimation,
you must close the duty estimation dialog, select the desired robot, and then re-open the
Working with Robot Controllers
205
duty estimation dialog.
Fields on the Duty Cycle Estimation dialog include:
• Program Analyzed: Displays the program for which data has been collected and
analyzed.
• Status: Displays the current status of the analysis.
• Plot New Data: Plots / Re-Plots the data in the duty cycle estimate buffer. The data
will be plotted at the Display Rate chosen in the Display options frame.
• OVC% Duty Analysis Summary by Joint: displays the maximum duty value for
each axis during the running of the program.
• Analysis Results information box: provides information regarding the analysis of
duty cycle.
• Duty Analysis Detail Data: this frame presents detail data on the duty information.
Detail includes:
OVC Simulation Chart: provides a graphical view of OVC value vs. Time. As you
mouse left click on points on the lines in the chart, detail data is updated in the Current
Cursor Data frame.
Current Cursor Data: shows detail data for each value in the Duty Analysis Detail Data
Chart. Select points on lines in the OVC Simulation Chart to change data.
 Series:
 OVC%
 Line No.:
 Prog Name:
Duty Plot Types: shows options for display in the graph.
• Display Rate: controls the detail of the graph plot in Samples/ Sec.
Working with Robot Controllers
206
Procedure to perform a duty cycle estimation
Duty Cycle information can be provided using the Duty Cycle estimation PRO Plug-In.
NOTE: in multi robot workcells, duty cycle estimation is provided on the selected robot
when the duty estimation dialog is opened. To change the desired robot for duty estimation,
you must close the duty estimation dialog, select the desired robot, and then re-open the
duty estimation dialog.
Procedure to perform duty cycle estimation
1. Select the program that you want to check duty cycle.
2. Open the Duty Cycle Estimate dialog by selecting Duty Cycle Estimate under the
Test-Run Main Menu category.
3. Run the program.
As the program runs, data is collected and displayed. The sampling rate for dynamic
display is controlled by the sampling rate selected on the PRO Run Panel. When the
program is complete, the Plot New Data button is activated. Analysis and plotting of the
data could take time based upon the length of the program and how many times it
executed (Large amounts of data).
4. Press the Plot New Data button
The maximum duty value for each axis during the running of the program is shown by
joint. Detail data is plotted in the Duty Analysis Detail Data chart. Points on the chart
can be clicked upon to see detail data. Peak value charts and separate joint value
charts can be generated by selecting them in the Duty Plot Types frame.
By default data is plotted at 125 samples / sec.
Roboguide’s Virtual Robot
207
8 Roboguide's Virtual Robot
Roboguide's Virtual Robot
Roboguide contains the FANUC Robotics North America virtual robot, which is the actual
robot controller software running on a PC. Included within Roboguide are several controller
features that you can utilize. These include:
• Virtual TP
• Robot Web Server
• KCL Window
• Robot Alarm Window
Each of these functions can be accessed from the main menu selections under Robot.
About the virtual robot TP
The virtual Teach Pendant (TP) provides the same Teach Pendant User Interface as an
actual robot. The virtual TP operates like the actual TP operates on a real robot. For
additional information on how to use the Virtual TP interface, reference the Setup and
Operations Manuals for your robot.
The virtual TP window has 3 tabs available.
• TP Keypad: is the TP interface to the virtual robot. The TP Keypad operates like the
TP on a real robot.
• Current Position: provides the ability to move to a position and to adjust the size of
the sphere used for the teach tool.
• Virtual Settings: provides the ability to define your default PC directories for the
virtual robots MC: and FLPY: devices.
Roboguide supports both the traditional teach pendant and the iPendant. The selection of
what kind of teach pendant will be displayed depends on the setting of the pendant type
option on the main menu Tools / Options property page.
Regardless of what type of teach pendant interface chosen there are buttons available to
Roboguide’s Virtual Robot
208
control the use of the virtual TP.
• : When pressed the TP keypad is hidden.
• : When pressed the PC keyboard keys are mapped onto the teach pendant keys.
The mapping can be determined by dragging the mouse pointer over the desired key. A
popup mapping box is shown.
• : available only with iPendant. When pressed the iPendant is shown in compressed
mode. Note that the top line of the Pendant is not shown. Alarms will show on the
bottom of the Roboguide screen.
Opening the virtual TP
To open the virtual TP from the toolbar
1. Press the Virtual TP icon ()on the toolbar.
To open the virtual TP from the main menu
1. Select the Virtual TP under the Robot category on the main menu
Opening the Robot Web Server Window
To open the Robot Web browser from the toolbar
1. Press the Robot Browser icon ()on the toolbar.
To open the Robot Web Browser from the main menu
1. Select the Robot Web Browser under the Robot category on the main menu
Opening the KCL Window
The KCL option must be loaded on the virtual robot to use the KCL window. You can add
this option when you configure your robot in your workcell.
To open the KCL Window from the main menu
1. Select the KCL Window under the Robot category on the main menu
Roboguide’s Virtual Robot
209
Opening the Robot Alarm Window
To open the Robot Alarms window from the toolbar
1. Press the Robot Alarms icon ()on the toolbar.
To open the Robot Alarms window from the main menu
1. Select the Robot Alarms window under the Robot category on the main menu
Using the TP Keypad Tab of the Virtual TP
The virtual TP operates like the actual TP operates on a real robot. For additional
information on how to use the Virtual TP interface, reference the Setup and Operations
Manuals for your robot
Using the Current Position Tab of the Virtual
TP
The current position tab provides the following functions:
• Group: Dropdown list provides selections for available groups on the selected robot.
• Robot Current Position: displays the current position of the robot in Robot world,
joint. Or user frame.
To move to a desired position enter the value into the appropriate field and press
MoveTo.
• Relative Button: when pressed additional options are presented that allow entry for
moving relative to the current position of the robot.
o Tool, Joint, XYZ, USER radio buttons: defines with what frame of
reference the robot will move.
o X, Y, Z, W, P, R: defines the values for the relative move.
o Move To: initiates the move.
o Move Back: initiates a move back to the position of the robot before the
current relative move.
Roboguide’s Virtual Robot
210
o Clear: clears the relative values
NOTE: Teach Tool Sphere Radius: In V6.40 Roboguide and higher the teach tool sphere
radius is controlled on the robot property page.
Using the Virtual Settings Tab of the Virtual TP
The virtual settings tab have settings for the MC: and FLPY: directories of you workcells
robot. By default, these directories are set under the workcells virtual robot directories. It
may be convenient to set these to a directory path where you are copying files to transfer
between the real robot / Roboguide workcell.
8.1 Using the iPendant
Requirements for hardware and software
To allow you to connect an iPendant to your PC and use it with RoboGuide you will need
the following:
Note: in multiple robot cells, the iPendant connected through and interface box will only
work with the first robot controller started in the workcell.
Hardware:
• An iPendant with V6.31xx firmware or greater
• An iPendant Interface Cable w/ power Supply
o Part Number:
EE-4707-150-001 (1.5m kit)
EE-4707-150-002 (3.0m kit)
Roboguide’s Virtual Robot
211
Procedure to connect a iPendant device to Roboguide
Configuring your PC and iPendant for use with RoboGuide
The following instructions assume that you are running Windows 2000 and Windows XP.
All the screens are taken from Windows XP Professional. The instructions and/or screens
for other versions and operating systems may be slightly different but the fundamental
procedures are the same. Perform the Setting up your PC first and then the Setting up the
Network Connection on your PC.
Setting up your PC
1. Go to your Control Panel and Select "Phone and Modem Options"
2. Select the MODEMS tab
3. Click the ADD button.
4. Select the "Don’t Detect My Modem; I will select it from a list and then click NEXT.
It will take several seconds before the next screen pops-up.
5. From the lists select (Standard Modem Types) on the left and "Communications
cable between two Computers" on the right. Then click NEXT.
6. Select an available COM port and Click NEXT
Note: Roboguide requires the use of a serial port. Many new computers only have a single
serial port. If you have a PDA docking cradle attached to this Port then you will not see any
available ports listed. You will have to disable the PDA connection to make this serial port
available.
7. If you successfully set up the modem, you will get the following. Click FINISH
8. You will be returned to the Phone and Modem Screen. Select the MODEM Tab and
then select "Communications Cable Between two Computers" modem you just
installed. Then click the PROPERTIES button.
Roboguide’s Virtual Robot
212
9. Select the MODEM tab and then set the "Maximum Port Speed " to 115200 and
Click OK.
10. Click OK on the Phone and Modem Panel to Exit.
Setting up the Network Connection on your PC
1. In the Control Panel Select "Network Connections"
2. Select "Create a new connection" or the "New Connection Wizard"
3. On the "Network Connection Type" Panel, select "Set up and advanced connection"
and click NEXT.
4. On the "Advanced Connection Option" Panel, select "Accept incoming connections",
and click NEXT.
5. On the "Devices for Incoming Connections" Panel, select "Communications cable
between…", and click NEXT.
6. On the "Incoming Virtual Private Network (VPN) Connection" Panel, select "Do no
allow virtual private connections" and click NEXT.
7. Do not make any selections on the "User Permissions" Panel just click NEXT.
8. On the "Networking Software" Panel, select "Internet Protocol (TCP/IP) and click on
PROPERTIES.
9. Select "Specify TCP/IP Addresses. In the "From:" box enter; 1.1.1.10 in the "To:"
Box enter 1.1.1.11. Select the "Allow calling computer to specify its own IP address",
then click OK.
10. Click NEXT when you are returned to the "Networking Software" Panel.
11. On the "Completing the New Connection Wizard" Screen, click Finish
Note: The name of your new connection is "Incoming Connections"
12. Your new connection called Incoming Connections will now appear in the
Network and Connections Window. Right Click on this new connection and select
PROPERTIES.
213
Roboguide’s Virtual Robot
13. Select the "General" Tab and at the bottom, check the "Show icons on taskbar
when connected" box.
14. Select the "Users" Tab and at the bottom, check the "Always allow directly
connected devices…" then click OK.
Your PC setup is now complete.
15. Your iPendant now needs to be setup.
Setting up your iPendant
 Connect your iPendant interface cable to the PC, iPendant and
Power. Leave the power off.
 Hold down the application Hard Key next to the DIAG/HELP
key and turn power on
 When SETUP iPENDANT PARAMETER menu appears,
PRESS the NEXT Key
 Press F3 (SPECIAL START MODE)
 Press 2 (Connect to RoboGuide). DO NOT PRESS ENTER
AFTER ENTERING THE NUMBER
 Press the PREV key
 Press F5 (SAVE PARAMETER)
 Wait until the screen flashes and returns to the first page
 Power down the interface power supply.
Note: If you are going to use the iPendant with an actual robot then you
must go back through this same procedure and set the SPECIAL START
MODE to NORMAL. This can be done either using the PC Interface or
while you are connected to the robot. Note if you do it while connected
to the robot, you will have to power off and on the robot after resetting
the start mode on the iPendant.
Roboguide’s Virtual Robot
214
16. To test your setup
o Make sure your PC (Laptop) is running on AC Power
o Attach the iPendant and interface cable to the COM port that you selected
in Step 6
o Turn the interface power supply on, you should see a new icon appear in
your system tray that will flash as communications are sent back and forth to
the iPendant.
If this does not occur, go back and check all the setting for the Modem and
Network Connection.
17. Turn off the interface power supply, and right Click on the Network Connections
icon in the system tray and select "Disconnect"
Which will cause the icon to disappear.
Using the iPendant with Roboguide
Running with the actual iPendant
1. Make sure that you have done all the setup in Section 0
2. Make sure that your PC (Laptop) is running on AC Power
3. Make sure that the iPendant is connected to the PC. The Power Supply should be
powered off or disconnected from the adapter cable.
4. Start your workcell in Roboguide
5. When robot is up and running open the Virtual Teach Pendant by going to the
ROBOT menu and select the Teach Pendant or Click the icon on the Roboguide Tool
Bar.
6. When the virtual iPendant is displayed, Make sure that it is in "Large" (iPendant)
Mode.
Roboguide’s Virtual Robot
215
The Virtual Teach Pendant should look like the following:
If it does then go to step 7
If the virtual Teach Pendant looks like the following
Then Click the Small/Large Button in the upper right corner of the Virtual Teach
Pendant to change it to the Large (iPendant) mode.
7. Dismiss the Virtual Teach Pendant by going to the ROBOT menu and unselect the
Teach Pendant or Click the icon on the RoboGuide Tool Bar.
8. Power up the iPendant/Power Supply and the iPendant should automatically
connect to RoboGuide (After several seconds).
You should now be able to operate the iPendant as you would on any
Tips and Tricks
• The serial connection/converter requires that your PC be connected to an AC
Power source. If you are using a Laptop, make sure that it is running on AC
power, not batteries. If you are running on batteries the connection may not be
made or will be unreliable.
• The iPendant will take several seconds to connect once the power is turned on. If the
iPendant does not connect then you should check the MODEM Settings and the
INCOMING CONNECTIONS Properties on your PC, and/or Restart ROBOGUIDE and
try to connect again.
• Whenever you power off the iPendant, you must "Disconnect" the Network
Connection by, righting Click on the Network Connections icon in the system tray and
select "Disconnect"
Which will cause the icon to disappear.
• If you have to Restart RoboGuide or restart the Virtual Robot in RoboGuide, you
must power off the iPendant and then "Disconnect" the Network Connection as shown
above before restarting the Virtual Robot or RoboGuide.
• Sometimes the iPendant will look like it is properly connected (i.e. the iPendant
screen is displayed correctly) but none of the keys will function. To correct this, power
off the iPendant, "Disconnect" the Network Connection as shown above, wait for 5-10
Roboguide’s Virtual Robot
216
seconds after the icon disappears and try to connect again. If this does not work you
will need to restart RoboGuide.
• If you always want to use the real teach pendant with Roboguide, see the About
Roboguide Options Page section of the help.
Using UFRAMES
217
9 Using UFRAMES
About Frames
A frame is a set of three planes at right angles to each other. The point where all three
planes intersect is the origin of the frame. This set of planes is called a Cartesian
coordinate system . In the robot system, the intersecting edges of the planes are the x, y,
and z axes of the frame.
Frames are used to describe the location and orientation of a position. The location is the
distance in the x, y, and z directions from the origin of the reference frame. The orientation
is the rotation about the x, y, and z axes of the reference frame. When you record a
position, its location and orientation are automatically recorded as x, y, z, w, p, and r
relative to the origin of the frame it uses as a reference.
The location of a position is expressed as three dimensions, which are measured in
millimeters from the origin in the x, y, and z directions. For example, 300,425,25 means the
position is 300mm in the x direction, 425mm in the y direction, and 25mm in the z direction
from the origin.
The orientation of a position is expressed as three dimensions, which are measured in
degrees of rotation about the x, y, and z axes. For example, 0,-90,0 means that the position
is rotated -90 degrees about the y axis and is not rotated about the x or z axes.
Kinds of Frames
The robot uses four kinds of frames. The different kinds of frames make it easier to perform
certain tasks. The kinds of frames are
• World frame - the default frame of the robot and generally at the base of the robot for
non aux axis systems.
• Tool frame - a user-defined frame. The tool frame is a Cartesian coordinate system
that has the position of the tool center point (TCP) at its origin. You must set the tool
frame to define the point on the applicator, gun, torch, or tool at which the painting,
welding, sealing, handling, or other application work is to be done.
• User frame - a user-defined frame. The user frame is the reference frame for all
recorded positional data in a program. You can modify the user frame to offset the
positions in the program easily. You can define this frame anywhere and it is relative to
the world frame of the robot.
• Jog frame - a user-defined frame. The jog frame is a frame in which to jog easily. It
allows you to align the x, y, z coordinate system about a fixture or workpiece that is
rotated with respect to the world frame of the robot
• Remote TCP (RTCP) Frame- The remote TCP (RTCP) frame is a kind of user frame
Using UFRAMES
218
you must define in order to use remote TCP jogging and the remote TCP motion option.
You define this frame using the location of the remote TCP as the origin of the frame.
Why use UFRAMEs with workcells
It is common in real world workcells to not use UFRAMEs and to teach all robot programs
relative to the robot world zero position. This method is OK for Roboguide, but there are
benefits to utilize the robot controllers UFRAME capability when generating workcells
offline in Roboguide. These benefits include.
• Using frames makes it easy to move a group of positions around the workcell. This
provides the ability to find the location for an object where all the positions recorded
relative to it are reachable. When positions are recorded relative to a UFRAME you can
drag the positions in a program very easily in your workcell by simply moving the
UFRAME. If you object is fixed you can also move the robot to detect if the positions in
a program are reachable.
Roboguide has the ability to link a robot UFRAME to an object in the workcell. When
the object is moved the UFRAME is automatically moved with it and updated on the
virtual robot. See Using UFRAMEs to move programs with fixtures for more
information.
• Using frames makes it easier to take a program created in Roboguide to a physical
robot. Roboguide provides the ability to calibrate objects in the Roboguide environment
with objects in the real physical workcell. To do this UFRAME’s can be used.
What Frames does Roboguide use
Roboguide uses or has the capability to use several different frames of reference for
workcell objects, robot tooling, and programs. Frames include:
• Object reference frame: this is the frame that defines the objects zero point of
reference. You see an objects reference frame when you select it, and usually defined
by the CAD program that created it. You can not edit this frame.
• Object location frame: this is the location of the object in the 3D CHUIWorld. This
value is the one you change on an objects General Tab in the location fields.
• Object UFRAME: you can define a UFRAME for an object. This allows you to define
robot positions relative to the object. See About UFRAME's and workcell objects
• Part Frame: this is the location of the part relative to another object. With Roboguide
Using UFRAMES
219
you define the part frame in the Part Offset fields on the object’s property page Parts
Tab of the object that will hold the part.
• Tool Frame: this is the UTOOL value for end of arm tooling. The Tool frame defines
the end of arm tooling Tool Center Point relative to the face plate of the robot. You set
this value on the Tool Center-Point Tab of the end of arm tooling property page.
About UFRAME's and workcell objects
UFRAME is a specific type of Frame in the robot world. The user frame is the reference
frame for all recorded positional data in a program. User frame is a frame that you can set
up in any location, with any orientation. User frames are used so that positions in a
program can be recorded relative to the origin of the frame. All positions in a program are
automatically recorded in user frame. You can modify the user frame to offset the positions
in the program easily. You can define this frame relative to various objects in SimPRO.
Associate a workcell object with a UFRAME when you want to create robot positions
relative to the object itself and not relative to the robot’s world coordinate system. A
UFRAME can be very useful if you want to move an object in the workcell and have the
positions taught move with the part. This would be done when you are trying to find a
workcell position for the object where the robot can reach all of the points.
Positions are taught relative to the defined UFRAME. You then move the object and check
whether the robot can reach the points. Alternatively, you could move the robot and leave
the fixture in place, and check whether the robot can reach the points.
By default, when you create a workcell object, the object is not assigned to a UFRAME
value. It is an object in the workcell that does not support teaching positions relative to it.
With Roboguide you assign fixtures in your workcell to a robot UFRAME if desired.
Therefore, any points taught on this object will be relative to the robot’s UFRAME that has
the fixture association. If you have a part associated with a fixture that has a defined
UFRAME, and teach points on this part you can move the points in the workcell by simply
moving the fixture.
Any given robot UFRAME can have only one object in your workcell associated with it.
Generally, this is done on the robots UFRAME Property page. When using a UFRAME with
an object you associate the object with a robot’s UFRAME. You can view the UFRAME in
Roboguide relative to the robot world or the objects coordinate system on the UFRAME
property page.
What happens and what are the benefits when you make this UFRAME / workcell object
association?
• If the UFRAME is associated with the robot, programs taught with this frame move
when the robot is given a new location in the workcell
220
Using UFRAMES
• If the UFRAME is associated with a workcell object, programs taught with this frame
do not move when the robot is given a new location in the workcell. This is desirable if
positions taught interact with the fixture and associated part. An example is when a pick
and/or place action is taking place with the fixture.
• If the UFRAME is associated with a workcell object, programs taught with this frame
move when the workcell object is given a new location in the workcell.
Using UFRAMEs to move programs with fixtures
The ability to reposition an entire program by moving a fixture you must attach the program
to a fixture through the robots UFRAME capability, and move the UFRAME to be defined
relative to the objects coordinate system.
To have a program move when you move a fixture:
1. Determine a robot UFRAME that can be used.
2. Select the UFRAME in the Cell Browser
3. Open the UFRAME Property Page
4. In the Attached field select the object in the workcell that you want to associate with
this UFRAME. Show me an AVI.
5. Modify the robot's UFRAME as desired.
6. Create a program and teach the program with this UFRAME as the selected
UFRAME. How to utilize the functionality varies based upon whether you are teaching a
simulation program in the Roboguide simple editor vs. creating the program with the
virtual TP editor.
o Roboguide animation programs: set the UFRAME used field on the
program property page to the UFRAME defined above.
o Virtual TP Editor programs: Roboguide automatically sets the virtual robot
to use the user frame selected in the Cell Browser. When creating the
program use the "UFRAMENUM = " instruction to set the UFRAME to the
desired UFRAME.
When you move the fixture / Uframe positions taught relative to this frame move
appropriately.
221
Using UFRAMES
Using UFRAMEs to move programs when the robot location is moved
The ability to reposition an entire program when moving the robot is accomplished by
teaching positions relative to the robots world frame (UFRAME0)
To have a program move when you move the location of the robot in the workcell:
1. Decide which UFRAME to use:
o UFRAME 0 in the cell browser
o Or, chose a UFRAME that can be used
2. Select the UFRAME in the Cell Browser
3. Open the UFRAME Property Page
4. If a UFRAME other than 0 is chosen, select the robot (default) in the Attached field.
5. Create a program and teach the program with this UFRAME as the selected
UFRAME. How to utilize the functionality varies based upon whether you are teaching a
simulation program in the Roboguide simple editor vs. creating the program with the
virtual TP editor.
o Roboguide animation programs: set the UFRAME used field on the
program property page to the UFRAME defined above.
o Virtual TP Editor programs: Roboguide automatically sets the virtual robot
to use the user frame selected in the Cell Browser. When creating the
program use the "UFRAMENUM = " instruction to set the UFRAME to the
desired UFRAME.
When you move robot, positions taught relative to this frame move appropriately.
Using UFRAMES
222
Using the UFRAME property page
The UFRAME property page is used to define controller UFRAME information. When you
modify a UFRAME on the property page it is automatically updated on the virtual robot.
Available on the UFRAME property page are the following fields:
• Name: the controller name for the UFRAME. This is the comment field for UFRAME
on the robot.
• Attached: defines the object in the workcell that is associated with the UFRAME.
The default associates the UFRAME with the robot which means moving the robot
moves the frame and points taught in world coordinates. If you associate the UFRAME
with an object the frame and points taught relative to this frame moves when you move
the object.
The following picture shows UFRAME 1 associated with a fixture. The UFRAME data is
0,0,0,0,0,0, or at the world zero position for the picture.
The following picture shows UFRAME 1 located at 0,0,0,0,0,0 relative to the fixture.
Accomplished by showing the reference relative to the fixture, and zeroing out the
location values.
• Uframe Data: defines the X, Y, Z, W, P, R for the UFRAME. The numbers shown
here are relative to either the robot or the assigned object in the attached field.
• Show Reference: provides a visual reference to modify the UFRAME. If robot
relative is chosen you move the UFRAME with a visual reference frame of the robot. If
fixture relative is chosen you move the UFRAME with a visual reference frame of the
chose object in the attached field. Changing this only changes the numerical reference
point for the UFRAME data and does not change UFRAME the UFRAME data must be
modified to make changes to the UFRAME values on the virtual robot.
• Edit Frame: when checked you see the UFRAME and can either direct enter
numbers in the UFRAME fields for drag the coordinate system.
• Use Current TCP Location: when pressed the UFRAME value will be recorded at
the robots current TCP location into the correct X, Y, Z, W, P, R Uframe Data fields. It
becomes active only when the Edit UFrame Check Box is enabled.
• Invert Z Around: it is common to want to UFRAME Z direction to be opposite of the
approach vector of the end of arm tooling. Select which tool axis vector you want to
invert the UFRAME Z axis vector about when the Use Current TCP location button is
pressed.
223
Using UFRAMES
Opening a UFRAME's property page
A UFRAME’s property page is found in the Robot Controllers / Robot1 / GP.1 /
UserFrames category on the cell browser.
The property page is opened as others are.
Modify a robot UFRAME
You can modify a robot UFRAME from SimPRO’s UserFrames property page or from the
virtual TP.
To modify a UFRAME from the Roboguide User Frames property page
1. Open the UFRAME Property Page from the cell browser
2. Select the Edit Uframe checkbox.
The UFRAME will show as a triad (
) in the location where the UFRAME is defined.
3. There are two ways to define the UFRAME value.
o Direct Entry: enter the UFRAME values into the , Y, Z, W, P, R UFrame
Data fields and press Apply.
o Move with the mouse: Check the Edit UFrame check box, and move the
UFrame triad to the desired location. Press Record Frame button, and the
values are copied into the X, Y, Z, W, P, R fields. Press Use Current Triad
Location when you are done and then press Apply when done.
To modify a UFRAME from the Virtual TP
1. Open the virtual TP
2. Press Menus
3. Select Setup
4. Press Type
5. Select Frames
224
Using UFRAMES
Edit the UFRAME data. If UFRAME is not showing on the screen, select choice and select
user frames from the list.
Assigning a UFRAME to a workcell object
To assign a UFRAME to a workcell object
1. Select the UFRAME you want to assign to a workcell object
2. If the UFRAME’s property page is not visible, open the UFRAME property page.
3. On the General Tab, select the object in the workcell that you want to associate with
the UFRAME from the Attached field and press Apply.
7. There are two ways to define the UFRAME value:
o Direct Entry: enter the UFRAME values into the , Y, Z, W, P, R UFrame
Data fields and press Apply.
o Move with the mouse: Check the Edit UFrame check box, and move the
UFrame triad to the desired location. Press Record Frame button, and the
values are copied into the X, Y, Z, W, P, R fields. Press Use Current Triad
Location when you are done and then press Apply when done.
You may now use this UFRAME with your program. See Teaching Using Uframe's for more
information.
Working with Fixtures
225
10 Working with Fixtures
Working with Fixtures
Roboguide uses fixtures as workcell objects that can be used for the following:
• Used to hold parts. Before a part can be used it must be assigned to a fixture. You
can think of a fixture as workcell tooling that holds parts. It is this association of part to
fixture that allows Roboguide to animate the part process in the workcell.
You can move a fixture in your workcell and the part moves with the fixture. This allows
you to easily locate workcell fixtures and parts associated with them.
• Define an entity in the workcell to teach positions. You may want to teach points on a
part assigned to a fixture so that you can then move the fixture to ensure that the points
taught are reachable by the robot. Fixtures support UFRAMEs. If you teach relative to a
UFRAME then you can move the fixture and its associated points to determine
optimum robot and object locations.
• Define a conveyor: this is a smart fixture that supports line tracking operations in
Roboguide.
Adding a workcell object
To add an object using the cell browser
1. Right mouse click the type of element you want to add to your workcell
A popup menu will appear with selections. The popup menu will have items based upon
the PRO Software plug-in and the options loaded on robots in the workcell. For
example, if line tracking is enabled, you would see "add line" under the fixtures menu.
2. Select the source of the object from which it should be added.
Roboguide supports a CAD Library, importing of IGES files, and primitive objects.
3. If you select CAD File a dialog is opened in which you can select the CAD File
desired. You may select multiple CAD files if you want to import multiple CAD images
into the workcell as a single object. Note: the origin of the combined object will be the
origin of the CAD files overlaid.
If you select CAD Library a dialog is opened where you can browse the CAD library and
select an object
If you select one of the primitives, a primitive object is loaded into your workcell with
default parameters.
Working with Fixtures
226
To add an object using the main menu
1. From the main menu select Cell. And then select the type of object to add.
2. Select from the popup menu (if applicable) the source of the object from which it
should be added. Roboguide supports a CAD Library, importing of IGES files, and
primitive objects.
3. If you select CAD File a dialog is opened in which you can select the CAD File
desired. You may select multiple CAD files if you want to import multiple CAD images
into the workcell as a single object. Note: the origin of the combined object will be the
origin of the CAD files overlaid.
If you select CAD Library a dialog is opened where you can browse the CAD library and
select an object
If you select one of the primitives, a primitive object is loaded into your workcell with
default parameters.
If you select Robot, the robot serialize wizard is opened.
Deleting a workcell object
To delete an object using the cell browser
1. Right click on the desired object from the cell browser.
2. Select Delete <object name> from the menu.
The object is deleted from the workcell.
To delete an object using the keyboard
1. Left click on the desired object in the 3D World view,. or select the object with the
left mouse button in the cell browser. The objects coordinate reference frame is shown.
2. Press the delete key on the keyboard.
The object is deleted from the workcell.
Working with Fixtures
227
Working with the Fixture property page
The fixture property page is used to define properties of fixtures in the workcell.
• Fixture General Tab: is used to define basic fixtures properties such as name,
location, color
• Fixture Calibration Tab: is used to calibrate the virtual Roboguide environment with
an actual robot workcell.
• Fixture Parts Tab: is used to define parts used in the fixture and the parts location
relative to the fixture frame.
• Fixture Simulation Tab: is used to define simulation parameters such as creation and
destruction times for simulations.
Using the Fixture General tab
The General Tab of the Fixture Properties page provides fields to edit general obstacle
properties. These fields include:
• Name: enter the name you want for the fixture.
• CAD File: defines the CAD file used for this fixture.
• Visible: if checked you can see the fixture. When you change the state of the field,
you must press Apply for the action to take place.
• Type: set by Roboguide. This is a primitive entity of Box, Cylinder, Sphere, or CAD
image.
• Color: allows you to change the color of primitive objects.
• Wire Frame: when enabled the object is shown as wireframe
• Transparency slider bar: controls the transparency of the object.
• Location: defines the location of the fixture relative to the 3D ChuiWORLD zero
reference position.
• Size: defines the parametric values for primitive objects.
Working with Fixtures
228
• Scale: defines the scale parameters for CAD type objects.
• Show robot collisions: when checked this fixture is checked for collisions with
robots in the workcell.
• Lock All Location Values: when checked, locks all of the location values for the
fixture.
Using the Parts Property Page Tab
The Parts Property Page Tab provides the interface to assign parts to the selected object.
Parts can be added to different types of objects in Roboguide including fixtures, machines,
end of arm tooling, etc. The property page effectively works the same way when assigning
parts to an object.
A very useful feature of the Parts property page is the ability to move the robot to the part.
Roboguide understands what parts are assigned where and uses the UTOOL values and
the Part location values to automatically move the robot to the desired part location. This
can be done and the part offset can be "recorded" directly into the values.
Fields on this tab include:
• Parts list: shows the parts available in the workcell. The checkbox next to each box
can be selected to assign the part to the current object.
• Part Offset: is used to define the part offset in the current object. Use of the MoveTo
and Record buttons can ease the accurate teaching of the part offset values.
o X, Y, Z, W, P, R: defines the offset relative to the object’s origing that
holds the part.
o Object selection combo box:this box is used in conjunction with the
MoveTo and Record buttons. With these buttons Roboguide provides
efficient capability to move the robot to a part position on fixtures, and to
record part offsets in EOAT and fixtures.
The combo box contains all objects that have reference to the part selected
in the Parts list. If the EOAT property pages are active, the list is populated
with fixtures that reference the selected part. If a fixture property page is
active, the list is populated with EOAT’s that reference the selected part.
The detail is defined on how the information is used in the MoveTo and
Record field descriptions.
o MoveTo: Works in conjunction with the Object selection combo box.
Working with Fixtures
229
When pressed the robot is moved to a position that matches the part offset
coordinate value for the selected property page object with the part offset
coordinate value for the object selected in the Object selection combo box.
After moving, the robot should have the part offsets for the two objects
aligned exactly.
This could be very useful when creating programs. If part offsets are all
taught accurately, the robot can be moved very quickly and accurately to
desired part positions. For more detail see Automatic MoveTo of robot to
part in a fixture.
o Record: is active when the Edit Part Offset item is selected. The record
button is used to define the part offset for the selected part in the Parts field.
The part offset position can be automatically generated if the robot tooling is
located at the desired pick / place point in a fixture. For more detail see
Automatically generate part offsets in tooling and fixtures.
o Edit Part Offset: when checked you can move the part to define the part
location relative to the selected object.
o Visible Teach: if enabled the part is visible when not running a program.
o Visible Run: defines the initial state of the part when a program is run. If
enabled the part is visible when the program starts. If disabled, the part does
not show at the start of a run.
Using the fixture Simulation Tab
The fixture simulation tab has settings to control the simulation parameters for parts in
fixtures. When doing simulations it is desirable to be able control when parts re-appear /
disappear in fixtures after picking and placing. For example, if you are placing a part into a
fixture and then the process takes the robot to pick another part, you may want the part to
remain in the place fixture for some period of time before disappearing. The setting on this
tab and fixture Parts tab allow you to control how parts are managed during simulation run.
The fixture Parts tab has settings for the initial states of parts on fixtures when a simulation
is run.
A key setting for parts is dependant on how a part will be processed:
• Part is placed and then picked from a fixture: when the place destroy delay is set to
0, the part is not automatically removed from the fixture. The part remains so that it can
by picked using a Pickup simulation instruction.
• Part is placed and then destroyed: if a part will not be acted upon after it is placed, a
delay time that is non zero will force the part to be destroyed from the fixture at the
Working with Fixtures
230
delay time entered.
Fields include:
• Parts frame: shows the parts available in the workcell. Simulation settings can be
defined for each part in the list.
• Part Simulation frame: Defines how the part may be used with the fixture. When a
part is selected in the Parts Frame these selections become active.
o Allow part to be picked: when enabled the part is available for picking.
When using the Pick instruction in the simple editor, the fixture and part will
show up in the list of possible fixtures/parts.
o Create delay: the time before a new instance of the part will be created
after the pick instruction.
o Allow part to be placed: when enabled the part is available for placing.
When using the Place instruction in the simple editor, the fixture and part will
show up in the list of possible fixtures/parts.
o Destroy delay: the time before the part will be destroyed after it is
placed. NOTE: if the value is set to 0 the part is not destroyed. This is useful
for operations that require a part to be placed and then picked back out of
the fixture.
To have a part remain in a fixture after the place instruction
For processes that require a part to be placed into a machine and then picked back out it is
desirable to have the part remain in the place position so that the robot can pick it back out
of the fixture.
To have a part remain in a fixture after the place instruction
1. Open the fixture property page that holds the part
2. Select the Simulation tab
3. Select the part in the Parts frame
4. Enable the Allow part to be placed field
231
Working with Fixtures
5. Enter a value of 0 for the Destroy delay time
6. Press Apply
Using the Calibration Tab
You can calibrate fixture, obstacle, and machine objects in your workcell. Since parts are
associated with fixtures you calibrate the part within the fixture on the fixture property page
calibration tab. The calibration process matches the location of the 3D object to its real
world counterpart by calculating the difference between points taught in the 3D world and
the same points touched-up in the real world.
Calibration of a workcell object moves the Roboguide workcell object to match the real
world object. When doing a workcell calibration you teach a program touching 3 points in
the Roboguide workcell and then touch the same 3 points in your real workcell. Roboguide
objects are then moved based upon the least squares difference between these points
Fields included on the Calibration Tab include:
• Object to be calibrated: this selection appears for fixtures and machines. Since
fixtures can hold parts, you can calibrate the fixture and any parts that the fixture can
hold. Select the object to be calibrated from the drop down list box.
• General: fields include:
o TPP Name: calibration TP name.
o When calibrating EOAT or Parts in an EOAT:
 Touchup method: defines what UFRAME to use for the
calibration.
o When calibrating other objects in the workcell
 Controller: defines which robot controller in the workcell will be
used for calibration
 Group: The target group on the selected controller.
• Step 1: Teach in 3D World: when pressed you see the message:
Calibration program xxx has been created for object. Teach at least 3 points in the 3D
World at unique locations on the object. Whey you have finished, return to the
Calibration tab and press the ‘Store Points button.
Working with Fixtures
232
NOTE: if you are calibrating a part that is on a line tracking link, Roboguide creates a
TPP tracking program to do the calibration. This provides the ability to use the same
tracking program on the actual workcell that is line tracking. Since with conveyor
tracking systems it is difficult to duplicate the location of the part carrier on a conveyor
the tracking system, the line tracking system is used to compensate for variability in the
location of the conveyor on the moving line. The key is to ensure that the part is
synchronized with the conveyor before doing any teaching.
It is important to choose features that can be taught in both Roboguide and the real
world.
• Step 2: Copy & Touch-Up in Real World: when pressed you get the message:
Calibration positions stored in memory – now would be a good time to save the
workcell. The calibration program CAL00049 was copied to: < directory >.
You must now load it onto the real controller and touch up each point at the
corresponding location in the real world. When this is done, save the touched up TPP
and copy it back to the same directory, overwriting the original.
• Step 3: Calibrate from Touch-Up. When pressed, Roboguide loads the new
calibration information and compares the original Roboguide taught calibration
positions with the points taught in the physical real workcell. A least squares fit
algorithm is applied. You see the following message describing the differences.
The calibration process has compared the TP positions and determined that the object
needs to be shifted in the following ways (relative to the robot): X, Y, Z, W, P, R offsets,
Least squares fit = xxx
Would you like to accept these results and shift the 3D object?
If you press OK the object is adjusted to reflect these changes.
Check the preview box to see the shift and OK to accept the shift.
Check the adjust TPP programs selection if you want to select TPP programs for which
to have positions shifted.
Make a part visible or invisible in a fixture
To make a part visible or invisible in a fixture
1. Select the desired fixture that has the part associated
2. Open the property page for the fixture
3. Select the Parts Tab on the fixture property page
Working with Fixtures
233
4. Select the desired part in the Parts frame.
5. Visibility for a part is controlled by two settings:
o Visible at Teach Time: when enabled the part will show during teach
o Visible at Run Time: when enabled the initial state of the part in the fixture
is on. When disabled the part will not initially show when the simulation is
run.
6. Press Apply
Defining the delay time used for part creation and removal during simulation
To change the delay time used for part creation and removal during simulation:
1. Select the desired fixture that has the part associated
2. Open the property page for the fixture
3. Select the Simulation Tab on the fixture property page
4. Enter the desired delay time in the Create field to control the time before a new
instance of a part is created. Enter the desired delay time in the destroy field to control
when the part is removed from the fixture. NOTE: if the value is set to 0 the part is not
destroyed. This is useful for operations that require a part to be placed and then picked
back out of the fixture.
5. Press Apply
Define the part location in a fixture
To define the part location in a fixture
1. Select the desired fixture that has the part associated
2. Open the property page for the fixture
3. Select the Parts tab
Working with Fixtures
234
4. There are multiple ways to define the part location value:
o Direct Entry: enter the part location values into the , Y, Z, W, P, R Part
Offset fields and press Apply.
o Move with the mouse: Check the Edit Part Offset check box, and move
the part triad to the desired location. Press Record Part Offset button, and
the values are copied into the X, Y, Z, W, P, R fields. Press Apply when
done.
o Automatically generate part offset using the Record button. For more
detail see Automatically generate part offsets in tooling and fixtures .
5. Press Apply. When done
10.1 Working with PalletPRO fixtures
10.1.1 PalletPRO Infeed Fixture Property Tabs
Using the Infeed Fixture Property Tabs
Infeed fixtures have general Roboguide fixture properties and Palletizing Infeed unique
properties. General properties include location, CAD file, and color. Palletizing properties
include defining orientation, simulation parameters, and other pallet specific properties.
Using the Fixture General tab
The General Tab of the Fixture Properties page provides fields to edit general obstacle
properties. These fields include:
• Name: enter the name you want for the fixture.
• CAD File: defines the CAD file used for this fixture.
• Visible: if checked you can see the fixture. When you change the state of the field,
you must press Apply for the action to take place.
• Type: set by Roboguide. This is a primitive entity of Box, Cylinder, Sphere, or CAD
image.
Working with Fixtures
235
• Color: allows you to change the color of primitive objects.
• Wire Frame: when enabled the object is shown as wireframe
• Transparency slider bar: controls the transparency of the object.
• Location: defines the location of the fixture relative to the 3D ChuiWORLD zero
reference position.
• Size: defines the parametric values for primitive objects.
• Scale: defines the scale parameters for CAD type objects.
• Show robot collisions: when checked this fixture is checked for collisions with
robots in the workcell.
• Lock All Location Values: when checked, locks all of the location values for the
fixture.
Working with the Infeed Fixture Infeed Property tab
The infeed fixture Infeed property tab has fields to define various infeed properties.
• Infeed Properties
o Number: defines the infeed number that PalletPRO uses when running a
simulation. You should not have to change this number.
o Transit delay: defines the delay time PalletPRO uses before releasing a
unit from the infeed queue to the robot. For more detail on how PalletPRO
controls unit flow click here.
• Teach Aid
o Orientation defines what side of the conveyor that parts are presented to
the robot, and is also known as the origin of the infeed. It also defines how
the X direction of the UTOOL lines up with the infeed.
When you select an orientation a flat box with an arrow appears on the
infeed (). , the station origin must be in the corner of the conveyor where the
unit will be when it is picked up. The conveyor will place the units in a
specific corner of the conveyor. Locate the station origin in the corner where
236
Working with Fixtures
the robot will find the units
PalletTool uses a standard teach plate to define the origin. PalletPRO can
automatically determine the proper station origin since it has knowledge of
the workcell and where objects are located. You must select which side of
the conveyor you want the origin to be on which defines the origin to
PalletPRO and PalletTool.
For infeed stations, the station origin must be in the corner of the conveyor
where the unit will be when it is picked up. The conveyor will place the units
in a specific corner of the conveyor. Locate the station origin in the corner
where the robot will find the units
 Length on length:.Parts are received on the right side of the
conveyor. Called length on length because the arrow on the
PalletTool teach plate is along the length of the conveyor. The X
direction of the UTOOL is along the length infeed.
 Width on length: Parts are received on the left side of the
conveyor. Called width on length because the arrow on the
PalletTool teach plate is along the width of the conveyor. The X
direction of the UTOOL is along the width of the infeed.
For further information on origins and orientation click here.
o X offset, Y offset: specifies the distance to shift the origin of the infeed
along the length of the infeed station. Infeed offset (length) and (width) are
typically used when the robot cannot reach the corner of the infeed in order
to teach the origin. Since PalletPRO has knowledge of the workcell and
automatically determines the origin, it may not be necessary to set the offset
values.
o Move To: select this to move the robot to the origin position created by
PalletPRO.
• Infeed IO
o Maximum Parts: defines the maximum number of units that can be
queued on the conveyor.
o Part Orientation DO: signals PalletTool what orientation the next unit will
be. Not used by PalletPRO.
o Part Present DI : signals if a part is present
Working with Fixtures
237
o Part Request DO: requests a part from the conveyor
About defining and teaching stations
When you set up PalletTool/ PalletPRO you must teach/ define the stations for your
application. A station is the area where the robot picks up or places units. When you teach
a station you determine where the pallet or conveyor will be by locating it in your workcell,
and then define on the station property page information that PalletPRO uses to calculate
the location of each station and the position of each unit.
When you teach the stations you
• Decide the station location by locating it in your workcell
• Locate the station origin by defining the orientation on the respective stations
property pages.
PalletTool/ PalletPRO uses two kinds of stations:
• Pallet station, which is the area where the unit load is located.
• Infeed station, which is the area at the end of the conveyor where the robot picks up
units for palletizing or places units for depalletizing.
The figure below shows standard layouts for single infeed, single pallet station workcell
configurations with recommended locations for infeed stations and pallet stations, and
example fixture plate locations. These workcells could use a single slip sheet station.
Standard Workcell Layouts - Single Infeed, Single Pallet
The figure below shows a standard layout for a double infeed, double pallet station workcell
configuration. This workcell could use two slip sheet stations.
Standard Workcell Layout - Double Infeed, Double Pallet
Station Location and Origin
The location of the infeed and pallet stations is determined by the requirements of your
installation.
If your unit loads require slip sheets or pallet handling , you must also plan where to
locate the slip sheets and pallets so that the robot can reach them, and they do not
Working with Fixtures
238
interfere with the application.
Station Origin
The station origin is the corner of the station closest to where you teach P1 using the fixture
plate. PalletPRO automatically determines location based upon how properties are set.
For infeed stations, the station origin must be in the corner of the conveyor where the unit
will be when it is picked up. The conveyor will place the units in a specific corner of the
conveyor. Locate the station origin in the corner where the robot will find the units.
Fixture Plate Orientation for Infeed Stations
Infeed offset (length/width) specifies the distance to shift the origin of the infeed along the
length of the infeed station. Infeed offset (length) and (width) are typically used when the
robot cannot reach the corner of the infeed in order to teach the origin. Since PalletPRO
has knowledge of the workcell and automatically determines the origin, it may not be
necessary to set the offset values.
For pallet stations, FANUC Robotics recommends that you select the station origin to
optimize cycle time and prevent collision of the units during palletizing. This will generally
be at one of the two corners farthest from the infeed. If the robot cannot reach the corner,
you can place the origin somewhere other than the corner of the pallet, then use pallet
offset information under Pallet Station setup.
When the fixture plate is positioned correctly for pallet stations, P1 will be in the corner
where PalletTool will place the first unit. P2 will lie along the build direction of the pallet
station (or the arrow of the fixture plate). The build direction is the direction in which
PalletTool will build the unit load. It is also the direction in which the arrow of the fixture
plate points.
The orientation of the fixture plate also determines the positive and negative directions for
the pallet approach length and the pallet approach width. The pallet approach length and
width are values that can be adjusted to optimize how the robot places units on the pallet.
See the following figure for examples of how the positive and negative values are affected
by the fixture plate orientation.
Fixture Plate Orientation for Pallet Stations
Pallet offset (length/width) specifies the distance to shift the origin of the pallet, along the
length/width of the pallet station. Pallet offset (Length) and (Width) are typically used when
the robot cannot reach the corner of the pallet in order to teach the origin. In this case,
teach the station origin on the pallet, in a location where the robot can reach it. . Since
PalletPRO has knowledge of the workcell and automatically determines the origin, it may
not be necessary to set the offset values.
Working with Fixtures
239
Defining the origin of the infeed
To define the origin / orientation of the infeed.
1. Select the desired infeed
2. Select the Infeed tab
On the tab, you see the Teach Aid frame of selections. You may specify if you want the
origin (where you pick boxes) to be on the right of the conveyor or the left of the
conveyor.
3. Select the Length on Width picture to put the infeed origin on the right side of the
infeed
Select eh Width on Length picture to put the infeed origin on the left side of the infeed
4. Press Apply or OK to save the selection
You may use the MoveTo button to move to the infeed to ensure the results are
satisfactory.
About controlling infeed rates with PalletPRO
The rate at which units are delivered to the robot on an infeed is controlled with several
parameters within PalletPRO. The factors that control this include:
• Infeed Transit Delay (found on the Infeed's Infeed property tab): defines the delay
time PalletPRO uses before releasing a unit from the infeed queue to the robot. This
assumes there are boxes in the queue to be released. Boxes in the queue are
controlled by the case rate of the unit load.
• Maximum Parts: (found on the Infeed’s Infeed property tab). defines the maximum
number of units that can be queued on the conveyor.
• Case Rate: (found on the unit load dialog under palletizing parameters): controls the
rate at which units are fed to the infeed queue. This is the key value to calculate
throughput during simulation.
You adjust these parameters for multiple purposes:
Quality of throughput calculations: the key parameter is the Case Rate defined as part
of the unit load. This value provides the throughput assumptions from the real system
Quality of visualization: setting the Infeed transit delay to a low value will allow for the
Working with Fixtures
240
boxes to stack up on the conveyor. This may or may not be desirable. Increasing this value
can make the visualization appear as more of a "flow" of units on the conveyor. Too high a
number and you may "starve" the infeed at the pickup point. For proper throughput
calculations you must make sure that setting this value does not "starve" the conveyor at
the pickup point. Maximum parts value can be adjusted to show "stackup" on the infeed
queue. If the value is one then you see little part queuing. If the number is 6 (max) you can
see up to 6 parts queued on the infeed.
Controlling the rate at which units are delivered to the robot
To control the case rate
the case rate is determined for each unit load and is set on the unit load setup screens.
1. Open the property pages for the desired unit load.
2. Select the Palletizing Parameters button
3. In the Process Parameters frame, there is an area to enter Case Rate
4. Enter the desired Case Rate
5. Select OK or Apply
To control the transit rate
1. Open the Infeed property page
2. Select the Infeed tab
3. Enter the Infeed Transit Delay
4. Select OK or Apply.
Working with Fixtures
241
Controlling the number of units that can be queued on an infeed
To control the number of units that can backup on the infeed
1. Open the Infeed property page
1. Select the Infeed tab
2. Enter the desired number of parts in the Maximum Parts field
3. Select OK or Apply
10.1.2 PalletPRO Pallet Fixture Property tabs
Using the Pallet Fixture Property tabs
Pallet fixtures have general Roboguide fixture properties and Palletizing pallet unique
properties. General properties include location, CAD file, and color. Palletizing properties
include defining orientation, simulation parameters (pallet index time), pallet positions, and
other pallet specific properties.
It is critical to correctly configure your pallet for proper Palletizing simulation.
Related Topics:
Working with the Infeed Fixture General Property tab
Working with the Pallet Fixture Pallet Property Page
Working with the Pallet Fixture Pallet Positions Property Page
Using the Fixture General tab
The General Tab of the Fixture Properties page provides fields to edit general obstacle
properties. These fields include:
• Name: enter the name you want for the fixture.
• CAD File: defines the CAD file used for this fixture.
• Visible: if checked you can see the fixture. When you change the state of the field,
you must press Apply for the action to take place.
• Type: set by Roboguide. This is a primitive entity of Box, Cylinder, Sphere, or CAD
image.
Working with Fixtures
242
• Color: allows you to change the color of primitive objects.
• Wire Frame: when enabled the object is shown as wireframe
• Transparency slider bar: controls the transparency of the object.
• Location: defines the location of the fixture relative to the 3D ChuiWORLD zero
reference position.
• Size: defines the parametric values for primitive objects.
• Scale: defines the scale parameters for CAD type objects.
• Show robot collisions: when checked this fixture is checked for collisions with
robots in the workcell.
• Lock All Location Values: when checked, locks all of the location values for the
fixture.
Working with the Pallet Fixture Pallet Property Page
The Pallet fixture pallet property page has fields to configure the pallet in your PalletPRO
workcell. Fields include:
• Pallet properties
o Number: is the Pallet ID number used by PalletTool.
o Index Time: is the time used to determine the delay between when a
Pallet is full to when a new pallet is put into the workcell. This delay is used
for simulation purposes.
• Teach Aid
o Orientation: defines the origin of the pallet for palletizing. It also defines
how the X direction of the UTOOL lines up with the pallet. FANUC Robotics
recommends that you select the station origin to optimize cycle time and
prevent collision of the units during palletizing. This will generally be at one
of the two corners farthest from the infeed. If the robot cannot reach the
corner, you can place the origin somewhere other than the corner of the
pallet, then use pallet offset information under Pallet Station setup.
243
Working with Fixtures
When you select an orientation a flat box with an arrow appears on the
pallet (). The arrow lies along the build direction of the pallet station (or the
arrow of the fixture plate). The build direction is the direction in which
PalletTool will build the unit load. It is also the direction in which the arrow of
the fixture plate points.
The orientation of the fixture plate also determines the positive and negative
directions for the pallet approach length and the pallet approach width. The
pallet approach length and width are values that can be adjusted to optimize
how the robot places units on the pallet.
The orientation selection on the Pallet Tab provide the following definitions
for the pallet.
 Length on Length. The arrow is along the length of the pallet
and defines the X direction of the UTOOL to be along the length
of the pallet.
 Width on Length. The arrow is along the width of the pallet and
defines the X direction of the UTOOL to be along the length of
the pallet.
o X offset, Y offset: specifies the distance to shift the origin of the pallet
station along the length of the pallet station. Pallet offset (length) and (width)
are typically used when the robot cannot reach the corner of the infeed in
order to teach the origin. Since PalletPRO has knowledge of the workcell
and automatically determines the origin, it may not be necessary to set the
offset values.
o Move To: select this to move the robot to the origin position created by
PalletPRO.
• Pallet IO
o Pallet Present DI: Is the IO point used to detect that a pallet is present.
o Pallet Index DO: Is the IO point used to signal a pallet index.
Working with Fixtures
244
Working with the Pallet Fixture Pallet Positions Property Page
The Pallet Fixture pallet positions property page is used to teach special positions specific
to a pallet. Positions include:
• Slip Sheet Position: the slip sheet position is the initial drop location for a slip sheet.
Generally, for PalletPRO, this is the surface of the pallet at the center of the pallet.
PalletPRO automatically generates this position when the pallet is put in the workcell.
o If you move the pallet, PalletPRO automatically updates the position to be
the center of the pallet.
o If you move the robot and record a new position this would be the new
slip sheet position.
o If you record a new slip sheet position and then move the pallet,
PalletPRO will move the slip sheet position to center of the pallet at the new
location, and maintain the recorded slip sheets z height.
• Diagonal Return position: can be used to decrease cycle time. A diagonal retreat
path can be used when the pallet retreat position is higher than the infeed perch
position.
Defining the origin of the pallet station
The origin of the pallet station defines where the robot will start the unit load processing.
To define the origin of the pallet station
1. Open the pallet station property page for the desired pallet station
2. Select the Pallet Tab
3. In the Teach Aid / Orientation part of the page you can select the desired origin
point.
4. Select the desired origin.
5. Press OK or Apply to save the changes.
Working with Fixtures
245
Teach the Pallet Slip Sheet Position
Since PalletPRO has knowledge of the pallet, it automatically initializes the pallet position
to the center of the pallet station at the surface of the pallet station. You may modify the
position with the following procedure.
To teach the pallet slip sheet position
1. Open the pallet station property page for the desired pallet station
2. Select the Pallet Positions Tab
3. Move the robot to the desired position
4. Press Record for the Slip Sheet position
5. Press Apply or OK to save changes
Teach the Pallet Diagonal Return position
Since PalletPRO has knowledge of the pallet, it automatically initializes the pallet position
to a logical height above the infeed. You may modify the position with the following
procedure.
To teach the pallet Diagonal Return position
1. Open the pallet station property page
2. Select the Pallet Positions Tab
3. Move the robot to the desired position
4. Press Record for the diagonal return position.
5. Press Apply or OK to save changes
Working with Fixtures
246
Reducing cycle time when the pallet retreat position is lower than the infeed clear
position
PalletTool / PalletPRO supports a clear enable path. This can be used when the pallet
retreat position is lower than the infeed clear position. Using this path, you can direct the
robot arm to go only up to the height of P3 by passing infeed perch position P2, and then
move horizontally to P3. To use this option, you must make sure that there are no
obstacles in the path and that the other infeed will not interfere with the path.
PalletTool Optional Path
To enable this feature, you must set the "Clear return enable" item on the SETUP Pallet
System tab on the robot property page. This feature will take effect for all pallets
Reducing cycle time when the pallet retreat position is higher than the infeed perch
position
PalletTool / PalletPRO supports a Diagonal Return path to reduce cycle time. This can be
used when the pallet retreat position is higher than the infeed perch position.
The robot arm will move from the pallet retreat position horizontally to a user-taught pallet
clear position. The robot will then move to the next infeed's clear position and then continue
the pick and place cycle as usual.
When you record this position the diagonal return position is used to shorten the distance
traveled by the robot. The following figure shows how the position is used. The dashed line
is the default path used by PalletTool. The solid line shows how the robot moves to diag
return pos before moving to the infeed. The diagonal return position is only used by
PalletTool / PalletPRO if the position is above the infeed. Only the x and y coordinates are
used, and PalletTool / PalletPRO automatically calculate the height.
PalletTool Diagonal Retreat Path
To enable this feature, you must set the "Diagonal return enable" item on the SETUP Pallet
System tab on the robot property page. You must also teach the pallet clear positions for all
of your pallets. The height of the pallet clear is determined during execution. You must
make sure that this position is taught with the whole gripper clear of the pallet.
Working with Fixtures
247
10.1.3 PalletPRO Slip Sheet Dispenser Fixture Property Tabs
Using the Slip Sheet Dispenser Fixture property tabs
A slip sheet or tier sheet is a sheet of heavy paper or cardboard that is placed between the
layers of a unit load. Slip sheets provide added load stability, particularly when columnar
patterns are used. Some unit loads are built directly on a slip sheet or tier sheet, instead of
on a pallet.
Slip Sheet Dispenser property pages are provided to define general fixture properties and
slip sheet specific properties. Tabs include:
• General Tab
• Slip Sheet Dispenser Tab
PalletPRO provides slip sheet dispenser fixtures to enable slip sheet simulation. PalletPRO
automatically calculates key Slip sheet positions (search start and search end) because it
has knowledge of the slip sheet dispenser in the workcell.
If your unit loads require slip sheets, you must
• Enter complete layer spacing information during Unit Load Setup, for each unit load
that uses slip sheets.
• Position the slip sheet magazine (container holding slip sheets) properly in the
workcell.
• Record the position registers used by the slip sheet program. Slip sheet search
attempt information will automatically be calculated from the position register
information PalletPRO initializes this value, but you can change it.
Using the Fixture General tab
The General Tab of the Fixture Properties page provides fields to edit general obstacle
properties. These fields include:
• Name: enter the name you want for the fixture.
• CAD File: defines the CAD file used for this fixture.
• Visible: if checked you can see the fixture. When you change the state of the field,
you must press Apply for the action to take place.
• Type: set by Roboguide. This is a primitive entity of Box, Cylinder, Sphere, or CAD
Working with Fixtures
248
image.
• Color: allows you to change the color of primitive objects.
• Wire Frame: when enabled the object is shown as wireframe
• Transparency slider bar: controls the transparency of the object.
• Location: defines the location of the fixture relative to the 3D ChuiWORLD zero
reference position.
• Size: defines the parametric values for primitive objects.
• Scale: defines the scale parameters for CAD type objects.
• Show robot collisions: when checked this fixture is checked for collisions with
robots in the workcell.
• Lock All Location Values: when checked, locks all of the location values for the
fixture.
Working with the Slip Sheet Dispenser Tab
The slip sheet dispenser tab provides fields to define and record the search start and end
positions for a slip sheet dispenser.
PalletPRO provides slip sheet dispenser fixtures to enable slip sheet simulation. PalletPRO
automatically calculates key Slip sheet positions (search start and search end) because it
has knowledge of the slip sheet dispenser in the workcell.
If your unit loads require slip sheets, you must
• Enter complete layer spacing information during Unit Load Setup, for each unit load
that uses slip sheets.
• Position the slip sheet magazine (container holding slip sheets) properly in the
workcell.
• Record the position registers used by the slip sheet program. Slip sheet search
attempt information will automatically be calculated from the position register
information PalletPRO initializes this value, but you can change it.
Working with Fixtures
249
10.1.4 PalletPRO Pallet Dispenser Fixture Property Tabs
Working with Pallet Dispensers
Simulation of Pallet Picking
PalletPRO 6.31 Rev E supports the simulation of picking a pallet from a pallet dispenser
and placing it at the pallet station with a vacuum gripper, bag gripper or fork gripper.
Conversely, during depalletizing, the robot picks up the pallet and places it in the pallet
dispenser.
Steps to Setup Pallet Picking and Placement
1. Create a workcell. In the workcell wizard, select a version higher than 6.3148 or
6.4047. If any version lower than these is chosen, pallet picking is automatically
disabled.
2. In the cell browser, right click on Fixtures and choose "Add Fixture" -> "Pallet
Dispenser". You can only add one pallet dispenser to a workcell. Move the pallet
dispenser to the location you wish to place it in the workcell.
3. When you add the pallet dispenser, you will see the Pallet Dispenser Property page.
You may verify the default "Search Start" and "Search End" position at the Pallet
Dispenser calculated by PalletPRO.
4. To verify the pallet placement position calculated by PalletPRO, go to the Pallet
property page (you may double click on the pallet of interest), and select the "Pallet
Positions 2" tab.
5. From the Cell Browser, right click on Robot Controller properties (you can also
invoke this by double clicking on the robot in the workcell), and click on the
PalletSystem tab.
6. Check the "Pallet Placement" checkbox in the robot pallet system property page.
Click on Apply or OK.
7. Run the simulation.
8. The Pallet dispenser will get filled with 8 pallets. If you are running Palletizing, the
robot will pick the topmost pallet from the pallet dispenser and place it at the
appropriate pallet station. If a slip sheet is needed, it will place it next. Then, it will place
the boxes from the infeed for the first cycle. It will then switch pallets based on the
"Pallet switch type" selected in the PalletSystem property page.
When all 8 pallets have been used in the pallet dispenser, the pallet dispenser gets
refilled automatically with 8 more pallets.
Working with Fixtures
250
If you are running Depalletizing, the robot will pick slip sheets and boxes and place
them on the slip sheet stand and the infeed conveyor respectively. Finally, it will pick up
the pallet and place it in the dispenser.
Notes & Limitations
1. Pallet picking is available only with virtual robot versions 6.31.49 and higher. It is
also available with virtual robot versions 6.4047 and higher.
2. A workcell can have only 1 pallet dispenser.
3. Presently, you cannot use any CAD other than the one shipped with PalletPRO for
pallet picking.
4. "PalletTool Turbo" supports pallet picking with Vacuum and Bag grippers.
"PalletTool" supports pallet picking with Vacuum and Fork grippers.
When you depalletize, presently, when the robot arrives at the pallet dispenser to drop
the pallet, the pallet in the gripper will simply disappear. It is not added to the existing
pallets in the dispenser. This limitation will be removed in a future version.
5. When you depalletize, presently, when the robot arrives at the slip sheet dispenser
to drop the slip sheet, the slip sheet in the gripper will simply disappear. It is not added
to the existing slip sheets in the dispenser. This limitation will be removed in a future
version.
6. Presently, during depalletizing, the pallet dispenser always contains 8 pallet
dispensers.
7. The PalletTool and PalletTool Turbo pallet picking and slip sheet handling programs
have been modified to calculate the pallet and slip sheet placement positions
automatically through KAREL programs (PMPALCTR.KL, PMSLPCTR.KL), only in
simulation mode. In all previous versions, the user was required to teach these
positions in Position Registers. Without using these programs, there is no flexibility to
pick and place pallets of different sizes at the same pallet station.
8. When you change a gripper in the EOAT property page – for example from "Vacuum
–single" to "Bag", the "Search Start", "Search End" positions of the Pallet Dispenser
and the "pallet" position at the appropriate pallet station are recomputed automatically.
9. Presently, simulation will be incorrect when you attempt to modify the default
positions calculated by PalletPRO in the Pallet -> Pallet Positions 2 property page or
the Pallet Dispenser -> Search Start and End positions. This limitation will be removed
in a future version.
Working with Fixtures
251
Using the Pallet Dispenser Fixture Property Tabs
Simulation of Pallet Picking
PalletPRO 6.31 Rev E supports the simulation of picking a pallet from a pallet dispenser
and placing it at the pallet station with a vacuum gripper, bag gripper or fork gripper.
Conversely, during depalletizing, the robot picks up the pallet and places it in the pallet
dispenser.
Pallet Dispenser property pages are provided to define general fixture properties and pallet
dispenser specific properties. Tabs include:
• General Tab
• Pallet Dispenser Tab
The pallet dispenser tab provides fields to define and record the search start and end
positions for a pallet dispenser.
PalletPRO provides pallet dispenser fixtures to enable simulation. PalletPRO automatically
calculates key pallet positions (search start and search end) because it has knowledge of
the dispenser in the workcell.
Working with Obstacles
252
11 Working with Obstacles
Working with Obstacles
Roboguide uses obstacles as basic workcell objects that can be used for the following:
· Used as basic workcell building blocks to get a more realistic visualization of the
components of the workcell (fences, "things" that are just present in the environment).
· Define an entity in the workcell that the robot should not enter (fences, poles, walls,
etc.) In the event that you jog into an obstacle a collision is signaled.
· Define an entity in the workcell to teach positions. You may want to teach points on an
obstacle so that you can then move the obstacle to ensure that the points taught are
reachable by the robot. Obstacles support UFRAMEs. If you teach relative to a
UFRAME then you can move the obstacle and its associated points to determine
optimum robot and object locations.
Adding a workcell object
To add an object using the cell browser
1. Right mouse click the type of element you want to add to your workcell
A popup menu will appear with selections. The popup menu will have items based upon
the PRO Software plug-in and the options loaded on robots in the workcell. For
example, if line tracking is enabled, you would see "add line" under the fixtures menu.
2. Select the source of the object from which it should be added.
Roboguide supports a CAD Library, importing of IGES files, and primitive objects.
3. If you select CAD File a dialog is opened in which you can select the CAD File
desired. You may select multiple CAD files if you want to import multiple CAD images
into the workcell as a single object. Note: the origin of the combined object will be the
origin of the CAD files overlaid.
If you select CAD Library a dialog is opened where you can browse the CAD library and
select an object
If you select one of the primitives, a primitive object is loaded into your workcell with
default parameters.
To add an object using the main menu
Working with Obstacles
253
1. From the main menu select Cell. And then select the type of object to add.
2. Select from the popup menu (if applicable) the source of the object from which it
should be added. Roboguide supports a CAD Library, importing of IGES files, and
primitive objects.
3. If you select CAD File a dialog is opened in which you can select the CAD File
desired. You may select multiple CAD files if you want to import multiple CAD images
into the workcell as a single object. Note: the origin of the combined object will be the
origin of the CAD files overlaid.
If you select CAD Library a dialog is opened where you can browse the CAD library and
select an object
If you select one of the primitives, a primitive object is loaded into your workcell with
default parameters.
If you select Robot, the robot serialize wizard is opened.
Deleting a workcell object
To delete an object using the cell browser
1. Right click on the desired object from the cell browser.
2. Select Delete <object name> from the menu.
The object is deleted from the workcell.
To delete an object using the keyboard
1. Left click on the desired object in the 3D World view,. or select the object with the
left mouse button in the cell browser. The objects coordinate reference frame is shown.
2. Press the delete key on the keyboard.
The object is deleted from the workcell.
Working with Obstacles
254
Working with the Obstacle property page
The obstacle property page has fields used to define obstacles in the workcell robot.
Multiple tabs are used on the obstacle property page.
• General Tab: is used to define basic obstacle properties such as name, location,
color.
• Calibration Tab: is used to calibrate the real world obstacle with the Roboguide
obstacle..
Use the Obstacle General tab
The General Tab of the Obstacle Properties page provides fields to edit general obstacle
properties. These fields include:
• Name: enter the name you want for the obstacle.
• CAD File: defines the CAD file used for this obstacle.
• Visible: if checked you can see the obstacle. When you change the state of the field,
you must press Apply for the action to take place.
• Type: set by Roboguide. This is a primitive entity of Box, Cylinder, Sphere, or CAD
image.
• Color: allows you to change the color of primitive objects.
• Wire Frame: when enabled the object is shown as wireframe
• Transparency slider bar: controls the transparency of the object.
• Location: defines the location of the obstacle relative to the 3D CHUIWorld zero
reference position.
• Size: defines the parametric values for primitive objects.
• Scale: defines the scale parameters for CAD type objects.
• Show Robot collisions: when checked this obstacle is checked for collisions with
robots in the workcell.
255
Working with Obstacles
• Lock All Location Values: when checked locks all of the location values for the
obstacle.
Using the Calibration Tab
You can calibrate fixture, obstacle, and machine objects in your workcell. Since parts are
associated with fixtures you calibrate the part within the fixture on the fixture property page
calibration tab. The calibration process matches the location of the 3D object to its real
world counterpart by calculating the difference between points taught in the 3D world and
the same points touched-up in the real world.
Calibration of a workcell object moves the Roboguide workcell object to match the real
world object. When doing a workcell calibration you teach a program touching 3 points in
the Roboguide workcell and then touch the same 3 points in your real workcell. Roboguide
objects are then moved based upon the least squares difference between these points
Fields included on the Calibration Tab include:
• Object to be calibrated: this selection appears for fixtures and machines. Since
fixtures can hold parts, you can calibrate the fixture and any parts that the fixture can
hold. Select the object to be calibrated from the drop down list box.
• General: fields include:
o TPP Name: calibration TP name.
o When calibrating EOAT or Parts in an EOAT:
 Touchup method: defines what UFRAME to use for the
calibration.
o When calibrating other objects in the workcell
 Controller: defines which robot controller in the workcell will be
used for calibration
 Group: The target group on the selected controller.
• Step 1: Teach in 3D World: when pressed you see the message:
Calibration program xxx has been created for object. Teach at least 3 points in the 3D
World at unique locations on the object. Whey you have finished, return to the
Calibration tab and press the ‘Store Points button.
Working with Obstacles
256
NOTE: if you are calibrating a part that is on a line tracking link, Roboguide creates a
TPP tracking program to do the calibration. This provides the ability to use the same
tracking program on the actual workcell that is line tracking. Since with conveyor
tracking systems it is difficult to duplicate the location of the part carrier on a conveyor
the tracking system, the line tracking system is used to compensate for variability in the
location of the conveyor on the moving line. The key is to ensure that the part is
synchronized with the conveyor before doing any teaching.
It is important to choose features that can be taught in both Roboguide and the real
world.
• Step 2: Copy & Touch-Up in Real World: when pressed you get the message:
Calibration positions stored in memory – now would be a good time to save the
workcell. The calibration program CAL00049 was copied to: < directory >.
You must now load it onto the real controller and touch up each point at the
corresponding location in the real world. When this is done, save the touched up TPP
and copy it back to the same directory, overwriting the original.
• Step 3: Calibrate from Touch-Up. When pressed, Roboguide loads the new
calibration information and compares the original Roboguide taught calibration
positions with the points taught in the physical real workcell. A least squares fit
algorithm is applied. You see the following message describing the differences.
The calibration process has compared the TP positions and determined that the object
needs to be shifted in the following ways (relative to the robot): X, Y, Z, W, P, R offsets,
Least squares fit = xxx
Would you like to accept these results and shift the 3D object?
If you press OK the object is adjusted to reflect these changes.
Check the preview box to see the shift and OK to accept the shift.
Check the adjust TPP programs selection if you want to select TPP programs for which
to have positions shifted.
Working with Parts
257
12 Working with Parts
Working with Parts
Parts are objects that the robot can take actions with. There is a direct relationship between
fixtures and parts in the workcell. Parts are used in fixtures. Parts must be associated with
a fixture and/ or with end of arm tooling before they can be used.
When using Roboguide you will see a part fixture in your workcell. When a part is created it
is added to the part fixture. The part fixture is only for visual confirmation. The part can not
be used until it is assigned to a fixture.
The general sequence for using parts is as follows:
• Add a part to the workcell. After adding a part you see it on the part rack.
• Associate the part with a fixture. This is done on the Parts tab for a fixture.
• Define the location of the part in a fixture. This is done on the Parts tab for a fixture.
• Associate the part with an End of Arm Tool. This is done on the Parts tab for an End
of Arm Tool.
• Define the location of the part in the End of Arm Tool. This is done on the Parts tab
for an End of Arm Tool.
Adding a part
To add a part to the workcell
1. Use the add a workcell object procedure to add a part object.
After adding the part you see the part appear on a part fixture in your workcell. The part
only appears with other objects in your workcell after you associate it with another object.
Parts can be associated with fixtures and tooling.
Working with Parts
258
Deleting a workcell object
To delete an object using the cell browser
1. Right click on the desired object from the cell browser.
2. Select Delete <object name> from the menu.
The object is deleted from the workcell.
To delete an object using the keyboard
1. Left click on the desired object in the 3D World view,. or select the object with the
left mouse button in the cell browser. The objects coordinate reference frame is shown.
2. Press the delete key on the keyboard.
The object is deleted from the workcell.
Using the Part property page
The part property page is used to define part properties. Fields include:
• Name: enter the name you want for the part
• CAD File: defines the CAD file used for this part.
• Type: set by Roboguide. This is a primitive entity of Box, Cylinder, Sphere, or CAD
image.
• Color: allows you to change the color of primitive objects.
• Mass: defines the mass of the part object. This mass value is used for motion during
simulation.
• Size: defines the parametric values for primitive objects.
• Scale: defines the scale parameters for CAD type objects.
Working with Parts
259
Using the Parts Property Page Tab
The Parts Property Page Tab provides the interface to assign parts to the selected object.
Parts can be added to different types of objects in Roboguide including fixtures, machines,
end of arm tooling, etc. The property page effectively works the same way when assigning
parts to an object.
A very useful feature of the Parts property page is the ability to move the robot to the part.
Roboguide understands what parts are assigned where and uses the UTOOL values and
the Part location values to automatically move the robot to the desired part location. This
can be done and the part offset can be "recorded" directly into the values.
Fields on this tab include:
• Parts list: shows the parts available in the workcell. The checkbox next to each box
can be selected to assign the part to the current object.
• Part Offset: is used to define the part offset in the current object. Use of the MoveTo
and Record buttons can ease the accurate teaching of the part offset values.
o X, Y, Z, W, P, R: defines the offset relative to the object’s origing that
holds the part.
o Object selection combo box:this box is used in conjunction with the
MoveTo and Record buttons. With these buttons Roboguide provides
efficient capability to move the robot to a part position on fixtures, and to
record part offsets in EOAT and fixtures.
The combo box contains all objects that have reference to the part selected
in the Parts list. If the EOAT property pages are active, the list is populated
with fixtures that reference the selected part. If a fixture property page is
active, the list is populated with EOAT’s that reference the selected part.
The detail is defined on how the information is used in the MoveTo and
Record field descriptions.
o MoveTo: Works in conjunction with the Object selection combo box.
When pressed the robot is moved to a position that matches the part offset
coordinate value for the selected property page object with the part offset
coordinate value for the object selected in the Object selection combo box.
After moving, the robot should have the part offsets for the two objects
aligned exactly.
This could be very useful when creating programs. If part offsets are all
taught accurately, the robot can be moved very quickly and accurately to
desired part positions. For more detail see Automatic MoveTo of robot to
part in a fixture.
o Record: is active when the Edit Part Offset item is selected. The record
Working with Parts
260
button is used to define the part offset for the selected part in the Parts field.
The part offset position can be automatically generated if the robot tooling is
located at the desired pick / place point in a fixture. For more detail see
Automatically generate part offsets in tooling and fixtures.
o Edit Part Offset: when checked you can move the part to define the part
location relative to the selected object.
o Visible Teach: if enabled the part is visible when not running a program.
o Visible Run: defines the initial state of the part when a program is run. If
enabled the part is visible when the program starts. If disabled, the part does
not show at the start of a run.
Automatic MoveTo of robot to part in a fixture
Roboguide provides the ability to quickly move the robot to pick and place locations in
fixtures. This capability requires that the part offsets have been defined for the desired
EOAT and the desired fixture.
This capability is very useful when teaching pick and place workcells. Once the offsets are
defined for EOAT’s and fixtures, you can program each fixtures positions very efficiently.
To MoveTo the robot to a fixture part from a fixtures property pages
1. Open the desired fixtures property page
2. Select the Parts tab
3. Select the desired part from the Parts frame. The enable check box next to the part
name must be enabled to make the part available with the fixture.
4. Select the robot EOAT from the Object selection combo box. All robots with EOATs
that have the part associated should show in the list.
5. Press MoveTo. The robot moves so that the part in the EOAT is exactly aligned with
the part in the fixture.
To MoveTo the robot to a fixture part from EOAT property pages
1. Open the desired EOAT property page
Working with Parts
261
2. Select the Parts tab
3. Select the desired part from the Parts frame. The enable check box next to the part
name must be enabled to make the part available with the fixture.
4. Select the fixture that you want to move the robot to from the Object selection
combo box. All fixtures that have the part assigned should show in the list.
5. Press MoveTo. The robot moves so that the part in the EOAT is exactly aligned with
the part in the fixture.
Note: if the orientation for the part location in the fixture and the orientation for the part
location in the tooling is not correct the robot may not be able to move to the position.
Automatically generate part offsets in tooling and fixtures
PRO software provides the capability to auto generate part offsets in tooling and fixtures.
After one part offset has been defined in either the tooling or a fixture, remaining part
offsets can be generated using the Record button on the Parts tab for a fixture or EOAT.
To auto calculate the part offset in end of arm tooling, the part offset must be defined in a
fixture.
To auto calculate the part offset in a fixture, the part offset must be defined in an end of
arm tool.
Therefore, if you have defined a part offset in either a fixture or an EOAT, you can
propagate through the workcell using auto calculate capability. For example, if the part
offset is defined for an EOAT, this offset can be used to define the offset for fixtures. If the
part offset has been defined for a fixture, this offset can be used to define the offset for an
EOAT. This offset can then be used for other fixture part offset definition.
To Automatically generate part offsets in fixtures
1. Assumes that the part offset has been defined for an EOAT that uses the same part
as the one that will be defined in the fixture. Use the procedure Define the part location
in an EOAT to define the initial part offset in the desired EOAT.
2. Jog the robot with desired EOAT active (click on the EOAT in the Cell Browser) so
that the robot positions the part in the fixture as desired. Make sure the gripper is
closed.
3. Open the fixture property page for the desired fixture object.
4. Click on the Parts tab
Working with Parts
262
5. Select the desired part in the Parts frame by left clicking on the name. The enable
check box next to the part name must be enabled to make the part available with the
fixture.
6. Enable the Edit Part Offset field.
7. Select the robot EOAT from the Object selection combo box. The Record button
should become active.
8. Press the Record button. The part offset should be auto calculated and loaded in the
Offset fields.
9. Press OK or Apply to make the change permanent.
To Automatically generate part offsets in tooling
1. Assumes that the part offset has been defined for a fixture that uses the same part
as the one that will be defined in the EOAT. Use the procedure Define the part location
in a fixture to define the initial part offset in the desired fixture.
2. Jog the robot with desired EOAT active (click on the EOAT in the Cell Browser) so
that the robot is positioned as desired to pick or place the part in the fixture..
3. Open the property page for the desired EOAT.
4. Click on the Parts tab
5. Select the desired part in the Parts frame by left clicking on the name. The enable
check box next to the part name must be enabled to make the part available with the
EOAT.
6. Enable the Edit Part Offset field
7. Select the desired fixture from the Object selection combo box. The Record button
should become active.
8. Press the Record button. The part offset should be auto calculated and loaded in the
Offset fields.
9. Press OK or Apply to make the change permanent.
Working with Parts
263
Make a part visible or invisible in a fixture
It is possible to control the visibility of a part at teach time and the initial visibility of a part
when running a program.
To make a part visible or invisible in a fixture
1. Select the desired fixture that has the part associated
2. Open the property page for the fixture
3. Select the Parts Tab on the fixture property page
4. Select the desired part in the Parts frame.
5. Check Visible at Teach time field to make visible or Uncheck Visible at teach time
field to make invisible at teach time.
Check visible at run time if you want the initial state of the part in the fixture to be visible
when a simulation is started, or uncheck visible at run time if you want the initial state of
the part in the fixture to be not visible.
6. Press Apply
Set the initial state of a part for program run
You may initialize the visibility for a run of a program for a part in the end of arm tooling or a
part in a fixture.
To set the initial state of a part for program run:
1. Open the property page for the object that contains the part desired (EOAT, fixture,
machine, etc.)
2. Select the Parts tab
3. Select the desired part from the Parts frame
4. To make the part initialize visible when running a program enable the Visible at Run
Time field. To make the part initialize not visible when running a program disable the
Visible at Run Time field
5. Press Apply
Working with Parts
264
Define the part location in a fixture
To define the part location in a fixture
1. Select the desired fixture that has the part associated
2. Open the property page for the fixture
3. Select the Parts Tab
4. Select the desired part from the Parts frame
5. Check the Edit Part Offset check box
6. There are multiple ways to define the part location value:
o Direct Entry: enter the part location values into the , Y, Z, W, P, R Part
Offset fields.
o Move with the mouse: move the part triad to the desired location. Press
Record Part Offset button, and the values are copied into the X, Y, Z, W, P,
R fields.
o Automatically generate part offset using the Record button. For more
detail see Automatically generate part offsets in tooling and fixtures .
7. Press Apply when done.
Define the part location in the End of Arm Tooling
To define the part location in the End of Arm Tooling
1. Open the EOAT property page
2. Select the Parts Tab
3. Select the desired part from the Parts frame
4. Check the Edit Part Offset check box
Working with Parts
265
5. There are multiple ways to define the part location value:
o Direct Entry: enter the part location values into the , Y, Z, W, P, R Part-inTool Offset fields and press Apply.
o Move with the mouse: Check the Edit Part Offset check box, and move
the part triad to the desired location. Press Record Part Offset button, and
the values are copied into the X, Y, Z, W, P, R fields. Press Apply when
done.
o Automatically generate part offset using the Record button. For more
detail see Automatically generate part offsets in tooling and fixtures .
6. Press Apply when done
Using the Part Rack property page
The part rack is shown in workcells in order to show parts that have been added into the
workcell. The part rack is for visualization only and should not be used to build the workcell
simulation.
When the workcell is run, the part rack is automatically hidden.
Fields on the property page include:
• Name: PartRack and cannot be changed.
• Visible: if enabled the part rack will show in the workcell
• Location: is the location of the part rack in the workcell.
Teaching a Program
266
13 Teaching a Program
Teaching a program
Roboguide provides the capability to create robot programs. As you edit in PRO Software,
you record and adjust robot program lines. Key features that Roboguide provides include:
• Reach validation: when you record a robot position it is checked for reachability. If
the robot can reach the position the position triad is green. If the robot can not reach
the position the position triad is red.
• Real robot programming: you are teaching a real robot. Roboguide uses a virtual
robot controller that executes the same robot checks as a physical robot controller. As
you jog the robot, errors are created when you have motion issues such as limit errors
and singularity.
• Stepping through program motion: as you step programs in PRO Software, motion
reach problems between points are found. Roboguide uses the same motion system as
the actual robot controller to run TP programs.
Roboguide has two methods to teach robot programs.
• Roboguide Simulation Programs and editor. Roboguide provides a limited but simple
robot program editor. This editor is used to quickly create programs that can animate
workcells and validate cycle time.
• Roboguide Virtual Teach Pendant Editor: Roboguide provides a virtual Teach
pendant that has a fully functioning teach pendant interface to the robot. The teach
pendant is the same software that executes on a physical robot. The Virtual TP Editor
is used to create fully instruction set robot TP programs.
Teaching robot programs for simulation
Roboguide offers the ability to run programs offline and to animate the attachment of
objects to the end of arm tooling. Roboguide adds a new type of TP program called
Simulation Program. Simulation Programs exist in Roboguide and provide an easy
interface to build programs that animate the pick and place of objects onto and off the end
of arm tooling. The limitations of the Simulation Programs are taught using the simple
Roboguide teach pendant editor which has limited TP program statements, but provides a
quick and easy interface to create simulation programs.
Roboguide also includes the FANUC Robotics Virtual Teach Pendant, which is an emulated
teach pendant similar to the actual teach pendant used on a FANUC Robotics controller.
Teaching a Program
267
With this TP you can create .TP programs directly from the TP just like you create programs
on a physical robot and TP. The limitations of using this to create programs are that there is
no direct support for animating the pick and place of objects onto and off the end of arm
tooling.
These limitations can be overcome by combining simulation programs and TP programs
together.
Combining simulation and TP programs into a single animation program
You may desire having TP programs on the virtual TP that provide animation when run
within PRO Software. For example, you want to use the full instruction editing provided by
the virtual TP and you want to see objects attached and detached from the end of arm
tooling on the robot. There are multiple ways of achieving this result, and they all involve
creating a master program with Calls to sub programs.
Roboguide animates by using the Pick and Place Macros provided by PRO Software.
These macros contain information that Roboguide uses to notify the system when to attach
CAD objects to virtual objects within the workcell. The procedures defined below are keyed
off the use of these macros.
To animate a program with a Simulation Program as the master
1. Create an animation program that attaches and detaches graphics from the end of
arm tooling.
2. Create a new simulation program.
3. Using the call instruction in the Instruction menu pulldown insert calls for each
program that you want to run
4. Insert the Call to the Close Program you defined in step 1 when you want to attach
a graphic to the end of arm.
5. Insert the Call to the Open Program you defined in step 1 when you want to detach
a graphic from the end of arm.
To animate a program with a virtual TP Program as the master
1. Create an animation program that attaches and detaches graphics from the end of
arm tooling.
2. Create a new simulation program.
3. Using the call instruction in the Instruction menu pulldown insert calls for each
Teaching a Program
268
program that you want to run
4. Insert the Call to the Close Program you defined in step 1 when you want to attach
a graphic to the end of arm.
5. Insert the Call to the Open Program you defined in step 1 when you want to detach
a graphic from the end of arm.
Creating Roboguide macros that attach and detach graphics from the end of arm
To create a macro that attaches a graphic to the end of arm tool
1. Create a new Simulation program .
2. Give it a meaningful name to your application. For this procedure we call the
program Close
3. Open the program for edit in the Roboguide Simple TP Editor
4. Select Pick from the Instruction pull down menu item
5. Enter the fixture/ part that you want to attach from the drop down list in the
instruction
6. Select Wait 0.5 from the instruction pull down menu item.
7. Save the workcell. When the save is executed Roboguide puts a TPP program
version on the virtual controller. To animate from a TPP program use the Call
instruction from the TPP program to this program. When the program is executed the
simulation will occur.
You can now use this TP program in other programs to animate the attachment of objects
to the end of arm tooling.
To create a macro that detaches a graphic from the end of arm tool
1. Create a new Simulation program.
2. Give it a meaningful name to your application. For this procedure we call the
program Open
3. Open the program for edit in the Roboguide Simple TP Editor
Teaching a Program
269
4. Select Pick from the Instruction pull down menu item
5. Enter the fixture/ part that you want to detach from the drop down list in the
instruction
6. Select Wait 0.5 from the instruction pull down menu item.
7. Save the workcell. When the save is executed Roboguide puts a TPP program
version on the virtual controller. To animate from a TPP program use the Call
instruction from the TPP program to this program. When the program is executed the
simulation will occur.
You can now use this TP program in other programs to animate the detachment of objects
from the end of arm tooling.
Robot program types
Roboguide uses programs directly on the virtual robot controller. Roboguide adds an
additional type of program which exists so that Roboguide can aid in creating programs
quickly that animate (attach graphic CAD images to the robot).
Robot program types include:
• Simulation: simulation programs are ones that Roboguide uses to animate workcells.
Use a simulation type if you want to attach objects to the end of arm and move them in
your workcell. When the type is Simulation you can specify what UFRAME and UTOOL
to use.
• None: is the basic .TP program type that the controller uses. If you select none the
program will be created as a .TP program, which can include any instructions in your
teach pendant program.
• Macro: A macro program created as a .MR program can contain any instruction and
function as a normal .TP program. However, only macro programs can be set up to be
executed in a variety of ways including from operator panel buttons, teach pendant
keys, and the Manual Functions menu. They can also be assigned a name in the macro
table and be called with this name in a macro program. Macro programs can also be
called by a program when the MACRO instruction is used.
• Condition: A "ch" program has a Cond (Condition Handler) sub type. Refer to the
"Advanced Functions" chapter of the robot operations manual for more information on
the condition monitor function
NOTE: when you change a program type from simulation type to any other robot
Teaching a Program
270
controller based type you lose the ability to modify the UFRAME and UTOOL
used for the program. Roboguide does this because there is no way of ensuring
that the setting is correct. TP programs can use multiple UTOOL’s and
UFRAME’s. To use multiple UFRAME’s and UTOOL’s in a TP program you
program them from the TP editor on the virtual robot teach pendant.
Using the teach quick toolbar
The teach toolbar provides buttons to record, touchup and move to positions.
When you are editing a program in the simulation or Teach Pendant editor, and you are on
a motion line you can touchup and moveto the currently selected position. Note: in the
virtual TP the currently selected position is not necessarily the highlighted position in the
TP editor. It is the selected position in 3D CHUIWorld.’
In the simulation editor, you can use the record button to record points. The record button
is disabled if you editing in the virtual teach pendant editor.
13.1 Adding and deleting a TP Program
Adding a TP Program
A program can be added in various ways. Programs can be added from the Cell Browser,
Process Navigator, and main menu
To Add a TP Program from the Process Navigator
1. Select the Teach TP Programs category on the Process Navigator
2. Select the Add a TP Program item
To Add a TP Program from the Cell Browser
1. If the Cell Browser is not visible, open the Cell Browser
2. Right click on the Programs category. The programs category is found under Robot
Controllers / Robot categories.
3. You see a menu that allows you to add a TP program or simulation program.
Select Add TP Program if you want to teach the program from the virtual TP with full
access to the TP programming language
Select Add Simulation Program if you want to teach the program from the Roboguide
simple TP Editor.
271
Teaching a Program
To Add a TP Program from the main menu
From the main menu, select Teach / Add TP Program
To Add a TP Program from the Virtual TP
The following is a summary from the robot setup and operations manual. For additional
detail see your robot documentation.
1. Open the Virtual TP
2. Set the User frame number:
a. Press MENUS.
b. Select SETUP.
c. Press F1, [TYPE].
d. Select Frames.
e. If user frames are not displayed press F3, [OTHER], and select User
Frame. If F3, [OTHER], is not displayed, press PREV.
f. To select the user frame to use, press F5, SETIND, type the number of
the user frame you want, and press ENTER. This sets the active user frame
($MNUFRAMNUM[1]) to the number of the frame you specify.
3. Name the program:
. Press SELECT.
a. If F2, CREATE, is not displayed, press NEXT, >.
Press F2, CREATE.
b. Move the cursor to a method of naming the program. The function key
labels will change depending on the naming method you choose.
c. Type the program name:
4. To view and modify program header information:
. Press F2, DETAIL. You will see a screen similar to the following.
272
Teaching a Program
a. Review the settings on the screen.
 If you like the settings that are displayed on the screen and
want to skip setting program header information and begin
editing the program. press F1, END, and skip to Defining
Default Motion Instructions in this procedure.
5. To change the sub type:
. Move the cursor to the sub type and press F4, [CHOICE ]. You will see a
screen similar to the following.
Sub Type
1 None
2 Macro
3 Cond
a. Select a sub type and press ENTER.
6. To type a comment:
. Move the cursor to Comment and press ENTER.
a. Select a method of naming the comment.
b. Press the appropriate function keys to add the comment.
c. When you are finished, press ENTER.
A TP Program is added to PRO Software, and a Program Property Page is shown. A
program entry is made in the Cell Browser under the Programs category.
Selecting a TP Program
To select a TP Program from the Cell Browser
1. Left click on the program in the Cell Browser
The selected program becomes visible in the 3D CHUIWorld and in the Program Teach
TPP Edit window if it is already open.
273
Teaching a Program
To Select a TP Program from the Virtual TP
The select method is the same as the robot TP. For detailed information see the setup and
operations manual for the robot.
1. Press SELECT.
2. Press F1, [TYPE].
Select from the following list (NOTE: the list might vary depending on your
software configuration):
All displays all programs.
Jobs displays all job programs.
Processes displays all process programs.
TP Programs displays all teach pendant programs.
KAREL Progs displays all KAREL programs.
Macro displays all macro programs.
Cond displays all condition monitor programs.
3. Select the name of the program you want and press ENTER.
The selected program becomes visible in the 3D CHUIWorld and in the Program Teach
TPP Edit window if it is already open.
Opening a TP Program for edit
Editing a program can be done with the Roboguide simple editor or the virtual TP editor.
Roboguide simulation programs are edited with the simple editor while .TP, .MR, .CH
programs are edited with the virtual TP editor. Therefore, depending on which type of
program you open for edit decides which editor is used.
To open a TP Program for edit using the cell browser
1. Double click the left mouse button on the desired program element in the Cell
Browser or right click on the desired program element and select Teach <program
name> from the drop down list.
To open a TP Program for edit using the main menu
1. Select the TP program in the Cell Browser by left clicking on the program name.
2. Select from the main menu Teach / Teach <program name>.
Teaching a Program
274
The program will be opened in the appropriate editor.
Removing Programs
To delete a program
1. Select the program to delete under the Robot Controllers / Robot/ Programs
category from the cell browser by left clicking on the program name
2. Press the keyboard delete or right click on the program name and select delete from
the drop down menu
To delete a program from the virtual TP.
1. Press the Select button
2. Cursor to the program you want to delete
3. Press Shift-Delete
4. Select OK
The program will be deleted
13.2 Using the TP Program property page
Using the TP Program property page
The TP Program property page provides fields to edit TP Program properties. Roboguide
supports simulation programs which enable you to animate workcells (move objects in 3D
ChuiWorld), and standard robot programs which run directly on a robot.
Properties on the TP Program property page include:
• Name: the TP Program name. You can edit the name in the provided text box.
• Description: you add a text description for the program
• Sub Type: this is the basic application type loaded into PRO Software. There are 4
types that Roboguide uses:
Teaching a Program
275
Simulation: simulation programs are ones that Roboguide uses to animate workcells.
Use a simulation type if you want to attach objects to the end of arm and move them in
your workcell. When the type is Simulation you can specify what UFRAME and UTOOL
to use.
None: is the basic .TP program type that the controller uses. If you select none the
program will be created as a .TP program, which can include any instructions in your
teach pendant program.
Macro: A macro program created as a .MR program can contain any instruction and
function as a normal .TP program. However, only macro programs can be set up to be
executed in a variety of ways including from operator panel buttons, teach pendant keys,
and the Manual Functions menu. They can also be assigned a name in the macro table
and be called with this name in a macro program. Macro programs can also be called by
a program when the MACRO instruction is used.
Condition: A "ch" program has a Cond (Condition Handler) sub type. Refer to the
"Advanced Functions" chapter of the robot operations manual for more information on
the condition monitor function
NOTE: when you change a program type from simulation type to any other robot
controller based type you lose the ability to modify the UFRAME and UTOOL
used for the program. Roboguide does this because there is no way of ensuring
that the setting is correct. TP programs can use multiple UTOOL’s and
UFRAME’s. To use multiple UFRAME’s and UTOOL’s in a TP program you
program them from the TP editor on the virtual robot teach pendant.
• Utool Used: defines the UTOOL number used with this program. When teaching and
running a program, positions are referenced in this UTOOL. This is a direct reference to
the Tooling values specified in the Robot Controllers / Robot/ GP:1 (Robot Type)) /
Tooling category in the Cell Browser.
• Uframe used: defines the UFRAME number used with this program. When teaching
and running a program, positions are referenced in this UFRAME.
• Group mask: see the robot operations manual for more information on Group Mask.
When you create a program, you define the group mask that identifies the group of
axes, or motion group , that the program will control. Motion groups define different
groups of axes that can be used for independent pieces of equipment, positioning
tables, and other axes.
There are up five motion groups available. The controller can operate a maximum of 16
axes, however, only nine axes can belong to a single motion group.
Note: Multiple motion-groups must be set up before it can be used. Refer to the
FANUC Robotics SYSTEM R-J3iB Controller Software Installation Manual .
If a system has only one motion group, the default motion group is 1. An asterisk
indicates the group is not used. You can specify a program to use all five motion
groups, but only two motion groups can perform Cartesian interpolated motion within a
Teaching a Program
276
single program. If you disable all groups, you cannot add motion instructions to your
program.
You can enable available groups by enabling the check box for the group.
• Options:
Ignore pause: If the program type has been set to NONE, you can use ignore pause to
specify whether the program will continue to run even when an error occurs, a command
is issued (such as pushing EMERGENCY STOP or HOLD), or the teach pendant is
enabled. Ignore pause is allowed only in programs that do not have motion groups
specified such as an I/O monitoring program. This means that programs that use ignore
pause cannot contain any motion instructions.
Warning: If ignore pause is set to ON, the program MUST NOT issue any motion
instructions; otherwise, you could injure personnel or damage equipment.
When ignore pause is set to ON , the program continues to run even when an error
occurs, a command is issued, or the teach pendant is enabled. This allows the program
to continue any monitoring function, such as monitoring I/O.
When ignore pause is set to OFF , the program pauses when an error occurs, a
command is issued, or the teach pendant is enabled.
Write Protect: Write protection allows you to specify whether the program can be
modified.
When write protection is set to ON, you cannot add or modify any element in the
program. When you have finished creating a program and are satisfied with how it
works, you should set write protection to ON so that you or someone else does not
modify it.
When write protection is set to OFF, you can create the program and add or modify
any element in the program. By default, write protection is set to OFF.
This information can be displayed using the [ATTR] function key on the SELECT menu.
Caution: When write protection is set to ON, you cannot modify any program header
information (program name, sub type, program comment, group mask, ignore pause)
except write protection.
Refer to the FANUC Robotics SYSTEM R-J3iB Controller Software Installation Manual
for more information.
277
Teaching a Program
Using the TP Program Selected Motion Line Property page
An individual TP position can be modified.
• The Motion line can be modified
• The position data can be modified directly or by using position "bumpbox"
functionality.
Fields included on the Property page include:
• Motion Line Data frame: when the property page tab is initially opened the currently
selected motion line is shown.
o Line Increment arrows (): when pressed, increments the active TP line
forward (down) and backward (up).
o Line expand button(): when pressed, detailed information regarding the
selected TP line is shown. TP line information and position data can be
edited.
Pressing the expand button on the Config string allows the configuration of
the position to be edited.
• Bump Box frame: provides interface to move the selected TP position incrementally
relative to a selected frame of reference.
o Relative To: selections for the frame in which a position can be shifted.
 World: position will move relative to Robot world frame
 Utool: position will move relative to robots utool frame. This is
the frame that the position is displayed in a nodemap.
 Tracking schedule: if tracking is used in the system the position
can be moved relative to the programs selected tracking frame.
o Bump buttons: buttons for +/- X, Y, Z, RX, RY, RZ are provided. Pressing
a button moves the position relative to the selected frame by the step value.
o Step: move amount for translation and rotation.
Teaching a Program
278
Specify the TP Program UTOOL
Simulation programs allow you to specify what UTOOL to use for the program. Roboguide
inserts UFRAME and UTOOL setting TP statements into the animation program. When
using standard TP programs on the virtual robot you cannot modify the UTOOL and
UFRAME globally for the program on the Program property pages. You must use the
UTOOL and UFRAME program statements in the virtual TP editor to modify UFRAME’s
and UTOOL’s in a program.
To specify the UTOOL used with your simulation program
1. Open the desired programs property page.
2. Select the desired UTool from the drop down list field UTool used
To Specify the UTOOL used with your TP Program in the virtual TP Editor
1. Use the UFRAME_NUM =, and UTOOL_NUM = statements in your TP program
Specify the TP Program UFRAME
Simulation programs allow you to specify what UFRAME to use for the program Roboguide
inserts UFRAME and UTOOL setting TP statements into the animation program. When
using standard TP programs on the virtual robot you can not modify the UTOOL and
UFRAME globally for the program on the Program property pages. You must use the
UTOOL and UFRAME program statements in the virtual TP editor to modify UFRAME’s
and UTOOL’s in a program.
To specify the UFRAME used with your program for a Roboguide Simulation
program
1. Open the desired programs
property!JumpID(`SimPRO_Creating_Workcells.hlp',`Opening_an_objects_property_page')
2. Select the desired UFrame from the drop down list field UFrame used
To Specify the UFRAME used with your TP Program in the virtual TP Editor
1. Use the UFRAME_NUM =, and UTOOL_NUM = statements in your TP program
2. Ensure that the UFRAME being used while teaching is set to the same value as you
Teaching a Program
279
used when setting UFRAME_NUM = in your TP program. You can set this by pressing
Shift and Coord on the virtual TP.
Changing a simulation program to a TP Program on the virtual robot
You can convert a simulation program created with the Roboguide simple editor to a .TP
program. When you convert the program you loose the ability to set the UFRAME and
UTOOL globally for the program.
Simulation programs allow you to specify what UFRAME to use for the program Roboguide
inserts UFRAME and UTOOL setting TP statements into the animation program. When
using standard TP programs on the virtual robot you cannot modify the UTOOL and
UFRAME globally for the program on the Program property pages. You must use the
UTOOL and UFRAME program statements in the virtual TP editor to modify UFRAME’s
and UTOOL’s in a program.
To change a simulation program to a TP program on the virtual robot
1. Open the property page for the desired simulation program
2. Change the subtype for the program to a robot type of NONE (.TP), MACRO (.MR)
The program is converted from a simulation program and can now be selected from the
virtual TP. Once you have converted the program, you can no longer edit the program in
the simple editor.
Adding additional TP statements to a simulation program
The simple editor in Roboguide has a limited instruction set. To add additional statements
to a simulation program you must convert the program to a TP program on the virtual robot.
After conversion you use the virtual TP editor to edit the program.
Teaching a Program
280
13.3 Jogging the robot while teaching
Jogging the robot
In PRO Software, the robot acts like a real robot. If you try to jog to an unreachable position
it gives the same errors as a real robot. You can jog the robot with traditional Teach
Pendant buttons using the Virtual Teach Pendant. PRO Software also provides a teach/ jog
tool which allows you to "drag" the robot around the work envelope
There are multiple ways to jog the robot.
• Jogging using the teach tool
• Jog using the virtual teach pendant
Jogging using the teach tool
For translation
Along a teach tool coordinate axis:
1. Select the teach tool
2. Put the mouse cursor over the coordinate of the teach tool that you want to move
the robot. The cursor will change to a hand.
3. Click the left mouse button and drag the coordinate system triad.
4. Release the mouse button where you want the robot to move to.
5. The robot will move to the position if possible.
Along the CHUIWorld view plane
1. Select the teach tool
2. Put the mouse cursor over any coordinate of the teach tool. The cursor will change
to a hand .
3. Press and hold down the CTRL Key on the keyboard.
4. Click the left mouse button and drag the coordinate system triad.
5. Release the mouse button where you want the robot to move to.
Teaching a Program
281
6. The robot will move to the position if possible.
For rotation
1. Select the teach tool
2. Put the mouse cursor over the coordinate of the teach tool that you want the robot to
move about.. The cursor will change to a hand.
3. Press and hold down the shift key.
4. Click the left mouse button and drag mouse. The tool will rotate about the selected
axis.
5. Release the mouse button where you want the robot to move to.
6. The robot will move to the position if possible.
Show me an AVI
Notes:
If the robot cannot physically move to the selected position it will not. The sphere at the
center of the coordinate triad will turn to red.
The motion type used when the teach ball is dragged to move the robot can be set to linear
or joint motion. See About the teach pendant jog panel for more information.
Jogging using UFRAMEs
On the Virtual Teach Pendant or the pop up Coord system toolbar you can select what jog
coordinates with which to jog. If UFRAME is selected the robot will jog in the UFRAME that
the currently selected for the robot in the cell browser.
Jogging using the teach tool
For translation
Along a teach tool coordinate axis:
1. Select the teach tool
Teaching a Program
282
2. Put the mouse cursor over the coordinate of the teach tool that you want to move
the robot. The cursor will change to a hand.
3. Click the left mouse button and drag the coordinate system triad.
4. Release the mouse button where you want the robot to move to.
5. The robot will move to the position if possible.
Along the CHUIWorld view plane
1. Select the teach tool
2. Put the mouse cursor over any coordinate of the teach tool. The cursor will change
to a hand .
3. Press and hold down the CTRL Key on the keyboard.
4. Click the left mouse button and drag the coordinate system triad.
5. Release the mouse button where you want the robot to move to.
6. The robot will move to the position if possible.
For rotation
1. Select the teach tool
2. Put the mouse cursor over the coordinate of the teach tool that you want the robot to
move about.. The cursor will change to a hand.
3. Press and hold down the shift key.
4. Click the left mouse button and drag mouse. The tool will rotate about the selected
axis.
5. Release the mouse button where you want the robot to move to.
6. The robot will move to the position if possible.
Teaching a Program
283
Notes:
If the robot cannot physically move to the selected position it will not. The sphere at the
center of the coordinate triad will turn to red.
The motion type used when the teach ball is dragged to move the robot can be set to linear
or joint motion. See About the teach pendant jog panel for more information.
13.4 Using the Roboguide Simulation Editor
Using the Roboguide Simple Editor
Basic TP Program statements can be taught with the Roboguide TP Editor.
PRO Software’s TP Editor provides the capability to add motion statements and other key
program statements that are required in simulation.
Statements include:
• Motion statements
• Close/ Drop statements
• Wait statements
• Call statements
V6.40 Roboguide added the capability to create simulation programs for robots with
auxiliary axes and for multiple group configured robots. Extended axes will be recorded
automatically with simulation programs. Multiple groups are recorded like the actual robot
controller. The groups recorded are dependent on the group mask of a program.
What is the default motion statement
The default motion statement type is defined as the last motion statement type entered in a
program, unless you have not taught a new line in your current Roboguide session. In this
case, it is the motion instruction type defined as the first default motion type on the
Roboguide main menu Tools / Options / Teach page.
If no motion statements have been recorded in your Roboguide session, the default is the
first default motion instruction on the Tools / Options / Teach property page.
Teaching a Program
284
Changing TP editor record defaults
To change the TP Editor record defaults – for simulation editor
1. Open the main menu Tools / Options / Teach page
2. Edit the 4 Record Templates listed on the Tab
3. These defaults now show up on the Record Dropdown of the Program Teach page.
Recording points at the robots current position
To record a position at the robots current position
1. Jog the robot to the desired position to teach a position.
2. Press the Record Button on the Program Teach menu to record the default motion
line, OR,
Press the down arrow button to the right of the Record Button () and select from the list
of possible motion instructions.
Recording points on a surface
To record a position on the surface of an object in the workcell
1. Position the mouse cursor at the point on the object that you want to record a
position.
2. Use the move robot to surface shortcut keys to move the robot to the surface
position. An arrow appears that shows the normal vector on the object.
3. Press the left mouse button while holding the keys and the robot moves to the
position.
4. Press record in the editor.
Teaching a Program
285
Moving to a point on a surface
It is very easy to move to a point on a surface. Each End of Arm Tool can be setup to make
moving to a surface simple.
To move to a position that is normal on a surface
1. Position the mouse cursor at the point on the object that you want to move to.
2. Hold down Shift and Ctrl keys on your keyboard. An arrow appears that shows the
normal vector on the object.
3. Press the left mouse button while holding the keys and the robot moves to the
position.
To move to a position that is normal on an edge
1. Position the mouse cursor at the point on the object that you want to move to.
2. Hold down Shift and Alt keys on your keyboard. An arrow appears that shows the
normal vector on the object along the edge the mouse is currently over.
3. Press the left mouse button while holding the keys and the robot moves to the
position.
To move to a position that is normal on a vertex
1. Position the mouse cursor at the point on the object that you want to move to.
2. Hold down Shift, Alt, and Ctrl keys on your keyboard. An arrow appears that shows
the normal vector on the object at the closest vertex to which the mouse is over..
3. Press the left mouse button while holding the keys and the robot moves to the
position.
To move to a position that is the center of an arc or circle
1. Position the mouse cursor on the edge of the arc or circle on the object that you
want to move to the center of
2. Hold down Shift and Alt keys on your keyboard. An cross appears that shows the
center of the arc on the object that the mouse is over..
3. Press the left mouse button while holding the keys and the robot moves to the
Teaching a Program
286
position.
All of these move functions are available from the Move Quickbar menu
Roboguide provides a move to retry function that is applied when Roboguide is in MoveTo
retry mode. When the mode is enabled, Roboguide will re-calculate the position orientation
that it is attempting to move to and retry the move. A search is continued until either the
position can be moved to or no reachable position is found.
The move created has a position value, but it is not guaranteed that you can move to this
position because of orientation. If the move can not be made the Teach Tool sphere turns
red. Re-orient the end of arm tool, and try the move again.
Recording Pickup and Place points automatically
Roboguide provides a capability to automatically create pick and place locations based
upon how parts are defined in tooling and fixtures.. Key to this capability is accurately
defining the part location in the end of arm tooling and in the fixture that holds the part.
Roboguide auto-aligns the robot such that the position defining the part in gripper and
position defining the part in the fixture are aligned. Roboguide enables the position
statement that comes directly before a Pick or Drop instruction for this capability.
For this feature to work well you must define the part in tooling and define the part in the
fixture. .
This feature is only available in the Roboguide simple editor.
To record pickup and Drop points automatically
1. Record a motion line in the TP Program.
2. Insert a Pick or Drop instruction into the TP Program, and associate the instruction
with a fixture in the instruction drop down list box.
3. Select the motion line immediately preceding the Close or Drop Instruction (the one
created in step 1)
4. Select the Drop down list arrow next to the Touchup button on Program Teach menu
bar, and select Touchup to Pick/Drop Point from the list.
Roboguide automatically calculates the position value that aligns the part in the tooling with
the part in the fixture.
Teaching a Program
287
Automatic MoveTo of robot to part in a fixture
Roboguide provides the ability to quickly move the robot to pick and place locations in
fixtures. This capability requires that the part offsets have been defined for the desired
EOAT and the desired fixture.
This capability is very useful when teaching pick and place workcells. Once the offsets are
defined for EOAT’s and fixtures, you can program each fixtures positions very efficiently.
To MoveTo the robot to a fixture part from a fixtures property pages
1. Open the desired fixtures property page
2. Select the Parts tab
3. Select the desired part from the Parts frame. The enable check box next to the part
name must be enabled to make the part available with the fixture.
4. Select the robot EOAT from the Object selection combo box. All robots with EOATs
that have the part associated should show in the list.
5. Press MoveTo. The robot moves so that the part in the EOAT is exactly aligned with
the part in the fixture.
To MoveTo the robot to a fixture part from EOAT property pages
1. Open the desired EOAT property page
2. Select the Parts tab
3. Select the desired part from the Parts frame. The enable check box next to the part
name must be enabled to make the part available with the fixture.
4. Select the fixture that you want to move the robot to from the Object selection
combo box. All fixtures that have the part assigned should show in the list.
5. Press MoveTo. The robot moves so that the part in the EOAT is exactly aligned with
the part in the fixture.
Note: if the orientation for the part location in the fixture and the orientation for the part
location in the tooling is not correct the robot may not be able to move to the position.
Teaching a Program
288
Modifying TP Program Statement Elements
To modify TP Program Statement Elements
1. Select the desired TP Line by left clicking on the line in the Program Teach Window
2. Associated with each instruction field is a drop down box. Select the desired line
element by clicking on the drop down box. A list of choices is shown.
3. Select from the list
Changing TP editor record defaults
To change the TP Editor record defaults – for simulation editor
1. Open the main menu Tools / Options / Teach page
2. Edit the 4 Record Templates listed on the Tab
3. These defaults now show up on the Record Dropdown of the Program Teach page.
Touchup points
To touchup the position associated with an already created TP Program line
1. Select the desired TP Line by left clicking on the line in the Program Teach Window
2. Jog the robot to the desired location
3. Press Touchup from the Program Teach menu
4. The position associated with the TP Program line is recorded as the current position
of the robot.
Teaching a Program
289
Move to points
To move to a position recorded in a TP Program
1. Select the desired TP Line in the Program Teach editor by left clicking on the line.
2. Press MoveTo on the Program Teach menu
3. If possible, the robot moves to the position recorded with the TP Line.
Open and Close the tooling in the program
Roboguide uses the Drop and Pick instructions for simulation purposes. These instructions
tell Roboguide when to actuate the gripper and when to open the gripper. A Pick Instruction
is used to tell Roboguide to use the Actuated Gripper CAD, and to display the part in the
gripper. The Drop Instruction tells Roboguide to use the default CAD, and to show the part
in the associated fixture.
To Open / Close the tooling in your program
1. Select Drop / Pick from the Inst menu item in the Program Teach Window
2. Select the desired part from the drop down box included with the Drop / Pick
instruction inserted into the program
3. Select the desired fixture from the drop down box included with the Drop / Pick
instruction inserted into the program
4. Select the desired EOAT from the drop down box included with the Drop / Pick
instruction inserted into the program. The list provides the UTOOL selected in the
Program properties page.
5. A Drop / Pick instruction is in the program. Roboguide will use this instruction during
simulation.
Teaching a Program
290
Adding Wait statements
To add a Wait statement to your program
1. Select Wait (desired time) from the Inst menu item in the Program Teach Window
2. A Wait instruction is added to the program. If desired, edit the field within the Wait
instruction to change the time.
Deleting program lines
To delete a program line
1. Select the line to delete
2. Press the keyboard delete key
Stepping programs
To step a program
1. Left click on the desired start line in the Program Teach window.
2. Left click on the Forward () or Backward () on the Program Teach menu
The robot will single step from the selected line.
Teaching a Program
291
13.5 Multiple Node Edit
About multiple node edit
Multiple node edit provides functions to graphically edit multiple TP program positions.
The interface shows the TP program and selections to modify single and multiple line
position data of a program.
Using the Node Editing dialog
The node editing dialog is used modify location data of program positions. Positions can be
selected either in 3D CHUIworld or program display grid included in the dialog.
Fields included in the dialog include:
• Program grid: displays a listing of the selected program from which TP lines can be
selected.
• Show motion lines only checkbox: when checked the Program grid displays only
motion lines contained in the selected TP program.
• Select Multiple Points button: when selected, the mouse can be used to select
nodes. To create a selection box, hold the left button mouse at the start point and drag
the mouse to the end point of the box. TP nodes are highlighted as they are selected
inside the box.
• Position component boxes: boxes are shown for X, Y, Z, W, P, R. The value
shown in the box is the amount selected positions will be bumped when an arrow
button is pressed . Positions are bumped in the frame selected in the bump relative
combo box.
• Direct Entry: when selected, data entered into the position component boxes is
absolute (ie. The information represents the position component value).
• Bump Relative: when selected a position is moved relative to the current position in
the frame of reference selected in the bump relative combo box.
Teaching a Program
292
Node selection
Procedure to use the Program grid to select nodes
1. Left mouse click on a TP line in the Program grid to start the selection.
2. While holding the CTRL key, select additional TP lines by left mouse clicking on the
TP line in the Program grid.
While holding the SHIFT key, select another line in the Program grid. All lines between
the start selection and the finish selection are highlighted.
As TP Positions are selected, they are highlighted in CHUIWorld, and in the Program
grid.
Procedure to use CHUIWorld to select nodes
1. In the Node Editing dialog, press the Select Multiple Points button
2. To create a selection box, hold the left button mouse at the start point and drag the
mouse to the end point of the box. TP nodes are highlighted as they are selected inside
the box.
13.6 Viewing a TP Program
About viewing TP Programs
TP programs are viewed as node maps in CHUIWorld. Nodemaps have the following
characteristics:
• Positions are shown with triad’s.
• Node triad colors are defined by the UFRAME reference in which they are taught.
• Line tracking programs triads are colored based upon the tracking schedule they use.
• Coordinated motion nodes are drawn in the reference of the coordinated frame from
which they are taught.
Teaching a Program
293
• Remote TCP nodes are drawn in reference to the remote TPC frame in which they
are taught.
• TP positions are drawn with connecting lines between TP Program lines in the
program.
o The color of joint, linear, and circular are designated with unique colors
• The fields that display as part of the Nodemap can be controlled. See Changing
viewing options for TP Program Nodemap for more information.
Selecting a TP line and position
A TP line and its position are selected using one of multiple methods:
From The Virtual TP:
• The virtual Teach Pendant functions like a physical robot teach pendant. Select the
program for the Teach Pendant editor and use the arrow keys to chose the desired TP
line.
From CHUIWorld:
• Single left mouse click on the desired position: the TP line is selected in the Teach
Pendant editor and on the Program Selected Motion Line property page tab.
• Double left mouse clicking on a TP program node has different effects depending on
how the TP node multi mouse click option is set:
o Option to open the Virtual TP editor chosen: the Virtual Teach Pendant is
opened, and the selected line is displayed on the TP.
o Option to open the Virtual TP editor chosen not set: Open the program
Selected Motion Line property page: The program Selected Motion Line
property page tab is shown.
The Tools Options Teach property page has settings that control how the double mouse
click should act on the interface.
Teaching a Program
294
Changing viewing options for TP Program Nodemap
Viewing Nodemaps and the EOAT’s associated with positions in a program can be
controlled.
Different line information can be enabled and disabled for display as part of a nodemap.
The EOAT can be shown at all TP positions or at the selected TP position.
To set display options for Nodemap
1. From the main menu select View / Program Details
2. Left click on the option that you want to modify. If there is a check mark next to the
option, the viewing option is enabled.
To set the EOAT display option for program positions
3. From the main menu select View / Program Details
4. To view the EOAT at all positions select EOAT CAD at all positions.
To view the EOAT at the selected positions select EOAT CAD at selected position.
For PaintPRO, connector line colors can be modified. Additional menu options are
provided. To modify connector line colors see Paint TP line color setup property page tab
13.7 Validating a Program
Validating a Paint Job or Process program
There are several characteristics that can effect the execution of motion and process
statements for programs. Characteristics include:
• Distance between consecutive positions: as programmed speed increases the
minimum distance between positions increases if you want to reach and maintain
programmed speed.
• Gun On and Gun Off sequence: PaintTool requires that Gun ON process statements
have a Gun OFF process statement before the next Gun On process statements.
PaintPRO provides a paint Job and Process validation tool. The validation tool provides
diagnostic information for Jobs and Processes.
Teaching a Program
295
To run the validation tool on a job or process
1. Right mouse click on the job or process in the cell browser. Selection Validate from
the popup menu
After selection the selected job or process is analyzed. Process programs that are
defined in a Job are analyzed.
When complete a dialog is shown that has information about the program or programs
(job). A grid is shown with each line of the grid having detailed information for a
program line in the job or program. Detailed information includes:
o TP Program line
o Distance: this is the distance of the position for the program line from the
previous position.
o TCP Extreme: for GunON program lines the TCP Extremen value is
shown.
o Status: displays the status of the line. If the validator finds an issue the
issue is displayed in the Status line.
To re-validate the selected Job or Process when the dialog is open, press the Re-Validate
button.
Teaching a Program
296
13.8 Teaching using UFRAMEs
About Frames
A frame is a set of three planes at right angles to each other. The point where all three
planes intersect is the origin of the frame. This set of planes is called a Cartesian
coordinate system . In the robot system, the intersecting edges of the planes are the x, y,
and z axes of the frame.
Frames are used to describe the location and orientation of a position. The location is the
distance in the x, y, and z directions from the origin of the reference frame. The orientation
is the rotation about the x, y, and z axes of the reference frame. When you record a
position, its location and orientation are automatically recorded as x, y, z, w, p, and r
relative to the origin of the frame it uses as a reference.
The location of a position is expressed as three dimensions, which are measured in
millimeters from the origin in the x, y, and z directions. For example, 300,425,25 means the
position is 300mm in the x direction, 425mm in the y direction, and 25mm in the z direction
from the origin.
The orientation of a position is expressed as three dimensions, which are measured in
degrees of rotation about the x, y, and z axes. For example, 0,-90,0 means that the position
is rotated -90 degrees about the y axis and is not rotated about the x or z axes.
Kinds of Frames
The robot uses four kinds of frames. The different kinds of frames make it easier to perform
certain tasks. The kinds of frames are
• World frame - the default frame of the robot and generally at the base of the robot for
non aux axis systems.
• Tool frame - a user-defined frame. The tool frame is a Cartesian coordinate system
that has the position of the tool center point (TCP) at its origin. You must set the tool
frame to define the point on the applicator, gun, torch, or tool at which the painting,
welding, sealing, handling, or other application work is to be done.
• User frame - a user-defined frame. The user frame is the reference frame for all
recorded positional data in a program. You can modify the user frame to offset the
positions in the program easily. You can define this frame anywhere and it is relative to
the world frame of the robot.
• Jog frame - a user-defined frame. The jog frame is a frame in which to jog easily. It
allows you to align the x, y, z coordinate system about a fixture or workpiece that is
rotated with respect to the world frame of the robot
• Remote TCP (RTCP) Frame- The remote TCP (RTCP) frame is a kind of user frame
Teaching a Program
297
you must define in order to use remote TCP jogging and the remote TCP motion option.
You define this frame using the location of the remote TCP as the origin of the frame.
Teaching using UFRAMEs
UFRAME’s provide a very useful way to localize taught points relative to a frame of
reference in the workcell. With Roboguide you associate UFRAME’s with workcell objects.
This is done on UFRAME property page. For example, if you are picking a part from a
"pick" fixture, you may want to teach positions taught for this pick fixture with a UFRAME
that is associated with the "pick" fixture. If you want to move the fixture around the workcell
to relocate where the part is "picked" from, you simply move the fixture and points move
with it. If you do not associate the fixture with a UFRAME all points are taught relative to
robot world. If you move the fixture, the points do not move.
If a UFRAME is not assigned to a program, you can move the robot and points move with
the robot. If you assign a UFRAME to the program, you move the object with the defined
UFRAME and the points move. If the UFRAME is assigned, moving the robot, does not
move the points.
Roboguide allows you to change position references very easily. This can be done before
or after positions are taught.
Create a program using UFRAME
The general method to use UFRAME’s with PRO Software:
1. Assign a UFRAME to the object that you want to teach points relative to. This is
generally a fixture or an obstacle.
2. Assign the same UFRAME to the program that you create. All positions are taught
relative to the UFRAME. See Assigning a UFRAME to a program for a procedure.
When you record robot positions for this program, they are recorded relative to this
UFRAME, which is attached to the workcell object. If you move the workcell object you will
see the points move.
Teaching a Program
298
Changing taught positions from World (no UFRAME) reference to a UFRAME
reference
Roboguide programs, by default, use robot World coordinate system (UFRAME0) to record
positions. If no UFRAME is assigned to a program, positions are recorded relative to the
robot world coordinates.
The benefit of defining positions this way is the simplicity of definition. The drawback is that
if you want to move positions taught on an object (part, fixture, obstacle) you must adjust
the positions relative to the robot and not the desired object. Roboguide provides a
mechanism that makes it easy to change points taught relative to robot world to points
relative to a UFRAME.
The robot has multiple UFRAMEs. To change the taught positions, you can simply assign a
workcell object to one of the robots UFRAME’s. When the object is moved the points will
move with it.
To change points taught with respect to robot world to points taught relative to an
objects UFRAME:
1. Assign a UFRAME to the desired workcell object that you want points to be
recorded relative to.
2. Assign the same UFRAME defined for the desired workcell object to the program
that has the robot positions of interest.
The recorded positions in the program are now defined relative to the UFRAME
just assigned to both the workcell object and the program. When you move the
workcell object the points will move with it. It is possible to make the new
UFRAME assigned to be the same as the Robot World frame, by making the
UFRAME relative to robot be all zeroes.
Specify the TP Program UFRAME
Simulation programs allow you to specify what UFRAME to use for the program Roboguide
inserts UFRAME and UTOOL setting TP statements into the animation program. When
using standard TP programs on the virtual robot you can not modify the UTOOL and
UFRAME globally for the program on the Program property pages. You must use the
UTOOL and UFRAME program statements in the virtual TP editor to modify UFRAME’s
and UTOOL’s in a program.
To specify the UFRAME used with your program for a Roboguide Simulation
program
1. Open the desired programs
property!JumpID(`SimPRO_Creating_Workcells.hlp',`Opening_an_objects_property_page')
Teaching a Program
299
2. Select the desired UFrame from the drop down list field UFrame used
To Specify the UFRAME used with your TP Program in the virtual TP Editor
1. Use the UFRAME_NUM =, and UTOOL_NUM = statements in your TP program
2. Ensure that the UFRAME being used while teaching is set to the same value as you
used when setting UFRAME_NUM = in your TP program. You can set this by pressing
Shift and Coord on the virtual TP.
13.9 Using UTOOL's with Roboguide programs
About using end of arm tooling
End of arm tooling serves multiple purposes in Roboguide. It is used for teaching as well as
for simulation. Roboguide supports the ability to use multiple images for your end of arm
tooling so that animations can be accomplished. Through the setup of these images and
special programming instructions you can create animations of your robot process.
Like an actual robot, you have multiple end of arm tooling selections, and you can follow a
general process for defining end of arm tooling in Roboguide.
Roboguide supports definition of multiple Tooling. In the cell browser you can see that a
robot has multiple UT elements under the Tooling category for a robot. Each of these
elements can have associated tooling properties. To change the end of arm tooling on the
robot, left click on the desired tooling from the EOAT elements in the cell browser.
Roboguide automatically changes the end of arm tool on the robot.
By default, Roboguide uses UT:1 when creating a new program. On the property page for a
created program you can define what UTOOL the program should use. By defining multiple
tooling, you can change UTool definitions for your program to quickly check reachability of
different end of arm tooling.
To use UTOOL’s with your TP Program you first define Tool properties for each UTool and
assign a UTool used value in the Program property page.
The simulation manager that runs when you execute programs automatically changes the
EOAT cad displayed based upon the UTOOL number assigned to the executing position.
Teaching a Program
300
Checking reach with multiple tooling
It is very easy to change the end of arm tooling on the robot. There are multiple situations
where you would want to check reach.
• Check general reach within the workcell: by selecting multiple tool definitions and
jogging the robot in the workcell, you can quickly determine the robots reach for
different tooling. When left click on an EOAT in the Tooling category for a robot in the
cell browser the tooling definition is automatically loaded.
• Check different tooling settings for a program. Different tools can be checked for
a program cycle by first defining the tool configurations for each EOAT on the robot. On
the desired programs property page you define what Tool the program should use.
Change the tooling used on the program property page, and then move to program
lines or run the program.
Specify the TP Program UTOOL
Simulation programs allow you to specify what UTOOL to use for the program. Roboguide
inserts UFRAME and UTOOL setting TP statements into the animation program. When
using standard TP programs on the virtual robot you cannot modify the UTOOL and
UFRAME globally for the program on the Program property pages. You must use the
UTOOL and UFRAME program statements in the virtual TP editor to modify UFRAME’s
and UTOOL’s in a program.
To specify the UTOOL used with your simulation program
1. Open the desired programs property page.
2. Select the desired UTool from the drop down list field UTool used
To Specify the UTOOL used with your TP Program in the virtual TP Editor
1. Use the UFRAME_NUM =, and UTOOL_NUM = statements in your TP program
Teaching a Program
301
13.10 Coordinating multiple robot workcells
Control issues with multiple robot workcells
Multiple robot workcells require may require coordination between robots in the workcell. In
workcells where robots must work in the same workspace, communication between robots
is required in order for each robot to know when it can enter the workspace without
colliding with another robot. For example, a robot may place a part on a fixture, and a
different robot may pick the robot from the fixture to process the part through a system.
Coordination is required for the place robot not to enter the fixture until the pick robot is
clear, and the pick robot not to enter the fixture until the place robot is clear.
Roboguide multiple robot workcells can have IO interconnections defined between robots.
With shared IO between robots, IO signals can be utilized to handshake between robots. A
robot can wait for clear to enter signals from other robots.
Coordinating processes with IO between multiple robots
IO can be used to coordinate actions between 2 robots in a workcell. This topic presents 2
methods to coordinate robots and handshake signals between 2 robots. An example is
presented to illustrate the methods.
Roboguide example workcells
<install drive>\Program Files\FANUC\PRO\SimPRO\Sample
Workcells\HandlingPRO_multi_robot_handshake_example is a workcell that has the
concepts presented.
To use the workcell, you will have to open the workcell and load the programs in the
example workcell directory. To load the programs after the workcell has been opened, right
mouse click on the programs node for robot 1 and select Load TP programs. Browse to the
sample workcell directory and open the Robot_1_TP_Programs subdirectory. Select all the
programs and press open. Repeat for Robot 2.
The 2 methods utilized include:
• Signal handshaking utilizing the controller multitasking capability.
• Signal handshaking utilizing the controller multitasking and TP condition instructions
Either method can be used. The multitasking method may be straightforward, but requires
a separate controller task for each signal handshake. The TP condition method utilizes the
TP condition handlers, and requires a single extra task that can have multiple condition
handlers defined. This method may be more efficient overall.
Which method should be used? It really depends on how many signals must be
Teaching a Program
302
coordinated. If many signals must be coordinated, the TP Condition method may have less
overhead.
The example workcell has 2 robots. Robot 1 picks a part from a fixture and places the part
on a work fixture. Robot 2 picks the part from the work fixture and places the part on an
outgoing place fixture. Robot 1 cannot enter the work fixture if robot 2 is in the work zone.
Robot 2 can not pick from the work fixture if robot 1 is in the work fixture.
8 IO points are defined between robots. Robot 1 DO 1-8 are defined as Robot 2 DI 1-8.
Robot 2 DO 1-8 are defined as Robot 1 DI 1-8. For more information regarding setting up
IO interconnections between robots. See Working with IO Interconnections between robots
in the workcell.
Robot 1 must wait for a clear to enter signal (DI[1]) from robot 2 (DO[1]). When robot 1 gets
the signal robot 1 (DO[1]) must signal to robot 2 (DI[1]) that it is ok for robot 2 to drop the
clear to enter signal. It is very important to coordinate the handshake signal in both
directions or race conditions can be created. If robot 2 does not drop the clear to enter
signal, robot 1 could potentially enter the work fixture multiple times if robot 1’s cycle time
is lower. This method provides a good method to properly sequence a workcell.
When robot 1 is clear of the work fixture it signals (DO[2]) robot 2 (DI[2]) that it is OK to
enter. When robot 2 receives the signal robot 2 (DO[2]) signals robot 1 (DI[2]) that it is ok
for robot 1 to drop the clear to enter signal.
Signal handshaking utilizing the controller multitasking capability
This method spawns tasks to do synchronization. A task is created for each handshake
signal. This method works well when there are not a high number of signals to be
controlled.
Control on robot 1
The robot 1 Main program:
Robot 1: Main2
1: DO[1]=OFF ;
2: DO[2]=OFF ;
3: WAIT 2.00(sec) ;
4: RUN HNDSHAK1 ;
5: RUN HNDSHAK2 ;
6: LBL[1] ;
7:J P[1] 100% CNT100 ;
8:L P[2] 300mm/sec FINE ;
9: CALL PICK ;
10:L P[3] 1000mm/sec CNT100 ;
11: WAIT DI[1]=ON ;
12: DO[1]=ON ;
13:L P[4] 1000mm/sec CNT100 ;
14:L P[5] 300mm/sec FINE ;
15: CALL DROP ;
Teaching a Program
303
16:L P[6] 1000mm/sec CNT100 ;
17: DO[2]=ON ;
18: JMP LBL[1] ;
To coordinate the robot 2 to robot 1 clear to enter signal, the Main2 TP program does a
RUN HNDSHAK1.
On Robot 1, MAIN2 starts a task (RUN HNDSHAK1) to control the handshake signal that
tells robot 2 that robot 1 has received the clear to enter signal (HNDSHAK1.TP).
HNDSHAK1.TP waits for the robot 1 signal (DO[1]) and then waits for the response from
robot 2 (DI[1]) at which time robot 1 knows that robot 2 has received (and dropped) the
clear to enter signal. Robot 1 can then stop telling robot 2 that it has received and acted on
the signal by lowing DO[1].
To coordinate Robot 1 to robot 2 clear to enter signal, the Main2 TP program does a RUN
HNDSHAK2.
Robot 1 uses DO[2] to signal to robot 2 that it is ok for robot 2 to enter the work fixture and
pick the part. Robot 1 must wait for an acknowledgement that robot 2 has seen the signal
(DI[2]). Robot 1 can then lower the signal (DO[2]), and wait for acknowledgement that robot
2 has lowered the signal (DI[2]).
Control on robot 2
The robot 2 Main program:
Robot 2: Main2
1: DO[1]=ON ;
2: DO[2]=OFF ;
3: WAIT 2.00(sec) ;
4: RUN HNDSHAK1 ;
5: RUN HNDSHAK2 ;
6: LBL[1] ;
7:J P[1] 100% FINE ;
8: WAIT DI[2]=ON ;
9: DO[2]=ON ;
10:L P[2] 1000mm/sec CNT100 ;
11:L P[3] 300mm/sec FINE ;
12: CALL PICK ;
13:L P[4] 1000mm/sec CNT100 ;
14:L P[5] 1000mm/sec CNT100 ;
15: DO[1]=ON ;
16:L P[6] 300mm/sec FINE ;
Teaching a Program
304
17: CALL PLACE ;
18:L P[7] 1000mm/sec CNT100 ;
19: JMP LBL[1] ;
To coordinate robot 2 to robot 1 clear to enter signal, the Main2 TP program does a RUN
HNDSHAK1.
Robot 2 uses DO[1] to signal to robot 1 that it is ok for robot 1 to enter the work fixture and
place the part. Robot 2 must wait for an acknowledgement that robot 2 has seen the signal
(DI[1]). Robot 2 can then lower the signal (DO[1]), and wait for acknowledgement that robot
1 has lowered the signal (DI[1]).
To coordinate the robot 2 to robot 1 clear to enter signal, the Main2 TP program does a
RUN HNDSHAK2.
On Robot 2, MAIN2 starts a task (RUN HNDSHAK2) to control the handshake signal that
tells robot 1 that robot 2 has received the clear to enter signal (HNDSHAK2.TP).
HNDSHAK2.TP waits for the robot 2 signal (DO[2]) and then waits for the response from
robot 1 (DI[2]) at which time robot 2 knows that robot 1 has received (and dropped) the
clear to enter signal. Robot 2 can then stop telling robot 1 that it has received and acted on
the signal by lowing DO[2].
Signal handshaking utilizing the controller multitasking and TP condition
instructions
This method utilizes the controller condition handler capability (MONITOR instruction). A
condition (CH program) is created for each handshake signal. This method works well
when there are several signals to be controlled since it only requires one additional
background task.
Control on robot 1
The robot 1 Main program:
Robot 1: Main
1: DO[1]=OFF ;
2: DO[2]=OFF ;
3: WAIT 2.00(sec) ;
4: RUN HNDSHAKE ;
5: LBL[1] ;
6:J P[1] 100% CNT100 ;
7:L P[2] 300mm/sec FINE ;
8: CALL PICK ;
9:L P[3] 1000mm/sec CNT100 ;
10: WAIT DI[1]=ON ;
11: DO[1]=ON ;
12:L P[4] 1000mm/sec CNT100 ;
Teaching a Program
305
13:L P[5] 300mm/sec FINE ;
14: CALL DROP ;
15:L P[6] 1000mm/sec CNT100 ;
16: DO[2]=ON ;
17: JMP LBL[1] ;
Two condition handler programs (CHDROP.TP and CHR2PCK.TP) are defined to handle
handshakes. Each TP has a subtype of condition.
The RUN HNDSHAKE instruction starts and additional task the enables the condition
monitoring. This task now runs in the background and does not affect the motion of the
main running program. The Wait DI instruction at the end is used to keep the task from
terminating.
CHDROP.TP is used to define a monitor for the handshake of the robot 2 to robot 1 clear to
enter signal. When the signal is activated the condition is met and HSKDROP.TP is called.
HSKDROP.TP waits for acknowledgement from robot 2 (DI[1]) that robot 2 has received
the ok to lower the permission to enter the work fixture. Robot 1 can then lower the
handshake (DO[1]) and re-enable the monitor..
CH2PCK.TP is used to define a monitor for the handshake of the robot 1 to robot 2 clear to
enter signal. When the signal is activated the condition is met and HSKR2PCK.TP is called.
HSKR2PCK.TP waits for acknowledgement from robot 2 (DI[2]) that robot 2 has received
the ok to lower the permission handshake signal. Robot 1 can then lower the handshake
(DO[2]) and re-enable the monitor..
Control on robot 2
The robot 2 Main program:
Robot 2: Main
1: DO[1]=ON ;
2: DO[2]=OFF ;
3: WAIT 2.00(sec) ;
4: RUN HNDSHAKE ;
5: LBL[1] ;
6:J P[1] 100% FINE ;
7: WAIT DI[2]=ON ;
8: DO[2]=ON ;
9:L P[2] 1000mm/sec CNT100 ;
10:L P[3] 300mm/sec FINE ;
11: CALL PICK ;
12:L P[4] 1000mm/sec CNT100 ;
13:L P[5] 1000mm/sec CNT100 ;
14: DO[1]=ON ;
Teaching a Program
306
15:L P[6] 300mm/sec FINE ;
16: CALL PLACE ;
17:L P[7] 1000mm/sec CNT100 ;
18: JMP LBL[1] ;
Two condition handler programs (CHR1DROP.TP and CHPICK.TP) are defined to handle
handshakes. Each TP has a subtype of condition.
The RUN HNDSHAKE instruction starts and additional task the enables the condition
monitoring. This task now runs in the background and does not affect the motion of the
main running program. The Wait DI instruction at the end is used to keep the task from
terminating.
CHR1DROP.TP is used to define a monitor for the handshake of the robot 2 to robot 1
clear to enter signal. When the signal is activated the condition is met and HSKR1DRP.TP
is called.
HSKR1DRP.TP waits for acknowledgement from robot 1 (DI[1]) that robot 1 has received
the ok to lower the permission to enter the work fixture. Robot 2 can then lower the
handshake (DO[1]) and re-enable the monitor..
CHPICK.TP is used to define a monitor for the handshake of the robot 2 to robot 1 clear to
enter signal. When the signal is activated the condition is met and HSKPICK.TP is called.
HSKPICK.TP waits for acknowledgement from robot 1 (DI[2]) that robot 1 has received the
ok to lower the permission handshake signal. Robot 2 can then lower the handshake
(DO[2]) and re-enable the monitor..
Other methods:
Create a single robot cell controller that controls signals to all robots. A workcell could be
created that has a single controller that monitors all robot interactions and controls what
each robot will do.
Teaching a Program
307
13.11 Workcell level positions - Targets
About Targets
Targets are workcell level positions.
A target position provides a level of indirection for robot positions. .TP positions are directly
owned by a robot within the program that it is taught in. Targets can be assigned to a robot
at generation time, and can be used by multiple robots. It simply represents a position in
the workcell that can be used to move a robot to.
Targets provide great flexibility in sharing workcell positions between robots. If a desire is
to determine which of multiple robots should process certain positions in a workcell, targets
are a efficient way to try different scenarios of position distribution between robots.
A workcell has points of interest where the user will want a robot to move, have UFRAME
assigned, or potentially some other function. For workcells with multiple robots, it is not
always known which robot will process a defined point of interest.
Targets can be used for multiple functions:
• If it is not known the best way to process positions in a workcell, target functionality
provides a mechanism to create different programming scenarios to test in order to
realize a desired result.
For example, if a workcell with 2 robots has several positions of processing interest
(such as Spot Welding), it is not known the best distribution of positions to which robot
in order to achieve desired results (such as cycle time or sequencing).
Using targets, you can define groups of targets and then generate TP programs to
either robot and run the resulting programs to view results.
Targets have the following characteristics:
• Targets are workcell level positions.
• Targets can be attached to an object in the workcell. When the object moves the
target will move with it. A target can be attached on the targets property page or in the
Target Group Edit dialog.
• Targets can be assigned to a robot, and then a TP program can be generated for the
robot using the Target information. The generated program is taught relative to defined
robot frame and utool. Targets are assigned to a robot in the workcell using a Target
Group.
Teaching a Program
308
• Targets can be reused on different robots in the workcell. This allows for a common
position (such as pickup) to be reused for different robots.
• Programs cannot be generated from targets until they have been assigned to a
Target Group.
Target representation in the workcell / cell browser:
Targets are shown in the workcell under the object that the target is attached to. When a
target is initially created is attached relative to the workcell origin. If the attachment is
changed to a different object the target is shown under the object that the target defines as
is attachment.
When the object that a target is attached to moves, the target moves with the object.
Target Groups
Targets are created in a workcell and then assigned to a Target Group. Target groups have
the following characteristics:
• A Target Group is a collection of targets that are grouped together.
• Targets in a target group can be edited using the Target Group Editor.
Target Naming in a Target Group:
When a target is added to a target group, the name is shown as the same name as the
parent target. The parent target represents the individual target and its reference in the
workcell, and, specifically, not the representation in the target group. The same target can
be used multiple times in a Target Group. Changing the name of the parent target in the
workcell, changes the name in all Target Groups that have the target assigned.
Getting started with targets
Targets provide great flexibility in sharing workcell positions between robots. If a desire is
to determine which of multiple robots should process certain positions in a workcell, targets
are a efficient way to try different scenarios of position distribution between robots.
When using targets you should consider how targets will be utilized:
• Do you really want to use targets for the task? If positions of interest will always be
for a specific robot, it may be best to teach a TP program.
• Will targets be used by multiple robots? If yes, targets are very flexible since you can
generate positions for different robots easily.
• Will targets be attached to an object in the workcell? If you want the target to move
Teaching a Program
309
when an object moves, you will want to attach the target to the object.
• Will the targets be attached with a robot? If you want the target to move when a robot
is moved in the workcell, you will want to attach the target to the desired robot.
• Will groups of targets be used together? Targets that will be used together should be
generated into a Target group.
General steps in using targets:
1. Generate targets using the Target quickbar. Group targets logically together when
generating. Targets can always be added to or deleted from a group later.
2. Edit the target group by opening the Target Group edit dialog
3. Define the generation parameters for TP programs generated.
Consider if a UFRAME should be used. UFRAMEs provide good flexibility in moving
groups of TP positions. See About UFRAME's and workcell objects for more
information.
4. Define the order of the targets by pressing the Members button under the group
modify frame, or press Order to sort the targets for minimum distance.
5. Define the motion parameters and whether an approach and retreat position should
be generated.
6. Use the Orientation settings to obtain desired orientations for targets.
7. Generate the TP program and test run.
Using the Target Quickbar
The Target quickbar is displayed by pressing the Target quickbar toolbar icon (). There are
buttons/ modes for:
• Air Target: when depressed an air target is created with each left mouse click at the
mouse cursor. The target is added under the Targets category of the cell browser.
• Surface Target: when depressed a target is generated with each left mouse click at
the normal of the surface that mouse cursor is over. The target is added under the
Targets category of the cell browser.
Teaching a Program
310
To create a target at the center of an arc, the SHIFT and Alt key must be depressed to
show a crosshair at the center of the arc. When the left mouse button is clicked a target
is generated at the center of the arc.
• At robot TCP: when depressed a target is generated at the active / selected robots
TCP.
• To Group: when depressed, a new target is added to the Targets category and the
current cell browser selected Target group. If not Target group is selected a message is
posted.
Creating Targets
Targets are created using the Target Quickbar.
The Target quickbar is displayed by pressing the Target quickbar toolbar icon (). There
are buttons/ modes for:
• Air Target: when depressed an air target is created with each left mouse click at
the mouse cursor. The target is added under the Targets category of the cell
browser.
• Surface Target: when depressed a target is generated with each left mouse click
at the normal of the surface that mouse cursor is over. The target is added under
the Targets category of the cell browser.
To create a target at the center of an arc, the SHIFT and Alt key must be
depressed to show a crosshair at the center of the arc. When the left mouse button
is clicked a target is generated at the center of the arc.
• At robot TCP: when depressed a target is generated at the active / selected
robots TCP.
• To Group: when depressed, a new target is added to the Targets category and
the current cell browser selected Target group. If no Target group is selected a
message is posted.
To create a Target in the Air (not at the surface of an object):
1. Open the Target Quickbar by pressing the Target Toolbar Button()
2. Select Air Target button
Teaching a Program
311
3. When the left mouse button is pressed and released, a Target is generated at
the location of the mouse cursor. For more detail on the location of the generated
Air Target see the Additional background information on Target creation further on
in this topic.
To create a Target on a surface:
1. Open the Target Quickbar by pressing the Target Toolbar Button()
8. Select Surface Target button
9. When the left mouse button is pressed and released, a Target is generated at
the normal to the surface where the mouse cursor is located Roboguide displays
surface normal line at the surface where the mouse cursor is located. For more
detail on the location of the generated surface Target see the Additional
background information on Target creation further on in this topic
To add a surface or air target to a target group during creation:
1. Select the desired Target Group in the cell browser.
10. On the Target quickbar select ToGroup. When Targets are generated they will
be added to the selected Target Group.
Additional Background information on Target creation:
Creating Air Targets:
Roboguide generates Air Targets based upon the current field of view, and the current
location of the selected robot TCP or the selected Target. When creating a Target in space,
Roboguide applies constraints to define the depth of field of view. When the mouse is
clicked in a location, there are infinite positions that define the location where the mouse
was clicked. There are positions that are through the position of the mouse cursor that
extend the depth of the workcell. Roboguide uses an imaginary plane for the depth that is
parallel to the current field of view that bisects:
• The currently selected Target or,
• The selected robot TCP if a Target is not selected.
The following figures illustrate:
The light purple plane shown in the figure attempts to show the imaginary plane used to
define the target depth in the field of view. (note that the plane is not used in the actual
Teaching a Program
312
implementation. It is only presented to attempt to explain the target creation technique):
The following figure shows the creation of a target relative to a selected target.
The light purple plane shown in the figure attempts to show the imaginary plane used to
define the target depth in the field of view. (note that the plane is not used in the actual
implementation. It is only presented to attempt to explain the target creation technique):
Orientation of created Targets:
When a target is created it takes on the orientation of the
• The currently selected Target or,
• The selected robot TCP if a Target is not selected.
Creating Surface Targets:
When the Surface Targets button is depressed, Roboguide shows a normal vector as you
drag the mouse over objects. The normal will take on different characteristics as you drag
the mouse.
• Drag over a surface: as the mouse cursor is dragged over a surface a normal is
shown.
• Drag over an edge: the edge highlights and the normal is shown on the edge as you
move over the edge.
• Drag over a vertex: a vertex highlights as you move the mouse cursor close to a
vertex.
• Hold the Shift and Alt key and drag over an arc (hole): if the Shift and Alt Key are
depressed a cross will show at the center of an arc.
When the left mouse is clicked a target is created is created at the surface where the
mouse is clicked with the orientation set by the following definition:
• The normal shown at the mouse is aligned with the currently selected robot’s EOAT
surface to normal definition on the EOAT UTOOL tab.
• The other target coordinates are determined to be the minimum rotation from:
o The currently selected Target or,
o The selected robot TCP if a Target is not selected.
Teaching a Program
313
Import point data to targets
Targets can be created from .CSV format.
To import CSV data into targets:
1. Right mouse click in the cell browser on the object in the workcell that you want the
point data to be relative to. If you want the target to be workcell relative right mouse
click on the Targets category of the cell browser.
A popup menu is opened.
Select Create targets from point data in the menu.
An import dialog is displayed.
2. Select the Prefix for targets imported. All targets imported will get the prefix and a
number for a target name.
Select the file.
Select the reference that imported targets should be relative to.
If imported targets should be added to a Target Group enable the Create Target Group
selection.
3. Press OK on the dialog
Targets should be created from the CSV data.
The csv file from which target data is imported must:
1. use '.' as decimal symbols,
11. use ',' as field separators, and
12. have each record in each new line
This is a sample csv file of 3 targets with x, y and z values:
1. 1,100.1,200.1
13. 2,200.2,400.2
Teaching a Program
314
14. 3,300.3,500.6
This is a sample csv file of 3 targets with x, y, z, w, p and r values:
1. 1,100.1,200.1,0,90,180
15. 2,200.2,400.2,0,90,90
16. 3,300.3,500.6,-90,0,0
Creating Target Groups
Target groups are collections of Targets that are grouped to create robot programs.
Targets assigned to a Target Group can be edited using the Target Group Edit dialog. You
have control of members of the Target Group. Target groups are created using different
methods:
• Add a Target Group from the cell browser
• Add a Target Group from the Target Quickbar
From the cell browser:
1. Right mouse click on the Target Groups category and select Add Target Group. A
new Target group is added.
From the Target Quickbar:
1. Open the Target Quickbar by pressing the Target Quickbar toolbar button ().
17. Press the ToGroup button: if a Target Group is not currently selected in the cell
browser, a prompt is provide that allows you to automatically add a new Target group.
When a Target Group is created and is the actively selected object in the Cell Browser,
created targets are added to the selected Target Group.
Teaching a Program
315
Using the Target Property Page
The target property page has fields that define the properties of a target.
Fields include:
• Name: the name of the target.
• Visible: when enabled, the target is visible. When disabled, the target is not visible.
• Attached: defines the object in the workcell that is associated with the target. The
default associates the target with the workcell. If you associate the target with an object
the target will move when the object is moved.
Targets can be attached on a Targets property page or on the Target group edit dialog.
When a target has been attached to an object it is moved under the object in the cell
browser.
• Location: defines the X, Y, Z, W, P, R for the target. The numbers shown here are
relative to either the robot or the assigned object in the attached field.
• Show Reference: if workcell relative is selected the location data is shown relative to
the workcell zero. If the target is attached to an object in the workcell, the second option
in the show reference frame should show a selection for selected object relative. If
selected, the location values are displayed relative to the selected object.
• Move Robot: pressing MoveTo will move the robot to the target.
• Lock all Location values: hen checked, locks all of the location values for the
target.
Open the Target Group Edit Dialog
Open the Target Group Edit Dialog:
1. Right mouse click on the Target Group entry in the cell browser.
18. Select Edit Target group from the popup menu
The Target Group Edit Dialog is opened
Teaching a Program
316
Edit a target group
Targets in a target group can be modified using the Target Group Edit Dialog. The Target
Group Edit dialog has fields to edit single targets or multiple targets.
General information on Edit Target Group dialog:
• Open the dialog by right mouse clicking on the desired Target Group and select Edit
Target Group.
• Use the Target / Motion Grid to select desired targets. Individual lines or multiple
lines can be selected. Multiple lines are selected using the shift and ctrl keys.
• All fields are "hot". Making a change immediately changes data.
• Undo button works were appropriate.
General procedure to edit Targets:
Define the target generation parameters:
1. On the generation parameters tab define the generated TP program name, target
controller, group mask, uframe and utool that Roboguide should use when generating a
TP program from Target group data.
Edit the detailed Target motion line data
1. Select the desired target lines using the Target Group Frame
19. Modify locations and orientations to meet process requirements
20. Generate the program on the Generation Parameters tab.
The following describes each field on the Target Group Edit dialog
Fields on the Target Group Edit Dialog include:
Target Group Frame:
• Target / Motion Grid: displays each target member as a line in a grid. Information on
each line is organized in columns:
o Target: Name of the target
o Motion: the generated TP line information
317
Teaching a Program
o Option: the optional Motion information
o Approach: Yes/No: defines if approach point should be added
o Retreat: Yes/No: defines if retreat point should be added
The grid works as a target selector. Individual lines or multiple lines can be
selected. Multiple lines are selected using the shift and ctrl keys.
Changes made to fields on the dialog effect selected / highlighted target lines.
• Group Modify frame:
o Members: when pressed a dialog is presented where target members in
the group can be modified.
o Order: when pressed, the order of the targets is changed. The order is
sorted to minimize the distance of travel of the robot.
o Reverse: reverses the order of targets in the list.
o Reference combo box: a dropdown list is presented. Select the desired
object that member targets should be attached to.
Notes:
 Targets will show under the attached object in the cell browser.
 All targets in all target groups will receive this new attachment.
• Target Creation frame:
o Insert: when pressed a target is inserted before the currently selected
target. The location value of the new target is a copy of the target that was
highlighted when insert was pressed. The location value can be modified in
the motion line data detail.
o Delete: deletes the selected targets from the target group
Note: the target is not deleted from the workcell. It is only deleted from the
Target Group.
Teaching a Program
318
• Motion frame:
o Preview: when pressed the robot moves to each target in the group. The
robot is not actually moved to the position. Only the joint angles are checked
and shown for reachability. When complete the robot will return to the
position it was in before Preview was selected.
Generation Parameters Tab:
• Target Group Frame:
o Target Group Name: the name for the Target Group
o TP Program Name: the name of the generated TP Program
• TP Generation Targets Frame:
o Controller: lists the robot controllers in the workcell. Select the desired
controller for program generation.
o Group: target robot group that the program is generated for.
o Group Mask: for a multiple group systems, the output program groups
that will be included when positions are created.
o Uframe: the target UFRAME can be defined. If a program is generated
relative to a UFRAME all positions are generated relative to the selected
UFRAME. For more information on UFRAMEs click here.
If the output program should use a Remote TCP frame, the UFRAME that is
defined for the remote TCP should be selected
If Remote TCP is loaded as an option on the virtual robot, the RTCP option
checkbox shows. When selected, the program is generated with positions
located using the Remote TCP, and all motion statements along the
segment include the RTCP motion option. .
o Utool: the target UTOOL can be defined.
• Generate Feature TP Program: when this button is pressed the TP program is
generated for the Target Group.
319
Teaching a Program
Target Edit Tab:
Motion Line Data frame: fields in this frame are adjusted to control target position (location
and orientation), teach pendant motion line, and approach/ retreat motion enable disable
and location information.
When a field is changed in the frame all selected targets in the Target / Motion Grid are
acted upon.
Fields in this frame include:
• Target Motion Line Data: the motion line data defined for the target is displayed
similar to the following:
Pressing the button expands the interface so that motion and position information can
be modified.
When expanded
o use the motion edit combo boxes to modify the fields for the motion line
o Use the position and configuration fields to modify the information for the
position data. The configuration defined will be the configuration defined for
generated positions in the TP program.
There are two modes that the position edit operate:
 Direct Entry: location and orientation values are define the
location and orientation for selected targets
 Bump Relative: when enabled, the values for location and
orientation define how much a the position should be translated
or rotated when the respective arrow keys are pressed.
o Approach checkbox: when enabled, an approach position in enabled for
the target. When a program is generated from targets, an approach position
will be created with the displayed motion line information.
Pressing the button expands the interface so that motion and position
information can be modified. Position information entered defines an
approach position relative to the target for which the approach is being
generated.
o Retreat checkbox: when enabled, a retreat position in enabled for the
target. When a program is generated from targets, a retreat position will be
320
Teaching a Program
created with the displayed motion line information.
Pressing the button expands the interface so that motion and position
information can be modified. Position information entered defines a retreat
position relative to the target for which the retreat is being generated.
• Orientation Frame: functions in the orientation frame are used to modify the
orientation of target data. Orientations can be modified using Auto adjustment or
Manual Adjustment.
o Auto Adjust: applications require different alignment of positions relative
to other positions. .
Adjustments are done relative to the settings in the Axis Assignments
expand button. When the Axis Assignments button is pressed, the axis
assignments are expanded and displayed. Settings include:
 Normal to surface: defines which target axis to align with the
normal to the selected surface.
 Along the path: defines which target axis to align from one
target to the next / or along the robots path trajectory.
 Across the path: automatically set dependent upon Normal to
surface, and Along the path settings.
Several options are provided to modify the orientations of selected
targets:
 Change the tool spin orientation along the targets: option is
used to smooth orientations along a group of targets.
Before Adjust After Adjust
 Change tool spin orientation along the next target:
A targets vector is aligned to point at the next target.
Before Adjust After Adjust
 Blend orientation from first to last target: orientations are
blended from the beginning to the end of the selected targets in
the list.
321
Teaching a Program
 Set orientation to normal of closest surface: when selected
Roboguide searches to find the closest object to the target and
sets the target’s orientation to the normal of the surface found.
 Set the orientation same as Tx (where x is the first target
selected in the Target Grid: orientations of selected nodes will get
the same orientation as the first target in the selection
It is common that target locations and orientations are not reachable by
the selected robot. Roboguide can search for a reachable orientation
for selected targets.
 Auto Search for reachable: when the Search button is pressed,
Roboguide modifies each selected target to make it reachable.
Roboguide searches by rotating about the selected Normal to
surface setting the Axis Assignments expander.
If Move Robot while searching is enabled, the robot is moved
while the search takes place.
o Manual Adjust: used to align all selected targets to a manually selected
surface normal. When Start is pressed, and the mouse is dragged over
surfaces a normal line is shown at the mouse pointer. When the left mouse
button is pressed, all selected targets in the grid will have the Normal to
surface Axis Assignment vector aligned with the normal line.
Adding targets to a Target Group
After a Target Group has been generated, it may be desirable to add additional Targets to
the group. How you add targets to a Target Group depends on if the Targets are added to
a group after creation or during creation of the target.
Targets can be added to a target group at target generation time, or they can be added to a
Target group from the Target Group Edit Dialog by pressing the Members button.
To add Targets to a Target Group during Target creation: When a Target Group is the
actively selected object in the Cell Browser, created targets are added to the selected
Target Group
1. Ensure that the Target you want to add new targets to is selected in the cell browser
21. Open the Target Quickbar
22. Select the ToGroup button
Teaching a Program
322
23. As targets are generated they are added to the selected Target Group.
To add Targets to a Target Group after they have been created: Targets have been
created, and you want to add them to a Target Group.
1. Open the Target Edit Dialog for the desired Target Group. Right mouse click on the
Target Group and select Edit Target Group from the popup menu
24. Select the Members button. A dialog is displayed. Select the target or targets in the
left list. Press the arrow buttons in the center of the dialog to move targets between the
Available Targets list and the Used Targets list.
Generating a program from a Target Group
When a target group is defined, a TP program can be generated from the Target data in
the Target Group.
To generate a program from the Target Group Edit dialog
1. Open the Target Group Edit Dialog
25. Press Generate Feature TP Program button on the Generation Parameters tab
To generate a program from a target group using the the cell browser
1. Right mouse click on the desired target group and select Generate TP Program from
the popup menu.
Using the Target Group Property Page
The target group property page is similar to the CAD to Path feature general property page.
The difference is that the name and TP program name refer to a target group and not to a
feature and feature TP respectively.
Teaching a Program
323
13.12 Automatic Path Generation
About program generation
Robot programs can be generated from defined features in PRO software.
Features and parts
Features are owned by the parts they are created on. Since parts can be used in multiple
fixtures, a feature can be used to generate programs for a part in several locations. The
fixture to generate a TPP part program on is a setting in the CAD to Path feature property
pages.
Features and segments defined:
Features are 3 dimensional lines in PRO’s CHUIWorld. Robot programs can be generated
from PRO’s features automatically. A feature can be generated from:
• CAD Edges
• Freehand drawn lines: mouse clicking on CAD surfaces to create a node by node
line. Similar to a line creation tool in a drawing package.
A feature can be broken into segments. A segment can be broken into multiple segments.
The result is a feature that can contain many separate segments. When creating a program
from the feature, different creation properties can be given to each segment in the feature
to generate desirable robot process programs. For more information on CAD features click
here.
The following presents an example feature with 3 segments that was generated along a
CAD Edge. Each segment has its own path generation properties. The yellow segment is
the actively chosen segment.
A feature is organized in the cell browser, and is owned by the part category in the cell
browser. It is visualized as a tree with the feature being the root node.
The feature and its segments represent the 3D line that should be used to generate robot
programs.
Creating features
A feature is a "3D" line segment that can be generated in multiple ways in PRO Software.
1. From a CAD entity. Roboguide has tools to track the edges of CAD entities and
create a feature.
26. Drawing a line on the CAD. This works like most drawing packages where you click
and drag the mouse to create a line segment. As the line segment is drawn it is
mapped to the CAD surface on which you are creating the line. There are multiple line
drawing options:
Teaching a Program
324
Once a feature is defined you can break the feature into segments that make up the
feature. Each segment can then have a unique path taught for it. This allows multiple
process changes to easily be handled when creating programs from features.
As you define features, they are represented in the Cell Browser under the Part object that
created the feature with. The feature stays with the part, even if you use the part in multiple
locations in your workcell. When generating a program, you can select which instance of
the part should have the program generated.
The feature property pages provide settings to control the generation of TP programs.
Once parameters are defined, TPP programs are generated automatically when Apply is
pressed. For more detail on the types of features supported see What features are
available in PRO Software.
Programs generated from features and segments:
A feature and its segments have properties for the program generation for the entire
generated program. Each segment can set properties for the generation of the chosen
segment. Each segment has properties that can be defined for the loaded PRO process
plugin. This provides great flexibility in generating programs from a feature to meet desired
process needs.
Once a feature has been defined, the feature and its segments have property pages that
define how robot programs should be generated from the feature. Properties can be
adjusted and programs generated so that you can very quickly make changes to output
programs to obtain desired robot programs. For more information on what features can be
created see What features are available in SimPRO.
Setting up defaults for program generation to optimize desired results
When generating programs it is desirable to have the programs generated take into
account the configuration of the end of arm tooling. For example, if the tool center point on
the robot has a definition that has the TOOL Z vector defined into the tooling (as ARC
does), the paths being generated should take this into account. A TOOL Z vector defined
out of the tooling would require the Z vector of a created point to be opposite in direction in
order to attain desired results.
PRO allows you to setup the CAD to PATH generation properties on the Tooling property
pages. Fields include approach and retract distance and speeds, and tooling orientation
setup for program generation. For more information see Setting up a UTOOL for path
generation . The tooling defines defaults, but many factors can influence the generation of
the programs. The tooling defaults can be overridden on a features generation property
pages. These include part location and orientation relative to the robot.
Program generation methods:
When generating a program, PRO uses the normal to the surface that was used to create
the feature as its reference starting point for generation. Therefore, if a program is
generated with no modifications to the generation parameters, the resulting program
provides points with orientation normal to the surface that was used to generate the
feature.
Teaching a Program
325
PRO generates the number of positions based upon several factors including:
• The specified speed: PRO optimizes the spacing between created positions by
placing positions at a distance based upon the motion system capability at the specified
speed.
• Linearity between points: PRO minimizes the number of created positions by testing
for linearity between positions. The determination of linearity can be adjusted on the
feature to program generation property pages.
• Circularity between points: PRO determines if three created positions define an arc
that can be defined using circular motion. If PRO determines and arc exists it
automatically creates the circular motion program lines to provide the desired arc. The
determination of circularity can be adjusted on the feature to program generation
property pages.
• By default a feature has one segment when it is first created. Feature properties
effect segments that make up the feature. When a segment is first created it inherits the
properties of the feature. The first segment properties control the approach position and
the last segment controls the retract position. If there is only one segment for the
feature, the segment properties control the approach and retract positions. The
approach point is generated using the orientation of the first point of the first segment in
the feature. The retreat point is generated using the orientation of the last point of the
last segment in the feature. The feature owns the approach/retract distance and speed
properties.
• Roboguide minimizes the number of points that meet the criteria defined on the
property pages for linearity, circularity, and programmed speed. Roboguide uses these
settings and automatically eliminates points such that the resulting program is within
the parameters specified.
Controlling output program parameters being generated
When generating programs the output program name, robot group to generate with,
UFRAME and UTOOL to be used can be defined on a property page.
Controlling Program settings
General program speed and program flow must be defined for programs. A program should
include approach and retract distances with associated speeds and motion types. Motion
parameters for generated positions along a feature must be defined to meet the process
needs. Different robot processes require different process control capability, and the ability
to call programs while generating programs must be allowed so that additional editing of
generated programs can be minimized.
Roboguide provides fields to control these parameters on the Feature and Segment Prog
Settings property page.
Default control of positions being generated
There are several factors that effect how position location and orientation should be
Teaching a Program
326
generated.
• Tooling axis alignment to the feature and its segments: For example, it may be
desirable to have the tooling +Y vector follow along the feature.
• Orientation tracking along a feature and its segments. In some cases, it is desirable
to have a tool vector track the feature . This is required when precise alignment of the
tooling relative to the part is required (cutting). In some cases, the precise orientation of
the end of arm tool relative to the feature is not as critical (deburring) .
• Desired robot configuration: a robot can generally reach a position with different arm
configurations.
• Desired motion types: the types of motions being created is defined by the feature
that is used to generate programs. If a feature has many linear pieces it is desirable to
reduce the number of positions using linear motions. If arcs are present it is desirable to
have circular motion control.
The default position generation settings are defined on the Feature and Segment Pos
Defaults property page.
Fine control of positions being generated
Once a feature and its programs have been generated it may be necessary to offset
positions either by translation or rotation about the feature. Examples include, work angle
for arc welding or deburring angle for a removal application. There are multiple references
that may be desirable based upon the application and the parts being used:
• Relative to a reference surface: the position is offset relative to the surface that was
used to define the feature. Translations and rotations are relative the surface used to
generated the feature.f
• The normal relative to the normal itself: when this is chosen the position is offset
relative to the normal itself. Translations are relative to the surface used to generate the
feature and rotations are relative to the normal vector
When performing both translation and rotation on positions it is important to specify
whether the translation is done first or the rotation is done first. The results are different
based upon is chosen.
The Fine control generation settings are defined on the Feature and Segment Pos Offsets
property page.
327
Teaching a Program
Feature Definition
Features are 3 dimensional lines in PRO’s CHUIWorld. Robot programs can be
generated from PRO’s features automatically
13.12.1
Creating robot paths from CAD Features
What features are available in PRO Software
The following features are supported:
1. CAD Edges. Roboguide has tools to track the edge entities of CAD objects and to
create a feature from the edge entities.. For a procedure on how to create a feature
from a CAD Edge see Create a feature from a CAD edge topic.
2. Lines drawn on the CAD. This works like most drawing packages where you click
and drag the mouse to create a line segment. As the line segment is drawn it is
mapped to the CAD surface on which you are creating the line. There are multiple line
drawing options:
Straight line segments:
 Freehand Line: segments are connected with a straight line
 Surface Fit Line: segments are connected along the surface
they are generated on. If your endpoints are on a curved surface
the resulting line between the two endpoints follows the surface.
Line segments with curves:
 Segments are connected along the surface they are generated
on. If your endpoints are on a curved surface the resulting line
between the two endpoints follows the surface.
NOTE: when generating with a surface fit line across multiple CAD surface entites, PRO
connects the last selected mouse click point on a surface and connects it directly to the first
mouse click point on a the next surface. The reason for this is that there are infinite ways to
connect along the surfaces at the intersection between surfaces.
Teaching a Program
328
Setting up a UTOOL for path generation
Default program generation parameters are defined by end of arm tooling. The robot
supports multiple tool values and information. Program generation defaults can be defined
for every tool available on the robot.
Each tool that will be used in program generation should have its defaults set. The defaults
are used as initial values whenever a feature is created while that tool is active on the
robot. The defaults can be overridden on the feature generation property pages
Selecting a feature or a segment
Features are owned by the parts they are created on. Since parts can be used in multiple
fixtures, a feature can be used to generate programs for a part in several locations. The
fixture to generate a TPP part program on is a setting in the CAD to Path feature property
pages. A feature is found in the cell browser under the part that was used to generate the
feature
To select a feature:
Using the Cell Browser
1. Open the Cell Browser
2. Expand the Parts category in the tree view.
3. Select the part that has the desired feature.
4. Double left click on the feature or segment, or right click on the feature or segment
and select Properties from the popup menu.
Using the mouse in CHUIWorld
1. Double left click on the feature or segment in CHUIWorld.
The property page should open for the segment that was clicked on.
Teaching a Program
329
Using the Feature Property Pages
The feature property pages are used to define program properties that are used when
generating programs. Properties on the general tab are common to all segment programs
generated. Some properties can be overridden on individual segment property pages.
• The General property page tab are generalized settings that are used when
generating programs.
General program speed and program flow must be defined for programs. A program
should include approach and retract distances with associated speeds and motion
types. Motion parameters for generated positions along a feature must be defined to
meet the process needs. Different robot processes require different process control
capability, and the ability to call programs while generating programs is allowed so that
additional editing of generated programs can be minimized.
• Roboguide provides fields to control these parameters on the Feature and Segment
Prog Settings property page.
• The Pos Defaults tab provides settings to define how to generate the orientation
values for positions, and how to optimize the generated programs for linearity and
circularity.
• The Pos Offsets tab provides settings to modify translations and orientations relative
to feature defaults.
• The Approach/Retreat property page is used to define approach and retreat positions
for the feature.
• The coordinated motion property page tab is used to define generation parameters
for coordinated motion applications.
Using the feature general property page tab
The feature property page is used to define program properties that are used when
generating programs. Properties on the general tab are common to all segment programs
generated. Some properties can be overridden on individual segment property pages.
Fields include:
• Feature/ Segment Name: The name of the feature generated.
• Visible property: if enabled the feature is visible on the part.
• TP Program Name: the name of the generated TP Program. Roboguide assigns a
Teaching a Program
330
name based upon the part, and the fixture the part is on. The name may be changed.
TP Generation Targets
• Parts: the desired fixture that is holding the part. Since parts can be assigned to
multiple fixtures a desired fixture must be selected.
• Controller: lists the robot controllers in the workcell. Select the desired controller for
program generation.
• Group: target robot group that the program is generated for.
• Group Mask: for a multiple group systems, the output program groups that will be
included when positions are created.
• Uframe: the target UFRAME can be defined. If a program is generated relative to a
UFRAME all positions are generated relative to the selected UFRAME. For more
information on UFRAMEs click here.
If Remote TCP is loaded as an option on the virtual robot, the RTCP option checkbox
shows. When selected, the program is generated with positions located using the
Remote TCP, and all motion statements along the segment include the RTCP motion
option. For more information on generating programs at a Remote TCP see Remote
TCP Automatic Path Generation
• Utool: the target UTOOL can be defined.
• Coord motion: when coordinated motion is present on the controller, an option
checkbox is shown. When enabled, coordinated motion CAD to Path can be used on
the Coordinate motion tab.
• Reverse Generation: when checked the order of generation is reversed from that
defined by the generated CAD to Path feature. Note that the axis settings on the Pos
Defaults tab are not reversed.
• Generate Feature TP Program: when this button is pressed the TP program is
generated for the feature and its included segments.
If the output program should use a Remote TCP frame, the UFRAME that is defined for
the remote TCP should be selected.
331
Teaching a Program
Using the feature Prog Settings property page tab
The Program Settings tab is used to define:
• Feature and segment motion settings
• Feature and segment call programs
Fields include:
• Segment/ Feature Motion Settings
o Feature First Point MoType: defines the motion type for the first point
along the feature
o Feature first point speed: defines the motion speed for the first point
along the feature
o Feature first term type: defines the motion termination type for the first
point along the feature
o Segment program settings: are motion parameters that are used when
generating points along features and segments.
 Segment speed: speed for each move created for the
generated program
 Term Type: termination type for each move created for the
generated program. Values are Continuous xxx or Fine
termination.
o Feature last point term type: the termination type for the last motion of
the feature / segment.
• Feature CALL Program: a program can be called at the beginning and end of a
feature. This is useful for cell and process control capability.
o Beginning of Feature X: the entered program will be called at the
beginning of the program
o End of Feature X: the entered program will be called at the end of the
program.
Teaching a Program
332
• Segment CALL Program a program can be called at the beginning and end of a
segment. This is useful for cell and process control capability. When set at the feature
level all segments in the feature get the CALL defined. When set at the segment level,
only the selected segment gets the entered call.
o Beginning of Segment X: the entered program will be called at the
beginning of the program
o End of Segment X: the entered program will be called at the end of the
program.
Using the feature Pos Defaults Property page tab
When generating programs from features, there are many factors that influence the desired
resulting end of arm tooling motion as the robot moves through the program. Some factors
include:
• Desired orientation control through the program. Depending on the process it may be
desirable to maintain the orientation relative to the feature line in order to keep the
tooling constant relative to the feature. In other processes it may only be required to
maintain the TCP location along the feature line. Settings on this tab provide control
over the generation of the orientation relative to the feature.
• Tooling axis alignment to the feature and its segments: For example, it may be
desirable to have the tooling +Y vector follow along the feature.
• Orientation tracking along a feature and its segments. In some cases, it is desirable
to have a tool vector track the feature . This is required when precise alignment of the
tooling relative to the part is required (cutting). In some cases, the precise orientation of
the end of arm tool relative to the feature is not as critical (deburring) .
• Desired robot configuration: a robot can generally reach a position with different arm
configurations.
• Desired motion types: the types of motions being created is defined by the feature
that is used to generate programs. If a feature has many linear pieces it is desirable to
reduce the number of positions using linear motions. If arcs are present it is desirable to
have circular motion control.
The feature Position Defaults tab provides settings to control how the tooling will track the
feature, and whether the generation should find linearity and circularity through the feature.
Fields on the Pos Defaults tab include:
Teaching a Program
333
• Tool Frame Axis < = > Feature Axis Assignments: Defines how PRO will generate
the orientations along the feature. This definition can be defined as defaults for end of
arm tooling on the CAD to Path tab for the end of arm tooling. Settings here override
the defaults, but work the same as on the end of arm tooling CAD to Path tab. When a
feature is first generated the fields are set to the defaults as defined on the CAD to
PATH tab of the tooling.
o Normal to Surface: Manipulating this field controls the how the tool will
be aligned with the normal to the surface. It defines what tool axis should be
aligned with the normal to the surface when a program is generated. The
normal to the surface is the normal vector pointing in the direction toward
the surface that the mouse pointer is over.
Example: Case where tool Z is into the tooling. The Normal to surface
selection would be +Z because the +Z of the tool aligns with the normal to
the surface.
Example: Case where tool Z is out of the tooling. The Normal to surface
selection would be -Z because the -Z of the tool aligns with the normal to the
surface.
o Along the segment: defines what tool axis should be aligned with the
feature during program generation. For example, if +X is chosen, the +X tool
axis is aligned with the feature.
o Perpendicular to the segment: defines what tool axis is perpendicular to
the feature during generation. The value is set automatically based upon the
setting of the previous two fields.
o Fixed normal rotation for the entire path: generates the orientation for
the first position based upon the settings on the tab for Normal to surface,
and Along the segment. The orientation is maintained throughout the
generated program.
o Change the normal rotation along the path: generates the orientation
for each position in the program so that the tool vector defined on the tab for
Along the segment tracks along the feature.
• Feature Position Config: the field is defaulted to the current position of the robot.
Modify this setting to get the arm and wrist configuration as desired.
o Press on the icon () to expand the settings.
• Straight Line Detection: defines how PRO determines linearity between generated
Teaching a Program
334
points along the feature. Setting the value to Strict means that PRO must find close to
exact linearity between generated points to determine that they lie on a line. The
Straight Line Detection setting is defined as the threshold angle used by PRO to
determine if two line segments are to be considered a single straight line. The range for
the setting is 90 degrees to 180 degrees. The picture below shows how the angle is
used where the arrow tips represent positions.
o Consider robot speed: if checked, Roboguide generates positions a
minimum distance apart calculated by the Program speed and robot
acceleration and deceleration motion parameters. This generally results in
points not being to close together in order to meet the programmed speed. If
not checked, Roboguide creates positions based upon the feature
characteristics. This results in a higher number of points. If points are placed
close together, the robot may not reach programmed speeds.
• Circular Move Detection: defines how PRO determines arcs and circles between
generated points along a feature. Setting the value to Never means that PRO will never
generate circular motion while setting the value to As often as possible means that
PRO will convert all Arcs and circles to circular motion in the generated program. The
Circular Move Line Detection setting is defined as the threshold angle used by the
code to determine if an arc should be executed as a single circular move or many short
linear moves. The picture below shows how the angle is used where the dots represent
positions.
Using the feature Pos Offsets Property Page tab
The feature Pos Offsets tab has fields to control how program positions are generated. By
default when a feature is first generated, positions are created relative to the normal to the
part along the feature. Use settings on this tab to control position generation relative to the
feature.
Positions generation control is based:
• upon the normal relative to a reference surface: when this is chosen the position is
offset relative to the surface that was used to define the feature. When generating the
feature, the surface used to generate the feature is shown.
• upon the normal relative to the normal itself: when this is chosen the position is offset
relative to the normal itself. Translations are relative to the surface used to generate the
surface and rotations are relative to the normal vector.
• Upon the current orientation of the robot:
See About program generation for more detail on Controlling positions being generated
Teaching a Program
335
Offsets and translations can be made. The text associated with each field is dependent
upon which PRO plugin is active. Regardless of which plugin is used the effects are the
same depending on which position coordinate triad parameter is used (X for WeldPRO is
the same as X for SimPRO).
The Translate Normal to Surface (Z) for Roboguide has the same result as Bias Normal to
Surface (Z) as WeldPRO.
Fields include:
• Translation offsets: positions can be offset in two ways depending on process
requirements.
o Translations relative to default position: has the effect of shifting the
positions.
o Translation relative to the segment: has the effect of expanding or
contracting the positions. This is commonly used in applications like
routering where the end of arm tooling has an offset relative to the tool
center point.
The generated positions can be translated along the path, across the path, or
normal to the surface.
• Orientation offsets: positions can be rotated relative to the surface normals found
when creating the CAD feature. Choices include:
o Relative to reference surface: when this option is chosen, the generated
position is offset relative to the surface that was used to define the feature.
o Relative to normal: the generated positions are relative to the normal
that was used to create the feature.
o Use the robots current orientation: the generated positions use the
current orientation of the robot. This option is helpful when it is difficult to get
a generated orientation that the robot can reach. Jog the robot to an
orientation that is desirable and select this option. PRO makes it very easy
to move the robot tool center point to a point on a surface.
o (RX): defines a X rotation offset when generating a program.
o (RY): defines a Y rotation offset when generating a program.
Teaching a Program
336
o (RZ): defines a Z rotation offset when generating a program.
NOTE: for process plugins the PRO Plugin determines what process modification
is done based upon how the Tool Frame Axis < = > Feature Axis Assignments is
defined on the Pos Defaults property page. For example, if the Pos Defaults page
defines X along the feature, it also defines the Work Angle to be relative to this
axis.
• When Applying the Offset: when applying rotations and translation the order is
important. Translate X, and Rotate Z have different results than Rotate Z and Translate
X.
o Translate first, then rotate: Translation settings are applied first, and
then the positions are rotated.
o Rotate first, then translate: Rotations are applied first and then
translations.
Using the feature Approach/Retreat Property page tab
The approach / retreat tab is used to modify approach and retreat positions for features.
Roboguide automatically inserts approach positions based upon the settings on this
property page tab. Fields include:
Approach Point frame:
• Add approach point: when enabled the automatic path generation software inserts
an approach point.
• Motype: the desired motion TO the approach point.
• Speed: the speed for the move to the approach point
• Term Type: the termination type for the move to the approach point
• Offset from fist point values: define the offsets applied from the first point of the
feature. The values are feature relative distances.
Retreat Point frame:
Teaching a Program
337
• Add retreat point: when enabled the automatic path generation software inserts a
retreat point.
• Motype: the desired motion to TO the retreat point.
• Speed: the speed for the move to the approach point
• Term Type: the termination type for the move to the approach point
• Offset from last point values: define the offsets applied from the last point of the
feature. The values are feature relative distances.
Using the feature Raw Normals Property page tab
The raw normals property page tab provides fields to modify the orientation of the raw
normals of a feature. The raw normals are the normals to the surface where a feature is
generated. CAD to Path generation uses the Raw Normal vectors defined in the feature to
generate programs. Raw normals can be modified at the beginning and end of a segment.
Roboguide will blend from start to end using the method defined by selections on the
property page.
Raw normals can be shown or hidden. The following figure shows a feature with Raw
Normals displayed.
The yellow raw normals are normal to the top surface which was used to generate the
feature.
Using the Raw Normals property page tab fields you can modify the raw normals.
The following figure shows the raw normals with the orientation offsets applied at 45
degrees.
The raw normals capability may appear to work as the Orientation Offsets on the Pos
offsets tab of a feature. There are key differences:
• Pos Offsets Orientation Offsets are applied at program generation time.
• Pos Offsets Orientation offset values are offsets from the raw normals. If an
orientation offset is present in the Pos Offsets tab and on the raw normals tab the offset
will be the addition of the two offsets.
• Raw normal offsets are blended between start and end normal offsets. Orientation
offsets on the Pos Offsets tab have no blending and are simply applied to each
generated position.
Teaching a Program
338
The following figure shows the resulting program when an Orientation offset of 45
degrees is applied on the Pos Offsets tab. Note that the orientation change is constant
at each generated position.
The following figure shows the resulting program when a Start normal offset and end
normal offset value of 45 degrees is applied (Pos Offsets orientation offset are set to 0).
Note how positions are blended from start to end.
Fields include:
Orientation offsets:
• Override and Blend raw normals: when enabled, raw normal triads are shown at the
beginning and ending of the feature or selected feature segment. These normals show
the orientation of the raw normal at that point. Normals are blended between the start
raw normal and the end raw normal.
To define the rotation along and across the segment, the raw normal triads at the
beginning and end of the feature or selected segment can be dragged to the desired
offset. Place the cursor over the normal triad, the cursor changes to a hand. When you
hold the left mouse button and drag the orientation will be modified. When released, the
raw normals are blended from start to end.
• Start Normal Offset:
o Rotate: Normal to the Surface: Changes the rotation of the start feature or
selected segment raw normal triad about the approach vector (spin).
Changes to the Normal to the surface rotation must be done by editing the
value into the property page field. Using the Raw Normals normal to surface
rotation provides control of the orientation at the beginning and end of a
feature or segment.
The results of setting this vary depending on how the Pos Defaults Tab:
orientation settings are defined.
An example is provided to describe results of settings:
Simple Part with simple feature: a box is used to illustrate.
Setting 1: Program generated with settings: Pos Defaults: Fixed tool spin for
the entire path, Pos Offsets: no offsets, Raw Normal: no offsets
Setting 2: Program generated with settings: Pos Defaults: Fixed tool spin for
the entire path, Pos Offsets: 45 degree normal to surface, Raw Normal: no
offsets
Teaching a Program
339
Setting 3: Program generated with settings: Pos Defaults: Fixed tool spin for
the entire path, Pos Offsets: no offsets, Raw Normal: 45 degree Start
Normal to surface office and 135 degree End Normal to surface offset.
NOTE:
There is no difference in the outputs between setting 2 and 3. This is
because the orientation control is set to use a fixed tool spin orientation for
the entire path
Setting 4: Program generated with settings: Pos Defaults: Change tool spin
orientation along the entire path, Pos Offsets: no offsets, Raw Normal: 45
degree Start Normal to surface office and 135 degree End Normal to surface
offset
NOTE:
Since Change tool spin orientation along the entire path is chosen on the
Pos defaults tab, the orientations are blended from the Start Normal surface
setting of 45 to the End Normal to surface offset of 135 degrees.
o Rotate: Along the segment. Changes the rotation of the start feature or
selected segment raw normal triad about the feature line.
o Rotate: Across the segment: Changes the rotation of the start feature or
selected segment raw normal triad about the normal across the feature line
at the start of the feature.
• End Normal Offset:
o Rotate: Normal to the Surface: Changes the rotation of the end feature or
selected segment raw normal triad about the approach vector (spin). The
results of setting this vary depending on how the Pos Defaults Tab:
orientation settings are defined.
o Rotate: Along the segment. Changes the rotation of the end feature or
selected segment raw normal triad about the feature line.
o Rotate: Across the segment: Changes the rotation of the end feature or
selected segment raw normal triad about the normal across the feature line
at the start of the feature.
• Blend with respect to each intermediate normal: each intermediate normal between
Teaching a Program
340
the start and end normal are blended.
• Blend with respect to only the start and end point normals. Each intermediate normal
is ignored. Blending is applied from start to end of the feature or selected segment.
Hiding and Showing feature Raw Normals
Raw normals are the normals to the surface where a feature is generated using CAD to
Path. The normal lines can be turned on and off.
Raw normals ON:
Raw Normals OFF:
Raw normals can be turned on and off on the options dialog.
To change the view of Raw normals
1. Open the Options dialog under the main menu Tools / Options selection
3. Go to the CAD to Path tab
4. Enable field Show raw normals in all features to view raw normals. Disable to hide
raw normals.
Using the feature Chamfer Motion Tab
The motion tab is used with the ChamferPRO software.
The tab contains fields to define the corner round parameters for converting intersecting
corners to circular moves.
When the automatic path generation generates a program, intersecting lines are checked.
If the Insert circle motion to corner that two linear lines cross is enabled the corner will be
converted to a circular move. The Round corner radius field is used as the circular move
radius value.
You may press the Confirm tool rotation button to validate the initial rotation of the tooling.
Teaching a Program
341
Using the Segment Property Pages
The segment property pages are used to define segment properties that are used when
generating programs. By controlling motion and process properties on the segment
property pages, features can be controlled at a very detailed level. In general, segment
property pages provide the same control as the feature property pages, but settings take
effect at the segment level.
The Segment process tab is specific to which process plugin is active. Process parameters
can be modified to control the PRO process application plugin.
• Arc Welding Tab
Property pages common with the feature property pages include:
• The General property page tab are generalized settings that are used when
generating programs, and the same as presented at the feature level with the exception
of the addition of the Reset Segment values to feature defaults button. This button
provides ability to reset the segment settings to the same as at the feature level. See
Using the feature general property page tab for more information.
• The Program Settings tab provides control of motion parameters at the segment
level, and fields are the same as presented at the feature level. See Using the feature
Prog Settings property page tab
• The Pos Defaults tab fields are the same as presented at the feature level, but
provide the control at the segment level. See Using the feature Pos Defaults Property
page tab for more information. Changes only take place for the selected segment.
• The Pos Offsets tab fields are the same as presented at the feature level, but provide
the control at the segment level. See Using the feature Pos Offsets Property Page tab
for more information. Changes only take place for the selected segment.
Create a feature from a CAD edge
Features can be generated from CAD edges. When using the feature creation tools, unique
characteristic of the CAD entities can be utilized to create 3D line features. Programs can
be generated automatically from these features.
Procedure for creating a feature from a CAD edge
1. Open the Draw selection popup menu by pressing the Draw Features on Parts
toolbar icon () or select Draw Features Parts under the Teach main menu item.
Teaching a Program
342
2. Select the part to find and create a feature on.
The Draw selection popup will highlight the Surface entities buttons that can be used to
generate 3D features.
3. Select Edge line from the Draw selection popup.
After the Edge line entity button is selected, and the mouse is dragged over the part,
edges will become highlighted under the mouse pointer. A white line designating the
normal to the surface is shown. Press the left mouse button once to start the feature.
Single button click the left mouse button along the edge to build the feature line. When
the end of the edge / feature line is reached, double click the left mouse button. A
feature is created and the property page for the feature is opened. The feature is found
in the cell browser under the part on which the feature was found. The following AVI
shows the procedure.
4. After the edge has been found, a feature object is shown on the part (the feature
line), and a program can be generated. The property page should now be showing for
the new feature.
A feature has been created and shows in the cell browser. A program can be generated
from the feature.
Create a feature with the line tool
Features can be generated by drawing lines on CAD surfaces. When using the feature
creation tools unique characteristic of the CAD entities can be utilized to create 3D line
features. Programs can be generated automatically from these features.
Procedure for creating a feature by drawing lines on CAD
1. Open the Draw selection popup menu by pressing the Draw Features on Parts
toolbar icon () or select Draw Features Parts under the Teach main menu item.
2. Select the part to find and create a feature on.
The Draw selection popup will highlight the Surface entities buttons that can be used to
generate 3D features.
3. Select the desired line tool from the Draw selection popup. See What features are
available in SimPRO for more information on line types.
4. Drag the mouse over the part. The surface the mouse cursor is over changes color,
and the normal to the surface at the mouse cursor is shown. Single click the left mouse
button to start drawing the line. Drag the mouse, and click where there should be a
vertex. Finish the line by double clicking.
Teaching a Program
343
Note: when using the surface fit line and curve tools, if it is desired to have the feature
follow the contour of the part across a surface boundary you must click close to the
boundary when you cross a boundary. The is required because it is not possible to
know how to cross the boundary surfaces since there are infinite solutions.
5. After the line has been created, a feature object is shown on the part (the feature
line), and a program can be generated. The property page should now be showing for
the new feature.
A feature has been created and shows in the cell browser. A program can be generated
from the feature.
Breaking a feature into segments
A feature that has been defined initially has one segment. This feature can be broken
into multiple segments. Each segment has its own property page. By breaking a
feature into multiple segments, the motion and process can be modified to meet the
needs of the process.
By default a feature has one segment when it is first created. Feature properties effect
segments that make up the feature. When a segment is first created it inherits the
properties of the feature. The first segment properties control the approach position
and the last segment controls the retract position. If there is only one segment for the
feature, the segment properties control the approach and retract positions. The
approach point is generated using the orientation of the first point of the first segment
in the feature. The retreat point is generated using the orientation of the last point of
the last segment in the feature. The feature owns the approach/retract distance and
speed properties.
To break a feature into segments.
1. Open the Draw selection popup menu by pressing the Draw Features on Parts
toolbar icon () or select Draw Features Parts under the Teach main menu item.
2. Select the segment from the cell browser or by clicking on it in CHUIWorld. The Split
Segment button should enable
3. Press the Split Segment button on the Draw Features on Parts toolbar or right click
on the segment in the cell browser and select Split Segment from the popup menu. The
segment should break with the new segment being selected in the cell browser and
highlighted in CHUIWorld.
The selected segment is highlighted and the endpoints can be dragged along the
feature to adjust segment length.
Teaching a Program
344
Segment properties can now be set for this segment in the segment property pages.
The feature shows the new segment in the cell browser. A program can be generated from
the feature.
Creating a robot program from a feature
Features and the segments that define the feature can be used to generate robot
programs. Roboguide takes the feature properties and the segment properties to generate
programs.
For more information regarding the methods used in PRO to generate features and
programs see About program generation topic.
To create a robot program from a feature
1. Ensure that the UTOOL is setup for CAD to PATH.
2. Select the feature, and ensure that its property page is open.
3. Set the general parameters for program generation on the feature general property
page.
4. Set the position generation parameters on the feature property pages..
5. Press Generate Feature TP Program on the General Tab or right click on the
feature/ segment in the cell browser and select Generate TP Program from the popup
menu.
A TP Program is generated from the feature. When PRO is done computing the
program, the nodemap for the program is shown. Reachable points are shown in the
UFRAME color chosen, and unreachable positions are shown in red.
It is common to have positions generated that are unreachable. See Working with the
segment to program generator to create runable programs topic for tips on resolving
unreachable positions.
Modify position orientation or location while generating programs
Orientation can be modified while generating program positions.
See Controlling positions being generated in the About Program Generation topic for more
information on position generation control.
Modification can be made at the feature or segment level.
To change orientation while generating programs
Teaching a Program
345
1. Select the feature or segment and ensure that its property page is open.
2. Select the Pos Offsets TabUsing_the_feature_Pos_Offsets_Property_Page_tab
3. Set the fields as desired
4. Press Ok or Apply to regenerate the program.
To generate a program so that a tool vector tracks the feature line
When generating programs from features, there are many factors that influence the
desired resulting end of arm tooling motion as the robot moves through the program.
Some factors include:
• Desired orientation control through the program. Depending on the process it
may be desirable to maintain the orientation relative to the feature line in order to
keep the tooling constant relative to the feature. In other processes it may only be
required to maintain the TCP location along the feature line. Settings on this tab
provide control over the generation of the orientation relative to the feature.
• Tooling axis alignment to the feature and its segments: For example, it may be
desirable to have the tooling +Y vector follow along the feature.
• Orientation tracking along a feature and its segments. In some cases, it is
desirable to have a tool vector track the feature . This is required when precise
alignment of the tooling relative to the part is required (cutting). In some cases, the
precise orientation of the end of arm tool relative to the feature is not as critical
(deburring) .
To generate a program so that a tool vector tracks the feature line
1. Select the feature or segment and ensure that its property page is open.
2. Select the Pos Defaults tabUsing_the_feature_Pos_Defaults_Property_page_tab.
3. Select the Change the normal rotation along the path radio button on the property
page. This defines that the Along the Segment selection in the Tool Frame Axis to be
aligned with the feature / segment 3D line.
4. Press Ok or Apply to regenerate the program
Teaching a Program
346
When the program is generated the tool orientation is set such that the Along the Segment
selection in the Tool Frame Axis to be aligned with the feature / segment 3D line.
Controlling line tolerance during program generation
Roboguide minimizes the number of points that meet the criteria defined on the property
pages for linearity, circularity, and programmed speed. Roboguide uses these settings and
automatically eliminates points such that the resulting program is within the parameters
specified. The Pos Defaults property page provides tolerance settings for linearity. The
Straight Line Detecting adjustment defines how PRO determines linearity between
generated points along the feature. Setting the value to Strict means that PRO must find
close to exact linearity between generated points to determine that they lie on a line.
The Straight Line Detection setting is defined as the threshold angle used by PRO to
determine if two line segments are to be considered a single straight line. The range for the
setting is 90 degrees to 180 degrees. The picture below shows how the angle is used
where the arrow tips represent positions.
To control line tolerance during program generation
1. Select the feature or segment and ensure that its property page is open.
2. Select the Pos Defaults tabUsing_the_feature_Pos_Defaults_Property_page_tab.
3. In the Straight Line Detection Frame set the desired number of degrees that
determine a straight line.
4. Press Ok or Apply to regenerate the program
When the program is generated the optimization algorithms use this value to determine
whether adjacent positions lie on a straight line.
Controlling circle tolerance during program generation
Roboguide minimizes the number of points that meet the criteria defined on the property
pages for linearity, circularity, and programmed speed. Roboguide uses these settings and
automatically eliminates points such that the resulting program is within the parameters
specified. The Pos Defaults property page provides tolerance settings for circularity.
The Circular Move Detection field defines how PRO determines arcs and circles between
generated points along a feature. Setting the value to Never means that PRO will never
generate circular motion while setting the value to As often as possible means that PRO
will convert all Arcs and circles to circular motion in the generated program. The Circular
Teaching a Program
347
Move Line Detection setting is defined as the threshold angle used by the code to
determine if an arc should be executed as a single circular move or many short linear
moves. The picture below shows how the angle is used where the dots represent positions.
To control circular tolerance during program generation
1. Select the feature or segment and ensure that its property page is open.
2. Select the Pos Defaults tabUsing_the_feature_Pos_Defaults_Property_page_tab.
3. In the Circular Move Line Detection Frame set the desired number of degrees that
determine an arc.
4. Press Ok or Apply to regenerate the program
When the program is generated the optimization algorithms use this value to determine
whether adjacent positions lie in an arc.
Resetting all segments to feature defaults
Segments that define a feature can have properties defined uniquely. It may be desirable to
reset all or individual segment program generation properties back to default values.
To reset all segment properties to feature defaults
1. Select any feature that need segments to be reset to defaults.
2. Right mouse click on the item.
3. Select Reset to Defaults
All properties in every segment are reset to defaults.
To reset a single segment to feature defaults
1. Select a segment that needs to be reset to feature defaults.
2. Right mouse click on the segment in the workcell browser
3. Select reset to defaults.
All properties in the segment are reset to feature defaults.
Teaching a Program
348
Working with the path generation to create runable programs
Automatic path generation does not necessarily create robot programs with reachable
positions. Robot positions are generated mathematically from 3D lines in space. Roboguide
generates the positions correctly, and then checks the generated positions for reachability.
Unreachable positions are colored in red.
Effective use of the automatic generation is enabled by:
• Active use of the function to understand the parameters that can effect position
reachability. Basically, learn by doing or learn from trial and error. After a few hours of
learning, one can quickly take a new feature and create reachable robot positions.
• Understanding of how the robot works and how orientations can be manipulated.
• Understanding how to process the task. How end of arm tooling is orientated relative
to the work piece is critical in achieving effective results.
Some tips:
• Setup the End of Arm Tooling CAD defaults appropriately. Understand the tool frame
axes and which axis is generally used for direction of travel along a feature.
• Create the feature as desired.
• Auto generate the program, and see what the results give.
• If points are reachable:
o run or step the program to see if the wrist and tool orientation is
appropriate for the process.
o Modify orientations on the Pos Offsets tab to get the orientation as
desired
• If points are not reachable:
o Often times reachability is due to wrist and tool orientation.
o Jog the robot close to the starting point (with desired orientation) as if
teaching with the teach pendant. Since you are teaching relative to a
surface, use the Cntrl-Shift Click move to function to get to the surface.
Teaching a Program
349
o Show the teach tool in tool coordinates
o Look at how the tool axes line up with the feature and with the program
points that were automatically generated.
o Modify the generate along feature field on the Pos defaults tab to match
what the "jogged to" robot looks like
o Iterate on this
• If a feature follows along a contour that would make the robot wrist wrap around
consider breaking the feature into segments. Changing the along the feature setting on
the Pos Defaults Tab for different segments can allow for changing orientations.
• Touchup the position by modifying in CHUIWorld. Select the generated point with the
mouse and drag the position triad to see what it takes to make it reachable.
• Touchup within TP editor and virtual TP. Changes will be lost if you regenerate to the
same TP program name, but unreachable positions can often be made reachable with
slight modification in orientation and location.
13.12.1.1
Creating Arc Welding Programs
Creating Arc Weld Process robot programs
When WeldPRO is active the Automatic Path Generation user interface presents program
properties using weld process concepts.
• Position offsets are presented using work angle, push angle, etc. on the Pos Offsets
property page.
• An Arc Welding tab is added when modifying segments of a feature.
Teaching a Program
13.12.1.2
350
Creating Remote TCP Programs
Remote TCP Automatic Path Generation
CAD to Path program generation can be used to generate Remote TCP programs. The
purpose of this topic is to give information and techniques relevant to using CAD to Path
programming with Remote TCP applications.
Roboguide provides useful Remote TCP jogging capability. See Jogging in a Remote TCP
frame
RTCP frame relationship to CAD to Path Feature Pos Defaults Tool Axis settings
When making a tool axis assignment in CAD-To-Path with RTCP, the axes on the pos
defaults tab refer to the frame used as the RTCP – i.e. the Uframe.
When the feature has +X as the "Along" axis, the feature will run along the Uframe’s X
axis, from negative to positive
The following figure shows the UTOOL jog frame. For Remote TCP applications, this is not
the tooling definition to use for the Tool axis assignment on the Pos Defaults tab.
The following figure shows the correct assignment. The feature line points in the –X
direction of the Remote TCP frame. –X would be used in the tool axis assignment "Along
the segment" field.
The key issue is that the Feature should be aligned with the Remote TCP frame frame and
not the EOAT UTOOL assignments.
Procedures to set CAD to Path feature properties for RTCP programming
For the purpose of this discussion, the following assumptions are made:
• feature has been generated at the desired location of the part.
• a part has been assigned to an EOAT
• the remote TCP has been defined in UFRAME 1.
• The simple method of assigning a RTCP axis to the Tool axis on the Pos Defaults
tab of a feature does not give desired results.
General outline of procedure
The key step of procedures is understanding the RTCP frame orientation relative to the
feature. It is common to be concerned about the orientation of the RTCP frame at the start
of the feature.
1. Jog the robot so that the tooling (RTCP) is oriented as desired relative to the
Teaching a Program
351
start of the feature.
2. Display the RTCP frame.
3. Select what axis of the RTCP aligns with the feature normals and the
direction of travel along the feature.
4. Define Pos Offsets: If there is not exact alignment of the RTCP frame axis for
the desired orientation of the part relative to the RTCP, you need to estimate the
angle of rotation required for each tool (RTCP) axis. These angles of rotation are
entered on the Pos Offsets tab.
Jog the robot to orient the robot / Part to the remote TCP:
It is helpful to jog the robot and orient the part and start of feature relative to the RTCP as
required by your desired process. This helps to determine what axis to line up on in the
Tool axis assignment fields on the Pos Defaults tab. Use the Remote TCP jog mode to jog
the robot and part to an approximate desired starting point
For the example provided the desire is to have the Remote TCP location to be oriented
approximately 45 degrees relative to the part.
The following figure gives an example. The feature line is oriented at an angle to the
Remote TCP frame.
Display the RTCP frame
The RTCP frame should now be shown so that you can see the frame relative to the
feature.
The RTCP frame can be displayed several ways:
• Use the jog coordinate quickbar. Open the quickbar, then select a Cartesian jog
frame, then select the RTCP button mode.
• Select remote TCP jog from the Fnct key menu on the virtual TP.
• Display the UFRAME that is used for the remote TCP definition.
For this example the Jog coordinate quickbar is used to put the green teach ball in
UFRAME RTCP mode.
Select what axis of the RTCP aligns with the feature normals and the direction of travel
along the feature
The direction that the RTCP should follow a feature is defined on the Pos Defaults tab for a
feature.
Teaching a Program
352
For the example shown, the (–X) of the Remote TCP frame most closely aligns with the
feature line for the Along the segment setting. The –Z of the Remote TCP frame most
closely aligns with the normal line of the feature. Note: it is very common for the Normal to
Surface vector to NOT be + or –Z in Remote TCP applications.
Define pos offsets
The RTCP frame may not align with the feature exactly as desired. If there is not exact
alignment of the RTCP frame axis for the desired orientation of the part relative to the
RTCP, you need to estimate the angle of rotation required for each tool (RTCP) axis. To
modify this, you use the pos offsets tab.
For the example, an exploded view is shown. By looking at the Remote TCP frame and the
feature line it can be estimated that we want the RTCP X axis to be rotated approximately
45 degrees. X is rotated by rotating about the Y remote TCP axis.
v
The Pos offsets tab is shown below.
The resulting program is shown in the Remote TCP frame on the part.
Additional comments:
In summary, the key concepts to get correct when creating programs for Remote TCP cad
to path include:
• Determining correct Tool Axis assignments based upon the Remote TCP frame
coordinates
• Using Remote TCP jogging techniques to first align the tooling relative to the part as
it will be processed. Doing this makes it much easier to determine tool axis
assignments.
• Use the Pos Defaults tab to make tool axis assignments.
• Determine additional rotations are necessary to ensure Remote TCP tooling is
correctly oriented relative to the part. Use the Pos Offsets to make rotational offsets.
• Do not be afraid to try different settings. It is very easy to generate new programs.
Trial and error is the key to learning how to best process the part.
Teaching a Program
353
Creating a program at a Remote TCP
Path generation can be used with a remote TCP reference. The remote TCP option must
be available on the Virtual Robot controller. The option can be selected when creating the
workcell using the options list in the Create Workcell Wizard.
To create a program at a Remote TCP
1. Create a feature on the CAD part. The feature generation property page is visible.
2. On the General tab of the feature property page select the desired UFRAME that
defines the Remote TCP frame.
3. Enable the Remote TCP check box.
4. Press the Generate TPP button. The program will be generated using the Remote
TCP uframe. The positions are drawn relative to the robot world and will not appear on
the part.
13.12.1.3
Automatic program generation for coordinated motion applications
Using the feature Coordinated Motion property page tab
Roboguide CAD to Path generation supports generating programs from CAD to Path
features that utilize coordinated motion. The coordinated motion cad to path property page
is used to define parameters for generation.
Coordinated motion is a motion control method in which the tool center point (TCP) speed
and position of a follower motion group is executed relative to a leader motion group. This
method provides constant relative speed between the two motion groups, and provides for
path execution by the follower in a moving frame of the leader.
The following shows a positioner as a leader group and the robot as a follower group.
Roboguide supports automatic generation for the following configurations:
• Robot and a positioner
• Dual arms and a positioner (leader)
• Multiple arms where 1 arm is the leader and other arms are followers. Generally,
where one robot holds the part.
Conditions for automatic generation of a coordinated motion program:
Teaching a Program
354
• Multiple group system
• Coordinated pair is defined and calibrated between 2 groups that will have a program
generated.
The feature coordinated motion property page tab is used to determine key generation
parameters including:
• Leader group and what axis of the leader group will be used in coordinated motion
• Method to optimize generated programs. Different applications have different robot
motion requirements. These include:
o Minimized tool rotation changes through the motion cycle.
o Minimized tool location movement
• Coordinated Motion start position: the start position is critical in CAD to Path
generation. The start position defines the original constraint for the method used during
generation.
This function searches for a program start position. The EOAT is aligned with the
normal of the feature at the start of the feature. Tool axis alignment definition on the
Pos Defaults Tab and the changes on the Pos Offsets tab are used to define how the
EOAT should align with the normal at the start of the feature.
For example:
o if minimize tool rotation is selected, CAD to Path will generate a program
to maintain the orientation at the start position.
o If minimize tool location change is selected, CAD to Path will generate a
program to reduce the amount of EOAT location changes from the start
position.
• Feature processes for multiple robots: in multiple arm configurations it is desirable to
generate programs for each follower arm relative to the leader device. If the
configuration of the selected robot is multiple arm, an interface is provided to define TP
program generation for each arm on a single robot controller.
• Options settings based upon the configuration of the coordinated motion system:
o Compensation:
Teaching a Program
355
o Swing:
o Range:
o Option
Using the Coordinated Motion tab to achieve desired results may be an iterative process.
There are many solutions to generating a program that coordinates multiple motion devices
because there are multiple solutions. Roboguide attempts to provide an interface that
significantly reduces the time and effort to attempt different configurations.
The help documentation provides procedures for different coordinated motion
configurations:
• Robot and positioner: See Creating programs for single arm robot and positioner
application s for move details
• Dual Arm and positioner Coordination: See Procedure to generate programs for Dual
Arm coordinated motion for more information
• Robot as leader with multiple robot follower groups: see Creating coordinated motion
programs for multiple arm controllers
Minimized tool location movement
Minimized tool location movement: some applications may wish to minimize the amount the
EOAT moves around a part. The goal is to keep the robot EOAT in the smallest envelope
of motion. User does not require that he orientation be maintained. Leader frame motion
should move such that the EOAT remains in the smallest work envelope possible
A program will be generated from the follower group position. The leader group orientation
change could large and the follower group rotation changing is minimized.
If minimize tool location change is selected, CAD to Path will generate a program to reduce
the amount of EOAT location changes from the start position.
356
Teaching a Program
13.12.1.3.1
Single arm robot and positioners applications
Creating programs for single arm robot and positioner applications
This topic addresses using the CAD to Path feature coordinated motion property page tab
to define generation parameters for a robot and a basic positioner.
To generate programs using coordinated motion the following is assumed:
• User has read and understands the documentation for using coordinated motion with
FANUC robots.
• A workcell is defined that contains a Robot with a Basic positioner. A machine has
been built. Coordinated motion option is present on the robot controller.
• The Positioner has been correctly defined at controlled start of the robot. It is critical
that the direction parameter be defined correctly. This defines the relationship between
robot and positioner axes. If this value is incorrect, nodemap drawing may be incorrect.
• A coordinated frame has been correctly defined between the Leader positioner group
and the follower robot group.
Fields included on the coordinated motion property page include:
• Coordinated motion generation parameters frame:
o Leader group selection combo box: defines the leader group for
coordinated motion. The group selected on the General property page is a
follower group.
o Axis selection combo box: defines which leader group axes are included
in coordinated motion. It is not always a requirement to change multiple
axes of a positioner when using coordinated motion.
o Method:
 Minimized tool rotation changes through the motion cycle.
 Minimized tool location movement:
• Program Start Position frame:
o Joint number selection combo box: defines which joint on the positioner to
move when searching.
Teaching a Program
357
o Step amount: defines how much the leader should move when forward or
backward is pressed.
o Forward/ Backward search buttons: when pressed the select joint number
is incremented by the step amount. The robot then attempts to move to the
Start position. When the robot is moved to the start position
• Option button:
o Single Circular Command checkbox: when enabled circular command ‘C’
will be changed to single circular command ‘A’ . This function can be used
on V6.33 virtual robot.
o Write TCP: For vision shift, active leader TCP is set to the center of the
feature, when feature is nearly circle by this button
o Rotation Limit Angle: maximum amount of rotation of the leader allowed
when generating coordinated motion programs.
• Apply Button: when pressed, a prompt is presented to Save the current search
position. If saved, the Move To Recorded position button is active.
To create a coordinated motion program using CAD to Path features:
1. Create the CAD to Path featureWhat_features_are_available_in_PRO_Software
2. On the Feature General tab, enable desired groups, and select Coord Motion
checkbox.
3. Move the positioner axes to position the start of the CAD to Path feature close to
where the robot motion should start for the coordinated motion move. This is important
to aid in other steps in the process.
The following figure presents and example. A robot with a simple single axis positioner
is shown. A feature has been created on the outside edge of a box. The goal of the
process is to move the robot and positioner such that the robot TCP is kept down
relative to gravity (3D World Z axis).
To orient the CAD to Path feature start point relative to the 3D world Z direction, the
positioner group is rotated so that the normal at the start of the feature is oriented in 3D
+Z world direction.
4. Move the robot close the start point using surface mouse click. Orient the EOAT
Teaching a Program
358
approximately as desired for the starting orientation when the program is executed.
By manually moving the robot TCP to and approximate orientation for start position,
determine which tool axis should be "Along" the segment axis.
5. View the EOAT triad teach ball triad.
6. On the CAD to Path feature’s Pos Defaults tab set the Along the segment field to
the desired tool axis. For the example shown, +Y is defined as Along the segment.
7. Open the Coordinated motion tab on the CAD to Path feature property page.
8. Define Coordinated motion generation parameters:
o Define which group is the leader. Roboguide will provide selections based
upon the group mask chosen on the General property page.
o Define which axis / axes should be used to coordinate the motion
o Define which method should be used when generating program positions
9. Define the TP program start position for coordinated motion. Roboguide presents
choices to help determine the desired start position. You can step through different start
positions quickly. When a desired start orientation for the robot and positioner (CAD to
Path feature) is determined, the program may be generated.
Press the Search forward button (). The robot and positioner should move to align the
normal of the CAD to Path feature at the start of the feature with the robot TCP. The
tooling axis is aligned at this start position as defined on the Pos Defaults tab of the
feature.
Continue to use the FWD and BWD buttons on the coordinated motion tab until you
determine the desired starting configuration the robot and positioner. It is important to
note that Roboguide uses the settings on the Pos Defaults and Pos offsets during its
search.
10. When the desired Start location is found, Press Apply. When prompted if you want
to save the start location, select yes.
If Minimize Tool Rotation is selected, this Start position is the orientation that will be
maintained when generating a program.
11. Generate the program on the General Tab of the CAD to Path Feature. The
COORD lines in the generated TP program should show relative to the coordinated
frame defined on the virtual robot.
Teaching a Program
13.12.1.3.2
359
Dual arm controller with a positioner applications
Creating programs for dual arm controller with a positioner applications
This topic addresses using the CAD to Path feature coordinated motion property page tab
to define generation parameters for a dual arm robot and a basic positioner.
To generate programs using coordinated motion the following is assumed:
• User has read and understands the documentation for using coordinated motion with
FANUC robots.
• A workcell is defined that contains a Robot with a Basic positioner. A machine has
been built. Coordinated motion option is present on the robot controller.
• The Positioner has been correctly defined at controlled start of the robot. It is critical
that the direction parameter be defined correctly. This defines the relationship between
robot and positioner axes. If this value is incorrect, nodemap drawing may be incorrect.
• A coordinated frame has been correctly defined between the Leader positioner group
and the follower robot groups (dual arms).
In general, when there is more than one follower group, as is the case with dual arm
systems, a program can be generated that includes position information for each follower
group.
The figure shows a simple box for a part. Two CAD to Path features are created on the
part:
• Arm_1_Feature: assigned to Arm 1: Group 1
• Arm_2_Feature: assigned to Arm 2: Group 2
You want to generate a single robot program that coordinates both arms with the leader
group positioner.
You must decide which CAD to Path feature will decide the generation constraints of the
resulting multi group program.
Assume Arm_1_feature is chosen for generation. Group 1 (Arm 1) is assigned as the TP
Generation Target group on the CAD to Path General Property page of Arm_1_Feature.
The group mask is set for both robot arms and the positioner. Arm_2_Feature can be
assigned for generation on the coordinated motion property page tab of the Arm_1_feature.
When the program is generated, the Arm_1_Feature settings are used to determine
number of points generated, speed parameters, and other TP motion line parameters.
Arm_2_Feature tool axis assignments and position offsets are used to determine the Group
2 position generation (Arm_2_Feature has Group 2 defined as the Generation Target
360
Teaching a Program
Group).
A procedure will better exhibit the process later in this topic.
Fields included on the coordinated motion property page include:
• Coordinated motion generation parameters frame:
o Leader group selection combo box: defines the leader group for
coordinated motion. The group selected on the General property page is a
follower group.
The second dual arm is a follow group if the check box is enabled for the
second dual arm on the general property page.
o Axis selection combo box: defines which leader group axes are included
in coordinated motion. It is not always a requirement to change multiple
axes of a positioner when using coordinated motion.
o Method:
 Minimized tool rotation changes through the motion cycle.
 Minimized tool location movement:
• Program Start Position frame:
o Joint number selection combo box: defines which joint on the positioner to
move when searching.
o Step amount: defines how much the leader should move when forward or
backward is pressed.
o Forward/ Backward search buttons: when pressed the select joint number
is incremented by the step amount. The selected robot on the general
property page then attempts to move to the Start position. When the robot is
moved to the start position
o Preview checkbox: When enabled and Next or Back step buttons are
pressed, the graphic robot moves to start position, but real robot position is
not changed.
o Move To Recorded Position: moves the robot and groups to the
previously recorded Start position. After doing a search and Apply is
pressed, a prompt is presented to save the current start position of leader
Teaching a Program
361
and follower groups.
This recorded position is useful to quickly get the leader and follower groups
to a previously searched start position. The position is also checked when a
program is generated. If the leader and follower groups are not at this
recorded position a prompt is provide to move the leader and follower
groups to this recorded position before generation.
• Select children features selection boxes: used when multiple follower groups will
coordinate with the leader group. Multiple features are defined on the part with each
unique feature having a different follower group (robot) assigned. Features can be
added so that when a program is generated, it includes group position data so that the
resulting TP program will process the selected feature with the assigned follower group.
A list box is presented that contains a list of currently created features. Features can be
added to the Children list box.
o Features Listbox: contains the list of currently created features
o Children Listbox: contains the list of features to be included during
program generation.
o Select button (>): when pressed the selected feature in the Features
listbox is moved to the Children Listbox.
o Remove (<): when pressed the selected feature in the Children Listbox is
removed from the Children Listbox.
• Option button:
o Single Circular Command checkbox: when enabled circular command ‘C’
will be changed to single circular command ‘A’ . This function can be used
on V6.33 virtual robot.
o Write TCP: For vision shift, active leader TCP is set to the center of the
feature, when feature is nearly circle by this button
o Rotation Limit Angle: maximum amount of rotation of the leader allowed
when generating coordinated motion programs.
• Apply Button: when pressed, a prompt is presented to Save the current search
position. If saved, the Move To Recorded position button is active.
362
Teaching a Program
To create a coordinated motion program for dual arms using CAD to Path features:
1. Create the CAD to Path featuresWhat_features_are_available_in_PRO_Software
for each arm.
Example shows a feature on each side of a box.
2. Define generation parameters for each feature ensuring that the TP Generation
Target group is as desired for each feature. For the example shown:
o Arm_1_Feature settings:
 Target Group: Arm 1 (Group 1)
 Pos Defaults: Along the segment: +Y, Fixed tool spin, Config:
LUT, 0, ,0. More information on procedure to define is presented
later in this procedure.
o Arm_2_Feature settings:
 Target Group: Arm 2 (Group 2)
 Pos Defaults: Along the segment: -Y, Fixed tool spin, Config:
LUT, 0, ,0. More information on procedure to define is presented
later in this procedure.
3. On the Feature General tab that will be used to generate the dual arm program,
enable desired groups, and select Coord Motion checkbox. For the example,
Arm_1_Feature will be used to generate the dual arm program.
For the example shown:
o Arm_1_Feature group mask: 1,1,1 (Groups 1,2 and 3)
o Coord motion checkbox: Enabled
4. Move the positioner axes to position the start of the CAD to Path feature close to
where the robot motion should start for the coordinated motion move. This is important
to aid in other steps in the process.
The following figure presents and example. The goal of the process is to move the
robot and positioner such that the robot TCP is kept down relative to gravity (3D World
Z axis).
Teaching a Program
363
To orient the CAD to Path feature start point relative to the 3D world Z direction, the
positioner group is rotated so that the normal at the start of the feature is oriented in 3D
+Z world direction.
5. Move the robot close the start point using surface mouse click. Orient the EOAT
approximately as desired for the starting orientation when the program is executed.
By manually moving the robot TCP to and approximate orientation for start position,
determine which tool axis should be "Along" the segment axis.
6. View the EOAT triad teach ball triad.
7. On the CAD to Path feature’s Pos Defaults tab set the Along the segment field to
the desired tool axis. For the example shown, +Y for the Arm_1_Feature is defined as
Along the segment.
8. Repeat for the other robot group to determine Tool axis assignments for the feature
assigned to the other robot group. For the example, Arm_2_Feature’s Pos defaults
Along the segment field is defined to be –Y.
9. Open the Coordinated motion tab on the CAD to Path feature property page of the
feature that will be used to generate the dual arm program. For the example, this is
Arm_1_Feature.
10. Define Coordinated motion generation parameters:
o Define which group is the leader. Roboguide will provide selections based
upon the group mask chosen on the General property page.
o Define which axis / axes should be used to coordinate the motion
o Define which method should be used when generating program positions
11. Define the TP program start position for coordinated motion. Roboguide presents
choices to help determine the desired start position. You can step through different start
positions quickly. When a desired start orientation for the robot and positioner (CAD to
Path feature) is determined, the program may be generated.
Press the Search forward button (). The robot and positioner should move to align the
normal of the CAD to Path feature at the start of the feature with the robot TCP. The
tooling axis is aligned at this start position as defined on the Pos Defaults tab of the
feature.
Continue to use the FWD and BWD buttons on the coordinated motion tab until you
determine the desired starting configuration the robot and positioner. It is important to
Teaching a Program
364
note that Roboguide uses the settings on the Pos Defaults and Pos offsets during its
search.
12. The Select Children listbox shows a list of features defined. Multiple features are
defined on the part with each unique feature having a different follower group (robot)
assigned. Features can be added so that when a program is generated, it includes
group position data so that the resulting TP program will process the selected feature
with the assigned follower group.
Select the feature that should be included during program generation. It is critical that
the selected feature use a different robot group for processing.
For the example, Arm_2_Feature is chosen.
13. Press Apply. When prompted if you want to save the start location, select yes.
14. Generate the program on the General Tab of the CAD to Path Feature. The
COORD lines in the generated TP program should show relative to the coordinated
frame defined on the virtual robot.
13.12.1.3.3
Multiple arm applications with robot arm as leader group
Creating coordinated motion programs for multiple arm controllers
Coordinated Motion Program Generation (For Robots)
This topic addresses using the CAD to Path feature coordinated motion property page tab
to define generation parameters for a multiple robot arm controller where one robot is the
leader and other robots are followers.
To generate programs using coordinated motion the following is assumed:
• User has read and understands the documentation for using coordinated motion with
FANUC robots.
• A workcell is defined that contains a controller with multiple arms. It is required that
there more than two robot arms on the controller The virtual robot includes the following
options:
o Coordinated Motion
o Multi Group Motion
• A coordinated frame has been correctly defined between the Leader robot group and
365
Teaching a Program
the follower robot groups.
• Part: It is necessary to attach a target part to the leader robot end of arm tooling.
• A feature has been generated on the part. The appropriate groups are selected on
the General tab of the Feature property page. Group mask is set, and the coordinated
motion option is selected.
When this check box is enabled, the ‘COORD’ command will be added to motion
command lines in the program and coordinated motion positions will be calculated
when generating a program.
When the conditions are satisfied, you may use the Coordinated Motion Tab on the feature
property page tab.
Fields included on the coordinated motion property page include:
• Coordinated motion generation parameters frame:
o Leader group selection combo box: defines the leader group for
coordinated motion. The group selected on the General property page is a
follower group.
o Method:
 Minimized tool rotation changes through the motion cycle
(base is work)
 Minimized tool location movement (Base is tool)
• Program Start Position frame This function searches for a program start position. The
EOAT is aligned with the normal of the feature at the start of the feature. Tool axis
alignment definition on the Pos Defaults Tab and the changes on the Pos Offsets tab
are used to define how the EOAT should align with the normal at the start of the
feature. This start position can be recorded and used as start position of program
generation.
o Step Value: Specifies the angle around the Z axis of the Follower robot’s
TCP when Next or Back is pressed.
o Next (>>): The target part and the leader robot are rotated by the
specified Step The tool tip of the follower robot moves to the starting position
of the feature with specified tool orientation, and rotates around Z-axis of the
follower robot’s TCP in the plus direction.
366
Teaching a Program
o Next (>>): The target part and the leader robot are rotated by the
specified Step The tool tip of the follower robot moves to the starting position
of the feature with specified tool orientation, and rotates around Z-axis of the
follower robot’s TCP in the minus direction.
o Preview checkbox: When enabled and Next or Back step buttons are
pressed, the graphic robot moves to start position, but real robot position is
not changed.
o Move To Recorded Position: moves the robot and groups to the
previously recorded Start position. After doing a search and Apply is
pressed, a prompt is presented to save the current start position of leader
and follower groups.
This recorded position is useful to quickly get the leader and follower groups
to a previously searched start position. The position is also checked when a
program is generated. If the leader and follower groups are not at this
recorded position a prompt is provide to move the leader and follower
groups to this recorded position before generation.
o Start pos combo box: defines what position will be used as the generated
program start position. Selections include:
 Current Position: Program start position is the current robot
position.
 Recorded Position: Program start position is the recorded
position that is the save start position that results from a Search.
• Select features selection boxes: used when multiple follower groups will coordinate
with the leader group. Multiple features are defined on the part with each unique feature
having a different follower group (robot) assigned. Features can be added so that when
a program is generated, it includes group position data so that the resulting TP program
will process the selected feature with the assigned follower group.
A list box is presented that contains a list of currently created features. Features can be
added to the Children list box.
o Features Listbox: contains the list of currently created features
o Children Listbox: contains the list of features to be included during
program generation.
o Select button (>): when pressed the selected feature in the Features
367
Teaching a Program
listbox is moved to the Children Listbox.
o Remove (<): when pressed the selected feature in the Children Listbox is
removed from the Children Listbox.
• Option button:
o Compensation: use to change:
 the follower robot tool rotation at approach and retreat points to
avoid collision with the fixture
• Spin angle revision: Spin angle is compensated at
approach and retreat points by the specified angle.
The compensated point number is set in ‘Number’.
• Work angle revision: Work angle is compensated at
approach and retreat points by the specified angle.
The compensated point number is set in ‘Number’.
• Travel angle revision: Travel angle is compensated
at approach and retreat points by the specified angle.
The compensated point number is set in ‘Number’.
• Number: This setting specified the number of points
for the approach/retreat point.
 leader robot orientation in the coordinated motion program:
control the Slope of the Work.
• Work Slope (RY): The work slope from base
orientation until the specified angle around the Y-axis
of the teaching point of the follower group.
• Work Slope (RX): The work slope from base
orientation until the specified angle around the X-axis
of the teaching point of the follower group.
o Swing: As the generated program runs this moves robots from base
position until relative position that is specified in these settings.
o Range:
368
Teaching a Program
o Option: includes general generation options:
 Single Circular Command checkbox: when enabled circular
command ‘C’ will be changed to single circular command ‘A’ .
This function can be used on V6.33 virtual robot.
 Write TCP: For vision shift, active leader TCP is set to the
center of the feature, when feature is nearly circle by this button
• Apply Button: when pressed, a prompt is presented to Save the current search
position. If saved, the Move To Recorded position button is active.
This function generates a coordinated motion program that the robots move with the leader
robot from the specified features.
Procedures for program generation
1. Create a workcell that meets above conditions
2. Draw a feature on a part attached on the leader robot.
3. Open Feature property page /General tab. Select a follower group robot from group
combo box.
4. Check leader group number at Group Mask check box.
5. Check Coord Motion check box.
6. Define feature parameters on feature property page tabs.
7. Open ‘ Coordinated Motion’ tab.
8. Select a leader group from ‘Leader’ combo box. If not listed in Leader box, check
group mask of group on the general tab.
9. Select a generation method from Method box.
10. Set value in Step box for rotating around Z-axis of the follower robot TCP.
11. Click ‘>>(Next)’ or ‘<<(Back). If robot is reachable with specified tool rotation, the
robot will move to start of feature. If not reachable, it will search start position
automatically until robot is reachable.
Teaching a Program
369
12. If the robot moves to appropriate position, click ‘Apply’ button.
13. If Preview is checked, Message box ‘May the robot be moved?’ will be displayed.
Then Select Yes. If select No, the robots will move back to current position.
14. Message box ‘Record this position?’ will be displayed. Then select Yes. If select
No, the current position will not be recorded.
15. Open General tab. Click Generation Program. Then a coordinated motion program
will be generated.
16. Run the program from TP or simulation start.
Procedures for a program generation of three robots
For three robots coordinated motion, two features on the parts must be defined such that
the leader robot holds the part. After specifying the follower robots to each features
property, generate the program. The procedures are written below.
1. Define a parent feature by above procedures. (Procedures for program generation)
2. Draw a child feature on the part that the leader robot grasps.
3. Select third group from Group list box on General tab of the child feature.
4. Define feature parameters on feature property page tabs.
5. Open the parent feature property page and set target group number of child feature
to group mask on the general tab.
6. Open ‘Coordinated Motion’ tab, select a target feature from ‘Features’ list as child
feature, and add a child feature to Children list box by clicking ‘>’ (Select button) . Click
Apply button.
7. Open General tab on the parent feature property page and click Generate Feature
TP Program button.
Teaching a Program
370
Program Start Position frame
This function searches for a program start position. The EOAT of the Robot selected on the
General property is aligned with the normal of the feature at the start of the feature. Tool
axis alignment definition on the Pos Defaults Tab and the changes on the Pos Offsets tab
are used to define how the EOAT should align with the normal at the start of the feature.
This start position can be recorded and used as start position of program generation
Procedure to generate programs for Dual Arm coordinated motion
This topic presents procedures for using the coordinated motion automatic path generation
functionality. It includes information for setting up and program generation for robots in the
workcell.
This functionality is only available with a specific configuration of robot systems.
Procedure to use the coordinated motion functionality.
Initializing the workcell
1. Open the Sample work cell.
2. Select "Cooperated welding vision shift function" from the Tools main menu item.
The calibration data of the two robots is defined. This calibration data is initially set to
sample data for the robots configuration in the workcell. If robot locations change you
need to execute the calibration function.
The calibration data is made from the position of two robots in the work cell by the
following operation and it is sent to the virtual robot
Calibrating
1. Enable "Connect to virtual robot"
2. Enable "Set virtual robot corresponding to relative location among robots"
3. Press the "Exec" button.
The virtual robot must be restarted for calibration data to become effective.
Teaching a Program
371
4. Restart the virtual robot by selecting main menu item Robot/ Restart Controller /
Cold Start.
The calibration data becomes effective
Define Feature
1. Open the Draw selection popup menu by pressing the Draw Features on Parts
toolbar icon () or select Draw Features Parts under the Teach main menu item.
2. Select the part to create a feature on.
The Draw selection popup will highlight the Surface entities buttons that can be used to
generate 3D features.
3. Select Edge line from the Draw selection popup.
After the Edge line entity button is selected, and the mouse is dragged over the part,
edges will become highlighted under the mouse pointer. A white line designating the
normal to the surface is shown. Press the left mouse button once to start the feature.
Single button click the left mouse button along the edge to build the feature line. When
the end of the edge / feature line is reached, double click the left mouse button. A
feature is created and the property page for the feature is opened. The feature is found
in the cell browser under the part on which the feature was found.
The following figure is an example of an edge.
4. On the General tab of the feature property page define the fields as follows:
o Input the desired program name in the TP Program Name field
o Select group 1 from Group combo box.
o Uncheck RTCP
o Select UFrame number 0
o Select tool frame number 1.
5. Click the Apply button. (Select "No" in the message box of the confirmation.)
The property page should look similar to the following:
Teaching a Program
372
6. Select the Prog Settings tab on Feature property page and input operation speed in
the Segment speeds field.
7. Select the Pos Defaults Tab.
8. Setup the fields as follows:
o Tool Frame Axis <=> Feature Axis Assignment: Normal to Face is +Z.
Along the feature is -X.
o Enable Change tool spin orientation along the path.
o Circular Move Detection should be set to often. Press the Help button if you require
more information on Circular move detection.
9. Select the Approach / Retreat tab and define as desired
10. Select the Pos Offset tab
o RX Angle = -45 degrees
o RY Angle = 10 degrees
11. Select the coordinate motion tab.
12. Set the fields as follows:
o Enable the Dual Arm Coordinated Motion checkbox
13. Click Apply button. Select "Yes" in the message box of the confirmation.
Defining TCP Orientation
1. Change TCP orientation of the robot of group 1 by using TP and to turn to the right
under.
2. Move to an initial position of the robot of group 1 by using TP. (Move to the suitable
Teaching a Program
373
middle position between robots. )
3. Search an initial position by clicking ">>"(Next) or "<<"(Back)button. (The initial
orientation of the TCP will be searched by spinning group 1 robot’s TCP.)
When an initial position that can reach is obtained, the robots will move to initial
position.
o If the position is suitable (posture that two robots do not overreach), click
"Apply", and the question "May the robot be moved?" is displayed. Select
"Yes".
o If the position is not suitable, select ">>" or "<<" button and the next
searching position is used.
If the message box is not displayed, it is necessary to change position of group 1.
4. After moving the robot by searching start position, click "Apply" button. (When the
button is clicked, the current position of the robot can be is recorded, and it is used as
an initial position of automatic generation. The current location of the robot of group 1 is
used as an initial position.)
5. Oopen "General" tab of the feature property window and click "Generate Feature TP
Program" to auto generate the TP program.
The program can be validated by stepping the TP program from the TP editor.
Revision of the robot orientation
Interference can be avoided by adding the revision to orientation in the first and last part of
the program. It uses it in case of interfering with the fixture or the part.
The ratio of the route that the orientation is revised to all routes is specified. It uses it to
lengthen the revised section in processing beginning/end point neighborhood.
1. Open "Coordinated Motion" tab on the feature property page
2. Move to the starting position by pressing the "Move to recorded pos." button.
3. Select "Comp." Button. Then compensation settings are displayed.
4. Input 10, 5 and10 to "Spin Angle Revision", "Work Angle Division", and "Travel
Angle Revision", respectively.
Teaching a Program
374
5. Input 5 and 10 to "Retreat" of "Work Angle Revision" and "Travel Angle Revision",
respectively.
6. Click "Apply" button. (Select "No" in the message box of the confirmation.)
7. Confirm that starting posture is revised with "<<" or ">>" button, and move the robot.
8. Click Apply and record the robot position. Then the starting position is re-set.
9. Open "General tab" on the feature property window and click "Generate Feature TP
Program" button. The TP program will be generated.
The program can be validated by stepping the TP program from the TP editor.
The starting position shift function.
A starting position is shifted and the program is generated. When it fails in the generation of
the program or the stroke limit is generated, it uses it.
1. Open the "Coordinated Motion" tab on the Feature property window, to click "Range"
button for showing "Range" settings.
2. Select "Shift Location" from "Shift Mode" list box.
3. Input –50 for Offset X, Offset Y, and Offset Z for the left "Location" values(minimum
value of the shift amount).
4. Input 50 for Offset X, Offset Y, and Offset Z for the right " Location " (maximum
value of the shift amount).
5. Input 50 for "Unit" field (width of the shift amount) within " Location ". (27 ways are
calculated in this example.)
6. Click "Apply" and "Close" button. .
7. Open "General tab" on the feature property window and click "Generate Feature TP
Program" button to generate the TP program.
The program can be validated by stepping the TP program from the TP editor.
The start orientation shift function
A starting orientation is shifted and the program is generated. When it fails in the
Teaching a Program
375
generation of the program or the stroke limit is generated, it uses it.
1. Open "Coordinated Motion" tab on the feature property window. to click "Range"
button for showing "Range" settings
2. Select "Shift Rotation" from "Shift Mode" list box.
3. Input 40 for the Min of "Work Angle" (minimum value of the shift amount) and 50 for
the Max (maximum value of the shift amount).
4. Input 5 for the Min of "Travel Angle" (minimum value of the shift amount) and 15 for
the max (maximum value of the shift amount).
5. Input 50 to "Approach Rate" and "Retreat Rate" respectively,
6. Click "Apply" button. (Select "No" in the message box of the confirmation. )
7. Input 5 to "Angle unit". (width of the shift of the angle).
8. Operate above 6-13.
Note) When this function is used(A different value is set to minimum value and the
maximum value of the shift amount of "Work Angle" and "Travel Angle"), the starting
position shift function becomes invalid
Movement function of the work that robot is grasped.
The program where only the direction and the distance to which work is set move is
generated. When interference and the stroke limit are generated when work rotates, it uses
it.
1. Open "Coordinated Motion" tab on the feature property window, and Click "Swing"
button.
2. Input a suitable value (example -50,100 and 50) in X, Y and Z "Swing Leader Group"
respectively and click "Apply button".
(Note) The direction indicates the direction of TCP coordinates of group 1. Moreover,
250 degrees of the default value are set to R. This value is a value intended for all
surroundings processing of work. When a short circular arc is processed, it sets it
according to a circular arc angle.
3. Open "General tab" on the feature property window and click "Generate Feature TP
Teaching a Program
376
Program" button. The TP program is generated.
The program can be validated by stepping the TP program from the TP editor.
Rotation function of Arc tool
The program is generated for rotating the arc tool by specified rotation angle. When
interference and the stroke limit are generated, it uses it.
1. Open "Coordinated Motion" tab on the feature property window, and Click "Swing"
button.
2. Input a suitable value (example 60) in "Swing Target Group" R and click "Apply"
button.
(Note) 100 degrees of the default value are set to R. This value is a value intended for
all surroundings processing of work. When a short circular arc is processed, it sets it
according to a circular arc angle
3. Open "General" tab on the feature property window and click "Generate Feature TP
Program" button. Then TP program will be generated.
4. If the program is started by the TP emulation, operation can be confirmed.
Division number
The instruction point of the program generated with the specification of "Division" number
of arc is specified. The composition of the generated instruction point is as follows.
Approach point, circular arc beginning point, division number * 2 and retreat point
1. Open "Coordinated Motion" tab on the feature property window, and Click "Option"
button.
2. Input 2 to "Division" and click "Apply" button.
(Note) When 0 is set to "Division", "Division" is set to four
3. Open "General" tab on the feature property window and click "Generate Feature TP
Program" button. Then TP program will be generated.
4. If the program is started by the TP emulation, operation can be confirmed.
Teaching a Program
377
Writing center position to TCP
Circular arc center coordinates are calculated from specified feature, and it writes it in the
actual tool frame of handling robot.
1. Open "Coordinated Motion" tab on the feature property window, and Click "Option"
button.
2. Validate " Write TCP", and click "Apply" button.
3. Open "General" tab on the feature property window and click "Generate Feature TP
Program" button. Then the center position is written to actual tool frame of handling
robot.
Single Circular command
When "Single circular command" is validated, the circular command of the generated
program becomes single circular command.
Conveyor Tracking with Roboguide
378
14 Conveyor Tracking with Roboguide
About Conveyor Tracking with PRO Software
Conveyor tracking includes:
• Line Tracking: where the robot is stationary
• Rail Tracking: where the robot is on a rail
The setup for the two tracking types is different, but programming is very similar.
Conveyor tracking requires accurate setup. For a complete discussion of line tracking with
FANUC robots refer to the Line Tracking setup and operations manual.
Add a conveyor fixture to the workcell
This procedure outlines how to add a conveyor and part to a workcell.
To add a conveyor fixture to the workcell
1. Open the cell browser
2. Right mouse click on the fixtures category and select Add Line from the popup
menu. When adding a line different types of CAD can be used for the line.
Machine Library: a previously saved definition
CAD File: a CAD file.
Box, Cylinder, Sphere: primitives that can be parametrically defined.
After selection the object should be available in the workcell with the property page for
the conveyor open. This defines the CAD that is used to represent the conveyor. A link
axis must be defined that defines what will move on the conveyor.
3. Right mouse click the conveyor object in the cell browser that was created, and
select Add Link from the popup menu. When adding a link different types of CAD can
be used to represent the carrier for what will move on the conveyor.
o CAD library
o CAD File: a CAD file.
o Box, Cylinder, Sphere: primitives that can be parametrically defined.
Conveyor Tracking with Roboguide
379
After selection the object should appear relative to the conveyor object. The
property page for the new link is shown.
4. On the general tab select the desired robot and robot tracking frame that will be
used.
5. Press the Select 3D Frame button on the General Tab. The 3D Frame represents
the frame that will move when the conveyor moves.
6. Modify the frame location such that the +X direction of the 3D Frame is in the
direction of the conveyor movement.
7. Select the Link CAD tab. The Link CAD is what moves when the 3D Frame moves.
8. Modify the CAD Location to represent the location of the CAD relative to the
conveyor. Note: left mouse click on the CAD object before moving it to ensure that the
CAD is selected, and not the 3D Frame.
The conveyor should now be defined. To have the conveyor simulate, the virtual robot must
be configured for line tracking simulation, and line tracking programs must be taught.
Configure the virtual robot encoder for simulation
The encoder on the virtual robot must be defined and setup for simulation. The virtual robot
has the ability to simulate encoder pulses. With this and robot programming a simulation of
a line tracking program is available. For detailed explanation of line tracking see the
FANUC Line Tracking manuals.
At workcell initiation time, Roboguide detects if line tracking is installed. If installed,
Roboguide initializes the encoder number 1 to 1. Other encoders remain at 0. The following
procedure can be used to reset the encoder number.
To configure the virtual robot encoder for simulation Using the virtual TP
1. Open the virtual Teach Pendant
2. Open the encoder setup page. Select Menus / Setup. If the encoder setup page is
not visible, select F1-Type / Encoders.
The encoder setup page should show.
3. In the encoder axis field enter the encoder number (normally 1, or if you have
multiple lines to simulate the desired encoder number should be entered).
Conveyor Tracking with Roboguide
380
4. Cold start the controller
The encoder is now defined. The encoder will be simulated from TP Programs. It is also
possible to now set the simulate feature to ON at the same encoder setup screen.
The conveyor toolbar should now function.
Enable the virtual robot encoder for simulation
The encoder on the virtual robot must be defined and setup for simulation. The virtual robot
has the ability to simulate encoder pulses. With this and robot programming a simulation of
a line tracking program is available. For detailed explanation of line tracking see the
FANUC Robotics Line Tracking manuals.
To configure the virtual robot encoder for simulation
1. Open the virtual Teach Pendant
2. Open the encoder setup page. Select Menus / Setup. If the encoder setup page is
not visible, select F1-Type / Encoders.
The encoder setup page should show.
3. Set the encoder enabled field to ON
4. Set the Simulate conveyor field to ON
The encoder is now enabled for simulation. The encoder can be simulated from TP
Programs.
Using the conveyor link general tab
The conveyor general tab is used to define the tracking schedule that is used with the axis
attached to the conveyor.
Fields include:
• Name: Link Axis description
• Robot: Robot to track
• Sched: the tracking schedule that is used with this axis/ conveyor.
Conveyor Tracking with Roboguide
381
• Frame Location: defines the visualized tracking frame for the conveyor. The
conveyor will follow this frame’s X direction when driven by the simulated conveyor on
the virtual robot. By definition, the tracking frame must have the +X direction of the
frame in the direction of conveyor movement. Modify the Frame to define the frame
location to meet this requirement.
• Show Reference: is for reference only. When robot relative is selected the numbers
in Frame location are relative to the robot world. When Parent relative is selected the
numbers shown in Frame Location are relative to whatever object is the parent of the
selected object.
• Select 3D Frame: when pressed the frame origin is selected. The frame origin is the
coordinate system that defines the tracking travel.
• Frame Visible: when checked the frame is shown as a motor for visual reference.
• Frame Locked: when checked the Frame Location value can not be modified.
Using the tracking schedule property page
The tracking schedule property page has fields to define line tracking schedule information.
Setting fields on the tabs of the property page sets corresponding fields on the virtual robot
controller. Line tracking may be configured using either the tracking schedule property
page or directly from the virtual robot controller.
A key function of the PRO Software property page is the ability to see boundaries as virtual
walls in the workcell.
Tabs on the tracking schedule property page include:
• General: Define general schedule parameters.
• Frame: define tracking frame
• Boundaries: setup tracking boundaries.
Conveyor tracking requires accurate setup. For a complete discussion of line tracking with
FANUC robots refer to the Line Tracking setup and operations manual.
Conveyor Tracking with Roboguide
382
Using the tracking schedule general tab
The tracking schedule general property page has fields to define tracking type and other
general tracking parameters. Settings on this tab can set parameters on the virtual robot
that can also be defined on the virtual robot tracking schedule menus. For PaintPRO,
setting these fields defines appropriate settings for PaintTool.
Fields include:
• Appearance Frame: Settings effect schedule information that PaintPRO uses.
o Name: a descriptive name for the boundary.
o Color: defines the color of the boundaries wall and positions that are
taught using this tracking schedule.
o Enabled: when checked the schedule is enabled for use with Roboguide.
This is a critical setting for performance. If it is not enabled, Roboguide
simulations will not update. Only enable schedule you are using. Schedule 1
is initialized to enabled while all other schedules are initialized to off.
• Tracking Frame:
o Type: defines the tracking type. Types include line tracking, rail tracking,
and circular tracking. Setting this field defines the Tracking Type setup
option on the virtual robot tracking setup menu.
o Group: defines which robot motion group to use for tracking. Setting this
field defines the Robot Tracking Group setup option on the virtual robot
tracking setup menu.
o Encoder: defines which encoder number is used for tracking. Setting this
field defines the Encoder number setup option on the virtual robot encoder
setup menu.
o Detect Distance: defines the distance along the conveyor the body
detect switch is from the origin of the tracking nominal frame. Setting this
field defines the Part Detect Dist. setup option on the virtual robot tracking
setup menu.
• Rail: if type is set to Rail additional settings are available
o Direction: Defines the track axis direction for the rail tracking. This
defines to the robot controller if the rail axis positive motion direction is the
same as the conveyor. The value is POS if the +X of the robot extended
Conveyor Tracking with Roboguide
383
axis is the same direction as the conveyor and NEG if the +X direction of the
robot extended axis is opposite of the conveyor.
o Extended axis: defines which robot extended axis tracks the conveyor.
PaintPRO modifies selections on this tab for the painting process.
Using the tracking schedule frame tab
The frame tab has fields to define the nominal tracking frame for Cartesian line tracking.
The nominal frame tracking frame defines the frame of reference for positions that are used
during line tracking. Positions are recorded relative to the tracking frame. As the conveyor
moves the robot controller attaches the nominal frame to the conveyor at the detect switch
when the switch is triggered (done with TP instruction SETTRIGGER). The nominal frame,
and also positions taught relative to the frame, move with the conveyor.
If Rail tracking is selected on the general property page, setting the nominal frame has no
effect since rail tracking does not use the nominal tracking frame.
Settings on this tab can set parameters on the virtual robot that can also be defined on the
virtual robot tracking schedule menus. For PaintPRO, setting these fields defines
appropriate settings for PaintTool.
Fields include on the Frame tab for Roboguide software other than PaintPRO:
• Roboguide software other than PaintPRO:
o Used: the frame used for tracking.
o X, Y, Z, W, P, R: defines the appropriate value for the tracking frame.
o Show reference: defines what frame of reference to show x, y, z, w, p, r
values. This setting only defines what frame of reference is used, and does
not change how numbers are saved to the virtual robot. Values on the virtual
robot are respect to world frame.
o Edit Frame Data: when enabled the tracking frame data can be modified.
o Record / Use Current triad position: when pressed records the current
position of the visible frame into the position fields.
• PaintPRO
o Used:
Conveyor Tracking with Roboguide
384
For Cartesian (6 axis) tracking systems: the field defines which UFRAME
should be used for the tracking frame data. A value of Default means that he
default nominal tracking frame data is used. NOTE: the data needs to define
the direction of the conveyor along the X axis of the UFRAME data.
For Rail Tracking: the FRAME data is not used for rail tracking systems.
Nominal tracking frame definition
The nominal frame tracking frame defines the frame of reference for positions that are used
during line tracking. Positions are recorded relative to the tracking frame. As the conveyor
moves the robot controller attaches the nominal frame to the conveyor at the detect switch
when the switch is triggered (done with TP instruction SETTRIGGER). The nominal frame,
and also positions taught relative to the frame, move with the conveyor.
Using the tracking schedule boundaries tab
The tracking schedule boundaries tab has fields to define the boundaries for the tracking
schedule. Understanding how boundaries are defined is important to obtaining effective
values for the boundaries.
The tracking system uses the boundaries to determine whether the robot should move to a
tracking program position. The robot will not move to the current TPP line position until the
position is beyond the upstream boundary (in the window). If a position travels past the
outbound boundary (out of the window), a alarm is generated by the robot controller.
The following figure shows P[1] which has passed the tracking boundary. The robot can
move to P[1] since it is past the upstream boundary. P[2] is still upstream from the
boundary so the robot will wait at P[1] tracking the conveyor movement, and not move to
P[2] until P[2] passes the upstream boundary.
Boundaries are calculated relative to the defined nominal tracking frame. An upstream
boundary is generally less than the down stream boundary when considered relative to the
nominal tracking frame origin. The follow pictures show examples:
In this case Upstream boundary is a negative value, and downstream boundary is a
positive value relative to nominal frame.
In this case both upstream and down stream are positive values relative to nominal frame.
For rail tracking, the boundary represents the aux axis value of a position that must be in
bounds before the robot will move to the position. The value represents an auxiliary axis
position for the robot vs. a TCP position that is used with line tracking.
Conveyor Tracking with Roboguide
385
This should be understood when setting the boundaries for a tracking schedule. Fields on
the boundaries tab include:
• Active Boundary:
o Boundary set listbox: defines the boundary set of the selected schedule
to be defined.
o Upstream: defines the upstream boundary value.
For line tracking: Enter this value relative to the origin of the nominal frame.
For rail tracking: Enter this value as an auxiliary axis position where the
boundary should be.
o Downstream: defines the downstream boundary value.
For line tracking: Enter this value relative to the origin of the nominal frame.
For rail tracking: Enter this value as an auxiliary axis position where the
boundary should be.
o Visible: when enabled the boundary selected on the Boundaries tab are
displayed as a translucent wall.
o MoveTo: For line tracking this moves the robot TCP to the boundary. For
rail tracking, this moves the robot auxiliary axis to the upstream /
downstream value.
o Use Current TCP:
For line tracking: records the boundary value relative to the nominal frame
origin along the nominal frames X axis to the current robot TCP location.
The nominal frame X axis is, by FANUC Robotics convention, defined along
the direction of movement of the conveyor.
For rail tracking: this records the current position of the auxiliary axis.
These rules apply to HandlingTool. PaintTool and PaintPRO have additional tracking
capability that are specific to the painting process.
Adding parts to the conveyor fixture
Parts can be attached to the conveyor links just like any other machine axis. See adding
parts to a fixture.
The parts can then be picked and/or place on the moving line. Programming for this is like
any other TPP Program that does not have tracking operations.
Conveyor Tracking with Roboguide
386
Create a program that synchronizes conveyor
movement in a workcell
Roboguide uses controller events to enable the simulation of the conveyor. When
Roboguide detects a Line Set trigger command, the object attached to the conveyor is set
at the body detect distance from the nominal frame and moves at the speed defined as the
simulated conveyor speed. The system is synchronized.
The robot can be synchronized using the conveyor toolbar or by running a TP program that
does a Settrig TP command.
To synchronize using a TP program you create a program that simulates the conveyor and
sets the line trigger value. The program can then be run whenever it is required to start a
part moving down the conveyor.
To create a TP program that enables the conveyor, simulates the conveyor, and sets
the trigger to turn on line tracking.
1. Create a new program
2. Add the instructions to the program
LINE[1] ON – this enables the encoder
LINESIM[1] ON R[2] – where R[2] is the register that holds the encoder speed
LINECOUNT[1] R[1] – where the first 1 is the encoder num and the second 1 is the
register to store the linecount value
SETTRIG LNSCH[1] R[1] – where the first 1 is the line tracking schedule to be used
and the second 1 is the register that tells schedule the encoder body detect value .
Whenever this program is run the part should start at the beginning of the line defined as
the detect distance away from the frame zero position.
Create a TP Program that simulates a conveyor not moving
The conveyor toolbar can be used to simulate the conveyor to not moving, or a TP program
can be executed.
When the conveyor is moving in simulation it is possible to change the speed of the
conveyor through TP instruction or on the Encoder setup screen.
To change the conveyor speed to zero or not moving
1. Create a new program
2. Add the instruction to the program
LINESIM[1] ON R[4] – where R[4] is the register that holds the encoder speed value of
0
Conveyor Tracking with Roboguide
387
When this program is run the conveyor speed goes to zero.
Creating a TP Program that uses tracking
Creating a TP program within the PRO software environment that uses tracking works
exactly as you would on an actual robot. The steps are:
• TP Program creation that enables tracking for the program in the program header
information.
• TP Instructions that move the robot
The following outlines the process for a basic program that will do tracking. For more
information see FANUC Robotics Line Tracking manuals.
NOTE: you must create the line tracking program using the virtual TP. Adding a program
using the cell browser Add TPP program and then changing the TPP program header data
from the select screen will not work.
To creating a TP Program that uses tracking
1. Open the virtual Teach Pendant.
2. Synchronize the conveyor system by using the conveyor toolbar or by executing a
simulation setup TP Program.
3. Stop the conveyor movement at a teach point by using the conveyor toolbar or by
executing a TP Program that simulates the conveyor to zero speed.
4. Press Select Key on the virtual TP. The select screen will open on the virtual TP.
5. Press CREATE and enter a name for the program. Press Enter
6. The detail screen should now show for the new program. Press NEXT softkey.
7. Enter the line track schedule number, the continue tracking, and select Boundary
entries on the screen. Press Next.
8. Press End and then Edit to go to the TPP Editor page.
After pressing Edit the Teach Pendant asks if the current part detect trigger value is
valid. Asks if you want to re-synchronize the conveyor
Select NO and press Enter
Conveyor Tracking with Roboguide
388
The teach pendant editor is now opened where positions can be taught.
9. If you want to control the conveyor from your TPP program add tracking instructions
for line enable, line simulation, line count and set trigger.
LINE[1] ON
LINESIM[1] ON R[2] – where R[2] is the register that holds the conveyor speed value
LINECOUNT[1] R[1] – Where R[1] is the register that holds the line count at the trigger
point
SETTRIG LNSCH[1] R[1] – Where R[1] is the register used to set the encoder trigger
value into line schedule [1]
If you want to control the conveyor from the conveyor toolbar, you do not have to add
these instructions.
10. Teach the positions
When the program is run it will execute by triggering the part to the body detect distance
from the nominal frame origin. In order to run the program with the part starting at the
beginning of the line a new trigger must be defined. Another method to do this would be to
call the TP Program that simulates and synchronizes the conveyor in the beginning of the
tracking program created.
As you teach positions, you can use the conveyor toolbar to index the conveyor. The taught
positions should move with the conveyor movement.
Use the conveyor toolbar
The conveyor toolbar is used to control the line tracking conveyor. PRO software uses the
conveyor simulation capability of the robot controller. Pressing buttons on the toolbar
change settings for the virtual encoder. Settings are based upon the definition made on the
conveyor fixture general property page tab
The defined schedule on this property page is used to control the conveyor.
Buttons on the toolbar include:
• Stop: stops the conveyor movement
• FWD: sets the conveyor direction to be forward. Forward is defined as the +X
direction of the tracking frame that is used to define the line. This definition is made on
the conveyor fixture general property page tab
• BWD: sets the conveyor direction to be reverse. Reverse is defined as the -X
direction of the tracking frame that is used to define the line. This definition is made on
the conveyor fixture general property page tab
Conveyor Tracking with Roboguide
389
• Detect: initiates a body detect. The part defined for the conveyor is placed the body
detect distance from the nominal frame.
• Speed: speed of the line in mm/sec
• 1X, 2X, 4X: changes the speed of the conveyor.
Opening the conveyor toolbar
If the line tracking option is enabled on the virtual robot the conveyor toolbar is available.
To open the conveyor toolbar
1. Press the conveyor toolbar icon on the toolbar ()
The conveyor toolbar will open.
14.1 Line Tracking with Roboguide
Line Tracking with PRO Software
Cartesian tracking refers to a stationary robot whose Tool Center Point (TCP) position is
adjusted to track the motion of a conveyor. You can increase the work capacity of a robot
by teaching paths efficiently. You can also reduce overall cycle time by using the motion of
the conveyor to increase the robot workspace and decrease the time needed to complete a
path.
With Cartesian tracking, the arm configuration of the main robot axes (not including any
Line Tracking with PaintPRO and PaintTool extended axes which might be present) is
changed to achieve the tracking motion. Because of this, Cartesian tracking is restricted to
Linear and Circular program motions. Joint motions are not supported.
There are two kinds of Cartesian tracking: Line and Circular (not to be confused with Linear
and Circular motions).
Note Program path planning and teaching is critical for Cartesian tracking. Inefficient paths
can restrict robot movement around the workpiece, possibly reducing the workspace. In
addition, the joint trajectories of the robot will rarely be the same during program execution
as during program teaching
Cartesian line tracking consists of a robot and a linear conveyor which moves parts past a
robot. The robot is usually mounted on a stationary pedestal beside the conveyor, where it
can easily reach the parts as they move past it. The robot can also be mounted above or
below the conveyor, or on a rail or other integrated extended axis depending on the needs
of the application.
Conveyor Tracking with Roboguide
390
Cartesian circular tracking consists of a circular conveyor or rotary table which moves parts
past a robot. The robot can be located either inside or outside the circle of the conveyor.
The robot can also be mounted above or below the conveyor, or on a rail or other
integrated extended axis depending on the needs of the application.
Note Circular tracking does not use tracking boundaries at this time.
Note Only Linear program motion is supported for circular tracking. Circular and Joint
program motion is not permitted.
Roboguide has abilities to create workcells that utilize controller line tracking capability.
Roboguide:
• Uses the encoder simulation capability of the virtual robot controller to simulate the
moving line.
• Provides interfaces to model conveyors and objects on conveyors
• Uses the virtual teach pendant and TPP programming for programming line tracking
applications. TPP Tracking instructions are used exactly like on the robot.
• Simulates conveyor movement when the SetTrigger line tracking instruction is used.
• Has a conveyor toolbar to control the conveyor
PaintPRO applications often use line tracking. PaintPRO has specific capability to configure
PaintTool and its use of line tracking. For more information see Line Tracking with PaintPRO
and PaintTool
See the topic General procedure for setting up a line tracking workcell for more information
on building a line tracking workcell.
Conveyor tracking requires accurate setup. For a complete discussion of line tracking with
FANUC robots refer to the Line Tracking setup and operations manual.
Build a virtual robot for line tracking
Virtual robots used with line tracking have to be configured with conveyor tracking options.
When Roboguide detects that line tracking is enabled on a robot controller the capability to
create conveyor fixtures is enabled.
To configure a virtual robot for line tracking
1. Create a new workcell by selecting File / New from the main menu or clicking on the
Conveyor Tracking with Roboguide
391
New Workcell icon on the toolbar.
2. Follow the steps for the workcell creation wizard until the Robot Options step.
3. Select the Line Tracking Option
4. Finish the wizard
When the virtual robot is finished serializing the Line Tracking Option is available on the
virtual robot.
General procedure for setting up a line tracking workcell
The following general procedure outlines the steps to create a line tracking workcell. This
includes encoder setup, tracking setup, adding conveyors to the workcell, TP programs to
simulate the conveyor, and other steps. This procedure refers to other topics which provide
additional detail. For detailed explanation of line tracking see the FANUC Robotics Line
Tracking manuals.
The basic flow:
• Create a workcell
• Configure the line tracking system
• Simulate the conveyor
• Create programs to track
General procedure for setting up a line tracking workcell
1. Create a new workcell
2. Select the Line Tracking option in the Robot Options step of the workcell creation
wizard. See Configuring a virtual robot for line tracking for more detail.
3. A workcell should be open in PRO software with the line tracking option available on
the virtual robot.
Add a _ conveyor:
4. Configure the robot encoder.
Conveyor Tracking with Roboguide
392
5. Configure the robot tracking schedule information.
The workcell should now be available for line tracking robot programs.
6. Create a program that tracks. This includes simulating the conveyor, triggering the
body detect, and running a tracking motion lines.
Configure the robot line tracking schedule information
The tracking schedule information defines the line tracking parameters that will be used for
a running program. Tracking schedules are defined on the virtual teach pendant on the
Tracking Setup pages or on the schedule property pages in Roboguide.. The following
picture shows an example of the parameters of the line tracking setup parameters.
For detailed explanation of line tracking see the FANUC Robotics Line Tracking manuals.
To configure the robot line tracking schedule information using the schedule
property pages in Roboguide
1. Open the desired tracking schedule from the cell browser
2. On the general property page:
o Enable the tracking schedule if this schedule will be used in TPP
Programs
o Enable Line for Line tracking
o Define which robot group will be used for tracking (usually group 1)
o Define which encoder to use (usually 1). If this value is not set to 1 ensure
that the encoder is defined on the virtual robot.
o Enter the desired Detect distance. This is the distance from where the
Nominal frame origin is taught to the detect switch on the conveyor. The
number is used in simulation to place the starting point of the part on the
conveyor relative to the nominal frame.
This number creates a reference between the nominal tracking frame and
the part detect switch. The program paths can then be copied from one
robot to another, as long as the individual part detect distances are correctly
specified for each robot. This compensates for varying part detects.
o Trigger register: NOTE: it is important that a non zero DIN be used. If a
Conveyor Tracking with Roboguide
393
non zero DIN is not used, the teach menu that tells you to setup the tracking
schedule will be shown when you select a program.
3. On the Frame property page define the Nominal tracking frame. The nominal track
frame defines the frame that is used for line tracking programs. It is required that the +X
of this frame be in the direction of the conveyor. Generally, an R value of +90 or –90 is
required.
4. On the boundaries tab define the boundaries. defines the upstream and downstream
line tracking boundary that the robot should move within. The robot will not move to a
point until it is in the boundary window. The following picture shows a description.
Note that boundary values are relative to the nominal tracking frame origin defined, and
is calculated along the frames X axis.
To configure the robot line tracking schedule information using the virtual TP
screens
1. Open the virtual Teach Pendant
2. Open the tracking setup page. Select Menus / Setup. If the tracking setup page is
not visible, select F1-Type / Tracking.
The Tracking setup page should show. The default tracking schedule is 1. If a different
schedule is desired change the schedule by using the SCHED softkey.
3. Setup the tracking fields:
o Robot Tracking Group: generally 1.
o Tracking Type: Line
o Visual Tracking: NO
o Use Vision part queue: NO
o Use Tracking Uframe: NO
o Nominal Track Frame: the nominal track frame defines the frame that is
used for line tracking programs. It is required that the +X of this frame be in
the direction of the conveyor. Generally, an R value of +90 or –90 is
required.
o Track Axis Num: 0 – used for rail tracking
Conveyor Tracking with Roboguide
394
o Track Axis Direction: Positive – used for rail tracking
o Tracking Encoder Num: must be the same as defined in the encoder
setup
o Enc Scale Factor: defines the number of counts of the encoder for every
mm movement of the conveyor. This can be manually entered and should
be obtained from the real world system if desired. The default value of 500 is
sufficient for simulation purposes.
o Part Detect Distance: the distance from where the Nominal frame origin is
taught to the detect switch on the conveyor. The number is used in
simulation to place the starting point of the part on the conveyor relative to
the nominal frame.
This number creates a reference between the nominal tracking frame and
the part detect switch. The program paths can then be copied from one
robot to another, as long as the individual part detect distances are correctly
specified for each robot. This compensates for varying part detect
o Vision Uframe Dist: - used with vision
o Trigger INPUT number: is used for real world systems to define the DIN
for the trigger switch. For simulation purposes enter a DIN number that can
be used (8 is commonly used for simulation). ). NOTE: it is important that a
non zero DIN be used. If a non zero DIN is not used, the teach menu that
tells you to setup the tracking schedule will be shown when you select a
program.
o Selected Boundary Set: which boundary should be used with Tracking
Schedule.
o Bndry Set 1-10: Up: and Dn: defines the upstream and downstream line
tracking boundary that the robot should move within. The robot will not move
to a point until it is in the boundary window. The following picture shows a
description.
Note that boundary values are relative to the nominal tracking frame origin
defined, and is calculated along the frames X axis.
The tracking schedule should be defined and can be used in a TP program.
Conveyor Tracking with Roboguide
395
14.1.1 Line Tracking with PaintPRO and PaintTool
Line Tracking with PaintPRO and PaintTool
PaintPRO and PaintTool utilize line tracking extensively, and utilize many advanced
capabilities of the line tracking system. This topic discusses specific functions of line
tracking and how they are used with paint applications. It also discusses requirements that
the programmer must be aware of when programming paint robots.
Tracking type used:
P-500 workcells:
The P-500 robot arm has 5 axes, and is set on a rail that defines the sixth axis. Joint one of
the robot is defined as the rail motor. This joint controls the world Y motion of the arm.
Since the robot is a six axis robot, the P-500 uses six axis Cartesian line tracking rather
than 7 axis rail tracking. Tracking type is defined on the Schedule General Property Page
Tab.
Non P-500 Workcells:
PaintPRO support both 6 axis line tracking robots and rail tracking robots. To configure a
paint robot utilize the same methods as used with PaintTool at controlled start.
Nominal tracking frame:
Generally PaintTool defines the nominal tracking frame to be at the base of the robot with a
rotation to define the +X direction of the nominal tracking frame in the direction of the
conveyor. This nominal tracking frame can be modified either on the virtual robot teach
pendant or on the tracking schedule property page. For simplicity, the nominal tracking
frame origin (x, y, z values) is generally kept at the zero / world frame origin of the robot.
Tracking Boundaries
Like standard tracking, a boundary is the distance from the origin of the nominal frame to
the upstream and downstream positions.
PaintTool uses conditional node features of the line tracking system. As discussed in Using
the tracking schedule boundaries tab, PaintTool uses upstream boundaries to keep the
robot from moving to a position before it enters the work envelope.
Additionally, PaintTool uses conditional nodes to control whether the robot should start a
paint stroke before the stroke can be completed. It is not desirable to start a paint stroke
before the entire stroke (on to off) has entered the tracking boundary. If a paint stroke were
allowed to begin its motion before the off node for the stroke enters the tracking boundary,
a conveyor stoppage could leave the gun on while the robot waits for the next robot
position to enter the tracking boundary.
The following figures illustrate the situation.
Zoomed out view: The boundary crosses a paint stroke in the middle of the stroke.
Zoomed in view: The boundary crosses a paint stroke in the middle of the stroke.
Conveyor Tracking with Roboguide
396
If the conveyor were to stop after beginning motion from the gun on position the robot
would stop waiting for the Gun off position to come into the window.
PaintPRO and PaintTool have the ability to define a conditional off node. By marking the
Gun off position as a conditional off node, the robot controller will not start the gun on to
gun off stroke until the gun off position is within the boundary. Therefore, if the conveyor
does stop while the robot is moving along the stroke, the complete on to off stroke can be
completed.
PaintPRO has settings to automatically define conditional gun off nodes when auto
generating robot programs from paint zones. For more information see Using the paint
zone Paint Process tab .
Tracking schedules and Paint Zones with PaintPRO and PaintTool
When generating paint zones and their associated programs, PaintPRO allows you to
assign tracking schedules to paint zones. PaintPRO defines schedules in the following
way:
P-500 Workcells:
• PaintPRO assigns Tracking Schedule 1 with Boundary 10 as the active boundary to
the Group 1 P-500 arm
• PaintPRO assigns Tracking Schedule 2 with Boundary 10 as the active boundary to
the Group 2 P-500 arm
Non P-500 Workcells:
• PaintPRO assigns Tracking Schedule 1 with Boundary 10 as the active boundary to
the Group 1 arm
To simplify programming, it is recommended to use the settings that PaintPRO provides.
These settings are by convention only. You have complete flexibility for use of tracking
schedules and boundary number if required. Process programs can be modified on the
virtual teach pendant to utilize whatever different settings desired.
PaintPRO Jobs, paint zones, and their relationship to tracking schedules
Paint zones are used to generate robot programs automatically. When a program is
generated the tracking schedule information and boundary information is embedded into
the generated robot program. This allows programs to be transferred between different
robots able to play with correct boundaries.
NOTE: when a boundary value is changed for a tracking schedule, all paint zones /
programs that use the changed tracking schedule must be regenerated to use the
new boundary values.
Conveyor Tracking with Roboguide
397
14.2 Rail Tracking with Roboguide
Rail Tracking with PRO Software
In single axis tracking, the position of the robot’s extended axis (an integrated or nonintegrated base axis) is adjusted to track the motion of a linear conveyor. The conveyor
motion direction must be parallel to that of the tracking axis. This single-axis tracking is
known as rail tracking , since the typical application uses a rail or platform to perform the
tracking motion. With rail tracking, the robot arm configuration (excluding the tracking axis)
remains as programmed. All types of motion (Linear, Circular, and Joint) are allowed.
Rail tracking is a simple method of dealing with a constantly moving workpiece. Rail
tracking is used in large systems that can occupy a large amount of floor space. It is easy
to teach and works with almost any application. This option allows a large volume of work
to be accomplished by one system.
Conveyor tracking requires accurate setup. For a complete discussion of line tracking with
FANUC robots refer to the Line Tracking setup and operations manual.
Build a virtual robot for rail tracking
Virtual robots used with rail tracking have to be configured with conveyor tracking options
and extended axis control. When Roboguide detects that line tracking is enabled on a robot
controller the capability to create conveyor fixtures is enabled.
An auxiliary axis machine must be built within the Roboguide environment. The auxiliary
axis type must be integrated. See working with extended axes and integrated axes topic for
more information on how to build an integrated rail.
To configure a virtual robot for rail tracking
1. Create a new workcell by selecting File / New from the main menu or clicking on the
New Workcell icon on the toolbar.
2. Follow the steps for the workcell creation wizard until the Robot Options step.
3. Select the Line Tracking Option and the Extended Axes Option
4. Finish the wizard
When the virtual robot is finished serializing the Line Tracking Option is available on the
virtual robot, and an integrated axis machine can be built.
The virtual robot defaults to be six axis tracking. Tracking type can be modified on the
virtual robot by using the virtual TP or the schedule property pages.
Conveyor Tracking with Roboguide
398
General procedure for setting up a rail tracking workcell
The following general procedure outlines the steps to create a rail tracking workcell. This
includes encoder setup, tracking setup, adding conveyors to the workcell, TP programs to
simulate the conveyor, and other steps. This procedure refers to other topics which provide
additional detail. For detailed explanation of rail tracking see the FANUC Robotics Line
Tracking manuals.
The basic flow:
• Create a workcell
• Configure the rail tracking system
• Simulate the conveyor
• Create programs to track
General procedure for setting up a line tracking workcell
1. Create a new workcell
2. Select the Extended axis and Line Tracking option in the Robot Options step of the
workcell creation wizard. See Build a virtual robot for rail tracking for more detail.
3. A workcell should be open in Roboguide with the line tracking option available on
the virtual robot.
4. Configure and build the aux axis rail system.
5. Add a conveyor:
6. Configure the robot encoder.
7. Configure the robot tracking schedule information.
The workcell should now be available for rail tracking robot programs.
8. Create a program that tracks. This includes simulating the conveyor, triggering the
body detect, and running a tracking motion lines.
Conveyor Tracking with Roboguide
399
Configure the robot rail tracking schedule information
The tracking schedule information defines the rail tracking parameters that will be used for
a running program. Tracking schedules are defined on the virtual teach pendant on the
Tracking Setup pages.
For detailed explanation of rail tracking see the FANUC Robotics Line Tracking manuals.
To configure the robot line tracking schedule information using the schedule
property pages in Roboguide
1. Open the desired tracking schedule from the cell browser
2. On the general property page:
o Enable the tracking schedule if this schedule will be used in TPP
Programs
o Enable Rail Type for Rail tracking
o Define which robot group will be used for tracking (usually group 1)
o Define which encoder to use (usually 1). If this value is not set to 1 ensure
that the encoder is defined on the virtual robot.
o Enter the desired Detect distance. This is the distance from where the
Nominal frame origin is taught to the detect switch on the conveyor. The
number is used in simulation to place the starting point of the part on the
conveyor relative to the nominal frame.
This number creates a reference between the nominal tracking frame and
the part detect switch. The program paths can then be copied from one
robot to another, as long as the individual part detect distances are correctly
specified for each robot. This compensates for varying part detects.
o Trigger register. NOTE: it is important that a non zero DIN be used. If a
non zero DIN is not used, the teach menu that tells you to setup the tracking
schedule will be shown when you select a program.
o Define the direction and which extended axis will be used to track the
conveyor. This specifies the normal forward motion of the conveyor, by
comparing it to the motion of the extended axis. If motion is the same as the
extended axis then POS is used. If motion is opposite the extended axis
then NEG is used. Note The extended axis is used for tracking the conveyor
within RAIL tracking systems
Conveyor Tracking with Roboguide
400
3. On the Frame property page ensure that the nominal frame value is all zeros.
4. On the boundaries tab define the boundaries. defines the upstream and downstream
line tracking boundary that the robot should move within. The robot will not move to a
point until it is in the boundary window.
The following picture shows a description.
To configure the robot rail tracking schedule information
1. Open the virtual Teach Pendant
2. Open the tracking setup page. Select Menus / Setup. If the tracking setup page is
not visible, select F1-Type / Tracking.
The Tracking setup page should show. The default tracking schedule is 1. If a different
schedule is desired change the schedule by using the SCHED softkey.
3. Setup the tracking fields:
o Robot Tracking Group: generally 1.
o Tracking Type: Rail
o Visual Tracking: NO
o Use Vision part queue: NO
o Use Tracking Uframe: NO
o Nominal Track Frame: not used for rail tracking
o Track Axis Num: Enter a number that specifies the extended axis which
will be used for tracking the conveyor within RAIL tracking systems.
o Track Axis Direction:This specifies the normal forward motion of the
conveyor, by comparing it to the motion of the extended axis. If motion is the
same as the extended axis, press F4, POSITIVE. If motion is opposite the
extended axis, press F5, NEGATIVE. Note The extended axis is used for
tracking the conveyor within RAIL tracking systems. The Track Axis
Direction is automatically set to POSITIVE for Line and Circular tracking
systems.
Conveyor Tracking with Roboguide
401
o Tracking Encoder Num: must be the same as defined in the encoder
setup
o Enc Scale Factor: defines the number of counts of the encoder for every
mm movement of the conveyor. This can be manually entered and should
be obtained from the real world system if desired. The default value of 500 is
sufficient for simulation purposes.
o Part Detect Distance: the distance from where the Nominal frame origin is
taught to the detect switch on the conveyor. The number is used in
simulation to place the starting point of the part on the conveyor relative to
the nominal frame.
This number creates a reference between the nominal tracking frame and
the part detect switch. The program paths can then be copied from one
robot to another, as long as the individual part detect distances are correctly
specified for each robot. This compensates for varying part detect
o Vision Uframe Dist: - used with vision
o Trigger INPUT number: is used for real world systems to define the DIN
for the trigger switch. For simulation purposes enter a DIN number that can
be used (8 is commonly used for simulation). NOTE: it is important that a
non zero DIN be used. If a non zero DIN is not used, the teach menu that
tells you to setup the tracking schedule will be shown when you select a
program.
o Selected Boundary Set: which boundary should be used with Tracking
Schedule.
o Bndry Set 1-10: Up: and Dn: defines the upstream and downstream line
tracking boundary that the robot should move within. The robot will not move
to a point until it’s the points auxiliary axis position is in the boundary
window. The following picture shows a description.
The tracking schedule should be defined and can be used in a TP program.
Conveyor Tracking with Roboguide
402
14.2.1 Rail Tracking with PaintPRO and PaintTool
Rail Tracking with PaintPRO and PaintTool
PaintPRO supports rail tracking with PaintTool.
To rail track with PaintPRO, the robot must be configured for rail tracking and built as an
auxiliary axis machine. A conveyor has to be added to the workcell, and programs taught.
PaintPRO supports CAD to Path program generation for rail tracking on the Paint Zone
property pages.
Configuring PaintTool and PaintPRO for rail configuration
PaintTool supports a robot on a rail for rail tracking by configuration of the robot at
controlled start.
After the robot has been configured in PaintTool the virtual PaintTool robot will have an
additional axis. A machine has to be built to model the robot on a rail.
To configure the PaintTool robot for line / rail tracking
1. When creating a workcell ensure that the line / rail tracking is selected in the robot
creation wizard
To configure PaintTool for rail configuration: this procedure assumes you have created
a PaintPRO workcell with your desired robot that has the line/ rail tracking option enabled.
1. Open the robot to controlled start
2. Press menu / maintenance to take the robot to robot hardware setup
3. Select the robot with the arrow keys (default)
4. Press manual
5. Answer the questions presented. When you select the robot to be on a rail,
PaintTool automatically configures the auxiliary axis.
6. When complete Cold start the robot by pressing FCTN key and then select Cold
Start
Conveyor Tracking with Roboguide
403
To configure PaintPRO for rail configuration
1. After configuring PaintTool, you can setup the tracking system.
2. Open the desired tracking schedule from the cell browser
3. In the type field, select Rail and press apply.
Note: the other parameters on the tracking schedule page must be configured for the
desired workcell configuration.
When PaintTool and PaintPRO are configured, the rail robot machine can be built.
Building a rail robot machine in PaintPRO
A robot on a rail is built in PaintPRO the same as a robot on a rail is built in any Roboguide
application.
See Extended axes and integrated axes definitions and layout within FANUC PRO
software for more information.
Adding an auxiliary axis is different with PaintTool than other application Tools. See
Configuring PaintTool and PaintPRO for rail configuration for more information.
Calibrating your workcell
404
15 Calibrating your workcell
About workcell calibration
Roboguide provides procedures to calibrate your Roboguide workcell with the physical
hardware within the actual workcell. If you want to transfer robot programs into and out of
the Roboguide environment, it is important to ensure that your workcell model accurately
duplicates your physical workcell.
Key concepts to understand when moving programs between Roboguide and a physical
robot cell include:
• Robot programs run on a real robot like they do in Roboguide. There is no
modification of the program when moving a program from Roboguide to an actual
robot. If workcells in Roboguide are not calibrated with the physical robot then
programs may not appear to run correctly.
o If the real cell is different than the Roboguide simulation software workcell
then positions may appear to be not correct.
o If you move a program from a real robot to the Roboguide simulation
software workcell robot then the programs may not appear to run correct.
• Calibration procedures attempt to position objects in the Roboguide simulation
software workcell like objects in the real workcell. If objects are not in the same place in
each workcell, programs may appear to be incorrect. When doing a workcell calibration
you teach a program touching 3 points in the real workcell and then touch the same 3
points in your Roboguide simulation software workcell. Roboguide simulation software
objects are then moved based upon the least squares difference between these points.
• The use of UFRAME can make moving points from offline to/from online easier.
When programs are taught relative to a robot uframe, positions in the program all move
when the UFRAME moves. If programs are taught relative to a Roboguide simulation
software object that is attached to a robot uframe the positions automatically move
when you calibrate the object.
• Calibrate the Roboguide simulation software environment to the physical
environment as soon as possible. If the workcell is calibrated before teaching
programs, path transferability issues are reduced.
• Calibration for parts that are moving conveyors requires that you teach tracking
programs to do the calibration. This allows for the conveyor fixture that holds parts to
be in different non-reproducible locations along the conveyor.
Calibrating your workcell
405
Calibration and using programs with frames
When calibrating a workcell, Roboguide simulation software moves objects in your workcell
based upon the difference between the object in the real workcell and the object in
Roboguide simulation software workcell. If you have taught programs in Roboguide, and
then calibrate, program positions will not automatically move when the objects move.
For positions to move when an object moves, the object must be attached to a robot
uframe. Use the procedure if you have not calibrated the object, and want the programs to
shift when the object is calibrated. In the event, that you have calibrated and the positions
did not move, you must move the object back to the position before calibration, attach an
object to a UFRAME, and calibrate again.
To calibrate a workcell from real world to Roboguide
Workcell calibration encompasses locating the objects in your Roboguide simulation
software workcell as they are in the actual workcell.
Calibration procedures attempt to position objects in the Roboguide workcell like objects in
the real workcell. If objects are not in the same place in each workcell, programs may
appear to be incorrect. The calibration process matches the location of the 3D object to its
real world counterpart by calculating the difference between points taught in the 3D world
and the same points touched-up in the real world. When doing a workcell calibration you
teach a program touching 3 points in the real workcell and then touch the same 3 points in
your Roboguide. Roboguide simulation software objects are then moved based upon the
least squares difference between these points.
You repeat this object calibration for each critical object within your workcell. A critical
object is one that you generate programs from. An example might be the pick location
within a machine.
You can calibrate fixture and obstacle objects in your workcell. Since parts are associated
with fixtures you calibrate the part within the fixture on the fixture property page.
Using the Calibration Tab
You can calibrate fixture, obstacle, and machine objects in your workcell. Since parts are
associated with fixtures you calibrate the part within the fixture on the fixture property page
calibration tab. The calibration process matches the location of the 3D object to its real
world counterpart by calculating the difference between points taught in the 3D world and
the same points touched-up in the real world.
Calibration of a workcell object moves the Roboguide workcell object to match the real
world object. When doing a workcell calibration you teach a program touching 3 points in
the Roboguide workcell and then touch the same 3 points in your real workcell. Roboguide
objects are then moved based upon the least squares difference between these points
406
Calibrating your workcell
Fields included on the Calibration Tab include:
• Object to be calibrated: this selection appears for fixtures and machines. Since
fixtures can hold parts, you can calibrate the fixture and any parts that the fixture can
hold. Select the object to be calibrated from the drop down list box.
• General: fields include:
o TPP Name: calibration TP name.
o When calibrating EOAT or Parts in an EOAT:
 Touchup method: defines what UFRAME to use for the
calibration.
o When calibrating other objects in the workcell
 Controller: defines which robot controller in the workcell will be
used for calibration
 Group: The target group on the selected controller.
• Step 1: Teach in 3D World: when pressed you see the message:
Calibration program xxx has been created for object. Teach at least 3 points in the 3D
World at unique locations on the object. Whey you have finished, return to the
Calibration tab and press the ‘Store Points button.
NOTE: if you are calibrating a part that is on a line tracking link, Roboguide creates a
TPP tracking program to do the calibration. This provides the ability to use the same
tracking program on the actual workcell that is line tracking. Since with conveyor
tracking systems it is difficult to duplicate the location of the part carrier on a conveyor
the tracking system, the line tracking system is used to compensate for variability in the
location of the conveyor on the moving line. The key is to ensure that the part is
synchronized with the conveyor before doing any teaching.
It is important to choose features that can be taught in both Roboguide and the real
world.
• Step 2: Copy & Touch-Up in Real World: when pressed you get the message:
Calibration positions stored in memory – now would be a good time to save the
workcell. The calibration program CAL00049 was copied to: < directory >.
You must now load it onto the real controller and touch up each point at the
corresponding location in the real world. When this is done, save the touched up TPP
Calibrating your workcell
407
and copy it back to the same directory, overwriting the original.
• Step 3: Calibrate from Touch-Up. When pressed, Roboguide loads the new
calibration information and compares the original Roboguide taught calibration
positions with the points taught in the physical real workcell. A least squares fit
algorithm is applied. You see the following message describing the differences.
The calibration process has compared the TP positions and determined that the object
needs to be shifted in the following ways (relative to the robot): X, Y, Z, W, P, R offsets,
Least squares fit = xxx
Would you like to accept these results and shift the 3D object?
If you press OK the object is adjusted to reflect these changes.
Check the preview box to see the shift and OK to accept the shift.
Check the adjust TPP programs selection if you want to select TPP programs for which
to have positions shifted.
To calibrate a workcell object
Calibration of a workcell object moves the Roboguide workcell object to match the real
world object. When doing a workcell calibration you teach a program touching 3 points in
the real workcell and then touch the same 3 points in your Roboguide workcell. The
calibration process matches the location of the 3D object to its real world counterpart by
calculating the difference between points taught in the 3D world and the same points
touched-up in the real world. Roboguide objects are then moved based upon the least
squares difference between these points.
To calibrate a workcell object
1. Open the property page for the desired object. Fixtures, obstacles, and machines
can be calibrated. Parts associated with a fixture can be calibrated on the fixture
property page that has the association with the desired part.
2. Select the Calibration Tab. The calibration tab has fields to enable the calibration of
a workcell object.
Select the object to be calibrated in the "Object to Be Calibrated" dropdown.
3. Perform Step 1 on the calibration tab.
Teach 3 points that can also be taught in the real controller.
4. Perform Step 2 on the calibration tab.
Load the program in the real workcell and touchup the points to the real environment.
5. Perform Step 3 on the calibration tab.
Calibrating your workcell
408
Step 3 does the shift of the object to match the real world.
To calibrate a part within a fixture
Calibration of a workcell object moves the Roboguide workcell object to match the real
world object. When doing a workcell calibration you teach a program touching 3 points in
the real workcell and then touch the same 3 points in your Roboguide workcell. The
calibration process matches the location of the 3D object to its real world counterpart by
calculating the difference between points taught in the 3D world and the same points
touched-up in the real world. Roboguide objects are then moved based upon the least
squares difference between these points.
When calibrating a part, you calibrate the part location relative to the fixture it is located in.
If a part can be present in multiple fixtures, you can calibrate each part in fixture
association.
To calibrate a part object
1. Open the property page for the desired object. Parts associated with a fixture can be
calibrated on the fixture property page that has the association with the desired part.
2. Select the Calibration Tab. The calibration tab has fields to enable the calibration of
a workcell object. Select the desired part from the drop down list in the calibration tab.
3. Perform Step 1 on the calibration tab.
Teach 3 points that can also be taught in the real controller.
Note: if the selected fixture is on a conveyor linke on a line tracking system, the created
calibration program is a line tracking enabled program. This allows you to calibrate the
part on the conveyor. The key is to ensure that the tracking system is synchronized.
4. Perform Step 2 on the calibration tab.
Load the program in the real workcell and touchup the points to the real environment.
NOTE: if you are calibrating a part on a tracking system, ensure that the real world
robot has been synchronized with the conveyor syste.
5. Perform Step 3 on the calibration tab.
Step 3 does the shift of the object to match the real world.
When complete the part is shifted relative to the fixture location.
Calibrating your workcell
409
Procedure to have program points move when calibrating a workcell
The following procedure can be used for the following situations:
• If you want program positions to move when you calibrate an object you need to
attach the object you are calibrating to a robot uframe.
• If you have calibrated an object in your workcell, and the object has moved, but a
program that has been taught using the object as a reference to teach the positions did
not move when the object moved.
For positions to move when an object moves, the object must be attached to a robot
uframe. Use the procedure if you have not calibrated the object, and want the programs to
shift when the object is calibrated. In the event, that you have calibrated and the positions
did not move, you must move the object back to the position before calibration, attach an
object to a UFRAME, and calibrate again.
Procedure 1: attach an object to a UFRAME
When the object moves, programs taught with this UFRAME will move with it.
NOTE: it is essential that you use this UFRAME when you teach your program. See
Assigning a UFRAME to a program for a procedure
PalletPRO-Working with Unit Loads
410
16 PalletPRO-Working with Unit Loads
16.1 Unit Load Background information
About PalletPRO/PalletTool Unit loads
A unit load consists of all the units that are stacked in layers on a pallet. You must set up
the unit load before you can run PalletPRO /PalletTool. There are two types of unit loads:
• Standard Load - all layers contain the same product.
• Mixed Layer Load - each layer can be a separate product.
This section explains
• How to set up a unit load
• How to modify a unit load that has already been set up
When you set up a unit load you provide information that PalletPRO / PalletTool uses to
calculate positions and paths.
The following sections explain concepts that you must understand before you can set up a
PalletTool unit load.
Layers
PalletTool defines the unit load in terms of layers . A layer is a rectangular arrangement of
units in rows and columns.
All units in a layer must be the same size. The spacing between units in a layer must be the
same on all sides of the units.
When you use PalletTool you always define layer 1 first. Layer 1 is always the bottom
layer.
Slip Sheets
A slip sheet or tier sheet is a sheet of heavy paper or cardboard that is placed between the
layers of a unit load. Slip sheets provide added load stability, particularly when columnar
patterns are used. Some unit loads are built directly on a slip sheet or tier sheet, instead of
on a pallet.
NOTE PalletPRO will only allow you to set Slip Sheet thickness and to define between
which layers they are to be placed.
If your unit loads require slip sheets, you must
PalletPRO-Working with Unit Loads
411
• Enter complete layer spacing information during Unit Load Setup, for each unit load
that uses slip sheets
• Position the slip sheet magazine (container holding slip sheets) properly in the
workcell.
• Record the position registers used by the slip sheet program. PalletPRO sets a
default for this position automatically, since it has knowledge of the location of the slip
sheet dispenser in the workcell. The position can be modified on the slip sheet
dispenser property pages. Slip sheet search attempt information will automatically be
calculated from the position register information.
NOTE The slip sheet layer spacing information that you enter at the Setup Unit Load
menu is used internally to calculate the height of the unit load, and to call the slip sheet
programs. It is not used in the slip sheet programs.
Negative Layer Spacing
In order to palletize bags or other products that tend to settle or compress, negative layer
spacing is required. If you do not enter a negative value for layer spacing, lower layers get
compressed causing bags in higher layers to get dropped off quite high. Negative layer
spacing does not trigger the slip sheet program.
Pattern Type
The pattern type describes the way the units are oriented in a layer. A pattern is also called
a matrix or grid.
PalletTool uses one unique pattern type. PalletPRO provides additional pattern types. Each
layer in a unit load must have the same pattern type. However, the layers do not need to be
identical. Some layers in a unit load can be flipped. You must know what pattern type the
unit load will have.
Flip Type
PalletTool requires that all layers in a unit load have the same pattern type. However, that
pattern can be rotated, or flipped , from layer to layer for better load stability. When you set
up a unit load you define the flip type of each layer. Flip type refers to stacking pattern
differences between layers of a unit load.
A layer can have one of five flip types:
• Flip on Length: flips the pattern along the length of the pallet.
• Flip on Width: flips the pattern along the width of the pallet.
412
PalletPRO-Working with Unit Loads
• Flip on Length and Width: flips the pattern on both the length and width of the pallet.
• Rotate 90 degrees: rotates the pattern 90 degrees around the origin of the pallet.
• Not Flipped: the pattern is in the original orientation
Graphic views of flip types
A layer can have one of five flip types:
• Flip on Length: flips the pattern along the length of the pallet.
• Flip on Width: flips the pattern along the width of the pallet.
• Flip on Length and Width: flips the pattern on both the length and width of the pallet.
• Rotate 90 degrees: rotates the pattern 90 degrees around the origin of the pallet.
• Not Flipped: the pattern is in the original orientation
NOTE: Not all pattern types can be flipped all 4 ways.
Graphics of Flip Types
Flipped Around the Length
Flipped Around the Width
Flipped Diagonal
Rotated 90 Degrees
PalletPRO-Working with Unit Loads
413
16.2 PalletPRO Unit Load Property Pages
Working with PalletPRO Unitload Definition Property Pages
The unit load definition property pages provide fields to completely define / customize unit
loads for PalletPRO and PalletTool. There are numerous fields that can be defined. When
a unit load is created, common defaults are inputted into the fields.
The process of defining a unit load is broken into two areas, and the property pages reflect
this division.
• Unit Load Parameters: defines the characteristics of the unit, pallets, unitloads, and
palletizing pattern.
• Palletizing Parameters: defines the process taken to palletize the units defined in
the Unit Load Parameters property pages. This includes number of layers, flipped
layers, slip sheets, gripper types, case rates, cycle configuration, placements, and
optimal path settings.
The suggested way to use these property pages is to first configure you Unit Load
Parameters and then configure the Palletizing Parameters that control the process of
building the unit loads. Since the process is driven by the dimensions and patterns
suggested, it is important that the Unit Load Parameters be defined first.
As parameters are modified, the unit load is shown on Pallet Station 1 in your workcell. You
can immediately view the results of parameter changes.
You can navigate Configure Cycle, Placement Cycle and Unique Pattern Grids using
SHIFT + arrow keys. For instance, SHIFT + Right arrow will move the cursor one cell to the
right. When you are in a cell where a combo box exists, pressing the space bar will toggle
through the selections. Users are encouraged to use the shortcut navigation keys to quickly
complete their setup.
Using the Unit Load Parameters Property Page
The Unit Load Parameters Property page defines the characteristics of the unit, pallets,
unitloads and palletizing pattern. There are fields provided to define the detail of each of
these areas.
As parameters are modified, the unit load is shown on Pallet Station 1 in your workcell. You
can immediately view the results of parameter changes.
• General
o Selected Unit Load: shows the ULprogram number and the Product ID.
This is general information, and is used in the workcell object browser / Unit
PalletPRO-Working with Unit Loads
414
Load description field.
o Part Number: is the part number of the unit load. This number is used to
define the program that PalletPRO/ PalletTool will run during production.
PalletPRO enters defaults for this value when a new unit load is created.
o Customer Name: is a text field that can be used to uniquely identify
customer name.
o Product ID: The Product ID is a description of the product to be
palletized. It is used in the summary "Selected Unit Load" field. The Product
ID is displayed on the Teach Pendant.
• Unit Load Parameters Frame
o Common view information and settings
 Pack Pattern switch: if this option is enabled
 Normal Layer View: shows the palletizing pattern for currently
selected unit load parameters. As the Unit Load parameters are
changed this view is updated to reflect the layer with the selected
parameters.
In the event that parameters are changed such that the selected
pattern no longer has a valid solution, the words "No Solution
Available" will show in the view.
The length of a unit in the pattern is highlighted with and arrow at
the top left of the graphic. For each unit, only one length edge is
highlighted based on the following rule: if the length edge is
parallel to the length of the pallet, it is highlighted on the top. If
not, it is highlighted on the left.
This feature is useful to determine unit groupings when the units
are closer to a square than a rectangle.
 Flip Type: field to choose Flip Type for the selected pattern.
Only the available flip types are shown for the selected patter. If a
flip type is not available, the selection is grayed out.
 Flipped Layer View shows the flipped palletizing pattern for
the currently selected unit load parameters. As the Unit Load
parameters are changed this view is updated to reflect the flipped
layer with the selected parameters.
415
PalletPRO-Working with Unit Loads
In the event that parameters are changed such that the selected
pattern no longer has a valid solution, the words "No Solution
Available" will show in the view.
o Enter Dimensions Tab
 Units field: select mm or inches
 Unit Dimensions
• Length, Width, Height: defines the size parameters
for the unit to be palletized.
NOTE: as you change the dimensions and press
Apply, you immediately visualize the changes to you
unit load on Pallet Station 1 in your workcell.
• Skin Image File: this is an image file that will show
on the unit faces. Logos, brand images, or other
images can be used to make the palletizing look more
like actual product.
NOTE: image size affects how the image shows on a
product. If you have large units, they can display
larger images. If a skin image is too large for the unit
the image may not show on the box. To make the
image show, resize the image using a third party tool
(Paintbrush) to a smaller size and then select it as the
skin image.
NOTE: as you change the image and press Apply,
you immediately visualize the changes to you unit
load on Pallet Station 1 in your workcell.
 Pallet Dimensions
• Length, Width, Height: defines the size parameters
of the pallet on which the unit load is stacked.
 Max Unitload Dimensions
• Length, Width, Height: defines maximum length,
width, and height of the entire unit load. The height
should be measured from the bottom of the first layer
416
PalletPRO-Working with Unit Loads
on the pallet. Once you enter these values, they
should not be exceeded. However, actual patterns
can be smaller than the specified maximum
dimensions.
NOTE:
o Select Pattern Tab
 Patterns
• Show Solutions for Pattern: allows you to display
the solutions for different patters. A selected pattern
may have more than one solution.
o Column
o Interlock
o Trilock
o Spiral
o Brick
o Diagonal
o Aug Diagnol
o Optimal
o Unique
o All
• Solutions count: shows the number of solutions for
the selected pattern
• Pack Pattern checkbox: Used only for the
Interlocking pattern type. Removes spaces between
boxes to pack the boxes close together.
417
PalletPRO-Working with Unit Loads
• Solution grid: shows the detail for the solutions that
PalletPRO found for the selected pattern. Units per
layer, Units per Unit Load, and pallet efficiency are
shown. Pallet efficiency is the total area of the boxes
in the pattern divided by the total pallet area. To
increase the number of units in a unit load, the
unused space should be minimized, resulting in a
higher pallet efficiency.
NOTE: if you select All for the pattern type, PalletPRO
shows solutions for all of the patterns in the Solution
grid.
 Unit Load Seating: depending on the seating type you select
you can shift the entire unit load on the pallet, by changing the X
and Y offset values. Seating types are selected from the drop
down box.
• Centered on Pallet: If you want the unit load
Centered along length and width of the pallet, you do
not have to enter any offset values for X or Y. The unit
load will be centered perfectly on the pallet. This is the
default.
• Centered on length: If you want the unit load
Centered along length of the pallet, enter an offset
value for Y.
• Centered on width: If you want the unit load
Centered along width of the pallet, enter an offset
value for X.
• Custom Offset: If you want the unit load Not
Centered on the pallet, enter an offset value for both
X and Y.
• Length, Width: seating offset values. Fields become
available when appropriate based upon seating type
chosen.
PalletPRO-Working with Unit Loads
418
Defining a unique pattern
You can define a unique pattern. A unique pattern is one where you define the unit offsets
for a layer. A unique pattern type is selected on the Select Pattern Tab, after the unit
definitions are made on the Unit Load Parameters property page .
To define a unique pattern
1. Select the Select Pattern Tab on the Unit Load Parameters property page
2. Select Unique under the Show Solutions for Pattern dropdown list box.
The graphics in the Normal Layer view and Flipped Layer view change to enumerate
that the views can be uniquely manipulated to define a Unique layer.
3. Select the Edit Unique button in the Patterns tab.
The view of the pattern layout changes to a graphic and a grid that describes the
position and orientation of each box defined in the unique layer.
4. Select the Type of unit from the Type: dropdown list.
o Valid types include: Box, Bag or Cylinder
5. Modify the grid to match your desired results: There are multiple ways to modify:
o Left Click and drag units in the graphic area to there desired locations.
o Directly enter the x, y, and orientation in the grid.
6. When complete press the Accept Pattern button
7. Press Apply
The load defined is updated on the pallet in the 3D CHUIWorld.
PalletPRO-Working with Unit Loads
419
Using the Unit Load Palletizing Parameters Property Page
The Palletizing Parameters Property Page defines the process taken to palletize the units
defined in the Unit Load Parameters property pages. This includes number of layers,
flipped layers, slip sheets, gripper types, case rates, cycle configuration, placements, and
optimal path settings.
• General
o Selected Unit Load: shows the Ulprogram number and the Product ID.
This is general information, and is used in the workcell object browser / Unit
Load description field.
o Part Number: is the part number of the unit load. This number is used to
define the program that PalletPRO/ PalletTool will run during production.
PalletPRO enters defaults for this value when a new unit load is created.
o Customer Name: is a text field that can be used to uniquely identify
customer name.
o Product ID: The Product ID is a description of the product to be
palletized. It is used in the summary "Selected Unit Load" field. The Product
ID is displayed on the Teach Pendant.
• Palletizing Parameters Frame
o Configure All Normal or Flipped Layers Together: when selected all
normal layers and flipped layers are configured together. Modifications
made on the Configure Cycles Tab effect all normal or flipped layers,
respectively. When this is selected, Configure Each Layer Individually is
unchecked.
o Configure Each Layer Individually: when selected all layers can be
configured separately. You select the desired layer in the Pallet Layer
configuration graphic. Configuration for each layer is done on the Configure
Cycles Tab.
o Layers number: is the number of layers in the unit load.
o Pallet Layer configuration graphic: is where you configure the unit load
for flipped layers and slip sheets. The unit load is graphically shown by
layer. If a slip sheet is added or if a layer is flipped, you graphically see
where the slip sheet is in the load and which layers are flipped. To flip a
layer in the unit load click here. To add a slip sheet click here.
PalletPRO-Working with Unit Loads
420
o Current Pattern Graphic: shows the current selected pattern. As you
change the layer in the Pallet Layer configuration graphic the current pattern
graphic changes to reflect the normal and flipped patterns. Note: when
running production the unit at the top left of the graphic will be placed at the
origin as defined for the pallet station. This is true for normal and flipped
layers.
The length of a unit in the pattern is highlighted with and arrow at the top left
of the graphic. For each unit, only one length edge is highlighted based on
the following rule: if the length edge is parallel to the length of the pallet, it is
highlighted on the top. If not, it is highlighted on the left.
This feature is useful to determine unit groupings when the units are closer
to a square than a rectangle.
o Process Parameters: provides settings for unit load specific gripper type,
speed override, and case rate.
 Gripper: select the gripper type for this unit load.
NOTE: you also define gripper type on the End of arm tooling
property pages. The unit load gripper definition is the end of arm
tooling that is used for the unit load. The end of arm tooling
property page gripper definition allows you to define Gripper IO.
 Speed Override: is the speed override while a unit is in the
robot gripper.
 Case Rate: is the rate at which units are fed on the infeed.
Several factors can effect the flow of units.
o Configure Cycles Tab: allows you to change pick and place sequences,
place approach motions, place rotations, and other individual palletizing
process parameters. This screen is used mainly for customizing the original
palletizing sequence that the PalletTool software automatically determines.
This is sometimes required because of workcell restrictions such as
columns, walls or other objects that make palletizing with the original
sequence impossible.
Using the tables provided you configure each pick and place. In the Layer
Cycles Frame you control how units are fed on the infeed and configure how
single or multiple units are picked and placed.
You can navigate Configure Cycle, Placement Cycle and Unique Pattern
Grids using SHIFT + arrow keys. For instance, SHIFT + Right arrow will
move the cursor one cell to the right. When you are in a cell where a combo
421
PalletPRO-Working with Unit Loads
box exists, pressing the space bar will toggle through the selections.
 Layer Cycles Frame
• Layer / Cycle detail process definition grid:
The Configure Cycles / Layer Cycles grid allows you
to change the original pick and place sequence for the
layer selected in the Pallet Layer configuration graphic
above the grid.
Each row of the grid represents a pick and place cycle
during palletizing.
The number of rows changes based upon the Gripper
Type you choose in the Process Parameters Frame. If
you have a gripper type that can pick and place
multiple units, the grid changes to show the pick and
places per cycle for that gripper type.
Click here for more information on the use of this grid.
Each number in this column represents the position of
a box in the unit load layer shown in the Pallet Layer
configuration graphic.
• Use Cycle 1 Infeed Orientation for All Cycles
Button: provides a quick mechanism to change
infeed orientation for all cycles.
• Unit groupings: allows you to quickly changing the
grouping between units based on the following
criteria. Note: To select a row or column, make sure
that you click on a cell representing the row or column
before using the Unit groupings combo
o All & - Changes the grouping to "&"
throughout the configure cycle grid
o All ; - Changes the grouping to ";"
throughout the configure cycle grid
o Row & - Changes the grouping to "&"
for the selected row
422
PalletPRO-Working with Unit Loads
o Row ; - Changes the grouping to ";" for
the selected row
o Col & - Changes the grouping to & for
the selected column
o Col ; - Changes the grouping to ; for the
selected column.
• Insert Cycle Button: used to add cycles at the end
of a layer.
• Delete Cycle Button: used to delete cycles from
the end of a layer.
 Normal Layer, Cycle Placements Frame
• Placements detail setup grid: the Placements
Adjustment table also allows you to optimize the
placement path of each box. The modifications to the
approach directions effect the values entered on the
Optimal Path Tab. Each place can be modified
uniquely. The following list provides detail on each
parameter in the table:
o Place Rotation: the placement of each
box can be modified to either:
0 (no placement rotation)
180 degree placement
rotation
o Pallet Approach Length: used to
optimize the placement path for an
individual box along the length of the
pallet.
+ the robot will use the
original approach length
set in optimal path.
- the robot will use the
negative of the approach
length set in optimal path
423
PalletPRO-Working with Unit Loads
o Pallet Approach Width: used to optimize
the placement path for an individual box
along the width of the pallet.
+ the robot will use the
original approach width
set in optimal path.
• the robot will use
the negative of the
approach width set
in optimal path
o Optimal Path Tab
 Optimal Path customization is critical in optimizing palletizing
cycle throughput.
 A path is the route the robot takes to go from one place to
another. An optimal path is the best path the robot can take to
perform the application. Optimal path data adjusts the path of the
robot to avoid obstacles in the workcell and/ or to minimize cycle
time. The Optimal Path Tab includes several items that you can
set. Each item affects a specific component of the robot path.
 You can customize the palletizing sequence to change how the
gripper places the parts on the pallet, and to customize the
approach positions relative to any placement position on the
pallet. You first define the defaults on the optimal path tab and
then, if desired, change them per place on the Placements detail
setup grid on the configure cycles tab.
 The optimal path Approach / Retreat Offsets grid enables the
definition of Infeed Approach and Retreat distances, and Pallet
Approach and Retreat distances.
 Click here for more detail on using the Optimal Path Tabs
Approach / Retreat Offsets grid.
PalletPRO-Working with Unit Loads
424
Using the Layer Cycle detail process definition grid
The grid allows you to change pick and place sequences. This screen is used mainly for
customizing the original palletizing sequence that the PalletTool software automatically
determines. This is sometimes required because of workcell restrictions such as columns,
walls or other objects that make palletizing with the original sequence impossible. You can
also define the orientation of the units at the infeed on a per-pick basis for improved cycle
time.
IMPORTANT NOTE: the configuration determines how units will be palletized during
a production simulation, and on an actual robot. Whatever changes you make will be
seen on the robot. Little error checking is done because the user is allowed to
configure their system to optimize their process.
The grid allows you to change the original pick and place sequence for the layer selected in
the Pallet Layer configuration graphic above the grid.
Pallet Layer configuration graphic
What the grid shows:
Note: what is shown in the grid is the processing information for the selected layer in the
Pallet Layer configuration graphic.
Rows: Each row of the grid represents a pick and place cycle during palletizing.
The number of rows changes based upon the Gripper Type you choose in the
Process Parameters Frame. If you have a gripper type that can pick and place
multiple units, the grid changes to show the pick and places per cycle for that
gripper type.
Columns: columns provide process information that can be modified to change how pallets
are processed. The number of columns changes based upon the Gripper type selected in
the Process Parameters frame. Column types include:
• Infeed Pick Orientation: defines the orientation of the box at the infeed pick location.
Selections include:
o Width on Length: means that the shortest side (the width) of the unit is on
the longest side of the pallet or infeed conveyor
o Length on Length: means that the longest side (the length) of the unit is
on the longest side of the pallet or infeed conveyor.
PalletPRO-Working with Unit Loads
425
Infeed Unit Orientation, Facing Conveyors
• XX Drop: the number of drop columns depends on the gripper type selected in the
Process Parameters Frame. The number in each field defines what unit number will be
picked in the selected cycle. Numbers correlate to what is shown in the Current Pattern
Graphic. Initially, PalletPRO populates the cycle grid based upon the selected pattern.
• Group: defines how the units will be grouped when picking and placing.
• & - simultaneous placement for palletizing
• ; - individual placement for palletizing
• * - placement on next layer for palletizing. See Breaking the
layer barrier.
NOTE When units are grouped as simultaneous (&), there is no spacing between
them. All units in this pick and place cycle are placed (P ) or picked (D )
simultaneously from the location of the first unit in the placement (P ) or pick (D ).
For example:
If you want equal spacing between units, you need to do a 1;2;3 unit grouping
How to use the grid:
Some examples help to understand the how to use the grid. A key to notice is that the robot
will do exactly as the grid shows. What you see is what you get.
Example 1: Normal use of Individual Placement (;)
Configuration: Double case gripper,
Interlock Pattern: , Table:
What does the grid say:
• This is configuration for Normal Layers – seen in the Frame title
• There are 5 pick and place cycles
• Units are fed on the conveyor width on length.
• Cycle 1 Picks both units 1 and 2 in a single pick with the double case gripper
• The robot places unit one on the pallet, moves off the pallet, and then places unit 2.
PalletPRO-Working with Unit Loads
426
• The cycles are repeated for the remaining unts.
Example 2: Use of Infeed Orientation with simultaneous placement (&)
Configuration: Double case gripper.
Interlock Pattern:
, Table:
What does the grid say:
• This is configuration for Normal Layers – seen in the Frame title
• There are 5 pick and place cycles
• Cycle 1 has unit orientation of length on length. Units 1 and 2 will be picked and
placed simultaneously
• Cycle 2 has unit orientation of width on length. Picks both units 3 and 4
simultaneously. Places unit 3, moves the robot, and places unit 4 (individually)
• Cycle 3 has unit orientation of length on length. Units 5 and 6 will be picked and
placed simultaneously
• Cycle 4 and 5 have unit orientation of width on length. Picks units simultaneously and
places individually.
Example 3: Use of infeed orientation, modified picks with double gripper.
Configuration: Double case gripper.
Interlock Pattern: , Table:
What does this grid say:
While not very efficient the sequence is altered.
• This is configuration for Normal Layers – seen in the Frame title
• There are 6 pick and place cycles
• Cycle 1has a unit orientation of Width on Length, and has a single pick and place
with unit 1.
• Cycle 2 has a unit orientation of Length on Length. Units 2 and 3 are picked and
PalletPRO-Working with Unit Loads
427
placed simultaneously.
• Cycle 3has a unit orientation of Width on Length, and has a single pick and place
with unit 4.
• Cycle 4 has a unit orientation of Length on Length. Units 5 and 6 are picked and
placed simultaneously.
• Cycles 5 and 6 have a unit orientation of Width on Length. Units are picked and
placed simultaneously.
Example 4: (BAD) misuse of processing parameters could create undesirable results.
Configuration: Double case gripper.
Interlock Pattern: ,Table
What does the grid say:
The results of this grid would not be nice.
• This is configuration for Normal Layers – seen in the Frame title
• There are 5 pick and place cycles
• All infeed pick orientations are Width on Length.
• Cycle 1 will pick units 1 and 2, place unit 1, return to the infeed to pick unit 2 (but gets
3 and collides with the original pick unit 2), and places the unit it picked (3) into the #2
placement point in the pattern.
• Cycle 2 picks 3 and 4 simultaneously and places 3 and 4 simultaneously. The units
end up being placed at locations 3 and 6 in the pattern.
There is no unit ever placed in location 4 in the pattern (it was left in cycle 2 in the
wrong location).
• Cycle 3 picks units 5 and 6n simultaneously, place 5 in the correct location and
places 6 in the correct location. When unit 6 is placed it is placed into the incorrect unit
that was misplaced in cycle 2.
PalletPRO-Working with Unit Loads
428
Using the Palletizing Parameters Property Page Optimal Path Tab
A path is the route the robot takes to go from one place to another. An optimal path is the
best path the robot can take to perform the application. Optimal path data adjusts the path
of the robot to avoid obstacles in the workcell and/ or to minimize cycle time. The Optimal
Path Tab includes several items that you can set. Each item affects a specific component
of the robot path.
You can customize the palletizing sequence to change how the gripper places the parts on
the pallet, and to customize the approach positions relative to any placement position on
the pallet. You first define the defaults on the optimal path tab and then, if desired, change
them per place on the Placements detail setup grid on the configure cycles tab.
The optimal path Approach / Retreat Offsets grid enables the definition of Infeed Approach
and Retreat distances, and Pallet Approach and Retreat distances.
The grid has rows to define:
• Infeed Approach: length, width and height
• Infeed Retreat: height
• Pallet Approach: length, width and height
• Pallet Retreat: height
You can click on any of the rows to see a graphic that displays how the parameter effects
the palletizing process.
NOTE: the numbers entered are defaults. The defaults remain the same regardless of
other changes made on unit load information and properties.
About Optimal Path customization
A path is the route the robot takes to go from one place to another. An optimal path is the
best path the robot can take to perform the application. Optimal path data adjusts the path
of the robot to avoid obstacles in the workcell and/ or to minimize cycle time. The Optimal
Path SETUP Menu includes several items that you can set. Each item affects a specific
component of the robot path.
Use the Optimal Path Palletizing Parameters Page screen during initial setup to:
• Indicate which gripper is used to carry the unit load
• Customize palletizing order and placement techniques
PalletPRO-Working with Unit Loads
429
• Fine tune the pick-and-place paths that the robot takes during each palletizing cycle
• Indicate offsets from the pallet origin and the unit load origin on the pallet (unit load
seating)
Customizing the Palletizing Sequence
You can customize the palletizing sequence to customize how the gripper places the parts
on the pallet, and to customize the approach positions relative to any placement position on
the pallet.
You can specify a sequence where the robot will pick units and then drop off the units
required to complete the layer and place any remaining units in the gripper on the next
layer. This feature is called breaking the layer barrier .
Using a Gripper with More than Two Cases
When you use a gripper with more than two cases, or when you use a fork/bag gripper, you
must determine the optimal palletizing sequence for your application. There are several
things you should consider:
• Collisions with the peripheral equipment in your workcell and with the robot itself.
• Be aware of the size of the units and the length of the gripper.
• The best sequence for optimal cycle time might not be practical for your workcell. For
example, when you pick up three boxes and place the first box individually, the two
boxes that still remain in the gripper might overhang the pallet. They could crash into
surrounding equipment if there is not enough room.
• The pick up arrangement on the gripper (length on length or width on length). Keep in
mind that this is also how the boxes will be placed.
NOTE The Layer Cycles Frame can be used for all grippers, but MUST be used for
grippers with more than two cases and for all fork/bag grippers.
PalletPRO-Working with Unit Loads
430
Breaking the layer barrier
For increased throughput and reduced cycle time, the Configure Cycles / Layer Cycles grid
allows you to change the original pick and place sequence for the layer selected and allows
you to break the layer barrier. Breaking the layer barrier is done when the robot places (P )
or picks (D ) units on the pallet to complete a layer, but still has units left in the gripper.
These remaining units can then be placed on (P ) or picked from (D ) the next layer.
Breaking the layer barrier reduces the number of pick and place cycles it takes to complete
a unit load.
In the following figure, units 11 and 1 are grouped together with an (*). This signifies the
robot will pick two units from the infeed, place the first unit in the gripper as unit 11 of layer
1, then place the remaining unit in the gripper as unit 1 of layer 2.
For the defined unit load, there is a total of 11 pick and place cycles to complete the two
layers. If the layer barrier was not used, pick number 6 of layer 1 would have to place a
single unit and pick number 1 of layer 2 would also have to place a single unit, resulting in
12 total pick and place cycles to complete the 2 layers. One complete pick and place cycle
has been eliminated by breaking the layer barrier.
16.3 Common procedures with unit loads
To flip a layer in a unit load
Layers can be flipped in a unit load. You do this by working with the Pallet Layer
configuration graphic The graphic is interactive. It can be modified by clicking on a desired
layer, pressing the right mouse key which brings up a menu that includes flipping the layer.
To flip a layer on a unit load
1. Open the desired unit load
The Unit Load Setup Property page is opened.
2. Select the Palletizing Parameters Property page button
3. In the Pallet Layer Configuration graphicPallet_Layer_Configuration_Graphic right
click on the layer that you want to flip
4. Select the Flipped Layer item.
The layer should now show as flipped in the graphic.
5. Press OK or Apply to save the change
PalletPRO-Working with Unit Loads
431
To add a slip sheet to a unit load
Slip sheets can be added between layers in a unit load. You do this by working with the
Pallet Layer configuration graphic The graphic is interactive. It can be modified by clicking
on a desired layer, pressing the right mouse key which brings up a menu that includes
adding slip sheets.
Slip sheets support negative layer spacing. If you add a slip sheet to a layer, and then enter
a negative number for the slip sheet height it has the effect of "squishing" the layers. When
the simulation runs, you see the boxes get placed (squished) into the lower layer.
To add a slip sheet to a unit load
1. Open the desired unit load
The Unit Load Setup Property page is opened.
2. Select the Palletizing Parameters Property page button
3. In the Pallet Layer Configuration graphicPallet_Layer_Configuration_Graphic right
click on the layer that you want to add a slip sheet above or below
4. Select the Add slip sheet above, or the Add slip sheet below option.
The layer should now show with a slip sheet in the graphic.
5. Press OK or Apply to save the change
To change flip type for a unit load
Patterns can be flipped in multiple ways. You define this on the Unit Load Parameters page
of the Unit Load Setup Property Pages
A layer can have one of five flip types (see graphics of flip types):
• Flip on Length: flips the pattern along the length of the pallet.
• Flip on Width: flips the pattern along the width of the pallet.
• Flip on Length and Width: flips the pattern on both the length and width of the pallet.
• Rotate 90 degrees: rotates the pattern 90 degrees around the origin of the pallet.
• Not Flipped: the pattern is in the original orientation
PalletPRO-Working with Unit Loads
432
Only valid flip types are enabled options when selecting different patterns.
To define flip type for a selected pattern in a unit load
1. Open the desired unit load
The Unit Load Setup Property page is opened.
2. Select the Unit Load Parameters Property page button
3. In the common area the Flip Type frame shows the available flip types for the
selected pattern.
4. Select the desired flip type.
The radio button associated with the flip type should bow be selected
5. Press OK or Apply to save the change
To change the dimensions of units or pallets
Unit loads are defined by unit palletizing. The size of units and pallets being processed
effects several different unit load parameters. For example, making a unit dimension
smaller allows for more units to be placed per layer. PalletPRO automatically adjusts many
parameters when unit dimensions are changed to optimize the process.
To change the dimensions of units or pallets.
1. Open the desired unit load
The Unit Load Setup Property page is opened.
2. Select the Unit Load Parameters Property page button
3. On the Enter dimensions tab you see fields to define Unit Dimensions and Pallet
Dimensions.
4. Select the desired field and enter the desired value.
5. Press OK or Apply to save the change
PalletPRO-Working with Unit Loads
433
To change the image shown on box sides
You may change the image ("skin") shown on the outside faces of units. You do this on the
Unit Load Palletizing Parameters property page.
1. Open the desired unit load
The Unit Load Setup Property page is opened.
2. Select the Unit Load Parameters Property page
3. On the Enter dimensions tab there is a field for skin image file. Enter the filename or
browse to the desired image file. Note: large images may not show up on small boxes.
4. Press OK or Apply to save the change
To change the palletizing pattern used for a unit load
A unit load may have several different patterns that can be used to achieve desired
processing results. The pattern used may be changed as desired.
To change the palletizing pattern used for a unit load
1. Open the desired unit load
The Unit Load Setup Property page is opened.
2. Select the Unit Load Parameters Property page Page button
3. On the Select Pattern tab there is a field for selecting the solutions for pattern.
Select the your desired pattern from the list.
4. Press OK or Apply to save the change
To position a unit load on a pallet
Depending on the seating type you select you can shift the entire unit load on the pallet, by
changing the X and Y offset values.
To position a unit load on a pallet
1. Open the desired unit load
The Unit Load Setup Property page is opened.
PalletPRO-Working with Unit Loads
434
2. Select the Unit Load Parameters Property page button
3. On the Select Pattern tab there is a field for selecting Unit Load Seating. Select the
your desired seating type and enter the appropriate length and width values where
appropriate..
4. Press OK or Apply to save the change
Running a Program
435
17 Running a Program
Running a program
Roboguide /PRO products have several features for running a program:
• Program control panel toolbar buttons
• Program control run panel window: The run panel windows has the control panel
buttons and run options.
• Program Profiler: the profiler provides cycle time information and settings for
displaying program details. Details include settings for viewing programs by speed,
acceleration, or orientation change.
Roboguide simulation software has multiple ways to run a program. The Roboguide
simulation software toolbar has Operator Panel buttons to control programs and the Run
Panel window has buttons to control programs and run options. You use one of these
functions to run programs.
When running multi robot workcells Roboguide simulation software synchronizes the virtual
robot and shared IO to give accurate multiple robot timing. For more information regarding
running multiple robot workcells see Running multiple robot workcells.
About the Program Run Panel
The program Run Panel allows you to control a program and to set run options.
Control functions include:
• Create an AVI : the program runs and generates an AVI movie file. Options selected
on the run panel are used.
• Run the program : runs the program from the start. For more information regarding
running multiple robot workcells see Running multiple robot workcells.
• Hold the program: holds the program
• Abort the program: aborts the program
• Reset the robot: sends a reset to the virtual robot controller
Running a Program
436
Program options include: Note: all options are not available to all PRO plug-ins.
• Refresh Rate: is the number of screen updates the 3D CHUIWorld performs per
second. This setting effects performance. As the number is increased the robot moves
smoother, but slows down because the screen is forced to update faster. Changing this
setting takes effect immediately.
• Collision detect enable: when checked collisions are detected between the robot
and its tooling with objects in the workcell.
• Collect TCP Trace enable: when checked, and the Profiler is open the actual robot
TCP Trace is shown on the screen. Changing this setting takes place the next time the
program is run.
• Run Program in Loop enable: when checked the program runs in a loop. If the
collect TCP Trace option is enabled and the Profiler window is open Roboguide
simulation software does not add consecutive runs to the profiler data, but updates the
current run continuously. Changing this setting takes effect immediately.
• Taught Path Visible enable: when checked the taught path Nodemap is displayed
on the screen. Changing this setting takes effect immediately.
• Hide Windows enable: when checked all open windows are closed before the robot
begins to run. Windows are re-opened when the program run ends. Changing this
setting takes place the next time the program is run.
• Refresh Display enable: when checked the display is refreshed and objects move
on the screen. When not checked, objects do not move, but the robot runs the program.
The Profiler continues to update cycle time information, and TP Trace is shown. This is
used to increase performance to collect cycle time data. Changing this setting takes
effect immediately.
• Compress AVI enable: when enabled the created AVI file of the simulation is
compressed. This significantly reduces the file size of the created AVI file. Changing
this setting takes place the next time the program is run.
• Show Process Animations: depending on the Roboguide PRO product running, the
PRO software animates the EOAT when a process statement is executed in the robot
TP program. For example, when WeldPRO is running a program a simulated arc is
shown when an Arc Start occurs. For PaintPRO a simulated paint cone is shown when
a gun on is executed.
If the option is checked the animation occurs, if it is not checked (disabled) no
animation is shown.
Running a Program
437
• Simulation time on AVI: when checked a time is displayed on the AVI.
• Abort on fault: when selected the simulation is aborted when a fault occurs.
Controlling a program from the toolbar
The toolbar buttons on the Roboguide simulation software toolbar allow you to control a
program. Functions include:
• Create an AVI (): the program runs and generates an AVI movie file. Options
selected on the run panel are used.
• Run the program (): runs the program from the start. For more information regarding
running multiple robot workcells see Running multiple robot workcells.
• Hold the program (): holds the program
• Abort the program (): aborts the program
• Reset the robot (): sends a reset to the virtual robot controller
To control a program from the toolbar
1. If not selected, select the desired program to run from the cell browser.
Click the left mouse button for the desired function as described above.
Controlling a program from the run panel
The menu bar buttons tons on the Roboguide simulation software Run Panel window allow
you to control a program. Functions include:
• Create an AVI (): the program runs and generates an AVI movie file. Options
selected on the run panel are used.
• Run the program (): runs the program from the start. For more information regarding
running multiple robot workcells see Running multiple robot workcells.
• Hold the program (): holds the program
Running a Program
438
• Abort the program (): aborts the program
• Reset the robot (): sends a reset to the virtual robot controller
To control a program from the run panel
1. If not selected, select the desired program to run from the cell browser
2. Open the run panel window
3. Click the left mouse button on the desired function as described above
Running multiple robot workcells
Roboguide simulation software synchronizes motion and IO for all robots in multi robot
workcells. This provides accurate motion execution information.
Some PRO process plug-ins have their own run menu processing (PaintPRO, PalletPRO).
For PRO process plug-ins that don’t have a specific run menu, the currently selected
program on each virtual robot is run when the Run the program button is pressed.
Viewing program status in the TP Editor window
To view program status in the TP Editor windows
1. Open the Program Teach Window with the desired program.. The teach pendant
program is shown.
Note: you may have to open the TP window and use the virtual teach pendant windows
Select screen to select the program.
When you run your program the Program Teach window updates.
For the simulation editor, the current executing line is highlighted in green. The pre-planned
lines are highlighted in yellow.
Running a Program
439
Viewing taught paths while running
As program lines are created, a nodemap is created which shows each position connected
with lines in the 3D CHUIWorld.
To view the theoretical taught paths (nodemap) while running
1. Open the Run Panel window
2. Enable the Taught Path Visible run option
To see both the TCP Trace and the taught path ensure both the Collect TCP Trace
and Taught path visible options are selected.
Detecting collisions while running a program
As the robot moves through a simulation, the robot, its end of arm tooling, and, if present,
parts in the end of arm tooling are checked for collisions with objects in the workcell.
To enable and view collisions while running
1. Open the Run Panel window
2. Enable the Collision Detect run option.
Setting the Refresh Rate
The screen refresh rate is the number of screen updates the 3D CHUIWorld performs per
second. This setting effects performance. As the number is increased the robot moves
smoother, but slows down because the screen is forced to update faster. Changing this
setting takes effect immediately.
To set the screen refresh rate
1. Open the Run Panel window
2. Slide the Refresh Rate slider bar to the desired setting. A higher rate will cause the
simulation to run slower
Running a program in a loop
A program can be run continuously in a loop. When this option is selected the selected
program will run until held or aborted. The Profiler does not continue to collect data on each
Running a Program
440
run, but refreshes the latest display.
17.1 About PalletPRO Simulation
Using the Simulation Cycle Start Page
The Simulation Cycle Start Page presents fields to define how you want your simulation to
run. You define what unit load to run on which infeed and which pallet.
The page is opened either from the Main Menu -> Test-Run menus, or is show when the
Run button is selected from the Run Panel.
A table is provided where you input a desired configuration to run. Fields include:
• #: the row number in the table
• Unit Load: the desired unit load to run
• Pick: the infeed to be picked from
• Place: the pallet to be placed on
There is also a check box to not show the Cycle Start Page again. If you do this, when you
press Run from the run panel, PalletPRO will execute the last configuration you entered.
You can uncheck this option by opening the Simulation Cycle Start Page from the Main
Menu > Test-Run -> Cycle Start selection.
Using the Simulation Cycle Start Page
The Simulation Cycle Start Page presents fields to define how you want your simulation to
run. You define what unit load to run on which infeed and which pallet.
The page is opened either from the Main Menu -> Test-Run menus, or is show when the
Run button is selected from the Run Panel.
A table is provided where you input a desired configuration to run. Fields include:
• #: the row number in the table
• Unit Load: the desired unit load to run
• Pick: the infeed to be picked from
• Place: the pallet to be placed on
Running a Program
441
There is also a check box to not show the Cycle Start Page again. If you do this, when you
press Run from the run panel, PalletPRO will execute the last configuration you entered.
You can uncheck this option by opening the Simulation Cycle Start Page from the Main
Menu > Test-Run -> Cycle Start selection.
To define infeeds and pallets for a production simulation
The configuration to run for simulation is entered on the Simulation Cycle Start Page.
To define a production run
1. There are two ways to access the Cycle Start Page.
o Press Run from the Run Panel. If you have not selected the "Don’t show
this page at cycle start" option in the Simulation Cycle Start Page, the Cycle
Start page is shown.
o Open from the Main Menu -> Test-Run -> Cycle Start.
2. Use the fields in the table to define the production run.
About the Production Data Page
The Production Data Page provides cycle information for a running simulation. A table is
presented that shows the following data.
• Cycle #: one of the unit load cycles.
• Unit Load: the unit load program being run on the robot.
• Layer: the current layer being palletized.
• Unit: the current Unit being palletized.
• Rate: the throughput rate of the cycle #:
• Product ID: the Product ID defined for the Unit Load being run.
Additional functions are provided on the page.
Running a Program
442
• Robot Run Time: The time the robot has run for this simulation.
To define a partial layer production run
The number of layers and units can be defined for an initial condition when running a
palletizing simulation.
To define a partial layer production run
1. Run the sequence
2. On the Simulation Cycle Start page you enter the layer and unit number for each
palletizing sequence.
3. Press Start
The pallets are configured in an initial state as defined on the cycle start page before the
simulation begins.
443
Example
18 Example
After you install and run the environment we create a new project. To this end, the menu
"File" select the "New Cell". At the beginning we have to configure the basic parameters of
our project. In this activity helps us to 8-point "Workcell Creation Wizard" - Figure 1.
Figure 1. Workcell''''Creation Wizard.
In the various steps configure:
•
•
•
•
•
•
•
•
Step 1 - Name of the project,
Step 2 - design a virtual robot - to create a new job, we use data from a backup copy
or create a robot from another project,
Step 3 - choose the software, which is to be equipped robot - it is important to note
that the default setting is "Handling Tool" in the U.S.,
Step 4 - select the type of family and job for which you want to write a program
Step 5 - select the version of software, which is equipped with a robot - this section is
relevant if what we shall ROBOGUIDE in the software, we will send a robot to an
existing fact, then it is important to the compatibility version,
step 6 - Configuration of external axes, which can be equipped robot,
Step 7 - options work - please note that the default setting of "Robot Languages" in
Japanese,
Step 8 - summary.
In this way, the environment and have a job.
Now items from the environment and the detail work, which we will move.
To add the table as well as palette, right-click mouse button in the "Cell Browser" to "Fixture"
444
Example
and select "Add Fixture -> CAD Library" - Figure 2. In this way, we call a library of readymade with the supplied software ROBOGUIDE. With this library you choose either a table or
tray, which satisfy the assumptions of our project. If the finished items, we can not find
proper, we can specify the path to a place where there are files with extensions or IGS CSB click the right mouse button under the "Cell Browser" to "Fixture" and select "Add Fixture ->
CAD File." In this way, we can expand our virtual space for any items.
Figure 2. Adding items from the library ROBOGUIDE.
Added "table" and "palette" place in the space provided in the work done.
Now add a box to be transmitted by the robot element, namely a "Parts". For this purpose,
click the right mouse button under the "Cell Browser" on the "Add Part -> Box. Once you do
that, you are in the element that will be visible only during the learning done, but will not be
visible during the simulation - Figure 3.
445
Example
Figure 3. Adding Parts of''type''and the properties of elements.
Each item, which is located in our project has its own characteristics. The window with the
characteristics we call double-clicking on the item under the "Cell browser. Also, we added
the "box" has its own characteristics - Figure 3. Ustalmy dimensions on the box: Size in X:
430 mm Size in Y: 430 mm Size in Z: 250 mm.
Figure 4. Configuration lewis - part 1.
Robot can move to "box", we need to have the eye-catcher. To this end, double-click on the
"Cell Browser" to "Robot Controllers -> Robot Controller1 -> GP :1-R2000iA / 165F ->
Tooling -> UT: 1 (Eoat1)" - Figure 4. Then in the properties of the component on the tab
"General" in the "Primary CAD" show the path to a file with the extension of the CSB, or IGS
Air in the open position (Air sample are included with the software ROBOGUIDE). When you
click on "Apply" eye-catcher is placed at the end of 6 axis robot, but to be properly positioned
in space, we must turn it on - 90 ° around the axis X - Figure 4. If the clutch is working
properly, we must configure the other properties. On the "UTOOL" Setting the Tool Center
Point (TCP) tools. In our case, this transfer of the default terms (the end of 6 axis robot) is
920 mm along the axis Z. In the "Parts" to create a link between the Air and the "box" and
define the transfer, of what will be shown during the simulation "box" when will be moved by
a robot - Figure 5. On the "Simulation" in the "actuated CAD shows the path to a file with the
446
Example
Air in the closed position - Figure 6. Finally, the eye-catcher in the simulation to work
properly, you should have two teams in the form of two files with extensions CSB, or IGS.
One for the open position and the other for the closed position. And so our eye-catcher from
the open position is saved in the file "36005f-200.IGS", while in the closed position in the file
"36005f-200-3.IGS". Below the "actuated CAD" we have two buttons "Open" and "Close",
which allow us to verify that simulate the behavior of eye-catcher - Figure 6.
Figure 5. Configuration clutch - Part 2.
Similarly, as we have created a link between the Air and the "box", we need to create links
between the "box" and "table" and "box" and "palette". A double-clicking on the "table" on
the "Parts" select "box and enter the transfer, which will be shown with the" box "to" table
"during the simulation. This is a shift from a point at coordinates [0, 0, 0] 'table. " Then on
the tab "Simulation" declare what number of seconds to wait on the "table" show a new "box"
- the "Allow part to be picked." Let us will be 10 seconds. Similarly, configure the link "box"
with a "palette", with the difference that on the tab "Simulation" parameter set "Allow part to
be placed, also in 10 seconds.
447
Example
Figure 6. Configuration clutch - Part 3.
In this way, we prepared a virtual environment to write the program. To start the editor, click
the right mouse button under the "Cell Browser" to "Robot Controllers -> Robot Controller1 ->
GP :1-R2000iA / 165F -> Programs" and select "Add Simulation Program" - Figure 7. Now
control virtual robot using Teach Pendant remember specific points in space - the 'Record' Figure 7, and instructions to enter "Pick" and "Drop" - the "Inst" - Figure 7.
Figure 7. Writing''Simulation''program and run a simulation.
Example
448
When you are finished writing the whole simulation run by clicking on the toolbar, the "Cycle
Start" - Figure 7.
If we wrote a good program, and all points in space can be achieved by the robot, you press
"Cycle Start" will see the simulation, which was the creation of our task.
Download