Professional Documents
Culture Documents
Fanuc Roboguide Help
Fanuc Roboguide Help
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
Program Function
Layout Function
Specifications
Modeling
Layout
Programming
Standard Package Standard functions
Simulation
Remote Monitor
Profiler
Calculate robot
Auto Place placement position so as
Option to minimize cycle time
for robot movement.
System
Monitor function for
Monitoring Tool
system trouble analysis
Option
ROBOGUIDE layout is
iPendant I/F
displayed on iPendant
Option
screen.
Navigation menu
Chamfering
Navigation menu
Package
Condition
Item Contents
1 Roboguide Introduction
1.1 HandlingPRO Introduction
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.
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
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
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
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
Roboguide/PRO Software Workcell Examples 8
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:
• 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
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
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
Next step
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
• The Lock All Location Values option box should be checked on the Robot Property
Page
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.
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
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.
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
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.
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.
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.
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.
Previous Step
Next Step
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
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
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.
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.
You now must assign properties to the fixture so that it can accept parts.
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.
5. Enable the Lock All Location Values property by checking the box on the tab and
press Apply.
Previous Step
Next Step
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
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.
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.
You now must assign properties to the fixture so that it can accept parts.
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.
5. Enable the Lock All Location Values property by checking the box on the tab and
press Apply.
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
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.
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.
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.
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.
6. PRO Software V6.22 adds new features to quickly teach fixture positions. Open the
place fixture property pages.
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
Previous Step
Next Step
1. Select Run TP Program from the Run Production category of the Process Navigator.
The Roboguide Run panel window will appear on your screen.
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.
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.
Note: the profiler can also be opened from the main menu Test-Run / Profiler menu
selection.
1. Select Run TP Program from the Run Production category of the Process Navigator.
The Roboguide Run panel window will appear on your screen.
3. Select the following options (make sure a check mark appears), Collect TP Trace,
Refresh Display, and Compress AVI on the Display Options tab.
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
1. Select Run TP Program from the Run Production category of the Process Navigator.
The Roboguide Run panel window will appear on your screen.
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.
• 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
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
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.
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.
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
• The Lock All Location Values option box should be checked on the Robot Property
Page
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.
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
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.
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
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.
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.
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.
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.
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
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.
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.
You now must assign properties to the fixture so that it can accept parts.
Roboguide/PRO Software Workcell Examples 28
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.
5. Enable the Lock All Location Values property by checking the box on the tab and
press Apply.
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
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.
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.
You now must assign properties to the fixture so that it can accept parts.
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.
5. Enable the Lock All Location Values property by checking the box on the tab and
press Apply.
1. The first step is to create a new TPP on the virtual robot Program.
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.
2. In the Virtual TP, enable the TP, then press the shift key and then press F1
<POINT>. A TPP Line should be created.
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.
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.
1. With the Virtual TP arrow keys move the cursor to the [End] statement of the
program.
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.
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.
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.
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.
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.
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.
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.
The next step is to insert Call statements into your virtual TP program which call
the above created programs.
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.
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.
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.
1. Select Run TP Program from the Run Production category of the Process Navigator.
The Run panel window will appear on your screen.
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
1. Select Run TP Program from the Run Production category of the Process Navigator.
The Run panel window will appear on your screen.
3. Select the following options (make sure a check mark appears), Collect TP Trace,
Refresh Display, and Compress AVI on the Display Options tab.
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.
1. Select Run TP Program from the Run Production category of the Process Navigator.
The Run Panel window will appear on your screen.
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:
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
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.
Simple Pallet Workcell Step 2: Editing the robot and pallet system properties
From this page you can define how the pallet system should operate. For this example
you will use the PalletPRO defaults.
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:
• 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.
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.
There are two tabs on the EOAT property page. The General tab and the Palletizing
tab.
3. Change the Gripper Type to be edited to Vacuum – Double for this example.
5. Set the Lock all location values checkbox on the property page to ensure that the
tooling can not be moved from the robot.
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.
Roboguide/PRO Software Workcell Examples 40
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.
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.
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.
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
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.
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
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.
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.
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.
3. Set the Lock all location values checkbox on the property page to ensure that the
infeed can not be moved in the workcell
NOTE: you can also add a new infeed station from the Cell Browser.
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.
3. Set the Lock all location values checkbox on the property page to ensure that the
infeed can not be moved in the workcell
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
NOTE: you can also add a new slip sheet dispenser from the Cell Browser.
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.
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
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.
In this step, you change the pallet orientation / origin position for pallet station 2.
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.
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.
In this step, you change the Infeed orientation / origin position for infeed station 2.
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.
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.
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.
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.
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
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.
6. When you have completed editing the grid, press OK to finish the editing of this unit
Roboguide/PRO Software Workcell Examples 46
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.
Your workcell is now complete, and we can run a simulation of the palletizing process.
1. Select Run Panel from the Run Production category of the Process Navigator.
Press Start
The Production Data display box is opened and the workcell starts palletizing.
Roboguide/PRO Software Workcell Examples 47
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 R-
2000iA/165F.
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.
10. Down Arrow to the extended axis item and press enter
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).
o Lower Limit Setting: -5000 (Press the – key on the numeric keypad)
Roboguide/PRO Software Workcell Examples 49
17. After answering the last question, the Ext Axis Setting program menu is shown
again. Select the Add Ext Axis item and press Enter
o Lower Limit Setting: -4000 (Press the – key on the numeric keypad)
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.
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.
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).
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.
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.
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 53
3 Roboguide Menus
Roboguide Menus
o Reset "Don’ show this again" captions: resets the dialogs that you turned
off.
• Help
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.
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
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.
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.
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.
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
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.
• This step is only shown by the Workcell Creation Wizard when more than one
process plugin is installed on the PC.
• 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.
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.
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.
Press the browse robots () icon to open the Robot Neighborhood. Browse to
Roboguide Menus 60
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
• Virtual robot software that is loaded on your PC is displayed. Select the virtual robot
controller version that you desire.
• 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.
o Software options tab: Scroll through the selections and check the boxes
for the options that you desire.
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.
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.
• 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.
• 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.
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
• 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
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 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
· Test-Run
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
· Tools
o Same as Roboguide menus
· Help
o Same as Roboguide menus
PalletPRO has unique fixture objects. Each have unique properties that you can define
through PalletPRO. These include:
• Infeeds
• Pallets
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:
The General Tab of the Fixture Properties page provides fields to edit general obstacle
properties. These fields include:
• 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.
• Location: defines the location of the fixture relative to the 3D ChuiWORLD zero
reference position.
• 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.
Roboguide Menus 68
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
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 Part Orientation DO: signals PalletTool what orientation the next unit will
be. Not used by PalletPRO.
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
• Locate the station origin by defining the orientation on the respective stations
property pages.
• 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.
The figure below shows a standard layout for a double infeed, double pallet station workcell
configuration. This workcell could use two slip sheet stations.
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.
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.
Roboguide Menus 71
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.
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.
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.
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.
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:
The General Tab of the Fixture Properties page provides fields to edit general obstacle
properties. These fields include:
• 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.
• Location: defines the location of the fixture relative to the 3D ChuiWORLD zero
reference position.
Roboguide Menus 73
• 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.
The Pallet fixture pallet property page has fields to configure the pallet in your PalletPRO
workcell. Fields include:
• Pallet properties
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.
Roboguide Menus 74
The orientation selection on the Pallet Tab provide the following definitions
for 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.
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 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.
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
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.
Roboguide Menus 76
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.
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.
• 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 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.
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.
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.
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.
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.
Roboguide Menus 81
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.
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
4 ********** ******************
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.
1. Setup the controller for Serial communications. Refer to the robot manuals for
details.
Ensure that PalletTool is setup for Serial communications.
FLPY:\PMUL*.DT 1/5
ITEM UNIT LOAD FILE
\\1 PMGRIPDT
2 PMINF001
3 PMPSYSDT
4 PMSTA001
5 PMUL001
Select the file you wish to download and press the TRANSFER key.
To zoom out:
1. Turn the center wheel of the mouse. One direction zooms in and the other direction
zooms out.
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.
1. Click the + zoom button () on the toolbar with the left mouse button
1. Click the - zoom button () on the toolbar with the left mouse button
To zoom out:
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.
• 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 ().
3D CHUIWorld
The world view can be manipulated with mouse and keyboard commands.
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
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.
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.
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.
• 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.
• 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
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.
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
To change the robot speed override from the Speed override toolbar
2. Slide the speed override slide bar to the desired speed override
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.
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
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:
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:
• Surface moves
For translation
Along a teach tool coordinate axis:
2. Put the mouse cursor over the coordinate of the teach tool that you want to move
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.
Show me an AVI
2. Put the mouse cursor over any coordinate of the teach tool. The cursor will change
to a hand ( ).
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.
Show me an AVI
For rotation
2. Put the mouse cursor over the coordinate of the teach tool that you want the robot to
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.
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.
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:
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
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 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.
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 95
The size of the teach tool (the green sphere at the robot TCP) can be modified.
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.
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
3. Select OK or Apply
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.
Jogging the robot 96
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.
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.
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.
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.
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.
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
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.
1. In the TP Point frame on the Move To quickbar select the desired .TP position from
the drobdown list.
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.
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.
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
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.
1. Double left click on the desired object from the cell browser
OR
1. Left click on the object in the 3D World view. The objects coordinate reference frame
is shown.
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.
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.
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>
An objects Location data (X, Y, Z, W, P, R) can be copied and pasted to another 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.
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
Objects in the workcell can all be translated and rotated in the workcell. There are different
methods to move objects.
• With direct entry for translation or rotation by directly setting their position values in
the objects property page.
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
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
1. Select the object by clicking on it. A triad coordinate system will appear at the
objects origin.
3. Enter the location for the object in the Location fields on the property page and
select apply.
Grouping objects
• 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.
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
1. Right mouse click in the cell browser on any object in the group. Select UnLump
objects.
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.
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
2. Select the desired workcell from the list at the bottom of the menu
3. If you want to open a document that was saved in a different folder, locate and open
the folder.
1. Click Open.
2. If you want to open a document that was saved in a different folder, locate and open
the folder.
• All simulation programs are saved in the workcell file and .TP versions are loaded on
the virtual robot controller
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
The default directory is based upon your user profile in Windows. Roboguide uses the
following path to save your workcells.
• 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
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.
• The workcell extension is based upon which FANUC Robotics plugin is being used.
• 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
• *.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.
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.
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.
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.
3. Press OK
A Savepoint is created with the current workcell data in the directory specified.
2. Browse to the desired Savepoint directory and select the workcell file.
3. Press OK
Creating, Opening and Working with Workcells 112
Open the workcell from the File Main Menu – Open a workcell
3. Press Open
A prompt is provided asking if you want to recover from the Savepoint
4. Press Open
Creating, Opening and Working with Workcells 113
• Has direction.
• Is displayed as the line (D) and the X, Y, Z components of the measurement line.
For more information on how to use the measurement dialog see 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.
• 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
Distance Frame: fields are used to set desired display options for components of the
dimension line. Fields include:
• X, Y, Z enabled checkbox: when enabled the respective line is shown. When not
selected the lines are not drawn.
To move the TO entity relative to the FROM entity, you may edit the value.
• 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)
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 .
• 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.
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
• 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.
• 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.
Distance Frame: fields are used to set desired display options for components of the
dimension line. Fields include:
• X, Y, Z enabled checkbox: when enabled the respective line is shown. When not
selected the lines are not drawn.
To move the TO entity relative to the FROM entity, you may edit the value.
• 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)
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.
A dimension line is created from the measurement dialog with multiple methods.
• 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.
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).
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:
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
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..
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.
• 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.
1. Open the property page for the dimension that has the extrusion line.
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
1. Open the property page for the dimension that has the extrusion line
3. Select the desired extrusion line by left mouse clicking on the extrusion line in the
Extrusion list.
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.
3. Select the desired extrusion line by left mouse clicking on the extrusion line in the
Extrusion list.
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.
To edit variables
1. Under the Robot controller / Variables category select the desired set of variables.
3. An editor opens
variables are show in a tree format
6. Press OK or Apply
NOTE: changing system variables can effect the performance of the robot.
Working with Robot Controllers 125
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 Switch
Number of pallets This item specifies the number of pallets in the workcell.
This item specifies the device from which to issue a start signal.
You can issue a start signal only from one device.
Cycle
start
o • SOP means that you will
control
signal to start production from the
standard operator panel cycle start
Working with Robot Controllers 126
button.
Pallet Switch:
Production Control - the following items control production related functions.
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
Pallet switch 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
Working with Robot Controllers 127
Not all options are available in PalletPRO. PalletPRO configures the system to enable
running of simulations.
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
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.
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.
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
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.
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
• You want to modify a program (teach pendant program file, .TP) that is not currently
in controller memory
2. Right mouse click on the Programs element under the desired robot controller
4. Press Open
Working with Robot Controllers 131
o Press MENUS.
o Select FILE.
o Select File.
o Move the cursor to the device you want and press ENTER.
5. Press MENUS.
6. Select FILE.
8. Select 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.
o If you do not want to load the file(s) you selected, press F5, NO.
Working with Robot Controllers 132
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.
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.
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.
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
Note: only robots that have Virtual Robot V6.31 and above are supported and allowed in
multiple robot workcells.
A robot can be added to the workcell from the cell browser robot controllers item and the
main menu Cell category.
If more than one robot is available in the workcell, robots can be deleted.
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.
• 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 Input Device: the device in the workcell for which inputs will be mapped.
Working with Robot Controllers 134
• Commands: are used to add and delete lines from the IO connections table.
NOTE: Double click on each entry in the table to change the contents.
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.
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.
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.
o From the TP: press Menus/ File on the TP. Do a DIR command, select
the program and press Load softkey.
• 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 you should now be able to go to the KCL window and issue a RUN
command on your program
o Press Enter
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
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
o Pick Delay and Place Delay: the delay used at pick and place,
respectively.
• 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.
Working with Robot Controllers 138
Single Case
Setup Item Double ICC or Triple Case Gripper
Gripper
Case 1 Case 2 Case 3
RO[1] on RO[1] on RO[3] on RO[5] on
Close
RO[2] off RO[2] off RO[4] off RO[6] off
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.
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:
When the leader and follower are defined fields are shown to define the CD_Pair value.
• $CD_PAIR 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.
After calibration, the status icon and the warning message are changed to indicate
successful calibration."
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
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 R-
2000iA/165F.
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.
10. Down Arrow to the extended axis item and press enter
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).
o Lower Limit Setting: -5000 (Press the – key on the numeric keypad)
17. After answering the last question, the Ext Axis Setting program menu is shown
again. Select the Add Ext Axis item and press Enter
o Lower Limit Setting: -4000 (Press the – key on the numeric keypad)
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.
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.
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).
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.
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.
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
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.
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 an RTU.
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, J8 – Robot R2000 moves perpendicular along the X Rail and the robot is
attached to J8.
Working with Robot Controllers 149
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.
• CAD Location: the location of the base in the workcell. This is the CAD origin relative
to the 3D world zero.
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.
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.
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.
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. 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 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.
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)
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.
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 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.
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.
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)
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
The virtual robot in the workcell must have the Extended Axis control before axes can be
added to the robot.
5. Press Finish.
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.
4. Press Finish.
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.
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.
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.
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
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.
6. Questions are presented to configure the hardware. When the questions are
answered the menu for the Extended Axis will be presented.
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).
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.
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.
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
3. Click on the CAD in the workcell being used for the axis.
5. Click OK or Apply
• 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.
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.
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.
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
2. Select the saved DEF file from the Select Robot list
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
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
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.
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
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
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.
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 multi axis rotating table (spin and tilt) would be a group with 2 joints
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
o CAD Location: the location of the base in the workcell. This is the CAD
origin relative to the 3D world zero.
• 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
o Link CAD: defines the CAD to be used for the joint and the location of the
CAD origin relative to the axis link
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.
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.
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.
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.
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.
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 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.
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 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.
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.
Multiple devices can be selected until the group information table is populated.
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.
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.
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
4. Press Manual
A menu is presented which allows you to work with the motion group.
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.
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.
4. Press Manual
A menu is presented which allows you to work with the motion group.
7. After changing the desired item, finish stepping through the settings until you return
to the top level menu.
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.
1. Select the group axis for which a coordinated pair will be created.
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:
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.
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)
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 M-
6iB/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.
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).
o Direction Setting: +Y
o Lower Limit Setting: -450 (Press the – key on the numeric keypad)
Working with Robot Controllers 173
o Direction Setting: +Y
o Lower Limit Setting: -450 (Press the – key on the numeric keypad)
o Direction Setting: +X
o Lower Limit Setting: -450 (Press the – key on the numeric keypad)
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
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.
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.
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.
9. Set the check box for Lock all Location Values and press Apply
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).
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.
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.
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).
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.
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.
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
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.
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.
32. Change the scale / size values to 300, 50, 1500 and press Apply.
The box size should change.
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.
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 the details of assigning IO to a machine link: Use the machine axis Motion
tab
Working with Robot Controllers 181
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.
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
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:
• 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.
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.
• 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
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 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
A new Job is created, and the Job property page should show.
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.
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.
• 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.
• 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.
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.
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 P-
500 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 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
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 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.
• 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.
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
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.
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.
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.
o Procedure to create opposite arm jobs and processes from a defined job
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:
• 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
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.
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:
• 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 auto-
generated 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:
: moves the selected process on the right from the right list box
NOTE: items in the list boxes can be selected using standard Windows selection
techniques:
• 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.
• Procedure to create opposite arm jobs and processes from a defined job
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
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.
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
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.
When a cross controller process is created the correct tracking boundaries are used when
building the process program.
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.
1. Open the Cross controller job exchange dialog from the Tools menu
When a selection is made a list is presented that allows selection of the desired source
Working with Robot Controllers 197
Job programs.
5. Define the home macro name. This name is used to generate the call to home
macro on the destination controller.
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
• 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 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 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.
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
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 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.
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
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 left side based upon the right side.
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
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.
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 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.
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
• 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 Move Back: initiates a move back to the position of the robot before the
current relative move.
NOTE: Teach Tool Sphere Radius: In V6.40 Roboguide and higher the teach tool sphere
radius is controlled on the robot property page.
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.
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:
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
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.
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
• Program Analyzed: Displays the program for which data has been collected and
analyzed.
• 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.
• 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:
• Display Rate: controls the detail of the graph plot in Samples/ Sec.
Working with Robot Controllers 206
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.
2. Open the Duty Cycle Estimate dialog by selecting Duty Cycle Estimate under the
Test-Run Main Menu category.
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
• KCL Window
Each of these functions can be accessed from the main menu selections under Robot.
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
• : 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.
1. Select the Virtual TP under the Robot category on the main menu
1. Select the Robot Web Browser under the Robot category on the main menu
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
1. Select the Robot Alarms window under the Robot category on the main menu
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
• 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 Move Back: initiates a move back to the position of the robot before the
current relative move.
Roboguide’s Virtual Robot 210
NOTE: Teach Tool Sphere Radius: In V6.40 Roboguide and higher the teach tool sphere
radius is controlled on the robot property page.
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.
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:
o Part Number:
EE-4707-150-001 (1.5m kit)
EE-4707-150-002 (3.0m kit)
Roboguide’s Virtual Robot 211
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
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.
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.
3. On the "Network Connection Type" Panel, select "Set up and advanced connection"
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
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.
Roboguide’s Virtual Robot 213
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.
Wait until the screen flashes and returns to the first page
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
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"
1. Make sure that you have done all the setup in Section 0
3. Make sure that the iPendant is connected to the PC. The Power Supply should be
powered off or disconnected from the adapter cable.
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
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.
You should now be able to operate the iPendant as you would on any
• 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"
• 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.
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.
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.
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.
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
Using UFRAMES 220
• 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.
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:
4. In the Attached field select the object in the workcell that you want to associate with
this UFRAME. Show me an AVI.
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.
When you move the fixture / Uframe positions taught relative to this frame move
appropriately.
Using UFRAMES 221
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:
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.
When you move robot, positions taught relative to this frame move appropriately.
Using UFRAMES 222
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.
• 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.
You can modify a robot UFRAME from SimPRO’s UserFrames property page or from the
virtual TP.
The UFRAME will show as a triad ( ) in the location where the UFRAME is defined.
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.
2. Press Menus
3. Select Setup
4. Press Type
5. Select Frames
Using UFRAMES 224
Edit the UFRAME data. If UFRAME is not showing on the screen, select choice and select
user frames from the list.
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.
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
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.
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.
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
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.
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.
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.
The General Tab of the Fixture Properties page provides fields to edit general obstacle
properties. These fields include:
• 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.
• Location: defines the location of the fixture relative to the 3D ChuiWORLD zero
reference position.
• 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.
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.
• 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.
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.
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.
• 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
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.
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
6. Press Apply
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
• 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.
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?
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:
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
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 .
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.
The General Tab of the Fixture Properties page provides fields to edit general obstacle
properties. These fields include:
• 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
• Location: defines the location of the fixture relative to the 3D ChuiWORLD zero
reference position.
• 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.
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
Working with Fixtures 236
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
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 Part Orientation DO: signals PalletTool what orientation the next unit will
be. Not used by PalletPRO.
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
• Locate the station origin by defining the orientation on the respective stations
property pages.
• 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.
The figure below shows a standard layout for a double infeed, double pallet station workcell
configuration. This workcell could use two slip sheet stations.
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.
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.
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
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
You may use the MoveTo button to move to the infeed to ensure the results are
satisfactory.
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.
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.
5. Select OK or Apply
4. Select OK or Apply.
Working with Fixtures 241
3. Select OK or Apply
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:
The General Tab of the Fixture Properties page provides fields to edit general obstacle
properties. These fields include:
• 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
• Location: defines the location of the fixture relative to the 3D ChuiWORLD zero
reference position.
• 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.
The Pallet fixture pallet property page has fields to configure the pallet in your PalletPRO
workcell. Fields include:
• Pallet properties
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.
Working with Fixtures 243
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.
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.
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 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.
The origin of the pallet station defines where the robot will start the unit load processing.
1. Open the pallet station property page for the desired pallet station
3. In the Teach Aid / Orientation part of the page you can select the desired origin
point.
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.
1. Open the pallet station property page for the desired pallet station
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.
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.
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.
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
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
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.
The General Tab of the Fixture Properties page provides fields to edit general obstacle
properties. These fields include:
• 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.
• Location: defines the location of the fixture relative to the 3D ChuiWORLD zero
reference position.
• 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.
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
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.
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.
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.
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.
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.
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
• General 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
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.
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.
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.
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.
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.
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..
The General Tab of the Obstacle Properties page provides fields to edit general obstacle
properties. These fields include:
• 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.
• Location: defines the location of the obstacle relative to the 3D CHUIWorld zero
reference position.
• Show Robot collisions: when checked this obstacle is checked for collisions with
robots in the workcell.
Working with Obstacles 255
• Lock All Location Values: when checked locks all of the location values for the
obstacle.
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
• 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.
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?
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.
• 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
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
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.
The part property page is used to define part properties. Fields include:
• 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.
• Mass: defines the mass of the part object. This mass value is used for motion during
simulation.
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.
• 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 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.
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.
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.
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.
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.
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.
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.
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..
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.
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.
It is possible to control the visibility of a part at teach time and the initial visibility of a part
when running a program.
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
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.
1. Open the property page for the object that contains the part desired (EOAT, fixture,
machine, etc.)
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
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 .
o Direct Entry: enter the part location values into the , Y, Z, W, P, R Part-in-
Tool 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 .
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.
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 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 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.
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.
1. Create an animation program that attaches and detaches graphics from the end of
arm tooling.
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.
1. Create an animation program that attaches and detaches graphics from the end of
arm tooling.
3. Using the call instruction in the Instruction menu pulldown insert calls for each
Teaching a Program 268
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
2. Give it a meaningful name to your application. For this procedure we call the
program Close
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
2. Give it a meaningful name to your application. For this procedure we call the
program Open
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.
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.
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.
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
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.
Teaching a Program 271
a. Press MENUS.
b. Select SETUP.
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.
. Press SELECT.
b. Move the cursor to a method of naming the program. The function key
labels will change depending on the naming method you choose.
. Press F2, DETAIL. You will see a screen similar to the following.
Teaching a Program 272
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.
. 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
6. To type a comment:
Selecting a TP Program
The selected program becomes visible in the 3D CHUIWorld and in the Program Teach
TPP Edit window if it is already open.
Teaching a Program 273
1. Press SELECT.
Select from the following list (NOTE: the list might vary depending on your
software configuration):
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.
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.
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.
1. Select the TP program in the Cell Browser by left clicking on the program name.
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
3. Press Shift-Delete
4. Select OK
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.
• Name: the TP Program name. You can edit the name in the provided text box.
• 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.
Teaching a Program 277
• 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).
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.
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.
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.
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
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
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
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.
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.
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.
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
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.
For translation
Along a teach tool coordinate axis:
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.
2. Put the mouse cursor over any coordinate of the teach tool. The cursor will change
to a hand .
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
For rotation
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.
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.
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.
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.
For translation
Along a teach tool coordinate axis:
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.
2. Put the mouse cursor over any coordinate of the teach tool. The cursor will change
to a hand .
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.
For rotation
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.
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.
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.
• Motion 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.
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
3. These defaults now show up on the Record Dropdown of the Program Teach page.
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.
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.
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.
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.
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.
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.
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
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
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.
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.
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
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. These defaults now show up on the Record Dropdown of the Program Teach page.
Touchup points
1. Select the desired TP Line by left clicking on the line in the Program Teach Window
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
1. Select the desired TP Line in the Program Teach editor by left clicking on the line.
3. If possible, the robot moves to the position recorded with the TP Line.
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
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.
Stepping programs
To step a program
1. Left click on the desired start line in the Program Teach window.
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.
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.
• 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.
• 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.
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.
TP programs are viewed as node maps in CHUIWorld. Nodemaps have the following
characteristics:
• 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.
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
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
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.
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
There are several characteristics that can effect the execution of motion and process
statements for programs. Characteristics include:
• 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
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
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.
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.
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.
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
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.
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
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
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.
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
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.
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.
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
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.
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.
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.
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
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
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
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].
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
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
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
About Targets
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.
• 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 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 Groups
Targets are created in a workcell and then assigned to a Target Group. Target groups have
the following characteristics:
• Targets in a target group can be edited using the Target Group Editor.
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.
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
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.
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
• 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.
• 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.
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.
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
10. On the Target quickbar select ToGroup. When Targets are generated they will
be added to the selected Target Group.
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 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):
• 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:
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.
2. Select the Prefix for targets imported. All targets imported will get the prefix and a
number for a target name.
If imported targets should be added to a Target Group enable the Create Target Group
selection.
1. 1,100.1,200.1
13. 2,200.2,400.2
Teaching a Program 314
14. 3,300.3,500.6
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
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:
1. Right mouse click on the Target Groups category and select Add Target Group. A
new Target group is added.
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
The target property page has fields that define the properties of a target.
Fields include:
• 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.
1. Right mouse click on the Target Group entry in the cell browser.
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.
• 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.
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.
1. Select the desired target lines using the Target Group Frame
The following describes each field on the Target Group Edit dialog
• Target / Motion Grid: displays each target member as a line in a grid. Information on
each line is organized in columns:
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.
o Order: when pressed, the order of the targets is changed. The order is
sorted to minimize the distance of travel of the robot.
Notes:
Targets will show under the attached object in the cell browser.
All targets in all target groups will receive this new attachment.
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.
o Controller: lists the robot controllers in the workcell. Select the desired
controller for program generation.
o Group Mask: for a multiple group systems, the output program groups
that will be included when positions are created.
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. .
When a field is changed in the frame all selected targets in the Target / Motion Grid are
acted upon.
• 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.
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.
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.
Along the path: defines which target axis to align from one
target to the next / or along the robots path trajectory.
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
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.
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
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.
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
• 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.
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.
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
Feature Definition
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:
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
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
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
4. Double left click on the feature or segment, or right click on the feature or segment
and select Properties from the popup menu.
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.
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:
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 Mask: for a multiple group systems, the output program groups that will be
included when positions are created.
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
• 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.
If the output program should use a Remote TCP frame, the UFRAME that is defined for
the remote TCP should be selected.
Teaching a Program 331
Fields include:
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.
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 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 End of Segment X: the entered program will be called at the end of the
program.
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 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.
• 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.
• 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.
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.
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:
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 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.
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.
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.
• 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.
• Add retreat point: when enabled the automatic path generation software inserts a
retreat 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.
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 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.
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.
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:
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.
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
• 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.
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:
1. Open the Options dialog under the main menu Tools / Options selection
4. Enable field Show raw normals in all features to view raw normals. Disable to hide
raw normals.
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
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.
• 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.
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
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.
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.
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.
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.
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.
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.
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.
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.
1. Select the feature or segment and ensure that its property page is open.
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:
• 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.
1. Select the feature or segment and ensure that its property page is open.
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.
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.
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.
1. Select the feature or segment and ensure that its property page is open.
3. In the Straight Line Detection Frame set the desired number of degrees that
determine a straight line.
When the program is generated the optimization algorithms use this value to determine
whether adjacent positions lie on a straight line.
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.
1. Select the feature or segment and ensure that its property page is open.
3. In the Circular Move Line Detection Frame set the desired number of degrees that
determine an arc.
When the program is generated the optimization algorithms use this value to determine
whether adjacent positions lie in an arc.
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
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.
• Auto generate the program, and see what the results give.
o run or step the program to see if the wrist and tool orientation is
appropriate for the process.
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 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.
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.
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.
• 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.
1. Jog the robot so that the tooling (RTCP) is oriented as desired relative to the
Teaching a Program 351
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.
• 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.
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.
• 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
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.
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.
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.
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.
• Multiple arms where 1 arm is the leader and other arms are followers. Generally,
where one robot holds the part.
• 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
• 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:
• 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: 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.
Teaching a Program 356
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.
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:
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 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.
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.
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.
o Define which group is the leader. Roboguide will provide selections based
upon the group mask chosen on the General property page.
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 359
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:
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
Teaching a Program 360
Group).
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:
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.
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 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 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.
Teaching a Program 362
To create a coordinated motion program for dual arms using CAD to Path features:
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:
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:
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.
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.
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.
o Define which group is the leader. Roboguide will provide selections based
upon the group mask chosen on the General property page.
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.
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.
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
• A coordinated frame has been correctly defined between the Leader robot group and
Teaching a Program 365
• 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:
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:
• 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.
Teaching a Program 366
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.
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:
• 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 Select button (>): when pressed the selected feature in the Features
Teaching a Program 367
o Remove (<): when pressed the selected feature in the Children Listbox is
removed from the Children Listbox.
• Option button:
o Swing: As the generated program runs this moves robots from base
position until relative position that is specified in these settings.
o Range:
Teaching a Program 368
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.
3. Open Feature property page /General tab. Select a follower group robot from group
combo box.
8. Select a leader group from ‘Leader’ combo box. If not listed in Leader box, check
group mask of group on the general tab.
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
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.
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.
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.
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
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
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.
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
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.
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.
4. On the General tab of the feature property page define the fields as follows:
o Uncheck RTCP
5. Click the Apply button. (Select "No" in the message box of the confirmation.)
6. Select the Prog Settings tab on Feature property page and input operation speed in
the Segment speeds field.
o Tool Frame Axis <=> Feature Axis Assignment: Normal to Face is +Z.
Along the feature is -X.
o Circular Move Detection should be set to often. Press the Help button if you require
more information on Circular move detection.
o RY Angle = 10 degrees
13. Click Apply button. Select "Yes" in the message box of the confirmation.
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
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.
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.
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.
2. Move to the starting position by pressing the "Move to recorded pos." button.
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.
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.
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.)
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.
1. Open "Coordinated Motion" tab on the feature property window. to click "Range"
button for showing "Range" settings
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).
6. Click "Apply" button. (Select "No" in the message box of the confirmation. )
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
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
The program can be validated by stepping the TP program from the TP editor.
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.
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.
3. Open "General" tab on the feature property window and click "Generate Feature TP
Program" button. Then TP program will be generated.
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.
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.
When "Single circular command" is validated, the circular command of the generated
program becomes single circular command.
Conveyor Tracking with Roboguide 378
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.
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.
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
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.
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
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
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.
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
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.
The encoder is now enabled for simulation. The encoder can be simulated from TP
Programs.
The conveyor general tab is used to define the tracking schedule that is used with the axis
attached to the conveyor.
Fields include:
• 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.
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:
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
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:
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.
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.
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:
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.
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.
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 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 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.
These rules apply to HandlingTool. PaintTool and PaintPRO have additional tracking
capability that are specific to the painting process.
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
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.
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.
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
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.
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
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.
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.
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.
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:
• Detect: initiates a body detect. The part defined for the conveyor is placed the body
detect distance from the nominal frame.
If the line tracking option is enabled on the virtual robot the conveyor toolbar is available.
To open the conveyor toolbar
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.
• 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.
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.
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.
1. Create a new workcell by selecting File / New from the main menu or clicking on the
Conveyor Tracking with Roboguide 391
2. Follow the steps for the workcell creation wizard until the Robot Options step.
When the virtual robot is finished serializing the Line Tracking Option is available on the
virtual robot.
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
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:
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.
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
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.
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
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.
o Visual Tracking: 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 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 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 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.
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 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.
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:
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
In single axis tracking, the position of the robot’s extended axis (an integrated or non-
integrated 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.
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.
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
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
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
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.
5. Add a conveyor:
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
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
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 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.
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.
o Visual Tracking: NO
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 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 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 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.
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.
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.
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
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.
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
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:
o If the real cell is different than the Roboguide simulation software workcell
then positions may appear to be not correct.
• 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.
• 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
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.
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.
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
Calibrating your workcell 406
• 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.
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
• 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?
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.
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.
Step 3 does the shift of the object to match 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 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.
• 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
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:
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.
• 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.
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.
• Flip on Length: flips the pattern along the length of the pallet.
• Flip on Width: flips the pattern along the width of the pallet.
PalletPRO-Working with Unit Loads 412
• 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.
• 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.
Flipped Diagonal
Rotated 90 Degrees
PalletPRO-Working with Unit Loads 413
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.
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
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.
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.
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.
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.
Unit Dimensions
Pallet Dimensions
NOTE:
Patterns
o Column
o Interlock
o Trilock
o Spiral
o Brick
o Diagonal
o Aug Diagnol
o Optimal
o Unique
o All
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 .
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.
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.
7. Press Apply
The load defined is updated on the pallet in the 3D CHUIWorld.
PalletPRO-Working with Unit Loads 419
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 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
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.
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.
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
PalletPRO-Working with Unit Loads 421
box exists, pressing the space bar will toggle through the selections.
Click here for more detail on using the Optimal Path Tabs
Approach / Retreat Offsets grid.
PalletPRO-Working with Unit Loads 424
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
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
• 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.
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
• 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
• 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.
• 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.
• 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
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:
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.
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:
• 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)
• 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
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.
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
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.
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.
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.
Only valid flip types are enabled options when selecting different patterns.
To define flip type for a selected pattern in a unit load
3. In the common area the Flip Type frame shows the available flip types for the
selected pattern.
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.
3. On the Enter dimensions tab you see fields to define Unit Dimensions and Pallet
Dimensions.
You may change the image ("skin") shown on the outside faces of units. You do this on the
Unit Load Palletizing 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.
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
3. On the Select Pattern tab there is a field for selecting the solutions for pattern.
Select the your desired pattern from the list.
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
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..
17 Running a Program
Running a program
• 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.
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.
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.
• Abort on fault: when selected the simulation is aborted when a fault occurs.
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.
• Reset the robot (): sends a reset to the virtual robot controller
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.
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.
• Reset the robot (): sends a reset to the virtual robot controller
1. If not selected, select the desired program to run from the cell browser
3. Click the left mouse button on the desired function as described above
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.
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
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
To see both the TCP Trace and the taught path ensure both the Collect TCP Trace
and Taught path visible options are selected.
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
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
2. Slide the Refresh Rate slider bar to the desired setting. A higher rate will cause the
simulation to run slower
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
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:
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.
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:
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.
The configuration to run for simulation is entered on the Simulation 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.
The Production Data Page provides cycle information for a running simulation. A table is
presented that shows the following data.
• Unit Load: the unit load program being run on the robot.
• Product ID: the Product ID defined for the Unit Load being run.
• Robot Run Time: The time the robot has run for this simulation.
The number of layers and units can be defined for an initial condition when running a
palletizing simulation.
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.
Example 443
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.
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"
Example 444
and select "Add Fixture -> CAD Library" - Figure 2. In this way, we call a library of ready-
made 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.
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.
Example 445
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.
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
Example 446
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.
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.
Example 447
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.
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.