FANUC Roboguide HELPFEATURES • • • • • • Animation tool easily enables a quick and low cost verification of robot application systems Easy to create the environment for devices and machines. Special skills are not required. Program creation using animation Extreme reduction of start-up time and maintenance time by offline check in a shop floor Standard Package which supports various robot application Robot application specific package with high operationability o Arc welding package o 2 coordinated robots arc welding package o Chamfering package Easy and Highly Accurate design, teaching and confirmation of Robot System Modeling Function • Reduces of device modeling time o Select from the library and modify using dimension settings o Import CAD data and create the parts o Create the parts by simple modeling function Program Function • • Same user interface as the actual Teach Pendant Simulates actual program o Execute actual program and confirm robot motion by animation o Confirmation of Interlock logic (using simulated I/O) Layout Function • • Place objects by mouse operation on graphic screen Place objects by numeral input Simulation Function • • • Simple simulation by using virtual robots. Simulation not only of robot movement but also application commands Highly accurate simulation by using robot simulators. Specifications Software Specifications Modeling Layout Programming Standard Package Simulation Remote Monitor Profiler Calculate robot placement position so as to minimize cycle time for robot movement. Robot tracking movement is realized. Robot movement duty is calculated. Monitor function for system trouble analysis Option software for Standard Package. The Standard Package is necessary in addition to this software. Standard functions Comments Auto Place Option Option Line Tracking Option Duty Estimation Option System Monitoring Tool Option iPendant I/F Option ROBOGUIDE layout is displayed on iPendant screen. Specifications Navigation menu Comments Software Arc Welding Package Program generation for arc welding Simulation for arc welding Option software for Standard Package. The Standard Package is necessary in addition to this software. Option 2 coordinated robots Arc Welding Package Chamfering Package Hardware Program generation for 2 robots arc welding Navigation menu Specifications Comments Option software for Standard Package. The Standard Package is necessary in addition to this software. Robot Simulator Highly accurate simulation Condition Item OS CPU Memory HDD Others Contents Windows 2000 or Windows XP, DirectX 8.0 or later Pentium III 500MHz or more than 500MHz More than 256MB Space more than 2GB is available It is possible to communicate with robot controller via Ethernet It is possible to display more than 1024x768, 65000 colors Mouse available under Windows Table of Contents 1 ROBOGUIDE INTRODUCTION ......................................................................................................... 1 1.1 HANDLINGPRO INTRODUCTION ............................................................................................................ 1 1.1.1 New features in Roboguide 6.40.............................................................................................. 1 1.1.2 Getting started with Roboguide ................................................................................................ 6 1.1.3 Categorized Procedures for Roboguide PRO Software ....................................................... 6 2 ROBOGUIDE/PRO SOFTWARE WORKCELL EXAMPLES ........................................................... 8 2.1 2.2 2.3 2.4 3 SIMPRO: A SIMPLE PICK AND PLACE WITH ANIMATION PROGRAM ....................................................... 8 SIMPRO: A SIMPLE PICK AND PLACE WITH TP PROGRAM .................................................................. 21 PALLETPRO: A SIMPLE PALLET WORKCELL EXAMPLE ..................................................................... 37 BUID AN AUXILIARY AXIS EXAMPLE ...................................................................................................... 47 ROBOGUIDE MENUS ...................................................................................................................... 53 3.1 PALLETPRO MENUS ........................................................................................................................... 65 4 USING THE 3D WORLD .................................................................................................................. 84 4.1 4.2 NAVIGATING THE 3D CHUIWORLD .................................................................................................... 84 VIEWING MODES .................................................................................................................................. 86 5 6 JOGGING THE ROBOT ................................................................................................................... 88 CREATING, OPENING AND WORKING WITH WORKCELLS ..................................................... 99 6.1 6.2 6.3 6.4 6.5 6.6 ADDING AND MODIFYING CELL COMPONENTS ..................................................................................... 99 PLACING/MOVING OBJECTS IN THE 3D WORLD ................................................................................. 103 OPENING A WORKCELL ...................................................................................................................... 107 SAVING A WORKCELL ......................................................................................................................... 108 MANAGING ROBOGUIDE DATA ........................................................................................................... 109 MEASUREMENT AND DIMENSIONS .................................................................................................... 113 7 WORKING WITH ROBOT CONTROLLERS ................................................................................. 124 7.1 WORKING WITH A ROBOT................................................................................................................... 124 7.1.1 Working with robot variable files .......................................................................................... 124 7.1.2 PalletPRO Configuration ....................................................................................................... 125 7.2 ROBOT ARM DRESSOUT ..................................................................................................................... 132 7.3 WORKING WITH MULTIPLE ROBOTS ................................................................................................... 133 7.4 WORKING WITH KAREL PROGRAMS ................................................................................................ 135 7.5 WORKING WITH ROBOT END OF ARM TOOLING.................................................................................. 136 7.5.1 Using End of Arm Tolling with PalletPRO ......................................................................... 136 7.6 WORKING WITH COORDINATE FRAMES (CD PAIRS) ........................................................................ 138 7.7 WORKING WITH ROBOT MACHINES - POSITIONERS, AUX AXES ........................................................ 140 7.7.1 Working with extended axes/integrated axes .................................................................... 140 7.7.2 Working with positioners ....................................................................................................... 160 7.7.3 Working with IO driven machines ........................................................................................ 180 7.8 WORKING WITH JOBS ........................................................................................................................ 181 7.8.1 Working with PaintPRO Jobs ............................................................................................... 184 7.9 WORKING WITH THE ROBOT VIRTUAL TEACH PENDANT (TP) ........................................................... 201 7.10 ESTIMATING ROBOT DUTY CYCLE .................................................................................................... 203 8 ROBOGUIDE'S VIRTUAL ROBOT ............................................................................................... 207 8.1 USING THE IPENDANT ........................................................................................................................ 210 9 10 USING UFRAMES .......................................................................................................................... 217 WORKING WITH FIXTURES ..................................................................................................... 225 10.1 WORKING WITH PALLETPRO FIXTURES ........................................................................................... 234 10.1.1 PalletPRO Infeed Fixture Property Tabs ............................................................................ 234 10.1.2 PalletPRO Pallet Fixture Property tabs ............................................................................... 241 10.1.3 PalletPRO Slip Sheet Dispenser Fixture Property Tabs .................................................. 247 10.1.4 PalletPRO Pallet Dispenser Fixture Property Tabs .......................................................... 249 11 12 13 WORKING WITH OBSTACLES ................................................................................................ 252 WORKING WITH PARTS ........................................................................................................... 257 TEACHING A PROGRAM .......................................................................................................... 266 13.1 ADDING AND DELETING A TP PROGRAM ........................................................................................... 270 13.2 USING THE TP PROGRAM PROPERTY PAGE ..................................................................................... 274 13.3 JOGGING THE ROBOT WHILE TEACHING ............................................................................................ 280 13.4 USING THE ROBOGUIDE SIMULATION EDITOR .................................................................................. 283 13.5 MULTIPLE NODE EDIT ....................................................................................................................... 291 13.6 VIEWING A TP PROGRAM .................................................................................................................. 292 13.7 VALIDATING A PROGRAM ................................................................................................................... 294 13.8 TEACHING USING UFRAMES ........................................................................................................... 296 13.9 USING UTOOL'S WITH ROBOGUIDE PROGRAMS .............................................................................. 299 13.10 COORDINATING MULTIPLE ROBOT WORKCELLS ............................................................................ 301 13.11 WORKCELL LEVEL POSITIONS - TARGETS .................................................................................... 307 13.12 AUTOMATIC PATH GENERATION ................................................................................................... 323 13.12.1 Creating robot paths from CAD Features....................................................................... 327 14 CONVEYOR TRACKING WITH ROBOGUIDE ......................................................................... 378 14.1 LINE TRACKING WITH ROBOGUIDE .................................................................................................... 389 14.1.1 Line Tracking with PaintPRO and PaintTool ...................................................................... 395 14.2 RAIL TRACKING WITH ROBOGUIDE .................................................................................................... 397 14.2.1 Rail Tracking with PaintPRO and PaintTool....................................................................... 402 15 16 16.1 16.2 16.3 17 17.1 18 CALIBRATING YOUR WORKCELL ......................................................................................... 404 PALLETPRO-WORKING WITH UNIT LOADS ......................................................................... 410 UNIT LOAD BACKGROUND INFORMATION .......................................................................................... 410 PALLETPRO UNIT LOAD PROPERTY PAGES .................................................................................... 413 COMMON PROCEDURES WITH UNIT LOADS ....................................................................................... 430 RUNNING A PROGRAM ............................................................................................................ 435 ABOUT PALLETPRO SIMULATION ..................................................................................................... 440 EXAMPLE ................................................................................................................................... 443 Roboguide Introduction 1 1 Roboguide Introduction 1.1 HandlingPRO Introduction 1.1.1 New features in Roboguide 6.40 Features included in Roboguide PRO software V6.40 versions are described below. Note: key functions are listed by Revision. V6.40 Rev E. · Object Transparency: property page for objects in the workcell have a transparency slider bar. · View individual objects in wireframe: property page for objects in the workcell have a checkbox to enable/ disable wireframe view for the object. · Copy/ paste location data: support to copy/ paste location data for all 6 items on property pages. For more information see topic Copy and Paste of Location data for objects · Coordinated Pair property pages: for systems that use coordinated motion, cell browser entries are now available to edit CD pair information. Support is provided for multi arm coordinated pairs, but not for robot to positioner type systems. For more information see topic Using the Coordinate Frames (CD_Pair) Property Page · Support handling coordinated motion program generation: CAD to Path supports the generation of programs between multiple group robots. Specifically, the case where there is a combination of robots coordinating holding a part using handling coordinated motion and robots processing features on the part that the handling robots are processing. · Support coordinated motion program generation for linear positioners: when a system includes a robot and a positioner that is a linear device, you can use CAD to path to coordinate the motion between the two devices. Previous to the Rev E. release, you could only do CAD to Path on rotary type positioner axes. · Coord motion jogtype in jog panel: when coordinate motion is present, a button and dropdown box is available for selecting the coord motion jog frame. For information see About the teach pendant jog panel. · EOAT and Part in EOAT calibration: you can now calibrate the location of the EOAT cad on the End of the robot arm. Parts in the EOAT can also be calibrated. For more information on this topic see Using the Calibration Tab 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. You must first select robot controller version. For more information see topic Using the Node Editing dialog.40 Rev. Robot tracjectory can be viewed in robot frame of reference or if your system uses line tracking. 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.40 Rev D.Roboguide Introduction 2 V6. · New serialize wizard structure: the serialize wizard has been modified to support the R-J3iC robot controller. · Support for R-J3iC robots · Multiple node position edit: you can now select multiple TP nodes and shift them in. · 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. the trace can be viewed in the tracking frame of reference. . V6. o Support for different line tracking detect distances when generating process programs. The wizard process flow is changed. o TCP Trace capability: Paint simulations now support viewing the robot trajectory as a trace. · PaintPRO Enhancements: o New position distance generation o TP Process and Job validation: quickly analyze Paint processes for process issues. Generated auxiliary axis positions are smoothed between the start and end values defined. 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. V6. See Using the feature general property page for more information. See Using the Raw Normals tab for more information. The rotations would take effect on the generated TP program. 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.40 provides a feature to blend CAD to Path segment normal from start of segment to end of segment. 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 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. and not on the feature that generates the program. A · Ability to add objects to links of the robot. machines were under each robot controller. 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. o Supports entering speed data in in/min · Teach Pendant current position tab: the move functions have been enhanced. § General use with examples § Use with Remote TCP § Use with multi group coordinated motion o Blend segment normals: before V6. · CAD to Path Enhancements o Additional information on how to use CAD to Path. Multiple robot controllers can be attached to a rail.40 Rev. In previous versions. . Moving machines to the workcell level provides additional flexibility.Roboguide Introduction 3 V6. rotational offsets could be applied to features by rotating about one of the tool vectors that are defined for CAD to Path generation. o Group select: the desired group can be selected on the Teach Pendant current position tab. Any robot controller in the workcell can control a link of the machine. The blending is applied to the segment normals before program generation.40. § Files in a loadset definition can be exported to a PC loadset directory or directly to a robot controller. variables are examples of information that can be added to a loadset list. Extended axes will be recorded automatically with simulation programs. . § Items can be added for inclusion in a loadset list on different property pages. Loadsets allow you to more easily manage information that will be transferred to a real robot. · 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. 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. o Import/Export a loadset. System files. Multiple groups are recorded like the actual robot controller. programs. · 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. Robot programs. 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. See Configure your robot controller for more information.Roboguide Introduction 4 o Relative move: moves relative to the current position can be executed in different frames of the selected robot. and then export to the loadset. The groups recorded are dependent on the programs group mask found on the TP program property page. The loadset directory can then be loaded onto a real controller. 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. o Automatically create a virtual robot from a file backup. or variables to enable transfer of work between the workcell and real robot. You mark what files should be included in a loadset. Savepoints for more information.Roboguide Introduction 5 § Files in a loadset definition can be imported from a PC loadset directory or directly from a robot controller. · OLPCPRO o KAREL development support . § 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. Roboguide V6.40. Workcells can be shared more efficiently without having to copy an entire workcell and complete virtual robot directories. o Variables category in the Cell Browser for each robot to view and edit variable information.40 has graphical user interface dialogs to edit the following robot information: . § Individual programs or variable files can be exported directly to a PC loadset directory or directly to a robot controller § Individual programs or variable files can be imported directly from a PC loadset directory or directly from a robot controller The above items are exported or imported by using the Project Main menu or by using right mouse click popup menus in the cell browser § Project main menu selection: selections for import and export are present on the Project main menu item. See Workcell backups and restores . · Workcell backup and sharing Methods have been added to better organize workcell backups.translator . 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. Import and export are available from popup menu. Before V6. § Right mouse click in the cell browser: select the variable file or program to import or export and press right mouse button. the information could only be edited from the virtual teach pendant. § Translating KAREL and TPP source into loadable binary programs § Compressing KAREL dictionaries into their loadable versions. 1. · Simple Workcell Creation Example 1 · Simple Workcell Creation Example 2 · Create a positioner · Create an aux axis system 1. o Remote TCP programs: Program instructions that use the Remote TCP motion option are drawn in the RTCP frame · TCP Trace enhancements: When teaching in a coordinated frame you can view TCP trace data in the coordinated frame (Part Relative). See Using the TCP trace display property page for more information.2 Getting started with Roboguide Roboguide simulation products are targeted to provide an easy to use interface to create workcells and robot programs. After implementing the workcell.1. Also included with Roboguide simulation products are example workcells.1.Roboguide Introduction 6 o New Project menu · Nodemap support o Coordinated motion programs: Program instructions that use the coordinated motion option are drawn in the coordinated frame. It is strongly encouraged that you work through the simple workcell creation example provided in the help file. you should have the basic and advanced familiarity with Roboguide simulation products to create your own workcells.3 Categorized Procedures for Roboguide PRO Software 3D CHUIWorld Navigation • • • • Using the Navigation Tips Screen Zooming the view Panning the view Rotating the view Jogging the robot • • • • • • Jogging using the teach tool Showing and hiding the teach pendant jog panel Changing speed override on the robot Jogging using frames Jogging using Utool Detecting collisions while jogging . Roboguide simulation products help has many examples to help you get started. Roboguide Introduction 7 • Moving to a surface point Workcell_Procedures • • • • • • • • • • Creating a workcell! Determining robot reach capability Adding a workcell object Selecting objects in the workcell Opening an objects property page Deleting a workcell object Move objects in the workcell Opening a workcell Saving a workcell Locating where workcells are saved Robot_Controllers and End of arm tooling • • • • • • • • • • Show the robot work envelope Changing the robot model in a workcell Set the pallet switch Control how pallets are processed Set the pallet system options Teach the perch position Teach the maintenance position Change the end of arm tooling used Change the utool offset for pallet system Change the UTOOL Offset in SimPRO Teaching_a program • • Creating a TP program Automatic_path generation Running_a program • • • • • • • • • • Program run Opening the run panel window Controlling a program from the toolbar Controlling a program from the run panel Detecting collisions Setting the refresh rate of the screen Selecting run panel options Running a program in a loop Creating an AVI movie Improving performance in PRO Software . The type of workcells that can be created are presented in a list. Select HandlingPRO – Basic Material Handling Cell and press Next . Select Start New Cell from the Process Navigator.Roboguide/PRO Software Workcell Examples 8 2 Roboguide/PRO Software Workcell Examples 2. The example assumes that you have started Roboguide and that you have no active workcell in the workspace of Roboguide. Or select File / New from the Menu Or. The types listed are based upon the plugins available in Roboguide on the PC being used. 2. Press the New Workcell Icon () on the toolbar A Workcell Creation Wizard is presented which guides you through the steps to build a workcell definition. When complete your workcell should contain the following entities: • An R-2000iA/165F robot with end of arm tooling • 2 rectangular fixtures for holding a part • A Roboguide Simulation TPP Program which moves the part from one fixture to the other. and is available in Directory: Install directory used for install. Typically this is c:\Program Filles\FANUC\PRO\SimPRO\Sample Workcells\Workcell Example Initial state of Roboguide: • Roboguide is running with no workcell defined • The Process Navigator window is open Simple Workcell Step 1: Creating a new workcell Simple Workcell Step 1: Creating a new workcell 1. This workcell is built.1 SimPRO: A simple pick and place with animation program A simple simulation workcell creation example The following procedures provide a procedure for creating a Roboguide workcell. The next step shows controller options that can be loaded. Select nothing and press next.Roboguide/PRO Software Workcell Examples 9 3. and press Next. Press Next. . No additional options are required. Enter the name: simprog example. Roboguide will start a Virtual Robot and then create a 3D virtual world with a robot. Select R-2000iA/165F from the list of robot models presented. The next step shows robots and positioners for additional motion groups. 6. The next step is where you define the type of robot. 7.A summary page is presented that describes your workcell type. At this point the robot can be jogged on the screen Resulting Roboguide state: You should now have a new workcell with a robot. Select Edit Robot Properties on the Process Navigator 2. Press Finish to build the robot. The 3D CHUIWorld view can be viewed and modified. and press Next. Set the Lock All Location Values checkbox on the property page to ensure that the robot base can not be moved in the workcell . robot. If multiple controller versions exist. the next step shows Virtual robot versions available.). Next step Simple Workcell Step 2: Editing the robot properties Simple Workcell Step 2: Editing the robot properties The robot’s properties can be modified. You can move the robot around the workcell and set other properties for the robot. 8. If prompted with a list of Application/Tool packages to be loaded select HandlingTool (N. 1. and press Next 4. The workcell has a robot. and controller options.A. Select the latest version. For this example you will use the HandlingPRO defaults. 9. 5. The Part property page for the new part will now appear on the screen. Scale Z = 0.5. You will see a dialog with several options. • Add a part to the workcell – This step • Define the part orientation in the End of Arm Tool – Step 4 • Define the part orientation in the pick fixture – Step 5 • Define the part orientation in the place fixture – Step 5 Add a part to the workcell 1. Select Add a Part to the cell from the Define the Cell category of the Process Navigator 2.csb. 3. Browse to C:\Program File_Menus\FANUC\PRO\SimPRO\Robot Library and select the file lrmate200i-3d. 4. Scale Y = 0. A browse dialog will appear on the screen. The part is shown visible on the Part Fixture. There are a few basic steps to create a simulation of the robot picking and placing parts. Select CAD Model – Browse for file and press OK. On the property page change the scale parameters to Scale X = 0. In . You have now defined a part for the workcell.5. Press the Open button on the browse dialog.5 and press Apply. In the Name field enter Little Robot Part and press Apply.Roboguide/PRO Software Workcell Examples 10 Previous Step Next Step Resulting HandlingPRO state: • A robot should be in your workcell • The Lock All Location Values option box should be checked on the Robot Property Page Simple Workcell Step 3: Add a part to the workcell Simple Workcell Step 3: Add a part to the workcell In this step you will add a part to the workcell to be picked and placed. Roboguide/PRO Software Workcell Examples 11 order to use the part you will have to assign it to a fixture. you will add End of Arm Tooling to the robot. You can adjust the Tool Center Point by dragging or rotating the triad to the desired location. The tool does not appear mounted correctly on the robot. 4. Select Edit End of Arm Tooling in the Define the Cell category of the Process Navigator 2. A tool should appear on the end of the robot. In the Primary CAD field select Browse to file icon (). You can think of this like physically mounting a tool to a robot. The tool should now be mounted correctly on the robot. Browse to the C:\Program files\FANUC\PRO\SimPRO\Image Library\EOATs\grippers directory and select the file: 36005f-200. The tooling mounted on the end of the robot in CHUIWorld now has a triad coordinate system. For this example. 1. Method 2: You can directly enter the value. how the tool is mounted on the robot. and the Tools UTOOL definition. Press the Use Current Triad Location and press Apply to set the TCP UTOOL value for the robot tooling. Select the Tool Properties / UTOOL tab 2. You modify how the tool is connected to the robot by modifying the Location value on the Tool Properties / General Tab. Defining the Tooling UTOOL value of the robot 1. In the W value of Location on the Tool Properties / General Tab enter the value 270 and press apply. direct enter the values . For a description of the part / fixture relationship see Working with Parts and Working with Fixtures Previous Step Next Step Simple Workcell Step 4: Adding End of Arm Tooling to the robot In this step. Press the Apply button. There are 2 methods to define the tooling offset: Method 1: Select the Edit UTOOL option box.csb 3. Defining the end of arm tooling and the mounting of the tooling of the robot. This includes defining the CAD model to be used. 3. 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. 7. Browse to the C:\Program files\FANUC\PRO\SimPRO\Image Library\EOATs\grippers directory and select the file: 36005f-200-4.csb. Define the part orientation in the end of arm tooling 1. The Little Robot Part now has a triad coordinate system. 10. The CAD for a closed gripper is loaded. You can jog the robot by using teach tool jogging or by using the virtual TP. On the General Tab of Eoat1’s property page uncheck the option box for Lock All Location Values and press Apply. In the Function field select Material Handling. There are multiple methods to define the Part Offset in the tooling: Method 1: Select the Drag-Teach Part Offset option box. Press Apply. 6. 2.0 and press Apply 3. 4. 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.0. 4. You can toggle between the two CAD images by selecting Open or Closed and pressing Apply.0. Select the Tool Properties / General Tab. Press Apply. . Select the Simulation tab.Roboguide/PRO Software Workcell Examples 12 0. Click on the end of arm tool and open its property page. You can now edit the part offset in the EOAT. In the Parts field select Little Robot Part. Enable the Lock All Location Values property by checking the box on the tab and press Apply.850. The end of arm tooling is now defined for jogging the robot.Clamp. You should see the part attached to the tooling 9. Select the Parts Tab 8.0. In the Actuated CAD field select Browse to file icon (). 5. Select the Edit Part Offset field by checking the box. 5. Create Fixture 1 1. You will see a dialog with several options. 0. You should now have the robot with end of arm tool holding the Little Robot Part. Little Robot Part. 11. Select Box Primitive Model and press OK. On the General Tab of Eoat1’s property page check the option box for Lock All Location Values and press Apply. 0. 0. In the Name field of the property page enter the text "Pick Fixture" and press Apply 4. Method 3: You can directly enter the value. called Pick Fixture. direct enter the values (0. 45) and press Apply. will be a blue box which a part can be picked from. The Fixture. A box will appear on the screen and the Fixture Property Page dialog window will appear defaulted to the General Tab 3. 225. Select Add a fixture to the Cell in the Define the Cell category of the Process Navigator 2. The TCP UTOOL value should be 0. In the Color field of the property page select the color wheel. you add a fixture to the workcell where the robot will pick your defined part. When the color palette dialog closes . 0. -85. Resulting HandlingPRO state: The workcell should now have a robot with an end of arm tool. The Tool Center Point should be defined for the robot with the Z axis of the TCP pointing out from the tooling in line with the robot arm. You then associate the part created earlier.method 3. For this example. For this example the offset will be entered directly. or by pressing the open/closed icon button () on the toolbar. When the color palette appears select a nice shade of blue and press OK. Previous Step Next Step Simple Workcell Step 5: Add a pick fixture to the workcell In this step. 1170. 850. and a part defined for the end of arm tooling. In the Size in Z field of the property page enter 500 and press Apply. 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.Roboguide/PRO Software Workcell Examples 13 Method 2: Use the automatic calculate method. with this fixture. -45. Select the Parts Tab on the Fixture property page 2. Define Simulation parameters You now must assign properties to the fixture so that it can accept parts. This tells PRO software . You will see Little Robot Part appear relative to the fixture.Roboguide/PRO Software Workcell Examples 14 select Apply.0 and press Apply. For this example. Change the Part Create to 2. Method 2: Use the automatic calculate method. There are Multiple methods to define the Part Offset in the fixture: Method 1: Select the Edit Part Offset option box. move the box to location 1500. 6.0 . Enable the Edit Part Offset button. 0 . 0.00 seconds and press Apply. 3. Method 3: You can directly enter the value. Note: if you do not see the part. Select Allow Part to be picked are Picked here and press Apply. You can now move the box around the workcell to place it where you want to pick parts from. direct enter the values 0. 1. For this example. 0. Select Little Robot Part from the Parts list and press Apply. When finished moving the part press Apply to set the Part Offset value for the part in fixture location. 315. 3. You can adjust the part location by dragging or rotating the triad to the desired location. 0. Select the Simulation Tab 2. 1. The Little Robot Part now has a triad coordinate system. Move the box in front of the robot. These values should be in the Location properties on the Pick Fixture Property Page Associate Part with Fixture You need to define what part will work with the fixture.0 . 4.method 3. The box color should change to Blue. make sure the Part Visible at Teach Time box is checked. This tells Roboguide that this fixture will be used for picking parts. Once you have defined what part goes with this fixture you can define its placement in the fixture. 500. For this example the offset will be entered directly. 0. 0. Select the Fixture Properties / General Tab. called Place Fixture. You will see a dialog with several options. You can now move the box around the workcell to place it where you want to place parts. In the Size in Z field of the property page enter 750 and press Apply. A box will appear on the screen and the Fixture Property Page dialog window will appear defaulted to the General Tab 3. Enable the Lock All Location Values property by checking the box on the tab and press Apply. 2.Roboguide/PRO Software Workcell Examples 15 to wait 2 seconds after the part is picked before creating a new part in the fixture. In the Color field of the property page select the color wheel. Select Add a Fixture to the Cell in the Define the Cell category of the Process Navigator. 6. These values should be in the Location properties on the Pick Fixture Property Page . In the Name field of the property page enter the text "Place Fixture" and press Apply 4. 0. will be a red box which a part can be placed on. When the color palette dialog closes select Apply. 1500. In this step you create fixture 2 and define how the part is placed on the fixture. The pick fixture should be blue and directly in front of the robot. 5. When the color palette appears select a nice shade of red and press OK. Move the box in front of the robot to the robots left. 5. move the box to location 850. tilted on an angle. Resulting HandlingPRO state: You should now have a pick fixture in your work cell. 4. Select Box Primitive Model and press OK. 750. The box color should change to red. 0. Previous Step Next Step Simple Workcell Step 6: Add a place fixture to the workcell Fixture two. Create Fixture 2: 1. For this example. Note: if you do not see the part.Roboguide/PRO Software Workcell Examples 16 Associate Part with Fixture You need to define what part will work with the fixture. Select the Simulation Tab 2. For this example the offset will be entered directly. 1. 5. Once you have defined what part goes with this fixture you can define its placement in the fixture. 0 . You can adjust the part location by dragging or rotating the triad to the desired location. Change the Part Destroy to 2. Enable the Edit Part Offset button. Select the Parts Tab on the Fixture property page 2. direct enter the values 0. 4.0 .00 seconds and press Apply. When finished moving the part press Apply to set the Part Offset value for the part in fixture location. 3.0 . The Little Robot Part now has a triad coordinate system. Select Allow Part to be placed and press Apply. There are Multiple methods to define the Part Offset in the fixture: Method 1: Select the Edit Part Offset option box. This tells PRO software to wait 2 seconds after the part is placed before destroying the part in the fixture. 4. Resulting HandlingPRO state: .method 3. For this example. Select Little Robot Part from the Parts list and press Apply. make sure the Part Visible at Teach Time box is checked. Enable the Lock All Location Values property by checking the box on the tab and press Apply. Define Simulation parameters You now must assign properties to the fixture so that it can accept parts. This tells HandlingPRO that this fixture will be used for placing parts. 3.0 and press Apply. You will see Little Robot Part appear relative to the fixture. Select the Fixture Properties / General Tab. Method 2: Use the automatic calculate method. 0. Method 3: You can directly enter the value. 1. Pick Sequence teach: 1. 3. A position should be created. Set the motion type to Joint by selecting the combo box that specifies motion type.Roboguide/PRO Software Workcell Examples 17 You should now have a fully defined workcell with Fixtures and Parts. You now have a TP Program called exmpl_wc which shows in the Cell Browser window under the Robot Controllers / Robot1 /Programs category. You will learn how to add a program. and record and touchup points. In the Name field of the Program Properties page enter exmpl_wc and press Apply. 1. Previous Step Next Step Simple Workcell Step 7: Create a robot program Create a robot program In this step you will create a new robot animation program that can be run in the simulation environment. Exmpl_wc is loaded into the Program Teach window with no TP Lines created. End of arm tooling is defined for open and closed with the closed state displaying a part in the tooling. 2. The Program Teach Edit Window and the Program Properties Page are displayed. Jog the robot to create a position near the pick up point . Create a Robot TPP Program The first step is to create a new TPP Animation Program. Creating and editing TP Program lines You will now create an animation TP program that performs a pick and place function. In the Program Teach Window press Record from the menu. In the Program Properties page select OK. A new TP Program is created. Parts are associated with fixtures and are visible in each fixture. 2. 3. Select Add a TP Program from the Teach TP Programs category of the Process Navigator. 4. Jog the robot to a position that will serve as a home position. The page should close. This is determined by how you oriented the part in the fixture. 3.. A Pickup instruction should be entered into your program. Select the last line of the TP Program in the Program Teach Window. 7. Jog the robot near the place fixture 5. A new TP Program line is created. Select Touchup to Pick/Place Point in the dropdown list included in the Touchup instruction toolbar item. 8. Open the place fixture property pages. 7. Press the close hand icon ()to close the gripper and see the part on the EOAT. 2. In the Program Teach Window press Record from the menu. PRO Software V6. The robot moves to the pickup point that was automatically calculated. In the Program Teach Window press Record from the menu. A third position should be created. Press MoveTo from the toolbar. In the Program Teach Window select Pickup from the Inst dropdown. Jog the robot away from the pick position and press record. and select UT:1 from the With field. A second position should be created. Place Sequence Teach: 1. Select the program statement immediately before the Pickukp instruction. Select the parts tab . 6. 9. 6. (in this example – line 3) 11. Pick Fixture from the drop down list in the From field. 4. This position will be used for the pickup of the part. 10.22 adds new features to quickly teach fixture positions.Roboguide/PRO Software Workcell Examples 18 5. 12. HandlingPRO automatically records the position which optimizes the robot pickup point. Press record to create a via position. Select Little Robot Part from the Pickup field. Press the close hand icon ()to close the gripper and see the part on the EOAT. of the UOP window The program should run. 10. 12. End of arm tooling is defined for open and closed with the closed state displaying a part in the tooling. The robot should move to the place position. Press Run on the toolbar. Simple Workcell Step 8: Run the program You will now run a simulation of your workcell. Parts are associated with fixtures and are visible in each fixture. 2. and you should see the part get picked and placed. Press the MoveTo button. Select Little Robot part 9. A move away position is created after the Open Hand instruction You have now created your TP Program for this example. UT:1 from the From field. . This line will be used for the place of the part. Drop instruction should be entered in your program. and Place Fixture from the On field. Press Record from the menu to create a new TP line. Previous Step Next Step Resulting HandlingPRO state: You should now have a fully defined workcell with Fixtures and Parts. The Roboguide Run panel window will appear on your screen. In the Program Teach Window select Drop from the Inst menu dropdown. Running the program 1.Roboguide/PRO Software Workcell Examples 19 8. Select Run TP Program from the Run Production category of the Process Navigator. 14. In the dropdown box in the part offset frame select UT:1 (EOAT1). 13. 11. A TP Program is created to run a pick and place process. Jog the robot away from the place point and press record. Select Little Robot part from the Drop field. and you should see the part get picked and placed. The Profile tab shows the cycle time and alarms for the running TP Program. a separate profile set is created for each run. 2. Display options are set to define how you want to see the robot data as the cycle runs. Select the Profile Tab. You can experiment with different settings to view results. 4. The Profiler window is shown that displays information for each run of the program. if you change motion parameters in your TP Program. Press Run on the toolbar. The profiler window shows times for the program and each TP program line. 5. The Roboguide Run panel and Profiler windows will appear on your screen. If you run the program multiple times.of the Run Panel window The program should run. There are 2 tabs on the windows. The Keep Visible check box on each Profile Display Options tab can be checked to determine . This is the actual robot motion. you can run the Profiler TP Trace and view the results to determine how the change effects your robot motion. Select the following options (make sure a check mark appears). Select Profile TP Program from the Run Production category of the Process Navigator. Note: the profiler can also be opened from the main menu Test-Run / Profiler menu selection. The profiler provides several features. Press Run on the toolbar. Enable the Collect TCP Trace option on the Run Panel. The profiler window shows times for the program and each TP program line. Select Test-Run / Profiler from the main menu 3. Collect TP Trace. You will see a trace line that runs with the robot as the robot moves. and Compress AVI on the Display Options tab. 2. Profiling your program with TP Trace 1. 3. Refresh Display. Select Run TP Program from the Run Production category of the Process Navigator.of the UOP window The program should run. and you should see the part get picked and placed. Select the Profile tab in the Profiler window. The Roboguide Run panel window will appear on your screen.Roboguide/PRO Software Workcell Examples 20 Profiling your program for cycle time 1. For example. Roboguide will popup a window that describes where the AVI file was placed on your computer. 2. 2. Press Record on the toolbar. Previous Step Next Step Simple Workcell Step 9: Creating an AVI of your workcell It is easy to create an AVI file of your running workcell. The Roboguide Run panel window will appear on your screen. If you have already built this workcell you can open the example workcell and skip to Step 7: Create a robot program. The difference between this workcell and the Simple Workcell Example is that this example creates a Robot TPP program and not a simulation program. Roboguide is creating an AVI file of your run. This workcell is built for you and is available in Directory: Install directory used for install.of the UOP window The program should run. and you should see the part get picked and placed.Roboguide/PRO Software Workcell Examples 21 differences in runs. The example assumes that you have started Roboguide and that you have no active workcell in the workspace of SimPRO. The same workcell is built as the first example except you now create a program using the Virtual TP. When complete your workcell should contain the following entities: • An R-2000 robot with end of arm tooling • 2 rectangular fixtures for holding a part • A robot TPP Program which moves the part from one fixture to the other. Select Run TP Program from the Run Production category of the Process Navigator. When the run is complete.2 SimPRO: A simple pick and place with TP program A simple pick and place workcell creation using TP Program The following procedures provide a procedure for creating a HandlingPRO workcell. Typically this is c:\Program Filles\FANUC\PRO\SimPRO\Samples Workcells\Workcell Example . 1. ). No additional options are required. 7. If multiple controller versions exist. A Workcell Creation Wizard is presented which guides you through the steps to build a workcell definition. Select Start New Cell from the Process Navigator. . and press Next. The next step shows controller options that can be loaded. and press Next 4.A summary page is presented that describes your workcell type. Select R-2000iA/165F from the list of robot models presented. Select the latest version. At this point the robot can be jogged on the screen Resulting HandlingPRO state: You should now have a new workcell with a robot. 6. robot. The type of workcells that can be created are presented in a list. and controller options. 5. The next step is where you define the type of robot. the next step shows Virtual robot versions available. The . 2. The types listed are based upon the plugins available in Roboguide on the PC being used.Roboguide/PRO Software Workcell Examples 22 Initial state of SimPRO: • HandlingPRO is running with no workcell defined • The Process Navigator window is open Simple Workcell 2 Step 1: Creating a new workcell Simple Workcell 2 Step 1: Creating a new workcell 1. HandlingPRO will start a Virtual Robot and then create a 3D virtual world with a robot. If prompted with a list of Application/Tool packages to be loaded select HandlingTool (N. Select nothing and press next 8. and press Next. Press Finish to build the robot. The next step shows robots and positioners for additional motion groups. 9. Enter the name: simprog example2.A. Press Next. Select HandlingPRO – Basic Material Handling Cell and press Next 3. • Add a part to the workcell – This step • Define the part orientation in the End of Arm Tool – Step 4 • Define the part orientation in the pick fixture – Step 5 • Define the part orientation in the place fixture – Step 5 Add a part to the workcell 1. You can move the robot around the workcell and set other properties for the robot. For this example you will use the HandlingPRO defaults. Select Edit Robot Properties on the Process Navigator 2. Select Add a Part to the cell from the Define the Cell category of the Process Navigator 2. Simple Workcell 2 Step 2: Editing the robot properties Simple Workcell 2 Step 2: Editing the robot properties The robot’s properties can be modified. You will see a dialog with several options. There are a few basic steps to create a simulation of the robot picking and placing parts. Select CAD Model – Browse for file and . The 3D CHUIWorld view can be viewed and modified.Roboguide/PRO Software Workcell Examples 23 workcell has a robot. Set the Lock All Location Values checkbox on the property page to ensure that the robot base can not be moved in the workcell Resulting HandlingPRO state: • A robot should be in your workcell • The Lock All Location Values option box should be checked on the Robot Property Page Simple Workcell 2 Step 3: Add a part to the workcell In this step you will add a part to the workcell to be picked and placed. 1. You can think of this like physically mounting a tool to a robot. how the tool is mounted on the robot. you will add End of Arm Tooling to the robot. Select Edit End of Arm Tooling in the Define the Cell category of the Process Navigator 2. This includes defining the CAD model to be used.Roboguide/PRO Software Workcell Examples 24 press OK. A browse dialog will appear on the screen. On the property page change the scale parameters to Scale X = 0. Press the Open button on the browse dialog. Defining the end of arm tooling and the mounting of the tooling of the robot. In the Name field enter Little Robot Part and press Apply.csb 3. 1. 3. Press the Apply button. Browse to the C:\Program files\FANUC\PRO\SimPRO\Image Library\EOATs\grippers directory and select the file: 36005f-200.csb. In order to use the part you will have to assign it to a fixture. Scale Y = 0. The part is shown visible on the Part Fixture. A tool should appear on the end of the robot. In the W value of Location on the Tool Properties / General Tab enter the value 270 and press apply. 4. and the Tools UTOOL definition. Defining the Tooling UTOOL value of the robot 1.5. The tool does not appear mounted correctly on the robot. You have now defined a part for the workcell. The Part property page for the new part will now appear on the screen. For a description of the part / fixture relationship see Working with Parts and Working with Fixtures Simple Workcell 2 Step 4: Adding End of Arm Tooling to the robot Simple Workcell Step 4: Adding End of Arm Tooling to the robot In this step. Browse to C:\Program File_Menus\FANUC\PRO\SimPRO\Robot Library and select the file lrmate200i-3d. The tool should now be mounted correctly on the robot.5. You modify how the tool is connected to the robot by modifying the Location value on the Tool Properties / General Tab. Scale Z = 0. 4. In the Primary CAD field select Browse to file icon ().5 and press Apply. Select the Tool Properties / UTOOL Tab . On the General Tab of Eoat1’s property page uncheck the option box for Lock All Location Values and press Apply. You can adjust the Tool Center Point by dragging or rotating the triad to the desired location.0. Define the part orientation in the end of arm tooling 1. 3. direct enter the values 0. The CAD for a closed gripper is loaded. Press Apply. In the Actuated CAD field select Browse to file icon (). 4. Select the Edit Part Offset field by checking the box.Roboguide/PRO Software Workcell Examples 25 2. The tooling mounted on the end of the robot in CHUIWorld now has a triad coordinate system. 7. 5. 2. Select the Parts Tab 8. There are 2 methods to define the tooling offset: Method 1: Select the Edit UTOOL option box. Select the Tool Properties / General Tab. 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. Browse to the C:\Program files\FANUC\PRO\SimPRO\Image Library\EOATs\grippers directory and select the file: 36005f-200-4. In the Parts field select Little Robot Part.0. Method 2: You can directly enter the value. For this example. You can toggle between the two CAD images by selecting Open or Closed and pressing Apply.csb.850. In the Function field select Material Handling. You can jog the robot by using teach tool jogging or by using the virtual TP. You should see the part attached to the tooling 9. You can now edit the part offset .0 and press Apply 3. Press Apply. Select the Simulation tab. Press the Use Current Triad Location and press Apply to set the TCP UTOOL value for the robot tooling.0. Click on the end of arm tool and open its property page. Enable the Lock All Location Values property by checking the box on the tab and press Apply. 6. The end of arm tooling is now defined for jogging the robot.Clamp. 4. You then associate the part created earlier. Create Fixture 1 1. For this example the offset will be entered directly. A box will appear on the screen and the Fixture Property Page dialog window will appear defaulted to the General Tab 3. -85. The Little Robot Part now has a triad coordinate system. 0. The Fixture. On the General Tab of Eoat1’s property page check the option box for Lock All Location Values and press Apply. There are multiple methods to define the Part Offset in the tooling: Method 1: Select the Drag-Teach Part Offset option box. 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. 11. with this fixture. Little Robot Part. In the Name field of the property page enter the text "Pick Fixture" and press Apply . 0. 10. -1170. direct enter the values (0. Select Add a Fixture to the Cell in the Define the Cell category of the Process Navigator 2. and a part defined for the end of arm tooling. For this example. 850. 45) and press Apply.method 3. You should now have the robot with end of arm tool holding the Little Robot Part. Method 3: You can directly enter the value. 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. The Tool Center Point should be defined for the robot with the Z axis of the TCP pointing out from the tooling in line with the robot arm. -45. 225. Simple Workcell 2 Step 5: Add a pick fixture to the workcell In this step. Select Box Primitive Model and press OK. You must press Apply each time you change your selection. you add a fixture to the workcell where the robot will pick your defined part. called Pick Fixture. 0. You will see a dialog with several options.Roboguide/PRO Software Workcell Examples 26 in the EOAT. 0. will be a blue box which a part can be picked from. Method 2: Use the automatic calculate method. The TCP UTOOL value should be 0. Resulting HandlingPRO state: The workcell should now have a robot with an end of arm tool. 0. 5. 0.`Using_the_Parts_Property_Page_Tab') on the Fixture property page 2. 315. For this example the offset will be entered directly. When the color palette dialog closes select Apply.hlp'.Roboguide/PRO Software Workcell Examples 27 4. These values should be in the Location properties on the Pick Fixture Property Page Associate Part with Fixture You need to define what part will work with the fixture.0 and press Apply. 1. You will see Little Robot Part appear relative to the fixture. 3.method 3. 500. .0 . Method 2: Use the automatic calculate method. In the Size in Z field of the property page enter 500 and press Apply. When finished moving the part press Apply to set the Part Offset value for the part in fixture location. The Little Robot Part now has a triad coordinate system. Enable the Edit Part Offset button. 4. Define Simulation parameters You now must assign properties to the fixture so that it can accept parts. Select Little Robot Part from the Parts list and press Apply. For this example. Move the box in front of the robot. 0. make sure the Part Visible at Teach Time box is checked. You can adjust the part location by dragging or rotating the triad to the desired location. 0 . In the Color field of the property page select the color wheel. For this example. Method 3: You can directly enter the value. Note: if you do not see the part. The box color should change to Blue. Select the Parts Tab!JumpID(`SimPRO_Parts.0 . 0. You can now move the box around the workcell to place it where you want to pick parts from. When the color palette appears select a nice shade of blue and press OK. direct enter the values 0. 15. Once you have defined what part goes with this fixture you can define its placement in the fixture. There are Multiple methods to define the Part Offset in the fixture: Method 1: Select the Edit Part Offset option box. move the box to location 1500. This tells HandlingPRO that this fixture will be used for picking parts. A box will appear on the screen and the Fixture Property Page dialog window will appear defaulted to the General Tab 3. Resulting HandlingPRO state: You should now have a pick fixture in your work cell.00 seconds and press Apply. Select the Simulation Tab 2. You will see a dialog with several options. In this step you create fixture 2 and define how the part is placed on the fixture. The pick fixture should be blue and directly in front of the robot. Create Fixture 2: 1. Enable the Lock All Location Values property by checking the box on the tab and press Apply. Simple Workcell 2 Step 6: Add a place fixture to the workcell Fixture two. 5. tilted on an angle. 3. Select the Fixture Properties / General Tab. In the Color field of the property page select the color wheel. will be a red box which a part can be placed on. You can now move the box around the workcell to place it where you want to place parts. Select Add a Fixture to the Cell in the Define the Cell category of the Process Navigator. called Place Fixture.Roboguide/PRO Software Workcell Examples 28 1. 5. In the Size in Z field of the property page enter 750 and press Apply. Select Box Primitive Model and press OK. 2. When the color palette dialog closes select Apply. When the color palette appears select a nice shade of red and press OK. The box color should change to red. Select Allow Part to be picked are Picked here and press Apply. In the Name field of the property page enter the text "Place Fixture" and press Apply 4. This tells PRO software to wait 2 seconds after the part is picked before creating a new part in the fixture. . Change the Part Create to 2. 4. 0. The Little Robot Part now has a triad coordinate system. For this example.0 and press Apply.0 . 0. Enable the Edit Part Offset button. 3. make sure the Part Visible at Teach Time box is checked. There are Multiple methods to define the Part Offset in the fixture: Method 1: Select the Edit Part Offset option box. Method 2: Use the automatic calculate method. 1. Note: if you do not see the part. move the box to location 850. 750. 0 . . direct enter the values 0. Select Little Robot Part from the Parts list and press Apply. 1500. 0. For this example.0 . 4. These values should be in the Location properties on the Pick Fixture Property Page Associate Part with Fixture You need to define what part will work with the fixture. For this example the offset will be entered directly. 3. Select the Simulation Tab 2. You can adjust the part location by dragging or rotating the triad to the desired location. Select Allow Part to be placed and press Apply. 4. You will see Little Robot Part appear relative to the fixture. This tells PRO software to wait 2 seconds after the part is placed before destroying the part in the fixture.00 seconds and press Apply.method 3. 1.Roboguide/PRO Software Workcell Examples 29 6. This tells HandlingPRO that this fixture will be used for placing parts. Move the box in front of the robot to the robots left. Once you have defined what part goes with this fixture you can define its placement in the fixture. Select the Fixture Properties / General Tab. Define Simulation parameters You now must assign properties to the fixture so that it can accept parts. Change the Part Destroy to 2. Method 3: You can directly enter the value. 0. When finished moving the part press Apply to set the Part Offset value for the part in fixture location. Select the Parts Tab on the Fixture property page 2. You will learn how to add a program. Resulting HandlingPRO state: You should now have a fully defined workcell with Fixtures and Parts. you learn how to animate picks and places using the virtual TP. and the property page should show for this program. 2. The virtual TP window opens with the edit page showing. Select Add TPP Program. Create a Robot TPP Program 1. Simple Workcell 2 Step 7: Create a robot program Create a robot program In this step you will create a new robot TPP program that can be run in the simulation environment. A new TPP Program is created on the virtual robot. Creating and editing TP Program lines You will now create a TPP program that performs a pick and place function. A popup menu should display. 5. Right click on the Programs category under Robot Controllers / Robot1. Open the cell browser 3. Pick Sequence teach: 1. In the Name field of the Program Properties page enter exmpl2wc and press Apply. In the Program Properties page select OK. . 4. End of arm tooling is defined for open and closed with the closed state displaying a part in the tooling. and record and touchup points. You now have a TP Program called exmpl2wc which shows in the Cell Browser window under the Robot Controllers / Robot1 /Programs category. 16. The page should close. Enable the Lock All Location Values property by checking the box on the tab and press Apply. Exmpl2wc is loaded into the Virtual TP Editor with no TP Lines created.Roboguide/PRO Software Workcell Examples 30 5. The first step is to create a new TPP on the virtual robot Program. Additionally. Parts are associated with fixtures and are visible in each fixture. Jog the robot to a position that will serve as a home position. Select the parts tab. The robot should move to the pick position. Place Sequence Teach: 1. In the Virtual TP. 5. 9. and then press F1 <POINT>. 6. In the Virtual TP. A TPP Line should be created. Press the down arrow key on the Virtual TP. 8. The speed for the line changes to 1000 mm/sec. Select item: L P[] 100mm/sec CNT100. enable the TP. enable the TP. Open the pick fixture property pages. then press the shift key and then press F1 <POINT>. Select item : L P[] 100mm/sec FINE. enable the TP. 3. enable the TP. A TPP Line should be .Roboguide/PRO Software Workcell Examples 31 2. Select Little Robot part 11. 2. 7. Jog the robot to create a position near the pick up point 4. In the Virtual TP. 12. 3. Jog the robot away from the pick position. Using the arrow keys on the Virtual TP. A TPP Line should be created. Enter 1000 using the Virtual TP keypad and Press the Enter key on the Virtual TP. A menu is displayed on the virtual TP display. Press the MoveTo button. Press the close hand icon on the toolbar (). and then press F1 <POINT>. A TPP Line should be created. The cursor should be on the [End] statement of the TP Program. and then press F1 <POINT>. A menu is displayed on the virtual TP display. 13. A menu is displayed on the virtual TP display. 10. Select item 4: L P[] 100mm/sec CNT100. In the Virtual TP. move the cursor over the 100 mm/sec. With the Virtual TP arrow keys move the cursor to the [End] statement of the program. The EOAT should now show the gripper holding the part. In the dropdown box in the part offset frame select UT:1 (EOAT1). PRO Software has features to quickly teach fixture positions. enable the TP. Jog the robot near the Place position. The TP Program that runs has no animation. A TP Program is created to run a pick and place process. A TPP Line should be created. In the Virtual TP.Roboguide/PRO Software Workcell Examples 32 created. 11. 14. A menu is displayed on the virtual TP display. In the Virtual TP. The EOAT should now show the gripper open. Select Little Robot part 9. PRO Software has features to quickly teach fixture positions. 7. Jog the robot away from the place point. and then press F1 <POINT>. 12. 4. Parts are associated with fixtures and are visible in each fixture. A menu is displayed on the virtual TP display. In the Virtual TP. Open the place fixture property pages. Resulting HandlingPRO state: You should now have a fully defined workcell with Fixtures and Parts. and then press F1 <POINT>. 10. End of arm tooling is defined for open and closed with the closed state displaying a part in the tooling. A TPP Line should be created 6. enable the TP. Press the close hand icon on the toolbar. 13. enable the TP. Select item: J P[] 100% CNT100. Press the MoveTo button. and then press F1 <POINT>. Select the parts tab. The robot should move to the place position. Select item: L P[] 100mm/sec FINE. 8. In the dropdown box in the part offset frame select UT:1 (EOAT1). A menu is displayed on the virtual TP display. . A TPP Line should be created. 5. Select item: J P[] 100% CNT100. and select UT:1 from the With field. Create a Open Gripper Animation Program The next step is to create a new animation TPP program that only opens the gripper. and select WAIT 0. Right click on the Programs category under Robot Controllers / Robot1. 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. 1. Pick Fixture should now show in the Pickup instruction. In the Name field of the Program Properties page enter closeg and press Apply. 3. Select Add Simulation Program. In the Simulation Program Editor.5(sec) A Wait instruction is inserted into the program. and select Pickup. Open the cell browser . Open the cell browser 2. 7. To animate. In the Program Properties page select OK. 6. you use a mixture of animation programs and TP Programs. 5. Select Little Robot Part from the Pickup field. select the dropdown for Inst menu item. A Pickup 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. A new simulation program is created. closeg is loaded into the Simulation Program Editor with no TP Lines created. select the dropdown for Inst menu item. 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. In the Simulation Program Editor. A popup menu should display. 1. and the Simulation Program Editor is opened.Roboguide/PRO Software Workcell Examples 33 Simple Workcell 2 Step 8: Animating a Virtual TP Program Virtual TP programs have no direct support to animate the attachment of parts to the end of arm tooling. Pick Fixture from the drop down list in the From field. 4. 3. You now have a TP Program called openg which shows in the Cell Browser window under the Robot Controllers / Robot1 /Programs category. 2. A window shows on the display. UT:1 from the From field. 7. openg is loaded into the Simulation Program Editor with no TP Lines created. A new simulation program is created. In the Program Properties page select OK. 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. . A blank line is inserted. Press the Enter button on the keypad. Select exmpl2wc from the cell browser.5(sec) A Wait instruction is inserted into the program. 4. select the dropdown for Inst menu item. 4. and select WAIT 0. and select Drop. In the Name field of the Program Properties page enter openg and press Apply. Enable the Virtual TP. In the Simulation Program Editor. and press the Next button. Open the virtual TP Editor 3. The Drop program is now created and will be inserted into the Virtual TP program in a later step. Inserting Call statements into the TP program The next step is to insert Call statements into your virtual TP program which call the above created programs. Press F5 [EDCMD] and select Insert (1). In the Simulation Program Editor. and Place Fixture from the On field Place Fixture should now show in the Drop instruction. Right click on the Programs category under Robot Controllers / Robot1. Select Add Simulation Program. 5.Roboguide/PRO Software Workcell Examples 34 2. 5. 1. select the dropdown for Inst menu item. Insert a Call Instruction to closeg. Press F1 [INST]. Select Little Robot part from the Drop field. A drop instruction is inserted into the program. 6. and the Simulation Program Editor is opened. The page should close. A popup menu should display. Insert a blank line. Select closeg from the list.of the UOP window The program should run. Press F5 [EDCMD] and select Insert (1). Select Profile TP Program from the Run Production category of the Process Navigator. 8. A window shows on the display. Press the Enter button on the keypad. . Press F1 [INST]. Press Run on the toolbar. Select CALL program. 2. A new window shows. Select CALL program. and you should see the part get picked and placed. and press the Next button. A CALL … instruction is put into the program. Insert a Call Instruction to openg. The Profiler window is shown that displays information for each run of the program. Simple Workcell 2 Step 9: Run the program You will now run a simulation of your workcell. A blank line is inserted. 6. There are 2 tabs on the windows.Roboguide/PRO Software Workcell Examples 35 Select CALL. 7. The Run panel and Profiler windows will appear on your screen. Insert a blank line. 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. Profiling your program for cycle time 1. The Run panel window will appear on your screen. The Profile tab shows the cycle time and alarms for the running TP Program. When the program is run the gripper will pick and place the part. Select CALL. Enable the Virtual TP. Running the program 1. 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. Select openg from the list. A CALL … instruction is put into the program. Display options are set to define how you want to see the robot data as the cycle runs. The program is now setup to run animation. Select Run TP Program from the Run Production category of the Process Navigator. A new window shows. This is the actual robot motion. and Compress AVI on the Display Options tab. Roboguide is creating an AVI file of your run. The profiler window shows times for the program and each TP program line. The Run Panel window will appear on your screen. 2. Press Run on the toolbar. 3. if you change motion parameters in your TP Program. The Run panel window will appear on your screen.of the UOP window The program should run. and you should see the part get picked and placed. Select the Profile Tab.Roboguide/PRO Software Workcell Examples 36 2. 4.of the run panel The program should run. The profiler provides several features. Select Run TP Program from the Run Production category of the Process Navigator.of the UOP window The program should run. You can experiment with different settings to view results. Refresh Display. You will see a trace line that runs with the robot as the robot moves. Collect TP Trace. Profiling your program with TP Trace 1. The profiler window shows times for the program and each TP program line. and you should see the part get picked and placed. Simple Workcell 2 Step 10: Creating an AVI of your workcell It is easy to create an AVI file of your running workcell. The Keep Visible check box on each Profile Display Options tab can be checked to determine differences in runs. and you should see the part get picked and placed. Roboguide will popup a window that describes where the AVI file was placed on your computer. 1. Select Test-Run / Profiler from the main menu 3. Select the following options (make sure a check mark appears). 2. Select the Profile tab in the Profiler window. a separate profile set is created for each run. you can run the Profiler TP Trace and view the results to determine how the change effects your robot motion. Select Run TP Program from the Run Production category of the Process Navigator. For example. Press Record on the toolbar. 5. Press Run on the toolbar. . If you run the program multiple times. 6. When the run is complete. and press Next. (for this example use the workcell name "PalletPRO Example Workcell".3 PalletPRO: A Simple Pallet Workcell Example Simple Pallet Workcell Example Overview The following procedures provide a procedure for creating a PalletPRO workcell. The example assumes that you have started PalletPRO and that you have no active workcell in the workspace of PalletPRO. and a field to enter a new workcell name. 4. Select Start New Cell from the Process Navigator . A dialog is shown that presents current existing workcells. select M- . When complete your workcell should contain the following entities: • An M-410iB/160 robot with end of arm tooling – vacuum – double case. A step is shown that allows selection of the process to perform Select PalletPRO and press Next 3.Roboguide/PRO Software Workcell Examples 37 2. Enter a name for your new cell. The next step shows a list of supported robots. Install directory is typically C:\Program Files\FANUC Initial state of PalletPRO: • PalletPRO is running with no workcell defined • The Process Navigator window is open Simple Pallet Workcell Step 1: Creating a new workcell Simple Pallet Workcell Step 1: Creating a new workcell 1. For this example. • 2 infeeds for conveying boxes • 2 pallets for stacking boxes This workcell is built for you and is available in Directory: <install directory>\PRO\PalletPRO\Example Workcells\Workcell Example\ Workcell Example. The workcell wizard is opened 2. Select nothing and press next. and an infeed. 7. From this page you can define how the pallet system should operate.Roboguide/PRO Software Workcell Examples 38 410iB/160. 5. You can move the robot around the workcell and set other properties for the robot and pallet system. Resulting state: • A robot should be in your workcell . A summary page is shown that displays how the virtual robot will be loaded 9. 2. Ensure that PalletTool Turbo is selected and press next 8. Simple Pallet Workcell Step 2: Editing the robot and pallet system properties Editing the robot and pallet system properties The robot’s properties can be modified. 1. Press Apply. Select Setup Pallet System on the Process Navigator . the next step shows Virtual robot versions available. a single pallet. 3. For this example you will use the PalletPRO 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 next step shows robots and positioners for additional motion groups. Press Finish PalletPRO will start a Virtual Robot and then create a 3D virtual world with a robot. Select the General Tab. 6. The 3D CHUIWorld view can be viewed and modified. The next step shows controller options that can be loaded. The workcell has a robot. and press Next. Select the latest version. If multiple controller versions exist. At this point the robot can be jogged on the screen Resulting state: You should now have a new workcell with a robot. Select the General Tab 5. Set the Lock all location values checkbox on the property page to ensure that the tooling can not be moved from the robot. Press Apply or OK to make the changes take effect Resulting state: The robot defined with a double vacuum gripper and has been locked to the end of arm. 2. The default Pallet Station and Infeed are also present. Select Setup Gripper from the Process Navigator The End of arm tooling property page should open. 4. 6. The ability to change how the workcell and robot process pallets and multiple infeed systems is provided. Change the Gripper Type to be edited to Vacuum – Double for this example. For this example we use the default gripper. For this example. You may change the gripper CAD on the end of arm. There are two tabs on the EOAT property page. 1. PalletPRO starts your workcell with a default vacuum gripper. Select the Palletizing tab 3. Simple Pallet Workcell Step 3: Setup Palletizing Gripper / EOAT In this step you will setup the palletizing gripper on the robot. The General tab and the Palletizing tab. the defaults are used. .Roboguide/PRO Software Workcell Examples 39 • 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 pallet should now be in a new location. Set the Lock all location values checkbox on the property page to ensure that the pallet station can not be moved in the workcell 4. 2. Press OK or Apply to make the changes take effect. -2100. Enter the values 440. Direct enter the new location for the pallet station. Direct enter the new location for the pallet station. From the process navigator select "Add a Pallet Station". we will place the objects symmetrically in front of the robot. 0. and press Apply to make the change take effect. The pallet should now be in a new location. 0. and open its property page When you select a pallet station. and add and locate a new pallet station. 3. This is the origin teach plate that PalletTool / PalletPRO use. 0 into the location field on the Pallet Stations General Property tab. Enter the values 440. We will re-locate pallet station 1. . 24. 24. This example workcell has 2 infeeds and 2 pallets. Modify the default location of the pallet station 1. 0 into the location field on the Pallet Stations General Property tab. you see a black arrow on a red box on the pallet. Objects can be moved in the workcell. 0. This will be discussed later. Add a pallet station 1. 0. In this step you will modify the location of the default pallet station.Roboguide/PRO Software Workcell Examples 40 Simple Pallet Workcell Step 4: Adding and working with pallet stations PalletPRO includes a default pallet station when it creates a workcell. NOTE: you can also add a new pallet station using the Cell Browser A new pallet station is entered in the workcell and needs to be located correctly. 1300. and press Apply to make the change take effect. Select PalletStation1 in the workcell. 2. In order to balance the workcell. 750. Press OK or Apply to make the changes take effect. The infeed station should now be in a new location. 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. This will be discussed later. You need to define infeed properties that define how units are delivered on the infeed. .Roboguide/PRO Software Workcell Examples 41 3. 2. PalletPRO attempts to properly configure IO for the infeed. Direct enter the new location for the infeed station. When you select an infeed station. 0. This is the origin teach plate that PalletTool / PalletPRO use. Objects can be moved in the workcell. Add an infeed station 1. 3. Set the Lock all location values checkbox on the property page to ensure that the pallet station can not be moved in the workcell 4. 0. and transit delay times. Resulting State: You should now have 2 pallet stations and a single infeed in your workcell. Set the Lock all location values checkbox on the property page to ensure that the infeed can not be moved in the workcell 4. We will re-locate pallet station 1. you see a black arrow on a red box on the infeed station. 0 into the location field on the Infeed Stations General Property tab. -700. Select Add an Infeed Station from the Process Navigator. and press Apply to make the change take effect. Modify the location of the default infeed station 1. Select Infeed 1 in the workcell and open its property page. Enter the values 1100. Press OK or Apply to make the changes take effect. Set the Lock all location values checkbox on the property page to ensure that the slip sheet dispenser can not be moved in the workcell 4. Direct enter the new location for the slip sheet dispenser. Press OK or Apply to make the changes take effect. 0. Resulting State You should now have 2 pallets and 2 infeeds in your workcell. and press Apply to make the change take effect. and press Apply to make the change take effect. Set the Lock all location values checkbox on the property page to ensure that the infeed can not be moved in the workcell 4. 0.Roboguide/PRO Software Workcell Examples 42 NOTE: you can also add a new infeed station from the Cell Browser. 2. 0. Press OK or Apply to make the changes take effect. you add a slip sheet dispenser to your workcell. Direct enter the new location for the infeed station. The slip sheet dispenser should now be in a new location. 0. A slip sheet dispenser is added to the cell. Add a slip sheet dispenser 1. 100. Simple Pallet Workcell Step 6: Adding and working with slip sheet dispensers In this step. 0 into the location field on the Infeed Stations General Property tab. 2. A second infeed is added to the cell. The infeed station should now be in a new location. Select Add a Slip Sheet Dispenser from the Process Navigator. NOTE: you can also add a new slip sheet dispenser from the Cell Browser. 0. 0 into the location field on the Slip Sheet Dispenser's General Property tab. 3. 1300. Enter the values 1100. Resulting State: . 3. Enter the values -675. 750. and open its property page 2. 1. 2 infeed stations. The build will start from this origin. The origin of pallet 2 has been switched to the outside corner which means the unit loads will build from this corner. Unit Loads are process on a pallet as defined by this origin. This moves the origin for the palletizing process to a different corner of the station. and a slip sheet dispenser. you change the pallet orientation / origin position for pallet station 2. Select Infeed 2 in the workcell.Roboguide/PRO Software Workcell Examples 43 You now have a complete cell with 2 pallet stations. Select OK or Apply to accept the changes. Unit Loads are process on a infeed as defined by this origin. This moves the origin for the palletizing process to a different corner of the station. The slip sheet pick up positions are automatically set by PalletPRO. and a slip sheet dispenser. you change the Infeed orientation / origin position for infeed station 2. Select OK or Apply to accept the changes. 3. 4. 3. Select PalletStation2 in the workcell. Select the length on width picture () in the Teach Aid Frame and press Apply. Simple Pallet Workcell Step 7: Modifying a pallet stations process properties In this step. Select the Pallet Tab. Select the Infeed Tab. Select the length on width picture () in the Teach Aid Frame and press Apply. and open its property page 2. Modifying a pallets orientation / origin for the palletizing process. 4. Simple Pallet Workcell Step 8: Modifying an infeed stations process properties In this step. 1. . Modifying a infeeds orientation / origin for the palletizing process. 2 infeed stations. Resulting State: You now have a complete cell with 2 pallet stations. Remember. Edit an existing unit load 1.. 2. "Select Slip Sheet Above" from the list.Roboguide/PRO Software Workcell Examples 44 Resulting State: You now have a complete cell with 2 pallet stations. Select unit load UL001-Sample Product from the cell browser The unit load's property page will open. and a slip sheet dispenser. Right mouse click on the portion of the graphic that shows "Layer 1: Normal". Change the layers field to 3. In the Process Parameters frame select Double Case from the drop down list for Grippers. As changes are made in the property pages. The origin of infeed 2 has been switched to the opposite corner which means the units will feed on this side of the infeed. Press Apply. 4. Note:when the page opens. 3. In this example. . the pallet unit load in the 3D world is updated when you press Apply. A popup menu is shown. 2 infeed stations. On the Select Pattern Tab change the pattern to Optimal and press Apply. In the left center of the property page a graphic shows Layer configurations. and on the pallet in the 3D world 7. Layer configuration and optimal path are two such processing parameters you can modify. you must press Apply to have the change take effect. Press the Palletizing Parameters button This takes you to the property page where you modify the palletizing process. 5. 6. and press OK The unit load property pages should close. 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. you will modify the default unit load and add a new unit load. On the Enter dimensions tab: change the Unit dimensions width value to 300. A slip sheet is placed in the graphic. you will see the unit load you are working on as configured shown on pallet 1 in the 3D world. Parameters will be changed on both unit loads so that you can become more familiar with the editing of a unit load. and press Apply. Select Add Unit Load from the Setup Unitloads category on the Process Navigator. PalletPRO allows you to input a "skin" to a unit. Select the Palletizing Parameters button to open the property page for processing parameters. press OK to finish the editing of this unit . PalletPRO configures the unit load for multiple unit picks and single unit placements. Press Apply. a new unit load is created. A new unit load is created and the property page is shown. Modify the grid to have the following entries. Cycle Infeed Pick Orientation 1st drop Group 2nd 1 Length on Length 1 & And 2 2 Width on Length 3 & And 4 3 Width on Length 5 . Your unit load shown in the 3D world will now have a new "skin" attached on each unit. The defaults for dimensions and pattern are used. By default. Install directory is typically C:\Program Files\FANUC. and how the robot places units. A double case gripper can pick and place multiple units. Add a Unit Load In this procedure. Press the folder button to the right of the Skin Image File: field. Select <install directory>\PRO\PalletPRO\Example Workcells\Workcell Example\frna_logo. 1. 4.Roboguide/PRO Software Workcell Examples 45 You have modified unit load 1. and the Layer picking is manually modified. When you have completed editing the grid. You manually modify picking configuration to optimize system efficiency. and press Apply. 2. you modify how boxes are presented on the infeed. For each row in the grid. The unit load created will be modified to place multiple units. A double gripper is defined. The normal layers cycles frame grid changes to reflect a double case gripper. A "skin" is an image file that is placed on each face of a unit.jpg. It is on this page that we modify the gripper type and Layer cycle definition. 6. In the Normal Layers cycle frame grid on the Configure Cycles tab we will modify the Group column to configure simultaneous placement of units. 3. 5. In the Process Parameters frame select Double Case from the drop down list for Grippers. Line #1 – UL001 – Sample Product. and we can run a simulation of the palletizing process. Resulting State: You now have a complete cell with 2 pallet stations. Running the simulation of the palletizing process. 2 infeed stations. 3. and a slip sheet dispenser. The PalletPRO Run Panel dialog is opened.Roboguide/PRO Software Workcell Examples 46 load. Pick = Infeed2. Select Run Panel from the Run Production category of the Process Navigator. Make sure the Refresh Display option is checked. Place – PalletStation1 Line #2 – UL002 – Sample Product. Place – PalletStation2 Press Start The Production Data display box is opened and the workcell starts palletizing. 1. Ensure that the following entries are made in the table. Pick = Infeed1. The Simulation Cycle Start dialog is opened. . 2. Simple Pallet Workcell Step 10: Running a production simulation Your workcell is now complete. 2 unit loads are defined. Press Run. Several steps are required and this step describes each procedurally. Press Finish to start the creation of the virtual robot. 2.4 Buid an auxiliary axis example Building an aux axis system example Step 1 Create a new workcell A new workcell is created with the name Aux_System_example. 8. On the Additional Motion Groups Page select Next.Roboguide/PRO Software Workcell Examples 47 2. The robot will restart in controlled start. 7. 4. PRO should initialize with a 3D ChuiWorld. Name the workcell and press Next. 3. and then select Maintenance . This example uses the workcell name Aux_System_Example. This example uses HandlingPRO. Select options to be loaded on the robot. Axes must be added to the robot group 1 before the axes can be used. The final step of the wizard shows the configuration of the robot that will be serialized. Select the desired robot from the list and press Next. 9. After pressing finish the virtual robot is serialized. The process can be seen on the virtual TP screen. Start a new workcell by selecting File / New from the main menu The workcell creation wizard is opened. This example uses the R2000iA/165F. After serializing the virtual robot the configuration has extended axis capability. 5. Check the box next to the Extended Axis Control option in the list and press Next. Press Menu button. See Configuring a virtual robot for an aux axis system form a more detailed description of this wizard step. Defining the auxiliary axis hardware information. 6. Step 1: Create a new workcell 1. Select which Roboguide plugin you desire and press Next. Start the virtual robot in controlled start mode by selecting Robot / Restart Controller / Controlled Start from the main menu. 16. A menu is presented which allows you to select the motion group to modify extended axis information. 13. Aux axis 1 Initialization o Enter the axis to add: 1 o Motor Size: Aca6 o Motor Type Setting: /2000 o Amplifier Current Limit Setting: 40A o Extended axis type: Integrated Rail (Linear axis) o Direction: Select Y – this makes joint 7 perform in the robot Y direction. Enter the hardware start number for the extended axes. o Enter Gear Ratio: 120 o Maximum Joint Speed Setting: No Change o Motion Sign Setting: False o Upper Limit Setting: 5000 o Lower Limit Setting: -5000 (Press the – key on the numeric keypad) . Select the Add Ext Axis item and press Enter. When the questions appear left click the mouse on the virtual TP window. A menu is presented which allows you to modify extended axis configurations.Roboguide/PRO Software Workcell Examples 48 10. The Virtual TP screen shows question that must be answered to define the hardware selected. and answer the questions as detailed below (the answers provided may not be correct for the hardware on an actual auxiliary axis hardware. Select Group 1 and press enter. Press Manual 12. 14. Down Arrow to the extended axis item and press enter 11. Select 7 and press enter. 15. See the Robot manuals for more information). Aux axis 2 Initialization o Enter the axis to add: 2 o Motor Size: Aca6 o Motor Type Setting: /2000 o Amplifier Current Limit Setting: 40A o Extended axis type: Integrated Rail (Linear axis) o Direction: Select X – this makes joint 8 perform in the robot X direction.2 o Brake Number Setting: 2 o Servo Timeout: Disable 17. After answering the last question. the Ext Axis Setting program menu is shown again. Select the Add Ext Axis item and press Enter 18.Roboguide/PRO Software Workcell Examples 49 o Master Position Setting: 0 o Accel Time 1 Setting: No Change o Accel Time 2 Setting: No Change o Minimum Accel Time Setting: No Change o Load Ration Setting: 2 o Amplifier Number Setting: 1 o Select Amp Type: Alpha amp . o Enter Gear Ratio: 120 o Maximum Joint Speed Setting: No Change o Motion Sign Setting: False . The Ext Axis Setting program menu is shown. Building an aux axis system example Step 2 Build the auxiliary axes system Step 1 created a new workcell. Expand the Robot Controllers / Robot 1 tree in the cell browser. and configured a virtual robot with extended axes on the virtual robot. The select group menu is shown. A machine is defined that has a base that defines the 10 meter Y rail.Roboguide/PRO Software Workcell Examples 50 o Upper Limit Setting: 4000 o Lower Limit Setting: -4000 (Press the – key on the numeric keypad) o Master Position Setting: 0 o Accel Time 1 Setting: No Change o Accel Time 2 Setting: No Change o Minimum Accel Time Setting: No Change o Load Ration Setting: 2 o Amplifier Number Setting: 1 o Select Amp Type: Alpha amp . Select Exit and press Enter. 21. 20. Press Fctn / Start (Cold) Roboguide opens with a robot in a workcell with no other devices. the additional joints should be available on the Current Position tab of the virtual Teach Pendant.2 o Brake Number Setting: 2 o Servo Timeout: Disable 19. 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 axes have been defined and setup. An additional joint is . Select Exit and press enter. Step 2 uses these extended axes to build a Roboguide machine / auxiliary axis system. 0. Change the Name Property to X-Y Rail and press Apply. 10. 7. A box for the X rail axis of the machine should be loaded into the workcell. A box is added to the workcell and the property page for the machine is shown. 6. In the Axis Origin fields enter 0. 2. 5. Change the Name Property to X Rail and press Apply. 90. For more information regarding the 3D axis and Link CAD reference frames see Working with machines. 0. 3. and press Apply. . Y= 10000. 0.Roboguide/PRO Software Workcell Examples 51 added to define the 8 meter X rail. The base now exists for the robot Y rail of travel. 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. This highlights the coordinate system that moves when the axis is jogged or moved. 0 for the CAD Location. Right Click on the Machines Element and select Add Machine / Box menu selection. 0. The following procedure defines this relationship within the workcell. 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). 4. The box should move to the floor and be 10 meters in the Y direction. Select Lock All Location Values and press Apply to lock the base in the workcell. Enter Size in X = 1000. and the property page for the control of joint 7 should be open. 0. There should be a Machines element in the tree under the workcell. The motion control axis must be defined. Size in Z = 300 and 0. Right Click on the X-Y Rail Machine root node under Machines and select Add Link > Box. the motor must attached to the motion control axis. On the General property page press the Select 3D Axis button. The robot is then attached to the X rail. 9. 0. 300. Build the dependent X rail axis. The Z axis of the axis link must be rotated to align with the Y rail base Box created in an earlier step. Note that the 3D axis reference frame now is in the direction of travel along the rail. Build the base of the auxiliary axis system 1. and the CAD box must be located correctly for the machine. Locate the Box. 0 and press Apply. Open the cell browser if it is not open. 8. Size in Z = 300 and 0. 16. 17. 0 for the CAD Location. 0. -90. Define the robot axis that controls this axis. 0. In the Axis Origin fields enter 0. 0.Roboguide/PRO Software Workcell Examples 52 11. J:7 . 0. 0. 0. Right Click on the G:1. 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. On the X Rail Motion Property page select Group = GP:1 R-2000iA. . 0 for the CAD Location. The Z axis is now aligned with the direction of travel.X Rail Machine node under Machines and select Attach Robot -> GP:1 – R-2000iA/165f. 0 and press Apply. Open the virtual Teach Pendant and jog Joint 7. To quickly change this association. select Joint 7. 0. Enter Size in X= 8000. select Joint 8. In the Joint field. open the property page for the X Rail and select the Negative checkbox on the General property page. 0. it means that the motor direction is opposite of the CAD link Axis direction defined. If the teach ball at the end of the robot moves in the opposite direction of the axis. The box should be on the floor and be 8 meters in the X direction. Locate the Box relative to the Joint 7 Axis Origin of motion. 12. 300. 90. Attach the robot to the X rail Axis 14. 15. This attaches the robot to J:7 X. Validation can be done by jogging both joints 7 and 8. On the Motion Tab of the Property page select the Servo radio button and then select Group = GP:1 R-2000iA. 18. Press Apply. The robot rotates because the Link CAD is relative to the 3D Axis origin. This highlights the coordinate system that moves when the axis is jogged or moved. Change the Name Property to Robot R2000 and press Apply. Select the Link CAD tab on the X Rail Property page.Rail so that when the X Rail is jogged the robot moves on the rail. 13. Locate the Robot relative to the Axis Origin of motion. The box should be on the floor and be 8 meters in the X direction. Define the robot axis that controls this axis. Select the Link CAD tab on the Robot R2000 property page. The box just attached to joint 7 moves in the World Y direction relative to the base CAD box. Press Apply. 90. and press Apply. In the Joint field. Press the Select 3D Axis button. The Z axis of the axis link must be rotated to align with the X rail Box created in an earlier step. and press Apply. An aux axis system should now be defined. Enter 0. The robot teach ball should now move with the rail as it is jogged. 19. o Zoom Window o Orthogonal Views: snaps the view to the selected view o Center on selected object: centers the selected object o Full View: changes the zoom level of the 3D world such that all objects are in the field of view. o Program Details o Quick bars Jog coordinates Gen override Teach MoveTo Targets o Mouse Commands • Cell o Add Robot o Add Part o Add Fixture o Add Obstacle o Add Target group . o Wireframe: changes the objects to wireframe from surface mode. o Recent File: provides a list of recently viewed files. o Export IGES export Bitmap export o Recently used Workcell list • Edit o Undo o Redo o Cut: cuts the currently selected object. This setting is a toggle on to wireframe and toggle off to surface mode. o Copy: copies the currently selected object to the clipboard o Paste: paste the cut or copied object o Delete: deletes the selected object • View o Cell Browser o Navigator o Zoom In: zooms the 3D world o Zoom Out: zooms the 3D world out. o Perspective: toggles the 3D world into Perspective view.Roboguide Menus 53 3 Roboguide Menus Roboguide Menus SimPRO’s main menu • File_Menu o New Cell o Open Cell o Restore Cell Save point o Save Cell o Save Cell As o Package Cell o View File: allows you to open and view a file. o Restart controller: provides ability to restart the virtual robot in controlled start mode or cold start mode. • Teach • • • • o Add Simulation Program o Add TP Program o Load TP Program o Draw Part Features o Teach Program: opens the currently selected program into the program editor. a KCL window is displayed. o Lock Teach Tool Selection o Show Work Envelope. KCL commands can be entered. This works with MotionPRO. o Options Window o 3D Panes: o Minimize all: Minimize editor windows o Show All: opens all windows . o Open/Close Hand: toggles the state of the end of arm tooling. o Teach Pendant o Alarms o Web Browser: provides a window that has the Web server output displayed. o Profiler o Duty Estimation Project o Add Files o Recent files o Set Default folder o Build o Import o Export Tools o Explore <workcell name>: opens a MS Windows explorer window with the workcell directory as the active directory. o Load motion optimization: restarts the robot with motion optimization option enabled. See About using end of arm tooling for more information. o Launch MotionPRO o Robot Properties: opens the robot property page for the currently active robot controller. o Program Properties: opens the property page for the selected program. toggles the robot work envelope on/off.Roboguide Menus 54 • Robot o Restart All Controllers: Cold starts all controllers in the workcell o IO Interconnections o Workcell properties o Object Properties: opens the property page for the selected object in the workcell. o KCL Window: if KCL is enabled on the virtual robot. Test-Run o Run Panel o Run Options: allows options available on the run panel to be modified from the main menu. o Help on Current Windows: opens the help topic for the currently selected window. When complete the wizard creates a new virtual robot. o About: provides version information about the currently loaded process plugin. o Transfer Roboguide License: provides dialogs to transfer a valid software license from one PC to another. If you are using PaintPRO. Within the creation wizard you define workcell name. robot type. The workcell creation wizard dialog box is shown To create a new workcell from the main menu 1.Roboguide Menus 55 • Help o Reset "Don’ show this again" captions: resets the dialogs that you turned off. The wizard is initialized when you select create a new workcell. o Contents: opens the help system. To create a new workcell from the toolbar 1. o Register SimPRO: provides licensing dialogs. and robot options. Use this option when you want to build a robot and define options for the robot. For more information see Creating a virtual robot from backup. Creating a workcell Roboguide provides a wizard to create new workcells. When creating a workcell you must consider whether you want the robot • Created from a blank. This is generally used when you don’t have a physical robot that has been configured for your workcell. Left click on the new cell toolbar icon () 2. • Created from the backup of an actual physical robot. and you have run PaintPRO by opening PaintPRO and not by . Use this option when you want to model an actual workcell that has a robot configured. From the main menu select File / New Cell 2. This robot is the configuration for the virtual robot which is real robot software running on your PC. The workcell creation wizard dialog box is shown For more information on using the workcell creation wizard press here. When creating a workcell you must consider whether you want the robot • Created from a blank/scratch. You can step through the wizard with the next and back buttons. Workcell Creation Step by step description: (specific to creating a workcell). Step: Enter process Selection: • Select the process type you want for your workcell. . or you can select a step directly by left clicking on the Workcell Navigator step in the left pane. Use this option when you want to model an actual robot in a workcell. Use this option when you want to build a robot and define options for the robot. The type of robot can be modified after a workcell is created through the Robot Property Page.Roboguide Menus 56 generating a PaintPRO workcell from Roboguide a paint specific wizard is displayed. • Created from the backup of an actual physical robot. Step: Workcell Name: • Enter the name you want for your workcell. When creating a workcell you must consider what type of workcell you want: • Handling Workcell • Pallet Workcell • Etc. When the creation wizard is opened you see the steps of the wizard shown as a tree on the left. If only one application is present on the PC it is your default type. Related topics Using the workcell creation wizard The workcell creation wizard provides an interface to create a new workcell and to define the robot within the workcell. Roboguide knows what application process plugins are installed on the PC. This is generally used when you don’t have a physical robot that has been configured for your workcell. a primitive object is loaded into your workcell with default parameters. For example. You may select multiple CAD files if you want to import multiple CAD images into the workcell as a single object. Select the source of the object from which it should be added. importing of IGES files. 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. the robot serialize wizard is opened. To add an object using the main menu 1. The popup menu will have items based upon the PRO Software plug-in and the options loaded on robots in the workcell. if line tracking is enabled. and primitive objects. Note: the origin of the combined object will be the origin of the CAD files overlaid. If you select Robot. If you select CAD File a dialog is opened in which you can select the CAD File desired. Note: the origin of the combined object will be the origin of the CAD files overlaid. Roboguide supports a CAD Library. Roboguide supports a CAD Library. and primitive objects.Roboguide Menus 57 Adding a workcell object To add an object using the cell browser 1. Select from the popup menu (if applicable) the source of the object from which it should be added. Right mouse click the type of element you want to add to your workcell A popup menu will appear with selections. you would see "add line" under the fixtures menu. 2. If you select CAD File a dialog is opened in which you can select the CAD File desired. a primitive object is loaded into your workcell with default parameters. . 2. 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. And then select the type of object to add. importing of IGES files. 3. You may select multiple CAD files if you want to import multiple CAD images into the workcell as a single object. 3. From the main menu select Cell. You can step through the wizard with the next and back buttons. The Workcell Creation Wizard has one or two additional steps at the beginning to identify the workcell. . . or you can select a step directly by left clicking on the Navigator step in the left pane. The robot controller version must first be chosen when creating a new robot. • It is also hidden if ROBOGUIDE is initiated by a specific process plugin. The reason for the change is that the R-J3iC controller platform requires a new option selection mechanism.40 Rev D and later: the creation wizard order changes.Roboguide Menus 58 Configure your robot controller ROBOGUIDE provides two wizards to help you create and modify the robot controller for your workcell. 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. 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. NOTE: Version Roboguide V6. • Virtual Robot Edit Wizard: used to add a new robot to the workcell or modify an existing one. Press the Serialize Robot on the General tab of the robot property page to launch this wizard for modifying the selected robot. Steps in the wizard include: Step: Process Selection • Select the process plugin from the list. • Workcell Creation Wizard: used to create a workcell with its initial robot. The wizards are very similar. When the creation wizard is opened you see the steps of the wizard shown as a tree on the left. It is designed to allow you to quickly try robot variations for simulation purposes only. • This step is only shown by the Workcell Creation Wizard when more than one process plugin is installed on the PC. The Virtual Robot Edit Wizard (link to Configure your robot controller) makes it easy to modify the configuration of your robot. Select the File > New Cell menu or press the button on the main toolbar to launch this wizard. A number of the motion parameters (for example: axis limits) are reset to their default values by the wizard. 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.dt file. o Create a new robot with the last used xxxPRO config. Note: The text "xxxPRO" is replaced by the actual name of the selected process plugin. This option is shown if you are reserializing a robot from the robot property page. the wizard tree is populated with information in the backdate. It manages the cleanup of the Robot Neighborhood when a workcell is deleted. or Create as a modification of the existing robot. The robot may be a virtual robot or real robot. The robot configuration is defined in the file backdate. Press the browse icon (file folder) and browse to the directory that contains the backup of the desired controller. o Create an exact copy of an existing robot: allows you to make a copy of an existing robot. This option is shown if you are creating a workcell or adding a new robot.Roboguide Menus 59 Step: Workcell name • Enter the desired workcell name • This step is only shown by the Workcell Creation Wizard • It is recommended that you use the Delete Item feature of this step if you wish to remove a workcell. Select the backdate.dt.. o Create a robot from a file backup: creates a robot from a controller backup. You will not be able to modify the details of the robot configuration. Browse to .dt file and press Open. Press the browse robots () icon to open the Robot Neighborhood. Step: Robot Selection Method • Select the method to create the virtual robot. When you press the Next button. When you press the Next button. Step: Robot Application Tool • Select the desired application Tool for the robot. (V7. or FANUC Robotics America parameters should be loaded. Step: Robot Model • Select the desired robot from the list Step: Robot Models for additional motion groups • The step shows robots and positioners for additional motion groups. You re-enter the serialize a robot from the Robot Property Page Step: Robot Software Version • Virtual robot software that is loaded on your PC is displayed. Select if FANUC Ltd. . You will not be able to modify the details of the robot configuration. Select the virtual robot controller version that you desire. Click here for more information on defining additional motion groups. the wizard tree is populated with information in from the robot. And a table that diagrams how the devices would be configured on the virtual robot. o Languages tab: select the desired language settings. Step: Robot Options • Robot options.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. After the robot is created you may re-enter the serialize wizard and change detail information. Languages and Memory configuration can be configured: o Software options tab: Scroll through the selections and check the boxes for the options that you desire.Roboguide Menus 60 the desired robot directory and press Select. o Advanced tab: Select the desired memory configuration for the created virtual robot. The UOP assignments are required for proper operation of the run panel controls. Since parts can be used in multiple fixtures. Similar to a line creation tool in a drawing package. If not Target group is selected a message is posted. • At robot TCP: when depressed a target is generated at the active / selected robots TCP. a feature can be used to generate programs for a part in several locations. Features and segments defined: Features are 3 dimensional lines in PRO’s CHUIWorld. The fixture to generate a TPP part program on is a setting in the CAD to Path feature property pages. Robot programs can be generated from PRO’s features automatically. There are buttons/ modes for: • Air Target: when depressed an air target is created with each left mouse click at the mouse cursor. Features and parts Features are owned by the parts they are created on. When the left mouse button is clicked a target is generated at the center of the arc. 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. . • 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. The target is added under the Targets category of the cell browser. • To Group: when depressed. About program generation Robot programs can be generated from defined features in PRO software. A feature can be generated from: • CAD Edges • Freehand drawn lines: mouse clicking on CAD surfaces to create a node by node line.Roboguide Menus 61 With the option unchecked. you can assign your own I/O configuration after the robot is started. a new target is added to the Targets category and the current cell browser selected Target group. Using the Target Quickbar The Target quickbar is displayed by pressing the Target quickbar toolbar icon (). Once parameters are defined. TPP programs are generated automatically when Apply is pressed. Each segment can set properties for the generation of the chosen segment. Programs generated from features and segments: A feature and its segments have properties for the program generation for the entire generated program. When creating a program from the feature. Drawing a line on the CAD. and is owned by the part category in the cell browser.Roboguide Menus 62 A feature can be broken into segments. The following presents an example feature with 3 segments that was generated along a CAD Edge. This works like most drawing packages where you click and drag the mouse to create a line segment. When generating a program. Once a feature has been defined. From a CAD entity. As you define features. they are represented in the Cell Browser under the Part object that created the feature with. Each segment can then have a unique path taught for it. The yellow segment is the actively chosen segment. There are multiple line drawing options: Once a feature is defined you can break the feature into segments that make up the feature. Creating features A feature is a "3D" line segment that can be generated in multiple ways in PRO Software. For more detail on the types of features supported see What features are available in PRO Software. This allows multiple process changes to easily be handled when creating programs from features. As the line segment is drawn it is mapped to the CAD surface on which you are creating the line. The feature property pages provide settings to control the generation of TP programs. A segment can be broken into multiple segments. 1. Each segment has properties that can be defined for the loaded PRO process plugin. the feature and its segments have property pages that . For more information on CAD features click here. The feature and its segments represent the 3D line that should be used to generate robot programs. even if you use the part in multiple locations in your workcell. Roboguide has tools to track the edges of CAD entities and create a feature. The feature stays with the part. Each segment has its own path generation properties. A feature is organized in the cell browser. The result is a feature that can contain many separate segments. It is visualized as a tree with the feature being the root node. 26. This provides great flexibility in generating programs from a feature to meet desired process needs. different creation properties can be given to each segment in the feature to generate desirable robot process programs. you can select which instance of the part should have the program generated. 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 see Setting up a UTOOL for path generation . • By default a feature has one segment when it is first created. if a program is generated with no modifications to the generation parameters. if the tool center point on the robot has a definition that has the TOOL Z vector defined into the tooling (as ARC does). PRO uses the normal to the surface that was used to create the feature as its reference starting point for generation. When a segment is first created it inherits the properties of the feature.Roboguide Menus 63 define how robot programs should be generated from the feature. the resulting program provides points with orientation normal to the surface that was used to generate the feature. The first segment properties control the approach position and the last segment controls the retract position. • Circularity between points: PRO determines if three created positions define an arc that can be defined using circular motion. The determination of linearity can be adjusted on the feature to program generation property pages. • Linearity between points: PRO minimizes the number of created positions by testing for linearity between positions. For example. If there is only one segment for the . The tooling defaults can be overridden on a features generation property pages. For more information on what features can be created see What features are available in SimPRO. but many factors can influence the generation of the programs. These include part location and orientation relative to the robot. Therefore. the paths being generated should take this into account. PRO allows you to setup the CAD to PATH generation properties on the Tooling property pages. 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. Fields include approach and retract distance and speeds. and tooling orientation setup for program generation. If PRO determines and arc exists it automatically creates the circular motion program lines to provide the desired arc. 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. Program generation methods: When generating a program. The tooling defines defaults. 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. The determination of circularity can be adjusted on the feature to program generation property pages. Feature properties effect segments that make up the feature. Roboguide Menus 64 feature. Motion parameters for generated positions along a feature must be defined to meet the process needs. • Desired motion types: the types of motions being created is defined by the feature that is used to generate programs. If arcs are present it is desirable to have circular motion control. Default control of positions being generated There are several factors that effect how position location and orientation should be generated. The approach point is generated using the orientation of the first point of the first segment in the feature. In some cases. Roboguide provides fields to control these parameters on the Feature and Segment Prog Settings property page. the precise orientation of the end of arm tool relative to the feature is not as critical (deburring) . it is desirable to have a tool vector track the feature . A program should include approach and retract distances with associated speeds and motion types. Controlling output program parameters being generated When generating programs the output program name. and programmed speed. The retreat point is generated using the orientation of the last point of the last segment in the feature. circularity. In some cases. Roboguide uses these settings and automatically eliminates points such that the resulting program is within the parameters specified. • Orientation tracking along a feature and its segments. • Tooling axis alignment to the feature and its segments: For example. Different robot processes require different process control capability. it may be desirable to have the tooling +Y vector follow along the feature. • Roboguide minimizes the number of points that meet the criteria defined on the property pages for linearity. The default position generation settings are defined on the Feature and Segment Pos . UFRAME and UTOOL to be used can be defined on a property page. • Desired robot configuration: a robot can generally reach a position with different arm configurations. This is required when precise alignment of the tooling relative to the part is required (cutting). the segment properties control the approach and retract positions. Controlling Program settings General program speed and program flow must be defined for programs. The feature owns the approach/retract distance and speed properties. robot group to generate with. and the ability to call programs while generating programs must be allowed so that additional editing of generated programs can be minimized. If a feature has many linear pieces it is desirable to reduce the number of positions using linear motions. · 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. The Fine control generation settings are defined on the Feature and Segment Pos Offsets property page. For the core menus see Roboguide menus. o Pallet System Setup · Robot o Open/Close Hand is removed · Teach o Add Simulation Program is removed. 3. o Add TP Program . Adds a unit load to the workcell.f • The normal relative to the normal itself: when this is chosen the position is offset relative to the normal itself. 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. The following lists by Main menu category additional menu items added by PalletPRO. 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. For more information see About Pallet Unit Loads o Gripper setup: used for end of arm tooling configuration. o Add Unit load: available only in PalletPRO. Examples include. Translations are relative to the surface used to generate the feature and rotations are relative to the normal vector When performing both translation and rotation on positions it is important to specify whether the translation is done first or the rotation is done first. The results are different based upon is chosen.1 PalletPRO Menus PalletPRO menus are customized for the PalletPRO process. work angle for arc welding or deburring angle for a removal application.Roboguide Menus 65 Defaults property page. and color. o Teach Program is removed. Palletizing properties include defining orientation. o Teach perch position o Teach maintenance position o Run Panel o Run Options: allows options available on the run panel to be modified from the main menu. and other pallet specific properties. General properties include location. These include: • Infeeds • Pallets • Slip Sheet dispensers Using the Infeed Fixture Property Tabs Infeed fixtures have general Roboguide fixture properties and Palletizing Infeed unique properties. o Program Properties is removed. simulation parameters. Related Topics: Working with the Infeed Fixture General Property tab Working with the Infeed Fixture Infeed Property tab . Each have unique properties that you can define through PalletPRO.Roboguide Menus 66 · Test-Run o Load TP Program o Draw Part Features is removed. o Profiler is removed o Duty Estimation o Production data o Cycle start o Same as Roboguide menus o Same as Roboguide menus · Tools · Help Working with the PalletPRO fixture property pages PalletPRO has unique fixture objects. CAD file. These fields include: • Name: enter the name you want for the fixture. • CAD File: defines the CAD file used for this fixture. When you change the state of the field. or CAD image. Cylinder. • Show robot collisions: when checked this fixture is checked for collisions with robots in the workcell. • Lock All Location Values: when checked. • Location: defines the location of the fixture relative to the 3D ChuiWORLD zero reference position. • Visible: if checked you can see the fixture.Roboguide Menus 67 Using the Fixture General tab The General Tab of the Fixture Properties page provides fields to edit general obstacle properties. Sphere. • Scale: defines the scale parameters for CAD type objects. locks all of the location values for the fixture. • Type: set by Roboguide. This is a primitive entity of Box. • Color: allows you to change the color of primitive objects. . • Size: defines the parametric values for primitive objects. • Wire Frame: when enabled the object is shown as wireframe • Transparency slider bar: controls the transparency of the object. you must press Apply for the action to take place. The X direction of the UTOOL is along the length infeed. . It also defines how the X direction of the UTOOL lines up with the infeed. You must select which side of the conveyor you want the origin to be on which defines the origin to PalletPRO and PalletTool. For more detail on how PalletPRO controls unit flow click here. PalletPRO can automatically determine the proper station origin since it has knowledge of the workcell and where objects are located. . • Infeed Properties o Number: defines the infeed number that PalletPRO uses when running a simulation. and is also known as the origin of the infeed. When you select an orientation a flat box with an arrow appears on the infeed (). The conveyor will place the units in a specific corner of the conveyor. the station origin must be in the corner of the conveyor where the unit will be when it is picked up.Parts are received on the right side of the conveyor. Locate the station origin in the corner where the robot will find the units Length on length:. o Transit delay: defines the delay time PalletPRO uses before releasing a unit from the infeed queue to the robot. Called length on length because the arrow on the PalletTool teach plate is along the length of the conveyor. The X direction of the UTOOL is along the width of the infeed. • Teach Aid o Orientation defines what side of the conveyor that parts are presented to the robot. Locate the station origin in the corner where the robot will find the units PalletTool uses a standard teach plate to define the origin. the station origin must be in the corner of the conveyor where the unit will be when it is picked up. Width on length: Parts are received on the left side of the conveyor.Roboguide Menus 68 Working with the Infeed Fixture Infeed Property tab The infeed fixture Infeed property tab has fields to define various infeed properties. The conveyor will place the units in a specific corner of the conveyor. For infeed stations. You should not have to change this number. Called width on length because the arrow on the PalletTool teach plate is along the width of the conveyor. Y offset: specifies the distance to shift the origin of the infeed along the length of the infeed station. A station is the area where the robot picks up or places units. it may not be necessary to set the offset values. o Part Present DI : signals if a part is present o Part Request DO: requests a part from the conveyor About defining and teaching stations When you set up PalletTool/ PalletPRO you must teach/ define the stations for your application. When you teach the stations you • Decide the station location by locating it in your workcell • Locate the station origin by defining the orientation on the respective stations property pages. Infeed offset (length) and (width) are typically used when the robot cannot reach the corner of the infeed in order to teach the origin. When you teach a station you determine where the pallet or conveyor will be by locating it in your workcell. PalletTool/ PalletPRO uses two kinds of stations: . o Move To: select this to move the robot to the origin position created by PalletPRO. o Part Orientation DO: signals PalletTool what orientation the next unit will be. Since PalletPRO has knowledge of the workcell and automatically determines the origin. Not used by PalletPRO. o X offset. 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. • Infeed IO o Maximum Parts: defines the maximum number of units that can be queued on the conveyor.Roboguide Menus 69 For further information on origins and orientation click here. Standard Workcell Layouts . .Double Infeed. This will generally be at one of the two corners farthest from the infeed. you must also plan where to locate the slip sheets and pallets so that the robot can reach them. single pallet station workcell configurations with recommended locations for infeed stations and pallet stations. Standard Workcell Layout . For pallet stations. and they do not interfere with the application. 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.Roboguide Menus 70 • Pallet station. If the robot cannot reach the corner. Infeed offset (length) and (width) are typically used when the robot cannot reach the corner of the infeed in order to teach the origin. which is the area where the unit load is located. For infeed stations. Fixture Plate Orientation for Infeed Stations Infeed offset (length/width) specifies the distance to shift the origin of the infeed along the length of the infeed station. The figure below shows standard layouts for single infeed. This workcell could use two slip sheet stations. PalletPRO automatically determines location based upon how properties are set. it may not be necessary to set the offset values. Station Origin The station origin is the corner of the station closest to where you teach P1 using the fixture plate. Double Pallet Station Location and Origin The location of the infeed and pallet stations is determined by the requirements of your installation. These workcells could use a single slip sheet station. FANUC Robotics recommends that you select the station origin to optimize cycle time and prevent collision of the units during palletizing. • Infeed station. Single Pallet The figure below shows a standard layout for a double infeed. If your unit loads require slip sheets or pallet handling . double pallet station workcell configuration. Locate the station origin in the corner where the robot will find the units. and example fixture plate locations.Single Infeed. which is the area at the end of the conveyor where the robot picks up units for palletizing or places units for depalletizing. then use pallet offset information under Pallet Station setup. you can place the origin somewhere other than the corner of the pallet. Since PalletPRO has knowledge of the workcell and automatically determines the origin. In this case. it may not be necessary to set the offset values.Roboguide Menus 71 When the fixture plate is positioned correctly for pallet stations. • Maximum Parts: (found on the Infeed’s Infeed property tab). Too high a . 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. The orientation of the fixture plate also determines the positive and negative directions for the pallet approach length and the pallet approach width. . Boxes in the queue are controlled by the case rate of the unit load. This value provides the throughput assumptions from the real system Quality of visualization: setting the Infeed transit delay to a low value will allow for the boxes to stack up on the conveyor. in a location where the robot can reach it. defines the maximum number of units that can be queued on the conveyor. Since PalletPRO has knowledge of the workcell and automatically determines the origin. along the length/width of the pallet station. P1 will be in the corner where PalletTool will place the first unit. Increasing this value can make the visualization appear as more of a "flow" of units 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. P2 will lie along the build direction of the pallet station (or the arrow of the fixture plate). This assumes there are boxes in the queue to be released. This may or may not be desirable. About controlling infeed rates with PalletPRO The rate at which units are delivered to the robot on an infeed is controlled with several parameters within PalletPRO. Fixture Plate Orientation for Pallet Stations Pallet offset (length/width) specifies the distance to shift the origin of the pallet. The build direction is the direction in which PalletTool will build the unit load. See the following figure for examples of how the positive and negative values are affected by the fixture plate orientation. This is the key value to calculate throughput during simulation. You adjust these parameters for multiple purposes: Quality of throughput calculations: the key parameter is the Case Rate defined as part of the unit load. teach the station origin on the pallet. Pallet offset (Length) and (Width) are typically used when the robot cannot reach the corner of the pallet in order to teach the origin. It is also the direction in which the arrow of the fixture plate points. The pallet approach length and width are values that can be adjusted to optimize how the robot places units on the pallet. • Wire Frame: when enabled the object is shown as wireframe • Transparency slider bar: controls the transparency of the object. and other pallet specific properties. If the value is one then you see little part queuing. General properties include location. Related Topics: Working with the Infeed Fixture General Property tab Working with the Pallet Fixture Pallet Property Page Working with the Pallet Fixture Pallet Positions Property Page Using the Fixture General tab The General Tab of the Fixture Properties page provides fields to edit general obstacle properties. simulation parameters (pallet index time). • Visible: if checked you can see the fixture. For proper throughput calculations you must make sure that setting this value does not "starve" the conveyor at the pickup point. Sphere. Maximum parts value can be adjusted to show "stackup" on the infeed queue. you must press Apply for the action to take place. CAD file. .Roboguide Menus 72 number and you may "starve" the infeed at the pickup point. • Type: set by Roboguide. or CAD image. • CAD File: defines the CAD file used for this fixture. pallet positions. These fields include: • Name: enter the name you want for the fixture. Cylinder. and color. Using the Pallet Fixture Property tabs Pallet fixtures have general Roboguide fixture properties and Palletizing pallet unique properties. When you change the state of the field. This is a primitive entity of Box. If the number is 6 (max) you can see up to 6 parts queued on the infeed. • Location: defines the location of the fixture relative to the 3D ChuiWORLD zero reference position. Palletizing properties include defining orientation. It is critical to correctly configure your pallet for proper Palletizing simulation. • Color: allows you to change the color of primitive objects. The orientation of the fixture plate also determines the positive and negative directions for the pallet approach length and the pallet approach width.Roboguide Menus 73 • Size: defines the parametric values for primitive objects. • Show robot collisions: when checked this fixture is checked for collisions with robots in the workcell. you can place the origin somewhere other than the corner of the pallet. It also defines how the X direction of the UTOOL lines up with the pallet. . This will generally be at one of the two corners farthest from the infeed. It is also the direction in which the arrow of the fixture plate points. FANUC Robotics recommends that you select the station origin to optimize cycle time and prevent collision of the units during palletizing. • Teach Aid o Orientation: defines the origin of the pallet for palletizing. then use pallet offset information under Pallet Station setup. If the robot cannot reach the corner. Working with the Pallet Fixture Pallet Property Page The Pallet fixture pallet property page has fields to configure the pallet in your PalletPRO workcell. locks all of the location values for the fixture. • Lock All Location Values: when checked. The pallet approach length and width are values that can be adjusted to optimize how the robot places units on the pallet. • Scale: defines the scale parameters for CAD type objects. When you select an orientation a flat box with an arrow appears on the pallet (). This delay is used for simulation purposes. Fields include: • Pallet properties o Number: is the Pallet ID number used by PalletTool. The build direction is the direction in which PalletTool will build the unit load. 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. The arrow lies along the build direction of the pallet station (or the arrow of the fixture plate). PalletPRO automatically generates this position when the pallet is put in the workcell. for PalletPRO. Since PalletPRO has knowledge of the workcell and automatically determines the origin. Width on Length. o Pallet Index DO: Is the IO point used to signal a pallet index. Length on Length. Y offset: specifies the distance to shift the origin of the pallet station along the length of the pallet station. • Pallet IO o Pallet Present DI: Is the IO point used to detect that a pallet is present. PalletPRO automatically updates the position to be the center of the pallet. Pallet offset (length) and (width) are typically used when the robot cannot reach the corner of the infeed in order to teach 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. o If you move the pallet. 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. Positions include: • Slip Sheet Position: the slip sheet position is the initial drop location for a slip sheet. The arrow is along the length of the pallet and defines the X direction of the UTOOL to be along the length of the pallet. o If you move the robot and record a new position this would be the new slip sheet position. . this is the surface of the pallet at the center of the pallet. Generally.Roboguide Menus 74 The orientation selection on the Pallet Tab provide the following definitions for the pallet. o X offset. Working with the Pallet Fixture Pallet Positions Property Page The Pallet Fixture pallet positions property page is used to teach special positions specific to a pallet. for each unit load that uses slip sheets. • Diagonal Return position: can be used to decrease cycle time. PalletPRO automatically calculates key Slip sheet positions (search start and search end) because it has knowledge of the slip sheet dispenser in the workcell. but you can change it. If your unit loads require slip sheets. and maintain the recorded slip sheets z height. instead of on a pallet. Some unit loads are built directly on a slip sheet or tier sheet. Using the Slip Sheet Dispenser Fixture property tabs A slip sheet or tier sheet is a sheet of heavy paper or cardboard that is placed between the layers of a unit load. PalletPRO will move the slip sheet position to center of the pallet at the new location. you must • Enter complete layer spacing information during Unit Load Setup. Slip sheets provide added load stability. Slip sheet search attempt information will automatically be calculated from the position register information PalletPRO initializes this value. Tabs include: • General Tab • Slip Sheet Dispenser Tab PalletPRO provides slip sheet dispenser fixtures to enable slip sheet simulation. • Record the position registers used by the slip sheet program. Slip Sheet Dispenser property pages are provided to define general fixture properties and slip sheet specific properties. particularly when columnar patterns are used. . • Position the slip sheet magazine (container holding slip sheets) properly in the workcell.Roboguide Menus 75 o If you record a new slip sheet position and then move the pallet. A diagonal retreat path can be used when the pallet retreat position is higher than the infeed perch position. Customer Name. pallet dispenser. PalletPRO allows maximum 4 pallets to be refreshed.VR Unitload data .VR Description Infeed data Comment PalletPRO allows maximum 4 infeeds to be refreshed. Pallet Dispenser Positions PMGRIPDT. Then all data is downloaded to the real production robot. Slip Sheet Positions. users tweak fixture locations. unitload data and I/O points.VR Pallet data POSREG. infeeds and pallets can be re-located exactly where they were relative to the robot in the real world. Data will be reset in the pallet station file for "Pallet index time". The following data are imported into PalletPRO: Data File Read PMINFxxx. Measurement System (always PMULxxx. 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. Many users first use PalletPRO to test/validate their application as close to the real world conditions as possible. While running with the real robot. PMSTAxxx. the slip sheet dispenser. then it is assumed that they are not used and PalletPRO will not create/display these fixtures. Maintenance Position. a networked robot or from the virtual controller in PalletPRO. If you made changes to unitloads in the real robot. Why is this feature needed? This feature allows you to synchronize your production workcell with the PalletPRO simulation workcell. With the Upload menu in PalletPRO.Roboguide Menus 76 About the PalletPRO Upload dialog PalletPRO provides an Upload menu under the main File menu to read all palletizing data from a backup directory. and update the 3-D simulation world in PalletPRO. If the pallet dispenser and slip sheet dispenser position registers are uninitialized. they would be imported into PalletPRO.VR Perch Position.VR Gripper Data PalletSystem Data Data will be reset in the unitload for: Case Rate.VR PMPSYSDT. Workcell Robot Controller refers to the virtual robot controller in PalletPRO. Files To Upload: The list box is populated with the files that are uploadable from either the workcell robot. pallets. type the network name or the IP address of the robot in the Robot Name/IP text box. The selected robot for upload operations will be the one that is highlighted in the List of Robots list box. 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. the Upload failed. to navigate to a backup directory on your PC or a networked PC when the Upload From (source) is Backup directory. If the Upload From (source) is Networked Robot. select it in the List of Robots list box and then click on the Del Robot button. this might take a long time depending upon how many unitloads you have in your workcell. DeleteFrom PalletPRO items that are not found in the Upload Source checkbox: While uploading data. if you wish to delete from PalletPRO. and then click on Add Robot. Browse: The Browse button is disabled when the Upload From (source) is Workcell Robot Controller.Roboguide Menus 77 mm). slip sheet dispenser or pallet dispenser that were not found in the backup directory. If you wish to delete an item. Configures virtual controller in PalletPRO to be the same as the real robot. PalletPRO will backup the data that exists on the Workcell Robot Controller to the "PalletBackup" directory which will be located in your Workcell directory. Backup data in Virtual Controller before Uploading checkbox: If you check this box. Skin image. Browse will open a "Robot Network" dialog as shown below. you must check this box. which has an assigned IP address. then before performing an Upload. If for any reason. unitloads. You can use Ctrl and SHIFT buttons on your keyboard while clicking with the mouse to select multiple items. . you can restore this backup and try the Upload again to go back to your old settings. Users can add/delete Robot IP addresses here. DIOCFGSV. the networked robot or the backup directory depending on the selection in the Upload From combo. The item will be added to the List of Robots list box. If you do choose to backup data. infeeds. workcell robot or the networked robot. This command button allows you to open a file dialog as shown below. To add a robot. The choices are 1) Workcell Robot Controller 2) Networked Robot 3) Backup Directory. Highlight the backup directory and then click on ok.IO I/O data Description of Features: Upload From: The combo box allows you to select the "Upload source". Networked robot refers to any FANUC robot on a network. then first create that infeed station and set its Scale Y correctly before invoking the Upload procedure. A progress bar will be displayed in the 3-D world during the Upload operation. then all the positions uploaded are likely to be offset by the riser height. The reason you must do this is that Scale information does not exist in the backup or controller data. Now all your positions will be correct.log" is created in the workcell directory that stores useful information about the Upload steps – conflicts that PalletPRO encountered. Decide which unitload is going to run on which pallet station. abort simulation. it is still quite simple to recover. 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. Failing to do so. then fortunately. then Upload may not draw your pallet at the proper location. This will make many positions not reachable. unless you follow the following procedure. PROCEDURAL RECOMMENDATIONS FOR UPLOAD • If the robot is on a riser. Upload is performed only for the selected files in the Files to Upload list box. • If you have Pallet stations that are taught "Width on Length". . skipping files where it was uncertain. a file called "Upload. If it is not done before invoking the Upload procedure. If you forgot to set the Z height in the robot property page. Their actual location is not important since they would be updated by "Upload" later. etc. o Insert as many pallet stations as you need into the workcell. Once you decide that. As soon as the robot goes to perch position and as soon as you see the "Begin Palletizing" message at the bottom of the screen. each pallet station contains a pallet of the size you wish to run there. You will note that in the 3-D world. o Create a different unitload to run on each of the pallets. Then do the Upload. will create the infeed at an incorrect location. Upload: This button performs the actual uploading of the files and refresh of the 3-D world. then it deletes the orphan elements in PalletPRO.Roboguide Menus 78 Status Combo: The status of the upload operations or error messages will be stored in this combo. Then run simulation (Press the play button). • If your infeed stations have a Scale Y other than 1 (you have narrower or wider infeeds than the standard). enter the value of the pallet dimensions in the appropriate unitload. things that it changed. If the Delete check box is checked. Set the Z height in the robot property page and then repeat the upload procedure. When the process is complete. The combo continuously lists the last 100 status messages. first raise the robot to the appropriate height from the Location control Z value of the Robot General property page. However. 6. 4. you must manually copy them from the real robot to the virtual robot in PalletPRO. When you do a workcell Save. then this procedure is not necessary. Also. 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. If the pallet is taught width on length but the width dimension is 40 inches or 1016 mm. At the completion of the Upload. this deletion of orphan elements in PalletPRO will not be performed. 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. it will be created in PalletPRO.log" is created in your workcell directory. pallet. then this procedure is not necessary. infeed or pallet station is created in PalletPRO. If after the Upload. it will be deleted. exit the workcell without saving and then re-open it. 3. . For example. If an item in the Upload source is not found in PalletPRO. Upload will update any infeed. If the "Delete checkbox" is checked. 2. Upload Path and the selected Robot in Robot Network are saved in the PalletPRO workcell. Notes & Limitations for Upload 1. Upload does not use TP programs and System variables If you wish to update PalletPRO with these items. items in PalletPRO that were not found in the Upload source will be deleted. if UL620 did not exist in the Upload source but was found in PalletPRO. These settings will be restored when you re-open the workcell. if you have Unitload number 610 in the Upload Source and not in PalletPRO. the data for Upload From (source). If the "Delete checkbox" is not checked. You should get into the habit of reviewing this file after an Upload. There is no UNDO for Upload. For such items. a new UL610 is created in PalletPRO. remember that you might have a valid backup of virtual controller data in the "PalletBackup" directory under your workcell directory. a filed called "Upload. it will utilize all the data that was found on the controller. 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. you wish to revert to your items in PalletPRO. For example. Please save your workcell before invoking Upload. 5.Roboguide Menus 79 o Now run the Upload procedure. slip sheet dispenser. If the pallet is taught length on length. default values will be used. pallet dispenser or unitload in PalletPRO when it finds matching items in both PalletPRO and the Upload From source. When a new Unitload. some features such as "Pallet picking" are not supported for certain controller versions such as V5.22. there were many changes to the various data files (VR files).30-3 to the latest 6. Third. PalletPRO infers the number of cases by counting the number of units in each row of the "Configure cycle" data.31 virtual robot containing PalletTool Turbo. One example is that the Number of cases of a multi-case gripper is not saved in the Unitload VR files. you must upload files from a real controller that contains V6. If uploading data from a V5. Users must be aware of this and check and rectify data. While Uploading data. The I/O configurations in the PMGRIPDT. if your unitload contains custom grippers. Another example is Upload of gripper data. the robot will not pickup the actual pallet but it will go through its motions. However. sometimes it has to infer or assume certain pieces of data required by PalletPRO that are not directly available in the VR files.30 or V6.30 source. 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. triple and multi-case grippers are not the same. 8. If you fail to match versions in the real and simulated robots. Fourth.31 version and PalletTool Turbo. if the I/O assignments for each case of single. 7. 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. However. For example. your upload will fail and/or the PalletPRO workcell will stop working. 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. Between these versions. if you have a PalletPRO workcell with a V6.Roboguide Menus 80 So. double.VR file might not match the I/O configuration in PalletPRO and this might generate "Write I/O failed" errors. PalletPRO supports uploading data from many versions – primarily from V5. if necessary. So. 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. you need to check and correct your data. Always verify your data after the Upload. 9. In such a case. then box flow on the infeed conveyor will stop or appear to not maintain the specified case rate. PalletPRO knows about the changes and handles them. Upload function is available only when the PalletPRO workcell is not running. . then please note that PalletPRO does not support custom grippers.40-1 versions. in handling them. This is not a problem except that when you open the unitload in PalletPRO. You are expected to upload the proper version of the files to PalletPRO. 28 2 R32 172. If you wish to load all the TP programs also. For detailed information about setting up Ethernet on the robot controller. From PalletPRO. . Refer to the robot communications manuals for details.Roboguide Menus 81 If not all the I/O points are assigned to the infeed. Ensure that PalletTool is setup for Ethernet communications.192. select from the main menu File / Download.22.255. Otherwise. You will need this information. To download files from PalletPRO to a robot using ethernet 1. due to custom logic and special I/O you put into the programs. 4.> Setup . then you will need to setup FTP (Host Comm) on the robot controller. lock up. 3.194. 10.1 3 ********** ****************** 4 ********** ****************** 2. If you are using Ethernet Download. After setup you should know the controller’s IP address and name (if setup). reference robot controller documentation. PRO software places all workcell files in the My Workcells directory of your user profile. Ensure that the robot is communicating with the PC through Ethernet. Setup the controller for Ethernet communications. Please make sure to set the following items in the Menus . Ensure that the desired download file(s) is in the Download From box.22.240. PalletPRO might not run properly or worse yet.> 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. we suggest that you first run it with standard PalletTool or Turbo and then phase in your loads.0 Host Name (LOCAL) Internet Address 1 PDEROB028 172. To download files from PalletPRO to a robot using ethernet This procedure details the process to download unit load data from PalletPRO to a robot controller using an Ethernet connection. then PalletPRO will display error messages indicating that. browse to the PC directory that contains the desired files. The following presents a summary of setup. If not. you will actually be pulling the files from the teach pendant of the real robot. 8. Files should download with messages posted to the status box. The PC-Robot menu will list all the files as shown below (this may take some time): GET_KEY LINE 259 PAUSED FILE\PC\To\Robot\\\\\\\\\\\\\\USER\\10\% . Press Download. Press the Download button. To download files from PalletPRO to a robot using serial This procedure details the process to download unit load data from PalletPRO to a robot controller using a serial connection. Note: if the robot controller is setup for a file download method of serial. To download files from PalletPRO to a robot using serial 1. File types and names include: o Unitload data files – PMULxxx.DT o Gripper data file – PMGRIPDT.DT o Infeed Station files – PMINFxxx. Select the desired robot(s) to download the selected file(s) to. 2.DT 6. 7. Ensure that PalletTool is setup for Serial communications. Select Menus / File / Type / PC-Robot. When you download files using a serial connection.DT o Pallet Station files – PMSTAxxx. 3. Select the desired files to download. The status box is a dropdown so multiple messages may be viewed. Go to the robot teach pendant to copy files to the controller. the files will be copied to the controller’s RD: directory. After ensuring the serial connection is valid. 4. When the file download method is changed to Ethernet the unit load files are loaded automatically. From PalletPRO. 5.DT o PalletStation data file – PMPSYSDT. Select serial for Type of Connection. press Done. and press Add Robot. Refer to the robot manuals for details. If the robot is not in the Download To: list enter the desired robot name or IP address into the Add Robot box.Roboguide Menus 82 5. select from the main menu File / Download. The robot entry should appear in the Download To: box. Setup the controller for Serial communications. A DOS window will open. DT o Gripper data file – PMGRIPDT.DT o Pallet Station files – PMSTAxxx. . press the ENTER key in the Kfloppy DOS window in PalletPRO to dismiss it. File types and names include: o Unitload data files – PMULxxx.DT o PalletStation data file – PMPSYSDT. When you are done downloading.DT o Infeed Station files – PMINFxxx.DT 6.Roboguide Menus 83 FLPY:\PMUL*.DT 1/5 ITEM UNIT LOAD FILE \\1 PMGRIPDT 2 PMINF001 3 PMPSYSDT 4 PMSTA001 5 PMUL001 [ TYPE ]TRANSFER HELP Select the file you wish to download and press the TRANSFER key. Move the mouse down If you have a mouse that has a wheel and button: 1.Using the 3D World 84 4 Using the 3D World 4. Turn the center wheel of the mouse. The cursor changes to select a zoom window () .1 Navigating the 3D CHUIWorld Roboguide provides several ways to control the present view in the 3D World. Press and hold the left and right mouse buttons 2. Press and hold the left and right mouse buttons 2. To fill the view with a boxed selection: 1. Using the toolbar There are 2 zoom features on the toolbar. Move the mouse up To zoom out: 1. 3D world manipulation includes: • Zooming the view • Panning the view • Rotating the view Zooming the view To zoom the 3D World: Using the mouse To zoom in: 1. Select the Zoom Window Icon on the toolbar (). One direction zooms in and the other direction zooms out. 1. Select from the menu system – View . Press and hold the CTRL keyboard key 2. Press the left mouse button and drag the mouse to make a window that you want to fill the screen. Zoom-In To zoom out: 1. Select from the menu system – View . 3. 3D World. Release the left mouse button.Using the 3D World 85 2. Click the . 3D World. The screen is filled with your selection To zoom in from the current viewpoint: 1. Click the + zoom button () on the toolbar with the left mouse button To zoom out from the current viewpoint: 1. Press and hold the right mouse button 3. Release the left mouse button to stop panning mode .zoom button () on the toolbar with the left mouse button Using the menus To zoom in: 1. Zoom-Out Panning the view To pan the 3D World You use the mouse to pan the 3D world. Drag the mouse to pan the field of view 4. Using the 3D World 86 If you have a mouse that has a wheel and button: 2. Select the object with which you want to rotate the view about. You will see the world rotate. Drag the mouse to pan the field of view 4. 2. 4. Drag the mouse. • 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 ().2 Viewing modes View modes Roboguide has different viewing modes: • Normal view: this is the default viewing mode in CHUIWorld. Press and hold the right mouse button 3. 4. • Perspective view: the workcell is viewed in perspective view. 1. Release the right mouse button to stop rotation mode. Press and hold down on the center button 3. Release the center mouse button to stop panning mode Rotating the view To rotate the view The field of view will rotate about the currently selected objects frame of reference. To select perspective view select Perspective from the main menu View / Perspective. . the robot. About collision detection in 3D CHUIWorld Collision detection is enabled by default whenever you operate in 3D CHUIWorld. Press the Navigation Tips Toolbar icon () to show / hide the navigation tips window. Roboguide provides a tips window to help you learn and remember CHUIWorld navigation methods. assume you have chosen the robot as the desired object. if present. Collision detection can be disabled on the Run Panel while running a simulation. For example. To turn on/off the navigation tips on the 3D CHUIWorld using the toolbar 1. its end of arm tooling. The world view can be manipulated with mouse and keyboard commands. As the robot moves while jogging or through a simulation. If you view from directly in front of the robot. and its located at the 0 point of the world. 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. CHUI designates the new developing Robot CH User Interface standard for 3D world environments. parts in the end of arm tooling are checked for collisions with objects in the workcell. It is a highly optimized graphics environment developed by industry experts targeted for use in Robotic simulation systems. To turn on/off the navigation tips on the 3D CHUIWorld using the menus 1. Select Mouse Commands from the View menu. Using the Navigation Tips Screen in the 3D CHUIWorld Navigation of the 3D CHUIWorld is done through mouse commands and combinations of keyboard and mouse commands. When a collision occurs the robot and the object it collides with change color.Using the 3D World 87 3D CHUIWorld Roboguide simulation software’s working environment is centered around a 3D virtual robot world. About the CHUIWorld View Plane The 3D CHUIWorld view plane is what your eye currently sees in the 3D World locked at the objects reference frame for depth. . and. • Virtual Robot Jogging: changes the jog coordinate frame • Teach tool operation: changes the view of the teach ball triad. If you try to jog to an unreachable position it gives the same errors as a real 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. This sets the Coord on the virtual robot. There are two frames on the jog panel toolbar: • Coord type: lists available coordinate jog types. If options are loaded on the controller (RTCP. WristJoint. and Remote TCP. 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. 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.Jogging the robot 88 5 Jogging the robot Jogging the robot In PRO Software. You can jog the robot with traditional Teach Pendant buttons using the Virtual Teach Pendant. The teach ball triad is displayed in the selected jogging coordinate frame Jog modifiers are available for different types of motion including Wrist joint. the robot acts like a real robot. • Jogging using the teach tool • Jog using the virtual teach pendant About the teach pendant jog panel The teach pendant jog panel provides a toolbar to quickly modify the jogging frame of the robot. . World. For more information. When the robot moves. • World: when a jog button is depressed the robot moves in the world coordinate system along the axis selected. See Jogging using UTOOL for more detail. and follower groups are coordinated with the leader group in the define coordinated motion frame. and 6 are not linear interpolation. or Tool). • RTCP: this jog mode can be selected with another Cartesian jog frame. See Jogging using UFRAMEs for more information. and the robot can be jogged in the RTCP frame. Enabling and disabling the teach pendant jog panel To view/ hide the jog panel From the toolbar 1. • Wrist Joint: this jog mode is enabled with another Cartesian jog mode (User. see controller documentation on coordinated motion. The leader group is moved. Joint interpolation is used on the minor axes. the joint axes 4. • Tool: when a jog button is depressed the robot moves in the Tool coordinate system along the axis selected.. 5. • Coord Jog: this jog mode is used with coordinated frames.Jogging the robot 89 About jog coordinate frames PRO Software Virtual Teach Pendant supports the following jogging coordinate frames • Joint: when a jog button is depressed the specified robot joint moves • User: jogs the robot in a UFRAME. 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 . Press the speed override toolbar button () 2. Jogging using UTOOL On the On the Virtual Teach Pendant or the pop up coord system toolbar you can select what jog coordinates with which to jog. Roboguide sets the Utool to the EOAT Tool Center Point defined on the EOAT Property Page / Tool Center Point tab. . 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. Open the virtual Teach Pendant 2. Press the speed override up/ down buttons To change the robot speed override from the Speed override toolbar 1. Slide the speed override slide bar to the desired speed override Jogging using UFRAMEs On the Virtual Teach Pendant or the pop up Coord system toolbar you can select what jog coordinates with which to jog.Jogging the robot 90 Changing the robot speed override To change the robot speed override from the teach pendant 1. Roboguide sets the Utool to the value defined by the programs UTool Used property • When a Tooling EOAT is selected from the cell browser. If UFRAME is selected the robot will jog in the UFRAME that the currently selected for the robot in the cell browser. The currently selected Tooling can be set in multiple ways: • When a program is selected from the cell browser. Jogging the robot 91 Selecting the teach tool To select the teach tool using the toolbar or 3D World Select the teach tool by either clicking on the end of arm tooling or clicking on the teach tool icon on the toolbar (). Note: when you use the teach tool select toolbar button the teach tool ball is locked with a jog coordinate system. This makes it less easy to select other objects in the workcell. To release the lock: • Double click on some other object in the workcell • Release the lock by pressing the teach tool toolbar button Move Retry - Automatic tool orientation adjust while jogging When jogging the robot with the teach tool it is common to move the teach ball to an unreachable position. The position can be unreachable for several reasons. Two common reasons include: • Location is out of the reach of the robot • Orientation is not reachable by the robot Roboguide provides a move to retry function that is applied when Roboguide is in MoveTo retry mode. When the mode is enabled, Roboguide will re-calculate the position orientation that it is attempting to move to and retry the move. A search is continued until either the position can be moved to or no reachable position is found. When enabled, Move To retry is used for the following types of moves: • Teach ball jog • Surface moves • Virtual TP current position tab moves To enable / disable move retry mode 1. Press the Move Retry Toggle button on the toolbar () When in this mode and the Move Retry functionality is activated the teach ball will turn yellow when it reaches the new modified position. Jogging the robot 92 Jogging using the teach tool For translation Along a teach tool coordinate axis: 1. Select the teach tool 2. Put the mouse cursor over the coordinate of the teach tool that you want to move the robot. The cursor will change to a hand ( ). 3. Click the left mouse button and drag the coordinate system triad. 4. Release the mouse button where you want the robot to move to. 5. The robot will move to the position if possible. Show me an AVI Along the CHUIWorld view plane 1. Select the teach tool 2. Put the mouse cursor over any coordinate of the teach tool. The cursor will change to a hand ( ). 3. Press and hold down the CTRL Key on the keyboard. 4. Click the left mouse button and drag the coordinate system triad. 5. Release the mouse button where you want the robot to move to. 6. The robot will move to the position if possible. Show me an AVI For rotation 1. Select the teach tool Jogging the robot 93 2. Put the mouse cursor over the coordinate of the teach tool that you want the robot to move about.. The cursor will change to a hand ( 3. Press and hold down the shift key. 4. Click the left mouse button and drag mouse. The tool will rotate about the selected axis. 5. Release the mouse button where you want the robot to move to. 6. The robot will move to the position if possible. Show me an AVI Notes: If the robot cannot physically move to the selected position it will not. The sphere at the center of the coordinate triad will turn to red. The motion type used when the teach ball is dragged to move the robot can be set to linear or joint motion. See About the teach pendant jog panel for more information. ). Jogging in a Remote TCP frame Roboguide provides tools that make jogging in a Remote TCP frame easier. There are features that make RTCP jogging simpler in Roboguide’s 3D CHUIWorld. It is important to understand how to jog the robot in the RTCP frame. If there is intent to use CAD to Path for Remote TCP program generation it is important to understand jogging to help define CAD to Path properties. For additional information out Remote TCP application see the robot operations manuals. Remote TCP Jog Mode The robot controller provides a remote TCP jogging mode. When enabled, the robot can be jogged in the remote TCP frame in any Cartesian jog frame. There are two ways to enable RTCP jog mode: 1. Roboguide’s jog coordinate quickbar ( - on toolbar) The jog coordinate can be selected. If a non-joint jog mode is selected the robot RTCP jog modifier is activated. When pressed the RTCP jog mode is enabled Jogging the robot 94 2. Virtual TP Fctn Menu. The jog modifier can be selected by pressing the Fctn key on the teach pendant. When the robot is put into RTCP jog mode, the teach ball available in Roboguide will move to the remote TCP and be displayed in the selected coordinate jog frame. You can move the teach ball to jog the robot. The teach ball snaps back to the RTCP when released since the RTCP is fixed in space. Jogging the robot in Remote TCP Jog Mode Jogging in RTCP with the teach ball may seem different at first. You will notice that you often have to drag the teach ball in the opposite direction of the part to get the part relative to RTCP as desired. Figures to show example: Figure of the Remote TCP frame (UFRAME 1): Figures that show the teach ball for different settings of jog frame. It is recommended to view the RTCP jog frame at the RTCP in the UFRAME coord system for RTCP CAD to Path. Moving to a CAD surface in Remote TCP Jog Mode If Remote TCP jog mode is enabled, a surface click move moves the surface point to the Remote TCP location. This is very useful to move the part on the end of the tooling to the remote TCP. Before Ctrl - Shift click: After Ctrl – Shift Click: The surface point on the part is moved to the Remote TCP. Alignment is as defined on the EOAT property page UTOOL Tab except that the defined normal to surface setting on the UTOOL tab aligns the normal to the surface with the UFRAME axis assigned on the UTOOL tab. Jogging the robot 95 Changing the teach tool size The size of the teach tool (the green sphere at the robot TCP) can be modified. To change the teach tool size 1. Open the Virtual TP 2. Select the current position tab at the bottom of the virtual TP 3. Change the teach tool size by changing the value on the slider bar. As you zoom in and out in the workcell, the teach tool size automatically scales. Turning the teach tool on and off The teach tool (ball at the end of the robot arm) can be made visible and not visible. To toggle the visibility of the teach ball 1. Open the property page for the robot 2. Toggle the teach tool visible field 3. Select OK or Apply Detecting collisions while jogging While jogging, if the robot moves into an object the object and the robot change color to signal a collision. Collision detection can be turned on/ off for any object on its property pages. Jogging the robot 96 Moving to a point on a surface It is very easy to move to a point on a surface. Each End of Arm Tool can be setup to make moving to a surface simple. To move to a position that is normal on a surface 1. Position the mouse cursor at the point on the object that you want to move to. 2. Hold down Shift and Ctrl keys on your keyboard. An arrow appears that shows the normal vector on the object. 3. Press the left mouse button while holding the keys and the robot moves to the position. To move to a position that is normal on an edge 1. Position the mouse cursor at the point on the object that you want to move to. 2. Hold down Shift and Alt keys on your keyboard. An arrow appears that shows the normal vector on the object along the edge the mouse is currently over. 3. Press the left mouse button while holding the keys and the robot moves to the position. To move to a position that is normal on a vertex 1. Position the mouse cursor at the point on the object that you want to move to. 2. Hold down Shift, Alt, and Ctrl keys on your keyboard. An arrow appears that shows the normal vector on the object at the closest vertex to which the mouse is over.. 3. Press the left mouse button while holding the keys and the robot moves to the position. To move to a position that is the center of an arc or circle 1. Position the mouse cursor on the edge of the arc or circle on the object that you want to move to the center of 2. Hold down Shift and Alt keys on your keyboard. An cross appears that shows the center of the arc on the object that the mouse is over.. 3. Press the left mouse button while holding the keys and the robot moves to the Jogging the robot 97 position. All of these move functions are available from the Move Quickbar menu Roboguide provides a move to retry function that is applied when Roboguide is in MoveTo retry mode. When the mode is enabled, Roboguide will re-calculate the position orientation that it is attempting to move to and retry the move. A search is continued until either the position can be moved to or no reachable position is found. The move created has a position value, but it is not guaranteed that you can move to this position because of orientation. If the move can not be made the Teach Tool sphere turns red. Re-orient the end of arm tool, and try the move again. Using the Move To Quickbar menu Roboguide has the ability to make move the robot to CAD locations on CAD data or selected robot program.TP program positions. The robot is moved to the normal on a surface on specific CAD entities. Entities include: • Surface Face • Surface Edge • Surface Vertex • Center of an arc Additionally the move menu provides the ability to move to a position in the currently selected .TP program. To move to a surface entity with the Move To quickbar 1. Open the quickbar by pressing the Toolbar button for selecting from the View / Quickbars main menu item. 2. Select the desired entity by pressing the entity button on the quickbar 3. Drag the mouse over the CAD entity desired. 4. Press the left mouse button and the robot will move to the selected entity if possible. If the robot can not move to the generated position an error should be generated on the virtual TP. To move to a position in the selected TP program from the Move To quickbar: Jogging the robot 98 1. In the TP Point frame on the Move To quickbar select the desired .TP position from the drobdown list. 2. Press the MoveTo button. Creating, Opening and Working with Workcells 99 6 Creating, Opening and Working with Workcells 6.1 Adding and modifying cell components Adding a workcell object To add an object using the cell browser 1. Right mouse click the type of element you want to add to your workcell A popup menu will appear with selections. The popup menu will have items based upon the PRO Software plug-in and the options loaded on robots in the workcell. For example, if line tracking is enabled, you would see "add line" under the fixtures menu. 2. Select the source of the object from which it should be added. Roboguide supports a CAD Library, importing of IGES files, and primitive objects. 3. If you select CAD File a dialog is opened in which you can select the CAD File desired. You may select multiple CAD files if you want to import multiple CAD images into the workcell as a single object. Note: the origin of the combined object will be the origin of the CAD files overlaid. If you select CAD Library a dialog is opened where you can browse the CAD library and select an object If you select one of the primitives, a primitive object is loaded into your workcell with default parameters. To add an object using the main menu 1. From the main menu select Cell. And then select the type of object to add. 2. Select from the popup menu (if applicable) the source of the object from which it should be added. Roboguide supports a CAD Library, importing of IGES files, and primitive objects. 3. If you select CAD File a dialog is opened in which you can select the CAD File desired. You may select multiple CAD files if you want to import multiple CAD images into the workcell as a single object. Note: the origin of the combined object will be the origin of the CAD files overlaid. If you select CAD Library a dialog is opened where you can browse the CAD library and select an object If you select one of the primitives, a primitive object is loaded into your workcell with default parameters. If you select Robot, the robot serialize wizard is opened. Double left click on the desired object from the cell browser OR Double left click on the desired object in the workcell. or clicking on the objects name in the cell browser. 2. From the main menu select Cell / <object name> Properties. fixtures. Select <object name> Properties from the menu The property page for the selected object is shown. To open an objects property page using the main menu 1. Opening and Working with Workcells 100 Selecting objects in the workcell Objects in the workcell include the robot. and parts.Creating. The property page for the selected object is shown.. To open an objects property page using the mouse 1. Left click on the object in the 3D World view. Right click on the desired object from the cell browser 2. A triad coordinate system will appear at the objects origin. The objects coordinate reference frame is shown. Opening an objects property page To open an objects property page using the cell browser 1. The objects property page is opened. You can select them by clicking the mouse while the mouse cursor is over the object. obstacles. the robot’s end of arm tooling. . Press the delete key on the keyboard. or select the object with the left mouse button in the cell browser. Opening and Working with Workcells 101 About property page visibility Roboguide manages the visibility of object property pages. Left click on the desired object in the 3D World view. 2. Copy. copy. A triad coordinate system will appear at the . Cut. The object is deleted from the workcell. Select the object by clicking on it. Copy. Right click on the desired object 2. or Paste <object name> from the menu To cut. 2.. Right click on the desired object from the cell browser. or Paste an object To cut. The object is deleted from the workcell. Select Delete <object name> from the menu. The following general rules apply. The objects coordinate reference frame is shown.Creating. To delete an object using the keyboard 1. Deleting a workcell object To delete an object using the cell browser 1. or paste an object using the cell browser 1. copy. or paste an object using menus 1. Select Cut. • 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. . Copy. 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. 2. Select from the menus Edit / Cut. Y. R) can be copied and pasted to another objects Location data. or Paste <object name> Copy and Paste of Location data for objects An objects Location data (X. P. Z. Right mouse click in any location box A popup menu is shown that shows Copy All or Paste All. Open the desired object’s property page and select the tab that has the location information that you desire to copy. Press down the CTRL keyboard key 3. W. 2. 4. Opening and Working with Workcells 102 objects origin. To copy or paste an objects location data: 1. Creating, Opening and Working with Workcells 103 6.2 Placing/moving objects in the 3D world Moving objects in the workcell Objects in the workcell can all be translated and rotated in the workcell. There are different methods to move objects. • With the mouse for translation or rotation • With direct entry for translation or rotation by directly setting their position values in the objects property page. Moving an object in the workcell using the mouse There are multiple ways to move objects in CHUIWorld. Movement can be translation of the object or rotation of the object. To translate an object in space along an objects coordinate axis using the: mouse 1. Select the object by clicking on it. A triad coordinate system will appear at the objects origin. 2. Move the mouse cursor over the axis that defines the direction in which you want to move. The cursor will change to a hand 3. Press the left mouse button, and drag the part. 4. Release the mouse button where you want the part to be. Show me an AVI to translate an object in space along the current view plane of CHUIWorld using the mouse: 1. Select the object by clicking on it. A triad coordinate system will appear at the objects origin. 2. Move the mouse cursor over any of the triad axes. The cursor will change to a hand 3. Press the Ctrl key and the left mouse button, and drag the part in the view plane Creating, Opening and Working with Workcells 104 4. Release the mouse button where you want the part to be. Show me an AVI Moving an object in the workcell using direct entry To locate an object in space using direct entry: 1. Select the object by clicking on it. A triad coordinate system will appear at the objects origin. 2. Open the property page for the object. 3. Enter the location for the object in the Location fields on the property page and select apply. Rotating an object in the workcell using the mouse To rotate an object in space using the mouse Select the object by clicking on it. A triad coordinate system will appear at the objects origin. Move the mouse cursor over the axis that defines the axis which you want to rotate about. The cursor will change to a hand Press the Shift key and then the left mouse button, and drag the mouse. You will see the object rotate. Release the mouse key when complete. Rotating an object in workcell using direct entry To rotate an object in space using direct entry Select the object by clicking on it. A triad coordinate system will appear at the objects origin. Open the property page for the object. Enter the rotation for the object in the W,P,R fields in the Location area on the property page and select apply. Creating, Opening and Working with Workcells 105 Grouping objects Objects in the workcell can be grouped. Groups have the following properties: • The group may be moved together as a single object. • The group can be selected by selecting any member in the group. The selected object in the group origin triad is shown. Any movement of the selected object will effectively move all other objects in the group with the selected object. • Items are grouped by selecting desired objects to be grouped while holding down the CTRL keyboard key. • When an item in the group is selected all objects in the group are highlighted in the cell browser • The group can be made persistent by right mouse clicking on any object in the cell browser and selecting lump objects from the menu • A group can be un-grouped by right mouse clicking on an item in the group in the cell browser, and selecting an ungroup / unlump action. Procedure to group objects Objects in the workcell can be grouped. Procedure to group objects: 1. Select an object in the workcell that you want to include in the group. The objects origin triad should show. 2. Hold down the CTRL key and select another object to be grouped. The object is highlighted in the cell browser. 3. Continue selecting objects until you have selected all objects you want to group. 4. Right mouse click in the cell browser on any object that will be in the group and select Lump Objects from the popup menu. Objects should be in a group. When any object in the group is selected, all objects in the group should be highlighted in the cell browser. Creating, Opening and Working with Workcells 106 Procedure to ungroup objects Procedure to ungroup objects: 1. Right mouse click in the cell browser on any object in the group. Select UnLump objects. The objects should no longer be grouped. Moving an object using measurement and dimension property page The measurement and dialog property page can be used to move objects relative to other objects. When the measurement is created the X, Y, and Z components are shown in the measurement dialog. The component value can be modified and the location value for the To object will be modified calculated by the changed distance. To move an object relative to another object 1. Create a measurement between the 2 desired objects. Ensure that the From and To objects are as desired. Changes to the values on measurement and dimension property pages affect the location of the To object. 2. Modify the D, X, Y, Z components of the measurement or dimension. The To object will move If the To object has its locations locked, the measurement or dimension property page will have the D, X, Y, Z components grayed out and they are not editable. Creating, Opening and Working with Workcells 107 6.3 Opening a workcell Opening an existing workcell To open an existing workcell using the recent workcells list: 1. Select File from the main menu 2. Select the desired workcell from the list at the bottom of the menu To open an existing workcell using the main menu 1. Select File from the main menu 2. Select the Open menu item 3. If you want to open a document that was saved in a different folder, locate and open the folder. 4. Double-click the document you want to open. To open an existing workcell using the toolbar 1. Click Open. 2. If you want to open a document that was saved in a different folder, locate and open the folder. 3. Double-click the document you want to open. Creating, Opening and Working with Workcells 108 6.4 Saving a workcell Saving a workcell When a save is performed, many actions take place. • The workcell file is saved in the workcell directory • All simulation programs are saved in the workcell file and .TP versions are loaded on the virtual robot controller • A backup of the workcell file is saved in the workcell directory To save a workcell using the toolbar 1. Click Save on the toolbar To save a workcell using the main menu 1. Select File from the main menu 2. Select the Save Cell menu item Save a copy of a workcell To save a copy of a workcell 1. Select File from the main menu 2. Select the Save Cell As menu item 3. A dialog is shown to enter the workcell name. Enter the name and press OK A new copied workcell is created. Roboguide starts a new workcell virtual robot. Creating, Opening and Working with Workcells 109 6.5 Managing Roboguide data Locating where my workcell files are saved The default directory is based upon your user profile in Windows. Roboguide uses the following path to save your workcells. Drive: /Documents and Settings /"USERNAME" / My Workcells / "workcell name" • Drive: is the local drive that has Windows local and network PC information • Documents and Settings: is the folder name that contains user account information • "USERNAME": is the login name of the person currently logged into the PC • My Workcells: is the folder that Roboguide adds to the logged in users account information • "workcell name": is the cell name given to a workcell in SimPRO To change this working directory, change the default settings on the options page. Contained under the "workcell name" folder are all of the folders and information required for a Roboguide workcell. Within the "workcell name" directory • The workcell extension is based upon which FANUC Robotics plugin is being used. o "workcell name".frw – your workcell structure data for Roboguide workcells o "Workcell name".ppw – your PalletPRO workcell o "Workcell name".ptw – your PaintPRO workcell o "Workcell name".wpw – your WeldPRO workcell • chui_cache.xml: contains data about the graphics settings that were defined when the workcell was last exited. Creating, Opening and Working with Workcells 110 • Multisync.bin: contains Roboguide IO management information • *.csb. When an IGES part is imported to the workcell, Roboguide converts the file to a .CSB graphics filetype. The .CSB file is FANUC Proprietary. When re-opening a workcell Roboguide uses this graphics file and not the IGES file used for import. Within the "workcell name" directory are sub directories: Within the layout directory: workcell layout data Within the object directory : workcell object data Within the AVI directory: • *.AVI – any .AVI files created in Roboguide for this workcell Within the Exports directory • Any IGES, Bitmap, or CSV exports from the workcell Within the TCPTrace directory • TCP Traces for runs SavePoints directory: under the SavePoints directory are backups of your workcell. See Workcell Backups and Restores for more information. Robot Backups: Roboguide makes backup directories of your workcell data. "workcell name" / Robot_* : workcell virtual robot configuration data where star references the robot in your workcell. Sharing a workcell with others It is common to share a workcell with others. There are multiple methods to do this. • Copy the workcell directory to the target PC. If the target PC has virtual robot versions that are required to run the workcell, the workcell should load. • Use the Package a workcell function or the Share a Savepoint function. A key difference between using the share function versus copying the entire workcell is that the virtual robot core files are not included. The result is a much smaller memory size that is copied to the PC that will use the copy of the workcell data. When the workcell is Creating, Opening and Working with Workcells 111 opened from a share or save function the virtual robot is restored and re-load at generation time. o Share a workcell: copies necessary files from the current workcell state to a directory of your choice. The target directory is specified. o Share a savepoint: copies Savepoint data from a previous state of the current workcell to a directory of your choice. The savepoint directory and target directory can be specified. To share the current workcell using the current workcell directory files 1. Copy the entire workcell directory to the target PC. Ensure that the target PC has virtual robot versions that match the virtual robots in the copied workcell. To share the current workcell using Package a Workcell function 1. Select main menu item File / Package / Cell <workcell Name>. A prompt is provided to define where the shared workcell will be saved. 2. Select a target directory 3. Press OK A Savepoint is created with the current workcell data in the directory specified. To share a previous version of the current workcell 1. Select main menu item File / Package./ other cell savepoint A dialog is provide to define which savepoint to share 2. Browse to the desired Savepoint directory and select the workcell file. A dialog is provided to define where the shared savepoint will be saved 3. Press OK Creating. Browse to the workcell. 2. Press Open A prompt is provided asking if you want to recover from the Savepoint To restore a workcell from the File Main Menu – Recover a Savepoint 1. Opening and Working with Workcells 112 Restoring a workcell file from a savepoint A workcell saved in a Savepoint can be restored. 3. Select File Main Menu – Recover a Savepoint 2. Select the workcell file 4. Press Open . Browse to the workcell. To restore a workcell from a Savepoint Open the workcell from the File Main Menu – Open a workcell 1. Select the workcell file 3. • Has direction. The following figure details different components. Measurement information can be saved when it is converted to a dimension. Y.6 Measurement and Dimensions About measurement and dimensions Roboguide has a measurement function. For more information on how to use the measurement dialog see Using the measurement dialog Using the measurement dialog The measure dialog has fields to modify and define measurement functions. • Is displayed as the line (D) and the X. () Once a measurement has been made. . Measurements can be saved as dimensions. An extrusion of a dimension line is owned by the dimension it is created from. The properties of an extrusion are found on the extrusions tab of the dimension. A measurement line: • Is measured FROM one point TO another point.Creating. To create a dimension line from a measurement see topic Procedure to create a dimension line Dimensions are shown in the cell browser under the Dimensions element. The measurement system can be enabled by pressing the measurement toolbar button. Z components of the measurement line. A measure can be saved as a dimension line. A measurement has several important characteristics. Dimensions are organized in the cell browser. See topic Procedure to create a dimension line and topic Extruding dimension lines. • Is not saved. You can create an extrusion of a dimension line. The measurement function is used to create a distance line between two points. The measurement function is not saved and is used to measure between to points. The measurement system is enabled by pressing the measurement toolbar button. Opening and Working with Workcells 113 6. you can create dimension lines with extrusions. Origin: the origin of the object that contains the entity is automatically selected. • FROM Entity name: is shown and not changeable. When the left mouse button is clicked the position anchors • TO Entity name: is shown and not changeable. you can change which object attribute can be used to anchor the FROM point. you can change which object attribute can be used to anchor the FROM point. o If a robot is selected you can choose between: Entity: the point on the entity clicked on. • FROM Snap to: when an entity is selected. 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. 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. o If a non robot object is selected you can choose between: Entity: the point on the entity clicked on. Opening and Working with Workcells 114 Fields include: Measurement frame: fields are used to create the measurement starting and ending point. • TO Snap to: when an entity is selected.Creating. Origin: the origin of the robot CAD Robot Zero: the world zero position of the robot. • 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. . Robot TCP: the robots Tool Center point • TO button: when pressed the FROM point can be selected in the workcell. As you move the mouse the cursor highlights entities in the workcell. When the left mouse button is clicked the position anchors. P. Y. p. Robot TCP: the robots Tool Center point Distance Frame: fields are used to set desired display options for components of the dimension line. The values are shown with the FROM point being the origin and the TO point being the endpoint. If the TO entity is locked. Note: if the selected To and FROM origins have the same orientation as workcell zero. • Relative to (FROM): when selected the distance values are shown in the coordinate system of the FROM object. Z. relative to FROM and relative to Workcell are the same. W. . • Relative to Workcell: when selected the distance values are shown relative to the workcell coordinate from (Workcell Zero).Creating. the values are not editable. y. • X. To move the TO entity relative to the FROM entity. o If a robot is selected you can choose between: Entity: the point on the entity clicked on. R value: textbox that shows the respective x. w. Z enabled checkbox: when enabled the respective line is shown. you may edit the value. When not selected the lines are not drawn. Origin: the origin of the robot CAD Robot Zero: the world zero position of the robot. Fields include: • Distance enabled checkbox: when enabled the D line is shown. Opening and Working with Workcells 115 o If a non robot object is selected you can choose between: Entity: the point on the entity clicked on. r value of the distance line. Origin: the origin of the object that contains the entity is automatically selected. • D value: textbox that shows the distance value • X. Y. z. • Extrusion Tab: shows the properties of extrusions that have been generated from the dimension components. The dialog also shows measurement values. The dimension property page has multiple tabs. • Color property: allows you to modify the color of the dimension line (D) • Camera center: centers the camera in the current view. () Fields include: Dimension frame: fields are used to create the dimension starting and ending point. Extrusions can be easily generated from any of the component lines. The measurement system can be enabled by pressing the measurement toolbar button. For more information on how to generate extrusion lines see Extruding dimension lines. • Name: the name for the dimension. For more information see Using the dimensions general property page tab. • Create dimension button: when pressed the measurement information is copied and a dimension line is created.y. For more information see topic Procedure to create a dimension line .Creating. Using the dimensions general property page tab The dimensions general property page has fields to modify and define dimensions. Using the dimensions property page The dimensions property page has fields to modify and define dimensions. Opening and Working with Workcells 116 • All components visible: when checked all components (x. For more information on using the tab see Using the dimensions extrusion property page tab. • General Tab: used to define the dimensions endpoints. Dimensions are created in multiple ways. The default name given by Roboguide is the . A dimension is saved with the workcell and a dimension is accessed through the cell browser under the dimensions node.d) are shown.z. Origin: the origin of the robot CAD Robot Zero: the world zero position of the robot. you can change which object attribute can be used to anchor the FROM point. As you move the mouse the cursor highlights entities in the workcell. 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. 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). • FROM Entity name: is shown and not changeable. . • FROM Snap to: when an entity is selected. Robot TCP: the robots Tool Center point • TO button: when pressed the FROM point can be selected in the workcell.Creating. Origin: the origin of the object that contains the entity is automatically selected. 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. As you move the mouse the cursor highlights entities in the workcell. o If a non robot object is selected you can choose between: Entity: the point on the entity clicked on. When the left mouse button is clicked the position anchors. The FROM and the TO default names use the object name in the Roboguide workcell • Visible: when enabled the dimension is visible in the workcell. When the left mouse button is clicked the position anchors • TO Entity name: is shown and not changeable. • FROM button: when pressed the FROM point can be selected in the workcell. o If a robot is selected you can choose between: Entity: the point on the entity clicked on. o If a robot is selected you can choose between: Entity: the point on the entity clicked on. Opening and Working with Workcells 118 • TO Snap to: when an entity is selected. Fields include: • Distance enabled checkbox: when enabled the D line is shown. • Relative to (FROM): when selected the distance values are shown in the coordinate system of the FROM object. • X. The values are shown with the FROM point being the origin and the TO point being the endpoint. Z. you can change which object attribute can be used to anchor the FROM point. If the TO entity is locked. Y. To move the TO entity relative to the FROM entity. z. When not selected the lines are not drawn. Origin: the origin of the object that contains the entity is automatically selected.Creating. W. w. o If a non robot object is selected you can choose between: Entity: the point on the entity clicked on. the values are not editable. y. Origin: the origin of the robot CAD Robot Zero: the world zero position of the robot. p. P. you may edit the value. Robot TCP: the robots Tool Center point Distance Frame: fields are used to set desired display options for components of the dimension line.R value: textbox that shows the respective x. • 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 . • D value: textbox that shows the distance value • X. Y. Z enabled checkbox: when enabled the respective line is shown. r value of the distance line. X. • Visible: when enabled the extrusion line shows. If a dimension does exist. A dimension is created and is added to the cell browser dimensions category. • Color property: allows you to modify the color of the dimension line (D) Using the dimensions extrusion property page tab The extrusion property page tab has fields to modify an extrusion line. Procedure to create a dimension line A dimension line is created from the measurement dialog with multiple methods. • Angle text box: defines the angle to draw the dimension line. Y. a new dimension is automatically created.d) are shown. Left mouse select the desired extrusion line to show the properties. For more information on measurement and dimension see topic About measurement and dimensions. . • All components visible: when checked all components (x. • Delete: deletes the extrusion line. • Press the Create dimension button on the measurement dialog. the extrusion is added to the existing dimension. • Color: allows modification of the extrusion line color.Creating.z. Z component of the measurement line. Fields include: • Extrusion listbox: lists the dimension’s currently defined extrusion lines. If a dimension does not already exist that has extrusions from the same FROM / TO objects.y. • Extrude a D. relative to FROM and relative to Workcell are the same. • Extrusion: L text box: defines the distance from the dimension line to draw the dimension. Opening and Working with Workcells 119 have the same orientation as workcell zero. right. Y. and can be found on the Extrusions tab for the dimension it is created from. The dimension can be modified on the dimension property page. For example. A new dimension is added with the measurement objects used as the FROM and TO components.Creating. Opening and Working with Workcells 120 • Right mouse click on the root dimensions node in the cell browser. Z components: the dragging of the mouse extrudes a line in a logical plane of the box that forms the dimensions components. X. back). bottom. Roboguide makes it easy to create a dimension line extrusion that can be viewed from a desired direction. Extruding dimension lines An extruded dimension line can be shown for any of the components of a dimension (D. Hold down the left mouse button and drag the mouse. o X. The plane chosen depends on how the mouse is dragged. 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. extrusions can be drawn above or . Z) from the measurement dialog 1. To create an extruded line of a measured component (D. or X-Z plane of the box. front. An extruded dimension line is owned by the dimension it is created from. dragging the X component draws the extrusion in the X – Y. Y. Move the mouse over the distance text displayed on the desired component of the measurement (D. 3. There are multiple methods to create an extruded dimension line (light blue line in picture). Create a measurement 2. X. Y. or Z). It is common to want to view dimensions in of the workcells orthogonal view planes (Top. Y. By dragging the mouse. Z). X. left. or to view dimensions relative to an object in the workcell. Extrusions can be viewed and modified on the dimension's extrusion tab. When the mouse is released an extrusion of the selected component line is created. Y. 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.. For example. Z) from the dimension property page 1. Opening and Working with Workcells 121 below the component line in either plane. To create an extruded line of a dimension line component (D. If a dimension exists that contain the objects that define the FROM and TO objects. Z components: the dragging of the mouse extrudes a line in a logical plane of the box that forms the dimensions components. Extrusions can be viewed and modified on the dimension's extrusion tab. extrusions can be drawn above or below the component line in either plane. The way the extrusion is created depends on which component is being created: o Distance (D) component: the dragging of the mouse extrudes a line of the component in the 3D CHUIWorld view plane o X. Y.Creating. dragging the X component draws the extrusion in the X – Y. Open the desired dimension in the cell browser dimensions category 2. The procedure can . Hold down the left mouse button and drag the mouse. Z component as a dimension. Y. 4. Move the mouse over the distance text displayed on the desired component of the dimension line (D. Y. The plane chosen depends on how the mouse is dragged. X. Release the mouse button when the extrusion is as desired. the extrusion is added to the dimensions extrusions. Release the mouse button when the extrusion is as desired. 4. X. By dragging the mouse. When the mouse is released an extrusion of the selected component line is created. 3. To create an extruded dimension line as a projection in the current 3D view This can be very useful to draw the X. or Z). or X-Z plane of the box. The extrusion will move with the mouse movement. • The color of the extrusion line To modify the extrusion length 1. 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. Select the extrusion tab 3. 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. and drag the mouse. 4. Select the desired extrusion line by left mouse clicking on the extrusion line in the Extrusion list. 2. Modify the extrusion length field on the property page. 2. Opening and Working with Workcells 122 be used from either the measurement dialog or from a dimensions property page. 1. Modifying a dimension extrusion line A dimension’s extrusion properties can be modified. or drag the extrusion line with the mouse while left mouse clicking .Creating. Hold down the left mouse button and the CTRL keyboard button. • 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. Release the mouse button when the extrusion is as desired. Extrusions can be viewed and modified on the dimension's extrusion tab. Move the mouse over the distance text displayed on the dimension / measurement line (thick blue line in picture). the extrusion is added to the dimensions extrusions. Open the property page for the dimension that has the extrusion line. Open the property page for the dimension that has the extrusion line 2. To delete an extrusion line 1. Select the desired extrusion line by left mouse clicking on the extrusion line in the Extrusion list. Press the delete button . Opening and Working with Workcells 123 To modify the extrusion angle 1. 2. Select the extrusion tab 3. Modify the extrusion angle on the property page. 4. 4. Deleting an extrusion line Extrusion lines of a dimension can be deleted on the extrusion tab for the dimension that has the extrusion line. Open the property page for the dimension that has the extrusion line.Creating. Select the extrusion tab 3. Select the desired extrusion line by left mouse clicking on the extrusion line in the Extrusion list. Variable groupings contain information about the robot. An editor opens variables are show in a tree format 4. .Working with Robot Controllers 124 7 Working with Robot Controllers 7. Navigate the tree to the variable desired 5. 2. A robot Variables grouping has a name property that can not be edited. To edit variables 1. Robot variables can be viewed in the cell browser under a robot controller node.1 Working with robot variable files Using the robot variable file property page A robot controller has variables that are logically grouped. The Variables category under a robot controller is visible if the Roboguide option to view development tools is enabled. Under the Robot controller / Variables category select the desired set of variables. Press OK or Apply NOTE: changing system variables can effect the performance of the robot. Edit the value field 6. Right mouse click or double click on the set of variables 3.1. Using the variable file editor A variable grouping can be edited from a dialog. 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.1 Working with a robot 7. 1 PalletPRO Pallet System Tab Use the Pallet System Tab The Pallet System property page allows modifications of all the settings with the exception of pallet picking. End of Batch.1. o • TP means that you will identify unit loads manually.1. You can issue a start signal only from one device. This item specifies the device from which to issue a start signal. Pallet System Setup: PalletPRO shows the configuration for the pallet system.Working with Robot Controllers 125 7. Number of infeeds This item specifies the number of infeed conveyors in your application.2 PalletPRO Configuration 7. You can choose Part ID method. o • PLC means you will use a cell controller to identify parts. through PalletTool teach pendant menus.2. Cycle Start Control. o • SOP means that you will signal to start production from the standard operator panel cycle start Number of pallets Part ID method Cycle start control . This item specifies how PalletTool knows which unit loads to run at CYCLE START. etc Fields include: • Pallet System Setup • Pallet Switch • Pallet System options Each is described below. This item specifies the number of pallets in the workcell. Part Drop Recovery. o • TP means that you will do part drop recovery and cycle stop using teach pendant menus. This item controls how data files will be received on the controller. even if parts are Pallet switch .the following items control production related functions. Per pick means the robot will switch pallets after each pick-andplace cycle. 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. It will not switch pallets unless the layer is done. Per layer means the robot will switch pallets after each layer. This item specifies when the robot will switch pallets.Working with Robot Controllers 126 button. 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. Recovery Control File Download Method o • Serial allows data file transfers from serial communication only. o • PLC means that you will use a cell controller to do part drop recovery and cycle stop. Pallet Switch: Production Control . unless parts are not present at the infeed. It will not switch pallets unless the unit load is done. o • Ethernet allows data file transfers from serial or Ethernet communication. This item specifies where to control part drop recovery. Alt unitld means the robot will switch pallets after each unit load. even if parts are not at the infeed. o • UOP means that you will signal to start production from the cell controller. TP whenever a pallet is required at Diagonal return enable Clear return enable . PalletPRO configures the system to enable running of simulations.Working with Robot Controllers 127 not at the infeed. This item changes the return path to the infeed: o • NO Specifies the normal return path o • YES Enables the robot to move to a taught position before returning to the infeed. Pallet System Options: Production Control . This item controls whether checking for dropped parts is performed during production: Part drop Recovery Enable o • NO disables checking for dropped parts during production.the following items control production related functions. Pallet Placement Enable o • NO disables this function. Not all options are available in PalletPRO. o • YES enables checking for dropped parts during production. This item changes the return path to the infeed: o • NO Specifies the robot to retreat to the infeed approach height when returning to the infeed o • YES Enables the robot to retreat to the infeed retreat height when returning to the infeed. o • YES enables PKPLPAL. This item is used to enable pallet handling when a pallet is needed at a pallet station. This item controls whether to use the end of batch option: o • NO disables the end of batch option. unless parts are not present at the infeed. even if parts are not at the infeed . o • YES enables the end of batch option. This is used for systems with only one infeed station and only one pallet station. It will not switch pallets unless the layer is done. • Alt layer means the robot will switch pallets after each layer. End of Batch Enable Control how pallets are processed The pallet switch options on the pallet system tab for the robot system defines how pallets are processed. When a partial pallet is indexed. It will not switch pallets unless the unit load is done. • Per pick means the robot will switch pallets after each pick-and-place cycle.Working with Robot Controllers 128 any pallet station. • Alt unitld means the robot will switch pallets after each unit load. This item specifies when the robot will switch pallets. any remaining boxes will be picked up from the infeed before indexing the pallet. • Per layer means the robot will switch pallets after each layer. even if parts are not 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. 2 PalletPRO PalletTool Positions Tab Use the Pallet Positions Tab The pallet positions tab is used to teach commonly used positions in the Palletizing process. 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 . Move the robot to the desired position. 4. You can teach the perch position and the maintenance position. Teach the pallet system perch position To teach the pallet system perch position. 1. Select the Pallet System tab 3. 6. Press OK or Apply to save changes 7. If it is checked. If the robots property page is not visible. open the robots property page. Open the robot system property page 2.2. On the General Tab ensure that the Lock All Location Values checkbox is unchecked.1. Select the desired pallet switch option 4. 3. You may record the position or directly enter the position. uncheck the box and press Apply to UnLock location value editing. Select the robot 2.Working with Robot Controllers 129 To define how the robot should switch pallets: 1. Select the PalletTool Positions Tab 5. On the General Tab ensure that the Lock All Location Values checkbox is unchecked. o Record: Press Record and then press Apply to save the position. 1. If the robots property page is not visible. You may record the position or directly enter the position. Select Load TP program A dialog box is presented. Open the cell browser 2. 4. 4. If it is checked. Browse to the desired directory. open the robots property page 3. Press Open . o Direct enter: enter the position value into the location fields and press Apply to save the new values Loading a TPP Program onto the robot Typically. Right mouse click on the Programs element under the desired robot controller 3.TP) that is not currently in controller memory Loading programs using the cell browser 1. Select the PalletTool Positions Tab 5. you load a file from the default device when • You want to modify a program (teach pendant program file.Working with Robot Controllers 130 Teach the pallet system maintenance position To teach the pallet system maintenance position. . Select what programs you want to load. Select the robot 2. 6. Move the robot to the desired position. uncheck the box and press Apply to UnLock location value editing. Press MENUS. o Select File. . Load the file(s): o To load the file(s) you selected. 9. 7. press F4. YES. o If you do not want to load the file(s) you selected. o To load a single file: o Generate a directory of the default device that contains the file you want to load. o Move the cursor to the device you want and press ENTER. NO. [TYPE]. o Select Set Device. o Move the cursor to the name of the file you want to load and press F3. Select FILE. 5. o Select FILE. [UTIL]. Press F1. Select File. LOAD. o Press F1. o Press F5. press F5. [TYPE]. 6. 8.Working with Robot Controllers 131 Loading Files using the File Menu Steps 1. Set the default device to the device you want: o Press MENUS. and select the desired method to add an object. Objects may be attached to any of the links of a robot arm. Set the properties as desired. If the program already exists: o To overwrite. press F5.Working with Robot Controllers 132 10. It is common to have additional hardware attached to the robot arm in many applications. drag the mouse over the Dressout selection.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. Using the dressout property page tab The dressout property page tab works the same as the machine base property page tab. Add an object to a link of the robot arm Roboguide version V6. CANCEL. press F4. After the object is added it should appear on the joint selected. 2. drag the mouse over the desired robot joint.2 Robot arm dressout About adding objects to links of the robot Roboguide version V6. Object properties for a dressout object can be modified through the properties on the tab. 7. . o To skip the file.40 adds the ability to attach objects to links of the robot. Right mouse click on the Robot group in the cell browser. o To cancel . and the machine general property page should appear. OVERWRITE. To add an object to a link of the robot arm 1. SKIP. press F3. Objects may be attached to any of the links of a robot arm. Working with IO Interconnections between robots in the workcell When multiple robots are present in a workcell.Working with Robot Controllers 133 7. o IO Tag: the output type and number to be mapped. Any input on a robot can have only one output mapped into the input. Note that you must double click on the table entry to modify the contents. Robots in the workcell can synchronize though shared IO. o Input Device: the device in the workcell for which inputs will be mapped. Any input on a robot can have only one output mapped into the input. Delete a robot from the workcell If more than one robot is available in the workcell. Note: only robots that have Virtual Robot V6. . it is sent to all robots defined in the robot interconnections. IO can be mapped in groups of 8 or as single IO points. IO is synchronized with all virtual robots. Fields on the property page include: • Current IO configuration table: the table shown displays and allows entry of IO mapping information.3 Working with multiple robots Roboguide simulation software supports multiple robot workcell creation. A robot output can be mapped to an input on the same controller. IO can be mapped between robots.31 and above are supported and allowed in multiple robot workcells. Add a robot to the workcell A robot can be added to the workcell from the cell browser robot controllers item and the main menu Cell category. When and Output is set on one robot. robots can be deleted. When simulations are executed. Using the IO interconnections setup property page The IO interconnect property page provides IO mapping capability. Columns in the table include: o Output Device: the device in the workcell for which outputs will be mapped. When running simulations the robot motion system for each robot and the shared IO is synchronized to provide accurate motion and IO interactions. A robot output can be mapped to an input on the same controller. This allows for highly accurate and repeatable IO timing in the virtual robot Roboguide environment. right mouse click on the Workcell root in the cell browser and select Properties. NOTE: Double click on each entry in the table to change the contents. A dropdown list is presented. Select the desired IO type and enter the starting IO number and press Enter. o Add 8: adds a group of contiguous 8 IO mapping to the table. Select Add 1 or Add 8 from the commands frame. select the Cell Main menu item. All available IO devices are displayed in the list. When the workcell property page opens select the IO interconnections tab. Double mouse click on the IO Tag for the input device selected. Procedure to add an IO Interconnection between robots IO can be defined between 2 robots in a workcell. A dropdown list is presented. Select the desired device. o Delete: deletes the selected line from the table. Open the IO Interconnections property page. Double left mouse click on the Input Dev item. 2. 3. Select the desired IO type and enter the starting IO number and press . All available IO devices are displayed in the list. Add 1 will add one IO entry and 1 IO mapping. o Using the main menu.Working with Robot Controllers 134 o IO Tag: the input type and number to be mapped • Commands: are used to add and delete lines from the IO connections table. Double left mouse click on the Output Dev item. Double mouse click on the IO Tag for the output device selected. 4. o Add 1: adds a single IO mapping to the table. To add an IO interconnection between 2 robots: 1. Select IO Interconnections. A dropdown list is presented. Select the desired device. Add 8 will add one IO entry that maps 8 contiguous IO points. 5. A dropdown list is presented. 6. o Using the mouse. o From KCL window: type Load Prog <devicename><filename>. 7. The method to do this is exactly like working with an actual robot. P-Code (. Virtual robot directory is found under the Robot_x directory of your workcell. Copy .Working with Robot Controllers 135 Enter.PC) files are loaded onto the robot from the teach pendant for from a KAREL command file. The options page shows the directory settings. 2. To Load . 8. Where device name is FLPY or the device where the files exist. To Run the KAREL Programs. The IO interconnection should now be defined and functioning. Add additional definitions as desired. After doing this the KCL option will be enabled under the Robot main menu item o Open the KCL window by selecting Robot/KCL .PC files onto the virtual robot 1. Programs can then be executed using Shift-FWD or from KCL. select the program and press Load softkey.PC files into the flpy directory of the virtual robot for your workcell.4 Working with KAREL Programs Working with KAREL Programs KAREL programs can be loaded into Roboguide virtual robots. 7. Two methods to load the programs: o From the TP: press Menus/ File on the TP. Press OK or Apply. Do this when creating a workcell on the options screen of the wizard. • From KCL: o Serialize your robot with the KCL option selected. Do a DIR command. Multiple tabs are used on the End of Arm Tooling property page. Select Type[F1] and select Config . location and other general properties.5.5 Working with robot end of arm tooling 7.PC file from the select screen o Press Enter o Press Shift/ FWD on the Virtual TP.Select Menus/System (on the second page). • Palletizing Tab: used to define the gripper type and the gripper IO. . • General Tab: used to define tooling name. 7.Go to Remote/Local setup item (~37 in the list) and set it to Remote o you should now be able to go to the KCL window and issue a RUN command on your program • From the TP: o Select the .1 Using End of Arm Tolling with PalletPRO Use the end of tooling with PalletPRO The end of arm tooling/ gripper property page has fields used to define the tooling on the workcell robot.Working with Robot Controllers 136 o Set var $rmt_master = 1 o Open the virtual TP o you must set the Remote/Local Setup to Remote . These custom grippers . Y. and R. Custom grippers allow for modifications of X. The list provides grippers that are supported by PalletPRO. You must enter only the UTOOL z offset value.all vacuum type .will be used by the robot exactly as described in the PalletTool Setup and Operations manual. PalletTool automatically calculates the UTOOL x and y offset values. of cases: the number of cases the gripper supports • Gripper tool definition settings: o Pick Delay and Place Delay: the delay used at pick and place.Working with Robot Controllers 137 Use the End of Arm Tooling Palletizing tab The end of arm tooling palletizing tab has fields to define gripper type. . o Tooling definiton: faceplace to bottom of cups: this is the distance measured from the faceplate of the robot to the bottom of the cups. The Unitload setup menu in PalletPRO will also allow the selection of the custom grippers • No. If your application uses a standard PalletTool gripper. Custom 1 – 4 grippers are available in the dropdown list for user definable grippers. and tooling IO. respectively. tool definition. The number of rows available for setup matches the number of cases defined. With standard grippers. 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. Z. double. • Gripper IO: You must set up I/O for all kinds of grippers. Standard single. Fields include: • Gripper type: defines the end of arm gripper type. PalletPRO will set up default I/O automatically as defined for PalletTool. Standard grippers used with PalletTool constrain tooling definitions as required by PalletTool which is primarily only in the tooling Z direction. PalletPRO itself uses its own internal default I/O values. and triple case vacuum grippers are symmetrical about the robot tool center point (TCP). 0. Calibrate a coordinated motion pair.6 Working with Coordinate Frames (CD Pairs) Using the Coordinate Frames (CD_Pair) Property Page Coordinated motion between a robot group and another robot group requires definition of the relationship between the follower group and the leader group.0 Setup Item Single Case Gripper RO[1] on RO[2] off RO[1] off. For details on coordinated motion.1 second RI[3] 0. See the coordinated motion documentation for a more complete explanation.0 Open Part presence UTOOL 7.1 second RI[1] 0. The process of defining the CD_Pair relationship is called calibration of the CD_Pair frame. Modifies the location of robot groups in the Roboguide workcell to match the controller system variable value.1 second RI[1] 0. .0.0. see the robot controller manual for coordinated motion.0.300. These include: 1. pulse RO[4] for 0.0 Case 3 RO[5] on RO[6] off RO[5] off. Coordinate handling motion is a specific coordinated motion type where multiple arms are used to hold a fixed object.0. pulse RO[2] for 0.0 Close RO[1] on RO[2] off RO[1] off. The follower robot moves relative to the leader so that the relationship is maintained between the leader and follower. Roboguide provides property pages that enable you to view and define coordinated frames (CD_Pair frames). Define a CD_Pair to use coordinated handling motion.300. 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. pulse RO[2] for 0. Define the leader group and follower group of a coordinated motion pair 2.1 second RI[2] 0. When robot arms are the motion groups that are coordinated.0. The CD_Pair property page provides methods to enable setting the CD_Pair relationship.0.Working with Robot Controllers 138 Double ICC or Triple Case Gripper Case 1 Case 2 RO[3] on RO[4] off RO[3] off.0. 3. pulse RO[6] for 0.300. The location of either the follower group or the leader group in the CHUIWorld can be modified.300. • $CD_PAIR Frame: o X. the user can select a calibration method by the Combo box. W. Set the follower robot UFRAME to match the CD_Pair. the CDPair Frames show in the cell browser under a robot controller. Y. the X.Working with Robot Controllers 139 4. When the icon is displayed. If coordinated motion is enabled and multiple groups exist on the controller. Y. P. Fields available on the CD_Pair property page include: • CD Pair Definition Frame o Leader combo box: defines the leader group o Follower combo box: defines the follower group o Handling Coordinated Motion checkbox: when enabled the robots defined for the CD_Pair will use coordinated handling motion. R of the $CD_PAIR is copied to the selected user frame of the follower • $CD_PAIR Calibration frame: o Status icon: The exclamation icon and the warning message are displayed when there is a difference between the $CD_PAIR and the Roboguide workcell relationship. Specifically.$MH_ROB_GMSK is set. The $CD_PARAM. W. "Update $CD_PAIR": the CD_Pair frame is changed to the . This is very useful when teach robot positions. When the leader and follower are defined fields are shown to define the CD_Pair value. the calibrate button is not enabled. o Calibration method combo box: presents choices for calibration: "No calibrate": When the item is selected. Z. P. Z. the CD_Pair property page does not support setup of a robot arm and positioner device. and R values of the current $CD_PAIR o Copy to Follower’s UF combo box: when set. NOTE: Roboguide currently only provides functions for defining the relationship between multiple robot arms. 2. "Locate Follower": the Roboguide location of the follower group is modified relative to the leader group to match the $CD_PAIR value. After calibration. The example creates a new workcell." 7. and builds the auxiliary axis from PRO CAD primitives. Step 1: Create a new workcell 1. The workcell can be found in <install drive> \Program Files\FANUC\PRO\SimPRO\Sample Workcells\ aux_system_example Building an aux axis system example Step 1 Create a new workcell A new workcell is created with the name Aux_System_example. The auxiliary axis system built is a 2 auxiliary axis X-Y systems where a Robot is mounted on the X rail. configures a virtual robot with extended axis.7. Start a new workcell by selecting File / New from the main menu The workcell creation wizard is opened. "Locate Leader": the Roboguide location of the leader group is modified relative to the follower group to match the $CD_PAIR value o Calibrate button: After the method of the calibration is selected. aux axes 7.7 Working with Robot Machines .Working with Robot Controllers 140 coordinate transformation from the CHUIWorld robot origin of the follower group to the robot origin of the leader group.1 Working with extended axes/integrated axes Building an aux axis system example The following example shows the process required to build an auxiliary axis system. This example uses . pushing the button "Calibrate" executes the calibration. Select which Roboguide plugin you desire and press Next.positioners. Several steps are required and this step describes each procedurally. the status icon and the warning message are changed to indicate successful calibration. 6. 15. After pressing finish the virtual robot is serialized. Defining the auxiliary axis hardware information. Name the workcell and press Next. 14. Axes must be added to the robot group 1 before the axes can be used. 9. Select the desired robot from the list and press Next. A menu is presented which allows you to modify extended axis configurations. The robot will restart in controlled start. 8. On the Additional Motion Groups Page select Next. Down Arrow to the extended axis item and press enter 11. Press Manual 12. This example uses the workcell name Aux_System_Example. A menu is presented which allows you to select the motion group to modify extended axis information. 7. After serializing the virtual robot the configuration has extended axis capability. This example uses the R2000iA/165F. Press Menu button. The Virtual TP screen shows question that must be answered to define the hardware selected. Select Group 1 and press enter. The final step of the wizard shows the configuration of the robot that will be serialized. Select 7 and press enter. Select the Add Ext Axis item and press Enter. PRO should initialize with a 3D ChuiWorld. The process can be seen on the virtual TP screen. 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. Enter the hardware start number for the extended axes. 13.Working with Robot Controllers 141 HandlingPRO. When the questions appear left click the mouse on the virtual TP . and then select Maintenance 10. Select options to be loaded on the robot. Start the virtual robot in controlled start mode by selecting Robot / Restart Controller / Controlled Start from the main menu. 5. Press Finish to start the creation of the virtual robot. 4. 3. o Enter Gear Ratio: 120 o Maximum Joint Speed Setting: No Change o Motion Sign Setting: False o Upper Limit Setting: 5000 o Lower Limit Setting: -5000 (Press the – key on the numeric keypad) o Master Position Setting: 0 o Accel Time 1 Setting: No Change o Accel Time 2 Setting: No Change o Minimum Accel Time Setting: No Change o Load Ration Setting: 2 o Amplifier Number Setting: 1 o Select Amp Type: Alpha amp . and answer the questions as detailed below (the answers provided may not be correct for the hardware on an actual auxiliary axis hardware. 16.Working with Robot Controllers 142 window. Aux axis 1 Initialization o Enter the axis to add: 1 o Motor Size: Aca6 o Motor Type Setting: /2000 o Amplifier Current Limit Setting: 40A o Extended axis type: Integrated Rail (Linear axis) o Direction: Select Y – this makes joint 7 perform in the robot Y direction. See the Robot manuals for more information).2 . the Ext Axis Setting program menu is shown again. Select the Add Ext Axis item and press Enter 18. o Enter Gear Ratio: 120 o Maximum Joint Speed Setting: No Change o Motion Sign Setting: False o Upper Limit Setting: 4000 o Lower Limit Setting: -4000 (Press the – key on the numeric keypad) o Master Position Setting: 0 o Accel Time 1 Setting: No Change o Accel Time 2 Setting: No Change o Minimum Accel Time Setting: No Change o Load Ration Setting: 2 . After answering the last question.Working with Robot Controllers 143 o Brake Number Setting: 2 o Servo Timeout: Disable 17. Aux axis 2 Initialization o Enter the axis to add: 2 o Motor Size: Aca6 o Motor Type Setting: /2000 o Amplifier Current Limit Setting: 40A o Extended axis type: Integrated Rail (Linear axis) o Direction: Select X – this makes joint 8 perform in the robot X direction. 20. 3. 21. . Y= 10000. Next Step Building an aux axis system example Step 2 Build the auxiliary axes system Step 1 created a new workcell. Enter Size in X = 1000. A machine is defined that has a base that defines the 10 meter Y rail. Change the Name Property to X-Y Rail and press Apply.Working with Robot Controllers 144 o Amplifier Number Setting: 1 o Select Amp Type: Alpha amp . 2. The Ext Axis Setting program menu is shown. The axes have been defined and setup. 0. The select group menu is shown. An additional joint is added to define the 8 meter X rail. The axes exist but a machine needs to be defined that use the auxiliary axes. The following procedure defines this relationship within the workcell. There should be a Machines element in the tree under the workcell. Locate the Box. Press Fctn / Start (Cold) Roboguide opens with a robot in a workcell with no other devices. 4. the additional joints should be available on the Current Position tab of the virtual Teach Pendant. Size in Z = 300 and 0. Step 2 uses these extended axes to build a Roboguide machine / auxiliary axis system. Expand the Robot Controllers / Robot 1 tree in the cell browser. Select Exit and press Enter. To validate that the extended axes have been defined. and configured a virtual robot with extended axes on the virtual robot. A box is added to the workcell and the property page for the machine is shown. 0. Right Click on the Machines Element and select Add Machine / Box menu selection. 300. Build the base of the auxiliary axis system 1. Select Exit and press enter. Open the cell browser if it is not open.2 o Brake Number Setting: 2 o Servo Timeout: Disable 19. The robot is then attached to the X rail. it means that the motor direction is opposite of the CAD link Axis direction defined. 6. 90. 9. Select Lock All Location Values and press Apply to lock the base in the workcell. Build the dependent X rail axis. The motion control axis must be defined. 5. Note that the 3D axis reference frame now is in the direction of travel along the rail. The box just attached to joint 7 moves in the World Y direction relative to the base CAD box. 12. In the Joint field. The box should move to the floor and be 10 meters in the Y direction. For more information regarding the 3D axis and Link CAD reference frames see Working with machines. Select the Link CAD tab on the X Rail Property page. This highlights the coordinate system that moves when the axis is jogged or moved. 0. 90. Size in Z = 300 and 0. If the teach ball at the end of the robot moves in the opposite direction of the axis. and the property page for the control of joint 7 should be open. In the Axis Origin fields enter 0. 0 for the CAD Location. On the General property page press the Select 3D Axis button. The box should be on the floor and be 8 meters in the X direction. the motor must attached to the motion control axis. and the CAD box must be located correctly for the machine. 7. 0 for the CAD Location. Change the Name Property to X Rail and press Apply. 10. The Z axis of the axis link must be rotated to align with the Y rail base Box created in an earlier step. and press Apply. 0. . Enter Size in X= 8000. 0 and press Apply. and press Apply. Define the robot axis that controls this axis. A box for the X rail axis of the machine should be loaded into the workcell. On the X Rail Motion Property page select Group = GP:1 R-2000iA. 8. Press Apply. select Joint 7. 300. 13. 0. The base now exists for the robot Y rail of travel. 0. 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. 11.Working with Robot Controllers 145 0. Locate the Box relative to the Joint 7 Axis Origin of motion. 0. Open the virtual Teach Pendant and jog Joint 7. Right Click on the X-Y Rail Machine root node under Machines and select Add Link > Box. 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). 0. Press the Select 3D Axis button. The Z axis is now aligned with the direction of travel. 17. The robot rotates because the Link CAD is relative to the 3D Axis origin. 0 for the CAD Location. Change the Name Property to Robot R2000 and press Apply. 16. J:7 .Working with Robot Controllers 146 To quickly change this association. An aux axis system should now be defined. On the Motion Tab of the Property page select the Servo radio button and then select Group = GP:1 R-2000iA. This highlights the coordinate system that moves when the axis is jogged or moved. 90. The box should be on the floor and be 8 meters in the X direction. 0. open the property page for the X Rail and select the Negative checkbox on the General property page. Right Click on the G:1. 0. Press Apply. -90. 0. 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. Select the Link CAD tab on the Robot R2000 property page. Attach the robot to the X rail Axis 14. This attaches the robot to J:7 X. 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. and press Apply. 18. . 15. Locate the Robot relative to the Axis Origin of motion.Rail so that when the X Rail is jogged the robot moves on the rail. In the Joint field. 0. Validation can be done by jogging both joints 7 and 8. The robot teach ball should now move with the rail as it is jogged.X Rail Machine node under Machines and select Attach Robot -> GP:1 – R-2000iA/165f. 0 and press Apply. select Joint 8. Define the robot axis that controls this axis. 0. Enter 0. 19. Working with Robot Controllers 147 Working with extended axes and integrated axes Auxiliary axes systems are mechanical devices that are controlled by the robot controller. The robot and the auxiliary axes can be controlled using extended axes on the controller. Any robot controller in the workcell can control a link of the machine. Generally. See Use the machine axis Motion tab for more information. The position on the rail (linear) or on the arm (rotary) is added to the robot position. The aux axis device is a joint value and does not participate in defining the robot tool center point location. This allows IO programming to control clamps and other IO driven devices in the workcell. • Non end of arm machines are defined at the workcell level. machines were under each robot controller. The position on the rail (linear) or on the arm (rotary) is not added to the robot position. You could build an IO driven slide with this capability. and appear as additional joints on the motion group to which they are assigned. • Extended axis: the robot world coordinate system is at the robot base. Multiple robot controllers can be attached to a rail. An aux axis device represents 1 or more joints added to the robot controller. In previous versions. 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: .40 Roboguide changes and additional functionality have been made regarding machines. Robots on aux axes can have different configurations: • Integrated axis: the robot world coordinate system is on the aux axis. Auxiliary axes define a set of motors and axes that are combined to accomplish a motion task. Auxiliary axes can be defined on the robot controller to control the devices. 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. Note: starting in release V6. • Links can be driven by IO on a robot controller. You can see this representation in the cell browser. Auxiliary axes systems are used in several applications and are generally used to move the robot to different locations in a workcell. Moving machines to the workcell level provides additional flexibility. • Aux axis on the end of the robot arm When building auxiliary axis devices in Roboguide the virtual robot has to be configured for auxiliary axis by loading the controller option. (Integrated axes) • Robot on an RTU. A robot can have multiple additional extended joints. The components of the tree define the following: • X-Y Rail: the root of the auxiliary axis machine. A robot on a X – Y slide. Auxiliary axis machines are built from the additional axes defined for the robot. and the Roboguide environment has to be defined to link 3D ChuiWorld entities to the virtual robot axes. Each dependent link is listed under the machine as a group and a joint. An auxiliary axis is modeled in the cell browser as a machine controlled by the robot. G:1:J:7 Slide is the root of the device and the robot is attached to it. • Robot controlling a conveyor motor. Examples: A robot on an RTU. • G:1. The machine is the root of an auxiliary axis system definition and represents the base of the device. If a link is dependent on a different link it is listed under the link it is dependent on. The above picture of the cell browser shows single integrated axes – Joint 7 system. These dependencies can be edited to define an overall auxiliary axis function. The additional axes definitions are defined by what has been setup at controlled start for the virtual robot. . The above picture of the cell browser shows 2 integrated axes – Joint 7 and 8 system.Working with Robot Controllers 148 • Robot on a rail. J8 – Robot R2000 moves perpendicular along the X Rail and the robot is attached to J8. • Robot on a rail doing rail tracking. and defines the base. A machine is a series of axes that are configured to represent an aux axis configuration. See Configuring a virtual robot for an aux axis system for more information on setting up the virtual robot. • G:1:J:7 X-Rail is the rail that moves when joint 7 is moved. Cell Browser representation of multiple auxiliary axes external to the robot arm The cell browser shows Robots under the Robot Controllers category. Each joint is built relative to what it is dependent upon. Components of an auxiliary axis definition within Roboguide A machine / auxiliary axes system has a base with joints relative to the base and other joints. Roboguide software defines each component with the following properties regarding joint positions and CAD. If a link is dependent on a different link it is listed under the link it is dependent on. When the axis moves the CAD Origin moves along the Z axis of the axis link origin. The machine is the root of an auxiliary axis system definition and represents the base of the device. If a joint is dependent on a different joint then it is added underneath the joint that it is dependent upon. The following figure shows the cell browser tree for a robot controller configured with and external axis on the end of the arm. This is the CAD origin relative to the 3D world zero. . • 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. A machine is a series of axes that are configured to represent an aux axis configuration. Machines: defines machines that are connected to the robot <Machine>: represented at the root of a machine. These dependencies can be edited to define an overall positioner function. An auxiliary axis is modeled in the cell browser as a machine controlled by the robot on the end of arm tooling. The axes are added to the end of arm tooling on the robot. When defining the axis link Roboguide requires that the +Z axis be along the axis of rotation (rotary) or translation (linear). The axis link is the link that moves when the joint is jogged. • CAD Location: the location of the base in the workcell. • CAD File: defines the CAD to be used for the base Axis joints: the joint links relative to the base is modeled in a tree. Each dependent link is listed under the machine as a group and a joint.Working with Robot Controllers 149 Cell Browser representation of auxiliary axes on the robot arm Extended auxiliary axes can be added to the end of the robot arm. • Axis Link Origin: this is the location of the joints link axis relative to the previous link CAD. Auxiliary axis devices are built from the additional axes defined for the robot. A joint link is another group’s joint. Create a new auxiliary axis machine. located. 4. When you encounter the setup robot options step in the wizard. . 3. Open a New Workcell! 2. but the graphics portion must be linked into the virtual robot. Follow the procedure Adding an Extended or Integrated axis to the virtual robot for each additional axis required. and set the base CAD. 1. Procedure to build a auxiliary axis device This process assumes the virtual robot has been configured for Extended axes. This is done at robot controlled start. you configure the options for the virtual robot being built. and calibrated in the workcell. 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. the virtual should have the extra axes defined. The virtual robot is initialized with additional axes. See Extended axes and integrated axes definitions and layout within FANUC Roboguide for more background information. The machine is the root of a auxiliary axis device definition and represents the base of the auxiliary axis device. 5. Process to configure virtual robot and 3D CHUIworld for auxiliary axis. and the axes have been added to the virtual robot When PRO is running. After your selection of options you can finish the wizard and initialize the virtual robot. Roboguide detects if the virtual robot has been configured with additional extended axes. 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. Build or modify an aux axis system An aux axis system is modeled as a series of joints in the cell browser under the Robot / Machines category. Steps in the process may reference other procedures. The auxiliary axis machine can now be built. Several procedures are required to build a working auxiliary axis workcell.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. but need to have axes added to match the actual hardware configuration. Each dependent link is listed under the machine. set the base location. 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. Generally this is from an IGES file. select the file that will be used for the base CAD. and select how the base CAD should be created. The next step is to move the CAD relative to this link axis of motion. . Locate the axis link relative to the previous axis link . Often times locating the axis link of motion changes the location and orientation of the CAD that defines the link (Link CAD). You may add CAD from: o CAD Library – CAD elements available from Roboguide library o CAD File – IGES CAD information o Box. and press Apply. 4. If file is chosen. 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. 2. Select and Right click on the Machines category under the robot. 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. Repeat steps 4-8 until all axes are added. The effects of this can be seen when actually jogging the robot in CHUIWorld. 6. Locate the base where desired Associate and locate axes for the positioner 1. Expand the cell browser tree under the desired machine. Joints are added relative to dependent joints.Working with Robot Controllers 151 1. Select Add Link. 5. 2. In the cell browser right click on the element that will have an additional joint added. 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. Cylinder. If the value is incorrect the robot moves opposite of the teach tool triad on the screen. 7. Modify the Link CAD for the axis and modify the location of the link CAD relative to the axis link. The base should be loaded into Roboguide and seen on the screen. The next step is to move the CAD relative to this link axis of motion. The added links will move with whatever links they are associated (links above it in the tree) Build or modify an aux axis on the end of arm An aux axis system is modeled as a series of joints in the cell browser under the Robot / Tooling category. even if they have no motion characteristics. 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. See Extended axes and integrated axes definitions and layout within FANUC Roboguide for more background information. You may add CAD from: o CAD Library – CAD elements available from Roboguide library o CAD File – IGES CAD information o Box. Locate the axis link relative to the previous axis link . In the cell browser right click on the element (root UTOOL node or a axis below it) that will have an additional joint added.Working with Robot Controllers 152 NOTE: it is possible to add "dummy" links that have no servo axis control. Roboguide detects if the virtual robot has been configured with additional extended axes. For the initial link on the end of arm this is the faceplate of the robot. Each dependent link is listed under the UTOOL. 2. Cylinder. Often times locating the axis link of motion changes the location and orientation of the CAD that defines the link (Link CAD). the virtual should have the extra axes defined. These dependencies can be built and modified to define an overall auxiliary axis device function. and the axes have been added to the virtual robot When PRO is running. . Associate and locate axes for the end of arm machine 1. Select Add Link. but the graphics portion must be linked into the virtual robot. The link should show and is placed relative to the previous links CAD position. 4. Procedure to build a auxiliary axis device on the end of arm This process assumes the virtual robot has been configured for Extended axes. Expand the cell browser tree under the Robot / Tooling and select the UTOOL where you want to add the end of arm tooling machine. If a link is dependent on a different link it is listed under the link it is dependent on. Sphere – Basic shapes that can be used to model many simple machines 3. This is useful to build a machine out of many parts. The added links will move with whatever links they are associated (links above it in the tree) Locating a machine in the workcell A machine is located in a workcell by placing its base in the workcell location that is desired. NOTE: it is possible to add "dummy" links that have no servo axis control. Joints are added relative to dependant joints. Locate the machine base where desired . Select the Motion Tab. 7.Working with Robot Controllers 153 5. 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. Repeat steps 4-8 until all axes are added. Open its property page. 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. 8. Modify the Link CAD for the axis and modify the location of the link CAD relative to the axis link. Select from the cell browser the machine that represents the device you want to modify 2. Press Apply. 6. The motion type should be set to Servo. 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. This is useful to build a machine out of many parts. 9. even if they have no motion characteristics. Procedure to locate a machine in the workcell 1. Stop on the robot options selection page. but additional axes must be defined. Press Apply from the Robot Property Page dialog If a new workcell is being created the option needs to be added to the virtual robot. . 2. The robot will be initialized with the extended axis option. When stepping through the Workcell creation wizard one of the pages allows selection of robot options.Working with Robot Controllers 154 Configuring a virtual robot for an aux axis system The virtual robot in the workcell must have the Extended Axis control before axes can be added to the robot. 3. The robot will have the option enabled. 5. Open the robots property page 2. Press Finish. See Adding an axis to the aux axis system in PRO for more information. 1. Select Serialize Robot button the workcell wizard is opened. Press Finish. Select Extended Axis control from the list 3. Press next until the Robot Options selection page is available. To configure a virtual robot for an aux axis system If the workcell is already created and the option needs to be added to the existing virtual robot 1. Select Extended Axis control from the list 4. Press Next until the summary page is displayed 5. Press Next until the summary page is displayed 4. 6. Start the virtual robot in controlled start mode by selecting Robot / Restart Controller / Controlled Start from the main menu. Select Exit and press Enter. Press FCTN and then select START (Cold) so that the new settings can take effect. 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. 1. . go to the Current Position Tab of the Virtual Teach Pendant to see that the axis shows in the current position. and then select Maintenance 3. 2. 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. Questions are presented to configure the hardware. 8.Working with Robot Controllers 155 Adding an extended or integrated axis to the virtual robot An axis can be added to the virtual robot in the same way that you add an axis to a robot on an actual robot. When the questions are answered the menu for the Extended Axis will be presented. 4. The select group menu is shown. The axis is added to the robot group from controlled start. Down Arrow to the Extended Axis Control item and press the Manual Softkey. 7. Start the virtual robot in controlled start mode by selecting Robot / Restart Controller / Controlled Start from the main menu. the new axes are added to the robot. Changing an aux axis configuration on the virtual robot An axis configuration can be modified on the virtual robot in the same way that you modify an axis to a robot on an actual robot. Select Add Ext axes. 6. To verify that the axis has been added. 5. Select Exit and press Enter. A menu is presented which allows you to work with the motion group axis setup. The robot will restart in controlled start. Press Menu button. Select the group that will have an additional axes added and press Enter A menu is shown. When the robot returns to Cold Start. the new axes are modified on the robot. The select group menu is shown. Select Exit and press Enter. The link axis of motion must align the coordinate triad’s +Z axis along the axis of rotation rotary) or translation . 6. A menu is presented which allows you to work with the motion group axis setup. Select the axis that needs to be modified and press enter. 2. Press Menu button. 9. Press FCTN and then select START (Cold) so that the new settings can take effect. Open the property page for the joint axis desired. 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. When defining the axis link Roboguide requires that the +Z axis be along the axis of rotation (rotary) or translation (linear). 5. 2. For more information about the relationship between machine axes see Working with machines. Down Arrow to the Extended Axis Control item and press the Manual Softkey. Select Modify Ext axes. 3. When the questions are answered the menu for the Extended Axis will be presented.Working with Robot Controllers 156 The robot will restart in controlled start. Procedure to change the link axis of motion origin location 1. It is the location of the joints link axis relative to the previous link CAD. 4. Move the coordinate triad to the correct location relative to the link it is dependant upon. The axis link is the link that moves when the joint is jogged. Press the select 3D axis button to activate the coordinate triad for the link. The origin of the link axis is the origin of the virtual motor. 7. Select the group that will have an additional axes added and press Enter A menu is shown. and then select Maintenance 3. Questions are presented to configure the hardware. Select Exit and press Enter. When the robot returns to Cold Start. 8. 4. 3. Move the object to the desired offset. Changing the CAD location relative to axis link for a positioner axis 1.Working with Robot Controllers 157 (linear). Select the Link CAD page. For more information on the relationship between Axis Link origin and CAD location for positioner systems see Positioner definitions and layout within FANUC Roboguide. Open the property page for the joint axis desired 2. To change the CAD used for a machine axis 1. . This procedure explains the steps to change the CAD location relative to the axis link. A PRO primitive may be selecting the type from the CAD type field. browse by selecting the folder icon. 4. If CAD is to be used. Click on the CAD field. For general information about the relationship between machine axes see Working with machines. A links axis is dependant upon the previous link’s Link CAD origin. 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. Changing the CAD used for a machine axis Objects can be defined from IGES CAD or PRO primitives. 3. CAD used for the machine axis can be changed on the property page that defines the machine axis. Click on the CAD in the workcell being used for the axis. 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 . Open the property page for the joint axis desired 2. Select the Link CAD page. It is common that after the axis link has been setup that the CAD location and orientation may not be desirable. 1. Click OK or Apply Loading a previously defined machine A previously defined machine can be loaded into a workcell. From the cell browser. Create a new workcell 2.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. Select the . and the virtual robot has been configured for the machine axes. and press Open.Working with Robot Controllers 158 5.DEF file can be loaded: • After the workcell has been generated. a saved machine definition can be loaded. Loading a previously defined auxiliary axis machine from the workcell wizard The . and can be selected. • During workcell generation: o Auxiliary axis DEF files are seen in the robot list. <Install Drive> Program Files\FANUC\PRO\SimPRO\Image Library\Positioners 1.DEF file must be saved in the image library directory structure of Roboguide in order . Select the saved DEF file from the Select Robot list 3. and the virtual robot has been configured for additional groups and/or axes. Step to the end of the wizard and select Finish Loading a previously defined positioner (multi group) machine from the workcell wizard The . right click on the Machines Category and select Add Machine / Positioner Library.DEF file you desire. a machine definition file can be loaded from the cell browser. Loading a previously defined machine after a workcell has been created If the workcell has been defined. The selected machine will be loaded into the workcell. There are multiple ways a . o Positioner DEF files (multiple groups) are shown on the Add groups workcell wizard page. <Install Drive> Program Files\FANUC\PRO\SimPRO\Image Library\Positioners 1.Working with Robot Controllers 159 for the DEF file to appear in the robot list. .DEF file you desire. Create a new workcell 2. a saved machine definition can be loaded. Select the . The selected machine will be loaded into the workcell onto the end of arm. Add the def file to the robot by pressing the Hand icon in the list 4. Step to the end of the wizard and select Finish Loading a previously defined end of arm machine after a workcell has been created If the workcell has been defined. Calibrating an aux axis system An aux axis system is calibrated using the same procedures for calibration as all objects within Roboguide. right click on the Robot / Tooling / Desired UTOOL and select Load Tooling. Select the saved DEF file from the group list on the Add Group wizard step 3. See Using the Calibration Tab for more information on using the Calibration tab from within Roboguide. and press Open. From the cell browser. and the virtual robot has been configured for the machine axes. 1. When you use coordinated motion. Some examples: • A single axis rotating table would be a group with 1 joint. Each additional motion group can have • Up to six motors • Up to three extended axes The robot and the positioners can be controlled using coordinated motion. You can see this representation in the cell browser.7. • A multi axis rotating table (spin and tilt) would be a group with 2 joints • An H style Ferris wheel (headstock/tailstock) could be represented as a group for the center of the H which rotates. FANUC Robotics robots are an example of a motion group. Positioners are used in several applications and are generally used to manipulate parts and tooling. The group definitions are defined by what has been initialized during create a workcell wizard process. the "coordination" that is performed is between two motion groups. Additional motion groups are defined to control axes on a piece of equipment other than the robot. A motion group defines a set of motors and axes that are combined to accomplish a motion task. which are listed under the specific robot. . Up to four positioner devices can be added as motion groups to the system.Working with Robot Controllers 160 7. The maximum number of groups that can be supported by a controller is five. a group is assigned to positioner axes that perform a task. Motion groups can be defined on the robot controller to control positioners. Positioner definitions and layout within FANUC Roboguide Roboguide models positioners from the base of the positioner out to the last axis of the positioner. A robot can have multiple groups. and the Roboguide environment has to be defined to link 3D CHUIWorld entities to the virtual robot groups and axes. When building positioners in Roboguide software the virtual robot has to be configured for motion groups and group axes. A positioner represents 1 or more motion groups on the robot controller. This is a 3 group positioner with the H arms dependent on the center of the H. typically Group 1. and a separate single joint axis for rotation of each arm of the H. Generally.2 Working with positioners Robot positioners are mechanical devices that are controlled by the robot controller. Cell Browser representation of multiple groups and positioners The cell browser shows Robots under the Robot Controllers category. Group 1 (GP:1) is the robot. FANUC Roboguide defines each component with the following properties regarding joint positions and CAD. When defining the axis link Roboguide requires that the +Z axis be . These groups are used to define Machine 1 under Machines. o 3D Axis Origin: this is the location of the joints link axis relative to the previous link CAD. Group 1 is the robot. The axis link is the link that moves when the joint is jogged. If a link is dependent on a different link it is listed under the link it is dependent on. Groups 2 and 3 are each dependent on Group 4. The center turns with each arm of the H able to turn. A group is a series of joints. This is the CAD origin relative to the 3D world zero. Each dependent link is listed under the machine as a group and a joint. GP: 2 and GP:3 each has a 1 joint axis. Each group shows the number of axes defined for the group by indicating J1:Jx in each groups expanded tree. Machines: defines machines that are connected to the robot • <Machine>: represented at the root /base of a machine. The machine is the root of a positioner’s definition and represents the base of the positioner. GP:2 and GP:3 are the additional groups. These dependencies can be edited to define an overall positioner function.Working with Robot Controllers 161 Positioners are built from the groups defined for the robot. A joint link is another group’s joint. Under machines is the Versa3M3 which has a center turn group G:4 with a single 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. The above picture of the cell browser shows a 3 group system. o CAD File: defines the CAD to be used for the base • Axis joints: the joint links relative to the base is modeled in a tree. Examples: A 3 group positioner. and each have 1 joint (J:1). A machine is a series of groups that are configured to represent a positioner’s configuration. A positioner is modeled in the cell browser as a machine controlled by the robot. 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. A 3 group Ferris wheel positioner that is shaped like an H. o CAD Location: the location of the base in the workcell. o Link CAD: defines the CAD to be used for the joint and the location of the CAD origin relative to the axis link Process to configure virtual robot and PRO 3D world for positioners This topic provides a high level procedure to configure a Roboguide workcell that supports positioners. 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. Xxx Positioner was selected: the xxx positioner selected should be in the workcell and configured into the system with the parameters that were previously saved. the positioner groups have to be setup at controlled start. you configure the groups for the positioner being built. The robot has the multi group option. Basic Positioner was selected: no positioner exists in the workcell. 5. 3. 4. the axes for each group have to be defined at robot controlled start before it can be built. . The cell browser / Robot category shows the positioner as additional motion groups. a 3D CHUIWorld with a robot that supports groups is shown. When you encounter the Robot Models for additional motion groups step in the wizard. If Basic Positioner or General Positioner was selected. 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. Open a New Workcell 2. . After the workcell is started. Steps in the process may reference other procedures. See Configuring a virtual robot for multigroup positioners for more detail. If you want to change the motor configuration you do this at robot controlled start. After your selection of group and positioner type you can select desired controller options and initialize the virtual robot.Working with Robot Controllers 162 along the axis of rotation (rotary) or translation (linear). You may change the positioner configuration through the cell browser and property pages. Process to configure virtual robot and 3D CHUIworld for positioners 1. Several procedures are required to build a working positioner workcell. What is available depends on what was selected during the Workcell Creation Wizard. 7. See Positioner definitions and layout within FANUC Roboguide for more background information. 4. but need to have axes added to each group to match the actual hardware configuration. Procedure to build a positioner This process assumes the virtual robot has been configured for multigroup support. Follow the procedure Adding a positioner axes to the virtual robot for each additional axis required. The machine / positioner is the root of a positioner’s definition and represents the base of the positioner. The positioner can now be built. and calibrated in the workcell. The base should be loaded into Roboguide and seen on the screen. In the cell browser right click on the element that will have an additional joint added. Each dependent link is listed under the group. This is done at robot controlled start. the virtual should have the extra groups and axes defined. Select Add Link. You may add CAD from: o CAD Library – CAD elements available from Roboguide library o CAD File – Iges CAD information . If you chose Basic Positioner when defining additional motion groups the virtual robot is initialized with additional groups. When PRO is running. but the graphics portion must be linked into the virtual robot. and set the base CAD. Select and Right click on the Machines category under the robot. and select from where the base CAD should be created. Create a new machine / positioner. 1. Roboguide detects if the virtual robot has been configured with multiple groups. set the base location. and the axes have been added for each group. If a group is dependent on a different group it is listed under the group it is dependent on. Generally this is from an IGES file. Build or modify a positioner A positioner is modeled as a series of joints in the cell browser. 2. If a link is dependent on a different link it is listed under the link it is dependent on. located. select the file that will be used for the base CAD. Expand the cell browser tree under the desired machine. These dependencies can be built and modified to define an overall positioner function. Locate the base where desired Associate and locate axes for the positioner 3. If file is chosen.Working with Robot Controllers 163 6. This is the desired setting if a positioner is being defined for the first time. Cylinder. the joint moves in the opposite direction of desired. Modify the Link CAD for the axis and modify the location of the link CAD relative to the axis link. When a group is set to a positioner with no definitions the axes will have to be defined during the virtual robot serialization process. 9. An axis link can be defined to be a different group axis or and additional joint on a group. Table 1: Available axis devices: lists available devices for additional motion groups. Groups can be added to depend on other groups. The link should show and is placed relative to the previous links CAD position. 8. 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. Repeat steps 4-8 until all axes are added. 10. 7. Changing this will move the motor opposite of the current setting. Configuring a virtual robot for multigroup positioners The additional motion groups step in the serialize wizard is where motion groups are defined for the virtual robots. This includes the information required to operate the robot. Includes no definition (.Working with Robot Controllers 164 o Box. You generally know when to change this setting if when you jog the joint. 6. • Positioner with no definition: enables multi-group motion of the stated type. The next step is to move the CAD relative to this link axis of motion. This is because the CAD link is dependent on the 3D axis origin link. This process is the same as on an actual robot.DT) file definitions for the group device. Robots listed in the table can be added as a second group in dual arm configurations. Locate the axis link relative to the previous axis link . 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 Additional Motion Groups wizard step shows two tables. Sphere – Basic shapes that can be used to model many simple machines 5. Additional devices include: • -Robot: robot CAD. Often times locating the axis link of motion changes the location and orientation of the CAD that defines the link (Link CAD). Joints are added relative to dependant joints. . and would show up in the list as a Positioner with definitions. • Positioner with definitions: defines a positioner that has been previously configured. 2. PRO inserts the group information as appropriate. 3. Select the available axis device desired from the first table. When a device is selected from table one and inserted into table 2 the configuration is shown in Table 2. This selecting will result in having to answer the positioner setup questions during virtual robot serialization at controlled start. When you select the hand button. Table 2: Group mapping: provides capability to map devices from table 1 to virtual robot groups. The type of device selected in Table 1 effects how Table 2 is populated. This is the basic starting selection when constructing a positioner from nothing. Includes definition files for the positioner. 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. • -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. The definition file describes how the machine is built where the 2 arms of the positioner are dependent on the center of the positioner. Procedure to configure a virtual robot for multigroup positioners 1. The definition file contains the machine definition and the relationships of the robot motion groups to build the machine. Definitions include: Positioner joint CAD: this is the geometry that shows the joint in the 3D CHUIWorld. When the positioner is built it is defined as a machine in PRO. Group device types are selected in Table 1 and linked to virtual robot groups in Table 2. Positioner group relationships: the positioner is built from multiple groups. These two tables work to define the group information for the virtual robot. After a positioner is built the first time. The hardware setup for the joints is included as well as the properties that were saved when the definition file was created. For example. Press Next to proceed .Working with Robot Controllers 165 • Positioner with definitions: enables group motion of the stated type. Press the hand button next to the group you want to be associated with the selected axis device. it can be saved to a Positioner with definitions. Down arrow to Basic Positioner 5. 9. When you have finished. 1. Select the positioner you want to install from the list of robots. . The group is added from controlled start. 8. Press F1. Press F5. 7. Press Menu button. The axis is added to the group 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. Answer the questions as it relates to your hardware setup. INSTALL. The robot will restart in controlled start. Adding a positioner axis to the virtual robot An axis can be added to a group on the virtual robot in the same way that you add an axis to a group on an actual robot. 2. press FCTN and then select START (Cold) so that the new settings can take effect. 6.Working with Robot Controllers 166 Multiple devices can be selected until the group information table is populated. 1. Start the virtual robot in controlled start mode by selecting Robot / Restart Controller / Controlled Start from the main menu. Adding a positioner group to the virtual robot A group can be added to a virtual robot in the same way that you add a group to an actual robot. ADD GRP. and then select S/W Install 3. Start the virtual robot in controlled start mode by selecting Robot / Restart Controller / Controlled Start from the main menu. Down Arrow to the Robot Library item and press enter 4. 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. motor type. Press Manual A menu is presented which allows you to work with the motion group. Press FCTN and then select START (Cold) so that the new settings can take effect. The robot will restart in controlled start. etc. and then select Maintenance 3. 1. 7. Select the Display / Modify item and press Enter 6. 2. Start the virtual robot in controlled start mode by selecting Robot / Restart Controller / Controlled Start from the main menu. Enter the Axis to Display / Modify . The configuration is the same as the configuration on the actual robot. Select the Add Axis item and press Enter An axis is added. When the questions are answered the menu for the group will be presented. mosign direction. 5. Press Menu button. and you must answer questions to configure the hardware. This includes item such as amp number. motion limits.Working with Robot Controllers 167 The robot will restart in controlled start. After cold start the group should show the added axis in the cell browser. Changing a positioner configuration on the virtual robot A positioner and its axis information must be correctly defined on the virtual robot. 6. Select Exit and press Enter. 5. Down Arrow to the desired group and press enter 4. The controlled start menus operate the same on the virtual robot as on the actual robot. and then select Maintenance 3. Press Manual A menu is presented which allows you to work with the motion group. Press Menu button. 2. Using the controlled start menus on the robot controller can change the configuration. axis number. Down Arrow to the desired group and press enter 4. State: PRO is running and the virtual robot multigroup motion option was selected when the robot was started from the serialize wizard. This selects the calibration point with a position triad. Select the Coord Tab. 8. the unique coordinated pair setup positions can be recorded from the virtual TP. 7. This tab provides a simple mechanism to quickly move the devices. Locate the calibration point by either: o Direct entering numbers o Dragging the Calibration point . Using the Coord Tab to define a coordinated pair The Coord tab is used primarily for setting up coordinated motion for positioners. Select the group axis for which a coordinated pair will be created. Open the machine axis property page for the group 3. When defining a coordinated motion pair. A calibration point must be defined. The Coord tab provides a mechanism to quickly move the robot and positioner to 3 unique locations. 9. To define a Coordinated Pair using the Coord Tab This procedure assumes that the positioner has been built and that the groups and their joints can be jogged from the Teach Pendant. Enable the Has Calibration Point checkbox. 5. finish stepping through the settings until you return to the top level menu. Press the Select 3D Calibration Point button.Working with Robot Controllers 168 You can step through the items by following the menus. After changing the desired item. These locations are used to calculate the coordinated motion frame. The tab is used along with the coordinated motion setup screens on the virtual TP. 6. 1. 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. Select Exit and press Enter. 2. the positioner group and robot are taught 3 different locations. After each move. Press Fctn -> Start (Cold) The robot will restart. 4. Enable the Virtual TP and down arrow to Point 1 and Press Shift – Record. Ensure that the positioner rotation does not make the position unreachable. The robot and positioner should move to the Angle entered with the robot TCP at the calibration point. 15. Enter a new positioner Angle on the Coord Tab from within PRO and press MoveTo. 7. On the Virtual Teach Pendant select the softkey C_TYP and select Unknown PT. The robot and positioner should move to the Angle entered with the robot TCP at the calibration point. 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. 16. Leader Group Number (the positioner group). It is best to use the largest angles between points that the robot can reach. and the Follower Group (the robot). The robot and positioner should move to the Angle entered with the robot TCP at the calibration point. and Y settings fot he calibration point are such that the robot can move to the position. This includes Coord Pair Number. Enter a third positioner Angle on the Coord Tab from within PRO and press MoveTo. The Virtual Teach Pendant Coord Setup screen is used to record the required 3 positions. X. On the Virtual Teach Pendant Coord motion setup screen enter the coordinated pair information. and that the Z. 14. Enter a positioner Angle on the Coord Tab from within PRO and press MoveTo. Open the Virtual TP and select Menus / Setup/ Type (F1)/ Coord (may be under the second page). Ensure that the robot is the active motion group for jogging. and Y settings of the calibration point are oriented such that the robot can reach the position. 8. Note: it is not uncommon to have position not reachable errors when trying to do the MoveTo. 12. 13. Open the Coord Motion setup screen on the virtual teach pendant. 9. X. 11.Working with Robot Controllers 169 Note: makes sure that the Z. . Enable the Virtual TP and down arrow to Point 2 and Press Shift – Record. 10. This example uses WeldPRO. 18. From the Main Menu select Robot / Restart Controller / Cold Start.2. Press Fctn – Toggle Coord Jog. The controller must be cold started for the pair to be initialized. To validate that the coordinated pair is defined correctly jog the robot close to an edge on the positioner axis. When the group joint is jogged the robot should track with the moving joint. Press Shift – and the EXEC softkey. . Start a new workcell by selecting File / New from the main menu The workcell creation wizard is opened. configures a virtual robot with multiple groups. 3. Select which PRO plugin you desire and press Next. Name the workcell and press Next. 19. This example uses the workcell name Positioner_Example. Required to build the positioner is CAD information for the positioner joints. The example creates a new workcell.7. You should be able to use the same procedure in other PRO software. When the controller is restarted the coordinated pair is defined. (headstock/ tailstock) The workcell can be found in <install drive> \Program Files\FANUC\PRO\WeldPRO\Sample Workcells\ positioner example Step 1: Create a new workcell Step 2: Build the positioner Building a positioner example Step 1 Create a new workcell A new workcell is created with the name Positioner_Example. Enable the Virtual TP and down arrow to Point 3 and Press Shift – Record. 2. Step 1: Create a new workcell 1. and builds the positioner from CAD elements in the Roboguide interface. 7.1 Building a positioner example Building a positioner example The following example shows the process required to build a positioner. Several steps are required and this step describes each procedurally. The coordinated pair is now defined.Working with Robot Controllers 170 17. Select the group to be jogged. 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. Select the positioner type for each group used by the positioner. Start the virtual robot in controlled start mode by selecting Robot / Restart Controller / Controlled Start from the main menu. Select Basic Positioner and press the hand icon () next to group 4. 10. After serializing the virtual robot the configuration has 3 additional motion groups defined with each group having 0 axes. A 3 group positioner system is now configured for the virtual robot. The process can be seen on the virtual TP screen. This example uses the M6iB/ARCMate100iB robot. When the virtual robot is started the 3 group systems is defined and motor definitions will have to be made. See Configuring a virtual robot for multigroup positioners for a more detailed description of this wizard step. Select the desired robot from the list and press Next. Check the box next to the Coordinated Motion option in the list and press Next. Axes must be added to these groups before the group can be used. Press Menu button. The final step of the wizard shows the configuration of the robot that will be serialized. Select Basic Positioner and press the hand icon () next to group 2. This example also enables the Coordinated Motion option. If a list of software versions is presented. 8. 6. 5. Press Finish to start the creation of the virtual robot. After pressing finish the virtual robot is serialized. Press Manual A menu is presented which allows you to work with the motion group. . 7. Select Basic Positioner and press the hand icon () next to group 3. Press Next when complete. select the highest support virtual robot version. Roboguide should initialize with a 3D CHUIWorld. This is common with serializing an actual robot. Down Arrow to the desired group 12.Working with Robot Controllers 171 4. This example places a Basic positioner with no definitions for each of 3 groups. 9. When selecting additional groups in the earlier step. and then select Maintenance 11. Roboguide automatically enabled the multi group option. Defining the positioner axis hardware information. The robot will restart in controlled start. Select options to be loaded on the robot. A menu is then presented. and answer the questions as detailed below (the answers provided may not be correct for the hardware on an actual positioner. 13. Select the Add Positioner Axis item and press Enter 15. 14. The Virtual TP screen shows question that must be answered to define the hardware selected.Working with Robot Controllers 172 If asked the hardware start axis. enter 7 for Axis 7. select Unknown Kinematics. See the FANUC Robotics North America manuals for more information). If asked for the Kinematics Type Setting. 16. When the questions appear left click the mouse on the virtual TP window. Group 2 Positioner Initialization o Enter hardware start axis (if not already answered): 7 o Kinematics Type Setting(if not already answered): Unknown Kinematics o Motor Size: Aca6 o Motor Type Setting: /2000 o Amplifier Current Limit Setting: 40A o Amplifier Number Setting: 2 o Amp type : Alpha o Axis Type: Rotary Axis o Direction Setting: +Y o Gear Ratio Setting: 161 o Maximum Speed Setting: No Change o Motion Sign Setting: True o Upper Limit Setting: 450 o Lower Limit Setting: -450 (Press the – key on the numeric keypad) . Working with Robot Controllers 173 o Master Position Setting: 0 o Accel Time 1 Setting: No Change o Accel Time 2 Setting: No Change o Exponential Filter Setting: False o Minimum Accel Time Setting: No Change o Load Ratio Setting: 2 o Brake Number Setting: 0’ o Servo Off Setting: False o Group 2 Total Positioner Axes = 1: Exit 17. Cursor down to Group 3 and press Manual 18. Group 3 Positioner Initialization o Enter hardware start axis: 8 o Kinematics Type Setting: Unknown Kinematics o Group 3 Total Positioner Axes = 0: Add Positioner Axis o Motor Size: ACa6 o Motor Type Setting: /2000 o Amplifier Current Limit Setting: 40A o Amplifier Number Setting: 3 o o Amp type : Alpha o Axis Type: Rotary Axis Working with Robot Controllers 174 o Direction Setting: +Y o Gear Ratio Setting: 161 o Maximum Speed Setting: No Change o Motion Sign Setting: True o Upper Limit Setting: 450 o Lower Limit Setting: -450 (Press the – key on the numeric keypad) o Master Position Setting: 0 o Accel Time 1 Setting: No Change o Accel Time 2 Setting: No Change o Exponential Filter Setting: False o Minimum Accel Time Setting: No Change o Load Ration Setting: 2 o Brake Number Setting: 0’ o Servo Off Setting: False o Group 3 Total Positioner Axes = 1: Exit 19. Cursor down to Group 4 and press Manual 20. Group 4 Positioner Initialization o Enter hardware start axis: 9 o Kinematics Type Setting: Unknown Kinematics o Group 4 Total Positioner Axes = 0: Add Positioner Axis o Motor Size: Aca6 Working with Robot Controllers 175 o Motor Type Setting: /2000 o Amplifier Current Limit Setting: 40A o Amplifier Number Setting: 4 o Amp type : Alpha o Axis Type: Rotary Axis o Direction Setting: +X o Gear Ratio Setting: 161 o Maximum Speed Setting: No Change o Motion Sign Setting: True o Upper Limit Setting: 450 o Lower Limit Setting: -450 (Press the – key on the numeric keypad) o Master Position Setting: 0 o Accel Time 1 Setting: No Change o Accel Time 2 Setting: No Change o Exponential Filter Setting: False o Minimum Accel Time Setting: No Change o Load Ratio Setting: 2 o Brake Number Setting: 0’ o Servo Off Setting: False o Group 4 Total Positioner Axes = 1: Exit 21. Press Fctn / Start (Cold) Working with Robot Controllers 176 The PRO package opens with a robot in a workcell with no other devices. Expand the Robot Controllers / Robot 1 tree in the cell browser. Under the Robot 1 tree are GP:1 through GP:4. Each group has a single joint axis. The axes exist, but a positioner needs to be defined that use the groups. Next Step Building a positioner example Step 2 Build the positioner Step 1 created a new workcell, and configured a virtual robot with 4 groups with groups 2-4 having a single joint axis. Step 2 uses these groups to build a PRO machine / positioner. A machine is defined that has a base that holds the positioner axes. Group 4 is defined as the center axis of the two arms of H/ ferris wheel positioner. Each arm of the positioner is defined as group 2 and 3 respectively. Since each arm of the H/ ferris wheel positioner moves when group 4 (center) moves the machine must have this relationship defined in the Roboguide. The following procedure defines this relationship within the workcell. Build the base of the positioner 1. Open the cell browser if it is not open 2. Expand the Robot Controllers/ Robot1 Category where GP:1 through GP:4 are shown. Each group has a single joint axis. The axes exist but a positioner needs to be defined that use the groups. 3. Right Click on the Machines Element and select Add Machine / CAD File menu selection. A dialog appears to select a CAD file. Browse <install drive> \Program Files\FANUC\PRO\WeldPRO\SampleWorkcells\ positioner example and select SimPro_V3M3_Base.csb, and press Open. The base CAD for the positioner should be loaded into the workcell. 4. Change the Name Property to Versa 3M3 and press apply. 5. Locate the Base CAD. Enter -300,0,0, 90, 0, 180 for the CAD Location, and press Apply. The Base should move to where the robot is located. 6. Select Lock All Location Values and press Apply to lock the base in the workcell. Locate the robot on the base of the positioner 7. Open the property page for the robot Working with Robot Controllers 177 8. Set the location value to 0, 0, 170, 0, 0, 0 and press Apply 9. Set the check box for Lock all Location Values and press Apply Build the center of rotation axis – Group 4, Joint 1. 10. Right Click on the Versa3M3 Machine root node under Machines and select Add Link -> CAD File. A dialog appears to select a CAD file. Browse to <install drive> \Program Files\FANUC\PRO\WeldPRO\SampleWorkcells\ positioner example and select SimPro_V3M3_major.csb, and press Open. The CAD for the major axis of the positioner should be loaded into the workcell. The origin of the Major axis CAD loaded is placed relative to the origin of the base (Versa3M3 node). 11. Change the Name Property to Versa3M3_Major and press apply. 12. The axis of rotation must now be defined. PRO defines the axis of rotation to be the +Z axis of the Axis origin for the Joint being defined. See Positioner definitions and layout within FANUC Roboguide for more description. Press Select 3D Axis. The 3D joint axis is highlighted. The +Z axis must now be aligned along the axis of rotation and placed at the correct location where the motor will rotate. Change the Axis Origin Values to –1763.598, 354.787, 0, -90, 0, 0 and press Apply. The center rotation of axis should now be located correctly (in front of the robot). The positioner axis origin of rotation information is now correct in the workcell. The CAD may be incorrect in the workcell, but this is adjusted in a later step. The key is that the Z axis of the 3D axis is aligned and located where the motor will rotate. 13. The CAD location must now be adjusted relative to the axis origin. Select the Link CAD tab for Versa3M3_Major. Change the CAD Location values to 0,0,0,90,0,0 and press Apply. The CAD should now be properly located. When jogged the CAD rotates about the axis defined in a previous step. A virtual robot group must now be assigned to the CAD. 14. In the group dropdown on the Motion Tab for the Versa3M3_Major node select GP:4 – Basic Positioner. In the Joint dropdown select Joint 1 (should already be selected by default). Press Apply The major axis should now move if Group 4 is jogged from the virtual TP. 15. Save the workcell. Build Group 2 side of the positioner axis – Group 2, Joint 1. 16. Since each side of the positioner moves when the center axis (Group 4) is jogged, Working with Robot Controllers 178 this dependency must be defined when building the positioner. This is done by adding a link relative to the G:4, J:1 – Versa3M3_Major node in the cell browser. Right Click on the G:4, J:1 – Versa3M3_Major node under Machines / Versa3M3 and select Add Link -> CAD File. A dialog appears to select a CAD file. Browse to <install drive> \Program Files\FANUC\PRO\WeldPRO\SampleWorkcells\ positioner example and select SimPro_V3M3_minor.IGS, and press Open. The CAD for the minor axis of the positioner should be loaded into the workcell. The origin of the minor axis CAD loaded is placed relative to the link CAD of the Versa3M3_Major axis link (G:4, J:1 - Versa3M3_Major node). 17. Change the Name Property to Versa3M3_Minor_Side_A and press Apply. 18. The axis of rotation must now be defined. PRO defines the axis of rotation to be the +Z axis of the Axis origin for the Joint being defined. See Positioner definitions and layout within FANUC Roboguide for more description. Press Select 3D Axis. The 3D joint axis is highlighted. The +Z axis must now be aligned along the axis of rotation and placed at the correct location where the motor will rotate. Change the Axis Origin Values to 512.775, 445.211, 718.033, 0, 180, 0 and press Apply. The center rotation of axis should now be located correctly (at the correct arm of the center major axis). . The CAD is correct in this example so it does not have to be adjusted. A virtual robot group must now be assigned to the CAD. 19. Select the Motion Tab. 20. Select the Servo Radio button (set by default). 21. In the group dropdown on the Motion Tab for the Versa3M3_Minor_Side_A node select GP:2 – Basic Positioner. In the Joint dropdown select Joint 1. Press Apply The minor axis should now move if Group 2 is jogged from the virtual TP. Build Group 3 side of the positioner axis – Group 3, Joint 1. 22. Since each side of the positioner moves when the center axis (Group 4) is jogged, this dependency must be defined when building the positioner. This is done by adding a link relative to the G:4, J:1 – Versa3M3_Major node in the cell browser. Like the previous steps, right Click on the G:4, J:1 – Versa3M3_Major node under Machines / Versa3M3 and select Add Link -> CAD File. A dialog appears to select a CAD file. Browse to <install drive> \Program Files\FANUC\PRO\WeldPRO\Sample Workcells\ positioner example and select SimPro_V3M3_minor.csb, and press Open. The CAD for the minor axis of the positioner should be loaded into the workcell. The origin of the minor axis CAD loaded is placed relative to the link CAD of the Working with Robot Controllers 179 Versa3M3_Major axis link (G:4, J:1 - Versa3M3_Major node). 23. Change the Name Property to Versa3M3_Minor_Side_B and press Apply. 24. The axis of rotation must now be defined. PRO defines the axis of rotation to be the +Z axis of the Axis origin for the Joint being defined. See Positioner definitions and layout within FANUC Roboguide for more description. On the General tab Press Select 3D Axis. The 3D joint axis is highlighted. The +Z axis must now be aligned along the axis of rotation. Change the Axis Origin Values to -512.775, 445.211, 718.033, 0, 180, 0 and press Apply. The center rotation of axis should now be located correctly (at the correct arm of the center major axis). . The CAD is correct in this example so it does not have to be adjusted. A virtual robot group must now be assigned to the CAD. 25. Select the Motion Tab. 26. Select the Servo Radio button (set by default). 27. In the group dropdown on the Motion Tab for the Versa3M3_Minor_Side_B node select GP:3 – Basic Positioner. In the Joint dropdown select Joint 1. Press Apply The minor axis should now move if Group 3 is jogged from the virtual TP. Add group 2 fixture to hold parts: a static box will be added to group 2 to fixture parts 28. Right mouse click on the G:2,J:1 – Versa3M3_Minor_Side_A node of the machine and select Add Link. Select Box. A box is attached to the G:2 Link and the property page for the new link should be open. 29. Name the link. On the General tab, rename the link to Side_A fixture and press Apply. 30. Disable any motion axes for the link. On the Motion property page for the new link select "none" in the Group dropdown list box. Click Apply. 31. Select the Link Cad Tab 32. Change the scale / size values to 300, 50, 1500 and press Apply. The box size should change. 33. Change the CAD Location values to 0,0, 1500, 0, 0, 0. The box should be centered in the positioner. Working with Robot Controllers 180 Now when group 2 is jogged the box / fixture should move with the group. Add group 3 fixture to hold parts: a static box will be added to group 2 to fixture parts 34. Right mouse click on the Side_A fixture you just created and select Copy Side_A fixture The link is copied into the clipboard. 35. Right mouse click on the G:3, J:1 – Versa3M3_Minor_Side_B ode of the machine and select Paste Side_A fixture. A new Side_A fixture1 should be created 36. Rename the Side_A fixture 1 to Side_B fixture and press apply Now when group 3 is jogged the box / fixture should move with the group. After building a positioner, the positioner information may be saved for future use. When saved for future use, the positioner can be loaded during the Workcell Creation Wizard process.. Parts can be attached to any of the positioner fixture links using the Parts tab on each respective link. 7.7.3 Working with IO driven machines Working with IO driven machines It is common to have devices in a workcell that are moved to a state based upon a state of robot or other device IO. Robots on IO driven slides, clamps, gates are only a few examples. Machine links can be defined to be driven by robot servo motors defined on the virtual robot or by IO. An IO driven device is created using the same procedures as building a machine the only difference is that the motion type is set to IO on the Motion tab for the machine link. For more information: • Regarding building machines: Working with machines • Regarding the details of assigning IO to a machine link: Use the machine axis Motion tab Working with Robot Controllers 181 Configure a machine link to be driven by robot IO To define a link to be driven by the state of robot IO: 1. Build a machine When defining the motion type for a machine on the Machine Link Motion Tab, select IO as the type. 2. Define the outputs and state of the link in the outputs grid. 3. If desired, define the inputs based upon the state of the link in the inputs grid. 7.8 Working with Jobs Working with robot controller jobs Processing a part may require several different robot TP programs to obtain desired results. Roboguide has a Jobs category under a robot controller where jobs can be created, edited and auto-generated. Several robot Application Tool packages support programs with the type Job. Roboguide plug-ins support jobs as intended by the robot application Tool. • HandlingPRO: HandlingTool does not have a Job program type. Roboguide uses Jobs as a tool for the robot programmer to auto generate a TP program that calls several other TP programs. Higher level programs can be generated by using a Roboguide Job. • WeldPRO: ArcTool does not have a Job program type. WeldPRO uses Jobs as a tool for the robot programmer to auto generate a TP program that calls several other TP programs. The Job capability could be very useful to create an overall process program that calls several TP programs that were generated using automatic path generation CAD to path programs. • PaintPRO: PaintTool supports the concept of Jobs and Processes. PaintPRO fully supports Job types available in PaintTool. For more information regarding PaintPRO jobs see About PaintPRO Jobs. comment lines are also include in the resulting TP program. • Generation Parameters: o Group Mask: defines what robot group mask property to give the output .TP program. This may be very desirable when you have several separate TP programs that need to be called in a defined order. Include process comment lines: when checked. Generate all assigned CAD-To-Path features first: If enabled.TP program. selected process TPs are combined by creating a the Job. .TP program should be generated. selected process TPs on the processes tab are combined into the generated Job.TP program. the group mask for all processes being combined must be the same as the group mask chosen. Note: if the option to generate a Job program that combines all TP lines into a single Job program is selected. Tabs include: General Tab: Has fields that define how the . If not enabled. The Job property page has Tabs that enable the configuration and build of a Job.TP program that has Calls to selected processes on the Processes tab. only the Job TP program is generated. which calls the programs as defined on the Processes Tab. Job TP program and any feature (CAD to PATH) processes defined on the Processes Tab are generated. o Insert all process TP lines into the job: if enabled.Working with Robot Controllers 182 Using the Roboguide Job property page The Job property page enables you to quickly create a TP program that CALLs other TP programs. The resulting program combines all process TP lines into the Job. o Call the process TPs from the job TP radio button: if enabled. Fields include: • Name: o Name: Defines the name of the Job in the Roboguide o TP Program Name: defines the name of the output TP program. removes all the items in the box on the right.when pressed. Show TP.when pressed. switch to the General tab to generate. . o Items in Job box: defines the processes and TP programs that will be auto generated into the Job program when Generate is selected.when pressed. . The contents of the box on the right defines what programs should be called when the job is generated. o Available items: define the CAD features and robot controller programs available to be generated into a job Show Part feature. . moves the selected item on the left into the box on the right. o Action keys: allow for items to be added and deleted from the Items in Job box. .Working with Robot Controllers 183 • Generate: when pressed.when pressed. . After processes have been added to the job. Processes Tab: • Process Selection Frame: items in the box on the left can be snapped to the box on the right. and Show MR are switches to define what is viewed in the Available Items box. programs are generated as defined on the property page tabs. moves all the items on the left into the box on the right. removes the selected item on the right. About P500 jobs P-500 robot controllers generally have dual arm configurations. The Job editor is uniquely customized for the different configurations. Job programs call / execute process TP programs in order to perform the paint process. and have settings to generate the TP programs that are called by a job. PaintTool conventions are followed when creating Job programs. 7.8. For more information regarding jobs and paint zones see Background information on PaintPRO workcells Jobs are used uniquely on different types of Paint Booths. The PaintPRO Job Property page has fields that provide automatic generation of PaintTool jobs. There are specific structures and guidelines that must be utilized so that PaintTool can properly playback workcell programs. and group 2 defines the right hand robot. Conventions include: • To execute a style on a robot controller. the PLC initiates the robot Job. runs the left hand job. • 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. and looks in the header information of the left hand job to find out what right hand job to execute. In general. PaintTool accepts the initiated Style number and option bits. and the Job property page should show. Right mouse click on the Jobs Category in the Cell Browser 2. Select Add Job A new Job is created.1 Working with PaintPRO Jobs About PaintPRO Jobs PaintPRO supports the generation of Job program types that are supported on PaintTool. . PaintPRO supports P-500 booths and basic PaintTool configurations.Working with Robot Controllers 184 Adding a Job To add a new Job 1. Job programs generally CALL process TP programs that combine to perform the processing task required. Group 1 defines the left hand robot. When the right hand (group 2) Job program is executed it runs simultaneously with the left hand Job program. Generating Job Programs The techniques utilized to generate job programs vary depending upon how you choose to create programs to process a part. The PaintPRO job property page is flexible and can be used to generate desired job programs from different configuration of processes. 2. It is common to utilize the Job property page multiple times with different settings to obtain desired Job and Process program outputs. Change settings for the opposite side job to use the group mask exchange option to generate a job from the job just generated. The general process has the following steps. The setting is to Generate the Job program from defined processes from the one side defined in step 1 3. on the Job general tab. Define the processes for the desired arm on the respective Left or Right processes tab. Define.. The job’s Left Processes Tab is used to build a Job from assigned paint zones. the appropriate setting for the desired right or left side that the Job is generated from. • PaintTool uses the multitasking capability of the robot controller. The job’s General property page tab defines: • That the LEFT Job TP to be created using the left paint zone job assignments. A job is created automatically based upon the step 1 defined job. This essentially mirrors the initial Job by using Group Mask Exchange capability of the robot controller. 1. . and then to generate the opposite arm’s assignment based upon the initial arms Job.Working with Robot Controllers 185 PaintPRO automatically sets up the header information for the left hand job to follow this procedure. The following figure shows an example of where processes are defined on the left side of the part. 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. 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. General techniques include: Generate opposite arm jobs and processes from selected arm: • Define paint zones on a single side (right or left) and duplicate (mirror image) the programs to the opposite side. The Job is defined for the left side of the part. • 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. Generate Jobs and processes from defined zones for each arm: • Define paint zones uniquely for both right and left sides. The Job is defined for the left side of the part on the Left Processes Tab. Define the RIGHT processes for the Job program from defined processes from the RIGHT side on the Right Processes Tab. The Job is defined for the right side of the part on the Right Processes Tab. 2. The general process has the following steps: 1. The job’s General property page tab defines: • That the LEFT Job TP to be created using the left paint zone job assignments. Programs for the left side can be shown. The PaintPRO Job property page has functions to have Job and Process programs be generated uniquely from defined paint zones.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 program for the right side can be shown. on the Job general tab. The result is an entire job that run mirrored programs on each side of the part. Projection templates and their associated process programs can be created where desired on a part. the right hand Job and TP programs are created as a mirror image of the left side using group mask exchange. The result is a left and right job that each call unique paint zone processes (Shown in . Processes are defined on the left and right processes tabs and then generated. The following figure shows and example of where processes are defined on the left side of the part. Define. to generate the Job TP from LEFT Assignments. A single paint zone is defined on the right side of the part. and to generate JOB TP from RIGHT Assignments. 3. Define the LEFT processes for the Job program from defined processes from the LEFT side on the Left Processes Tab. • CASE 2: Dual arm / right and left arm configuration and paint zones have been uniquely defined on the left arm side of the part. 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 Process tabs define what programs / processes to execute during the job. where each controller has a single arm. Job definition is done using the processes tabs. The following items describe different use methods. or to create Jobs for on arm from the opposite arms process definitions. P500 Jobs: Methods to use the Job property pages: the following cases are common. 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. Step 1: Assign processes on the Left and Right Processes tabs. You want to create mirrored paint zones of the left arm to the right side because the robot should run the same program . and the general tab is used to generate based upon the definitions on the processes tabs. Non P500 configurations. will have a single process tab on the Job property page. Fields on the Job editor depend on the configuration of the PaintPRO workcell. For information regarding PaintTool jobs see the PaintTool operations documentation. The General tab is used to define what to generate. • CASE 1: Dual arm / right and left arm configuration and paint zones have been uniquely defined on each side of the part. See Create unique jobs and processes for each arm for procedures.Working with Robot Controllers 187 figure). 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. How the property pages are used is driven by how you have defined paint zones. The Job editor provides the capability to create Jobs uniquely for each arm. Links to procedures to use these methods are provided. Using the PaintPRO Job Property Page The Job editor provides fields to create PaintTool jobs from processes. and job generation parameters. then Generate Job TP for the RIGHT Job TP If the Generate all assigned paint zone TPs before the job TP is enabled. Step 2: On the General tab. Step 2: On the General tab. See Create opposite arm jobs and processes from a defined job for procedures. Tabs on the Job property page include: • General Tab: provides fields to define Job names. select Generate Job TP from Right Assignments for the RIGHT Job TP. . select Generate Job TP from LEFT Assignments for the LEFT Job TP. select Group Mask Exchange LEFT process to RIGHT. See Create opposite arm jobs and processes from a defined job for procedures. select Group Mask Exchange RIGHT process to LEFT. If the Generate all assigned paint zone TPs before the job TP is enabled. Step 1: Assign processes on the Left Processes tabs.Working with Robot Controllers 188 motions as the left on the opposite side of the part. robot process TP programs are also generated. Non P-500 workcells: Utilize the basic job editor. Step 1: Assign processes on the Right Processes tabs. • Left Processes Tab: provides fields to build a job for left processes. 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 3: On the General tab. • CASE 3: Dual arm / right and left arm configuration and paint zones have been uniquely defined on the right arm side of the part. robot process TP programs are also generated. Step 3: On the General tab. then Generate Job TP for the LEFT Job TP. o Style combo box: the desired PaintPRO style to be used. The available styles are listed in the dropdown combo box. you must modify the names appropriately. Note: PaintPRO creates new Job TP Names using PaintTool conventions. 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. It is recommended that you understand PaintTool jobs and how PaintPRO supports PaintTool jobs before using the Job Property pages. 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. and the general tab is used to generate based upon the definitions on the processes tabs. and job generation parameters. The General tab is used to define what to generate. If your controls system requires a different naming . First the fields are described. 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. If your controls system requires a different naming convention.Working with Robot Controllers 189 • Right Processes Tab: provides fields to build a job for left processes. The Process tabs define what programs / processes to execute during the job. a standalone preset instruction with the number entered used as a parameter is added to the Job program. For detailed information regarding PaintPRO jobs see About PaintPRO Jobs. The selected style defines what process can be chosen to build the job. Using the PaintPRO Job Property Page General Tab The Job general property page tab provides fields to define Job names. Job definition is done using the processes tabs. o Paint Preset: if not zero. and then different methods to use the general property page tab are described in Using the PaintPRO Job Property Page. o Name: The name for the Job program that is displayed in the Cell Browser. o New Option Button: generates a new Job with the option fields of the Job TP Names modified. Working with Robot Controllers 190 convention. PaintPRO generates a error. you must modify the names appropriately. . you must modify the names appropriately. This is used when the left Job execution is the same or similar to the right arm Job execution. Note: PaintPRO creates new Job TP Names using PaintTool conventions. o Don’t Generate Job TP: when enabled. The new Job process definition can be seen on the Left Processes tab If the Generate all assigned paint zone TP’s before the job TP option is enabled. and the program is generated. there may not be any process TP available to create the left process TP. 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. If your controls system requires a different naming convention. Note: PaintPRO creates new Job TP Names using PaintTool conventions. When generate is pressed a Left Job is generated using the right arms Job definition as a template. no action is taken to generate a LEFT Job TP. o Group Mask Exchange RIGHT process to LEFT. NOTE: if generate all assigned paint zone TPs before the job TP is not enabled. and selections can be made how to proceed. When unchecked you may enter a desired Job name. o Auto Name enabled: when checked PaintPRO creates the name automatically. • RIGHT Job TP frame: o RIGHT TP Name: defines the name of the Job TP to create. o Generate Job TP from LEFT Assignments selection: when chosen. then Generate Job TP: is used if you want to generate the left Job from the right arm process definitions. and the job is generated. you must modify the names appropriately. If your controls system requires a different naming convention. After the TP programs are generated the Job program is generated. PaintPRO auto generates the Job TP program as defined on the Left Processes tab. • LEFT Job TP frame: o Left TP Name: defines the name of the Job TP to create. and the job is generated. 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.Working with Robot Controllers 191 o Auto Name enabled: when checked PaintPRO creates the name automatically. PaintPRO auto generates the Job TP program as defined on the Right Processes tab. o Generate Job TP from RIGHT Assignments selection: when chosen. NOTE: if generate all assigned paint zone TPs before the job TP is not enabled. PaintPRO generates a error. • Generate all assigned paint zone TPs before the job TP: if enabled. After the TP programs are generated the Job program is generated. When unchecked you may enter a desired Job name. o Don’t Generate Job TP: when enabled. Different methods to use these settings with P-500 configurations is discussed in Using the PaintPRO Job Property Page Procedures to use the property page tabs include: . • Generate: when pressed. Job programs are generated based upon the settings on the property page. This is used when the right Job execution is the same or similar to the left arm Job execution. When generate is pressed a Right Job is generated using the left arms Job definition as a template. there may not be any process TP available to create the right process TP. no action is taken to generate a RIGHT Job TP. 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. PaintPRO generates all process TP’s before generating the Job TP program. then Generate Job TP: is used if you want to generate the right Job from the left arm process definitions. The new Job process definition can be seen on the Right Processes tab If the Generate all assigned paint zone TP’s before the job TP option is enabled. and the program is generated. and selections can be made how to proceed. o Group Mask Exchange LEFT process to RIGHT. When unchecked you may enter a desired Job name. o New Repair Button: generates a new Job with the repair fields of the Job TP Names modified. • Generate: when pressed. Job programs are generated based upon the settings on . o New Option Button: generates a new Job with the option fields of the Job TP Names modified. you must modify the names appropriately. o Style combo box: the desired PaintPRO style to be used. • Job Settings Frame: fields to define properties that effect the naming and selection of desired job and style. If your controls system requires a different naming convention. The available styles are listed in the dropdown combo box. • Generate all assigned paint zone TPs before the job TP: if enabled. Note: PaintPRO creates new Job TP Names using PaintTool conventions. Note: PaintPRO creates new Job TP Names using PaintTool conventions. If your controls system requires a different naming convention. you must modify the names appropriately. • Job TP frame: o TP Name: defines the name of the Job TP to create. you must modify the names appropriately. Note: PaintPRO creates new Job TP Names using PaintTool conventions. o Name: The name for the Job program that is displayed in the Cell Browser. If your controls system requires a different naming convention. The selected style defines what process can be chosen to build the job. o Auto Name enabled: when checked PaintPRO creates the name automatically.Working with Robot Controllers 192 o Build a job program for the right or left robot o Procedure to create opposite arm jobs and processes from a defined job o Create unique jobs and processes for each arm Non P-500 Workcell Job editor: The job editor for non P-500 workcells has less fields. PaintPRO generates all process TP’s before generating the Job TP program. each process tab defines the processes that should execute on the corresponding robot.Working with Robot Controllers 193 the property page. With P-500 workcells. Additional robot programs available on the robot controller are shown based upon the program type selection below the Available processes selection listbox. For a procedure on how to use the processes tab to build a job see Build a job program for the right or left robot Fields on the processes tabs include: • Processes Frame: o Available Processes Listbox: provides a list of processes available for the style selected on the Job general property tab. regular TPs. Using the PaintPRO Job Property Page Processes Tabs The Job property page has tabs for Left and Right processes with P-500 workcells. o Assigned Processes Listbox: displays the list of processes assigned to the job. and macros. After populating the fields on the tab. programs of that type shows in the available processes listbox. 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 Program display type selection: when each individual program type is checked. Types include: Show Paint Zones: zones created for that style Show PR: process type TP programs on the robot controller. These tabs provide the ability to build a job definition from: • paint zones defined for the style • Robot programs on the robot controller: the PaintTool has process TPs. Show TP: TP program type on the robot controller . and a single processes tab for other single arm controller PaintTool configurations. the job program can be autogenerated on the Job general property page. After defining processes. Controls work as follows: : moves the selected process on the left to the right : moves all processes on the left to the right : moves the selected process on the right from the right list box : removes all processes on the right from the listbox. the job program can be generated on the General property page. NOTE: items in the list boxes can be selected using standard Windows selection techniques: • Single left click: selects the item • Ctrl-Single left click: keeps current selected items and adds the clicked item • Shift-Single left click: selects all the items between a highlighted item and the left clicked on item. Specific P-500 procedures to use the property page tabs include: • Build a job program for the right or left robot • Procedure to create opposite arm jobs and processes from a defined job • Create unique jobs and processes for each arm . o Arrow move controls: are used to move processes between Available and Assigned processes list boxes.Working with Robot Controllers 194 Show MR: Macro program type on the robot controller. the opposite side of the style (Right arm) Process1 and Process 2 need to be executed by Robot controller 2. Select the desired Processes tab 4. See Build a job program from a controller to a different controller arm Using the Cross Controller Job Exchange Property Page V6. and higher of PaintPRO adds the ability to Cross-Controller Job exchange. To Build a job program for the right or left robot 1. V6. This utility is used to create an opposite arm Job program on a different controller in the booth. . and higher of PaintPRO adds the ability to Cross-Controller Job exchange. For example. Use the arrow buttons to move desired processes into the Assigned Processes listbox. Fields include: Source Controller: • Source controller selection box: defines the source controller that Job programs are generated from. Select the Job in the cell browser 2. This procedure assumes a job has been created and defines how to use the Processes Tabs. 6. When finished press OK or Apply The Job program is not generated until settings are defined on the General Tab and Generate is pressed on the General Tab. Select the robot program types that should show in the Available Processes listbox 5.31 Rev H.Working with Robot Controllers 195 Build a job program for the right or left robot The following procedure describes how to use the Left and Right Processes Tabs of the Job Property page for P-500 workcells. and the Processes Tab for single arm PaintTool configurations. Robot controller 1: Left arm Job 1 executes Process1 and Process2. Open the Job property page 3.31 Rev H. For processing reasons. When a cross controller process is created the correct tracking boundaries are used when building the process program. For processing reasons. Select Left to Right or Right to Left. the opposite side of the style (Right arm) Process1 and Process 2 need to be executed by Robot controller 2. Robot controller 1: Left arm Job 1 executes Process1 and Process2. When a selection is made a list is presented that allows selection of the desired source . 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. Select the source controller 3. Open the Cross controller job exchange dialog from the Tools menu 2.Working with Robot Controllers 196 • Left to Right.31 Rev H. When a cross controller process is created the correct tracking boundaries are used when building the process program. Build a job program from a controller to a different controller opposite arm V6. • Source Job TP List box: When selected the Source Job TP list box shows available source Job TP programs for the selected source arm. Procedure to build a job program from a controller to a different controller opposite side arm using the cross controller Job exchange property page: 1. Right to Left selector radio buttons: defines the source arm for the selected controller. • Do Exchange execute button: Executes the job exchange. 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. For example. Right mouse click on the desired process 2. Step 2: On the General tab. Select the destination controller. Move the mouse over the Group Mask exchange menu item 3. Define the home macro name. Procedure to build a job program from a controller to a different controller opposite side arm using the cell browser: 1. You want to create mirrored paint . • CASE 2: Dual arm / right and left arm configuration and paint zones have been uniquely defined on the right arm side of the part. robot process TP programs are also generated. 4. Step 3: On the General tab. 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. select Group Mask Exchange LEFT process to RIGHT. Select the desired To: robot arm from the fly out menu item Create Jobs for both arms when all paint zones are defined on a single side of the part This procedure is used to handle the following cases: • CASE 1: Dual arm / right and left arm configuration and paint zones have been uniquely defined on the left arm side of the part. Press Do Exchange to build the opposite arm job program. then Generate Job TP for the RIGHT Job TP If the Generate all assigned paint zone TPs before the job TP is enabled. 6.Working with Robot Controllers 197 Job programs. 5. This name is used to generate the call to home macro on the destination controller. Step 1: Assign processes on the Left Processes tabs. select Generate Job TP from LEFT Assignments for the LEFT Job TP. Build the job using processes for the style 6. then Generate Job TP 10. In the LEFT Job TP frame. PaintPRO then: o generates the process TPs for the left side assigned processes because . Select the job in the cell browser. CASE 1: To create a job when all paint zones have been defined on the left side of the part 1. select Generate Job TP from LEFT assignments. select Generate Job TP from Right Assignments for the RIGHT Job TP. Press the Generate button. Press Apply when finished 7. Select the Left Processes Tab 5. 9. then Generate Job TP for the LEFT Job TP. Step 1: Assign processes on the Right Processes tabs. Step 3: On the General tab. Step 2: On the General tab. robot process TP programs are also generated. 3. If the Generate all assigned paint zone TPs before the job TP is enabled.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. select Group Mask Exchange RIGHT process to LEFT. Enable (check) Generate all assigned paint zone TPs before the job TP 11. select Group Mask Exchange LEFT procs to RIGHT. Open the Job property page 4. In the RIGHT Job TP frame. If a job does not exist Add a job. Select the General Tab 8. Create a style with paint zones as desired. Paint Zones should be defined on only the left side of the part 2. Press Apply when finished 7. 9. Enable (check) Generate all assigned paint zone TPs before the job TP 11. CASE 1: To create a job when all paint zones have been defined on the right side of the part 1. In the RIGHT Job TP frame. Create a style with paint zones as desired. Build the job using processes for the style 6. Paint Zones should be defined on only the right side of the part 2. select Generate Job TP from RIGHT assignments. select Group Mask Exchange RIGHT procs to LEFT. PaintPRO then: o generates the process TPs for the right side assigned processes because Generate all assigned paint zone TPs before the job TP is enabled. If a job does not exist Add a job. In the LEFT Job TP frame. then Generate Job TP 10. o generates the process TPs for the left side processes by using group . o generates the process TPs for the right side processes by using group mask exchange o generates the Job program for the Left side. o Generates the Job program for the Right side based upon the left side. Open the Job property page 4. Press the Generate button. Select the Right Processes Tab 5. Select the General Tab 8.Working with Robot Controllers 199 Generate all assigned paint zone TPs before the job TP is enabled. 3. Select the job in the cell browser. 2. Press Apply when finished 10. To create unique jobs and processes for each arm 1. If a Job does not exist Add a job 3. Build a right robot job 9. Create a style with paint zones as desired. Select the Job in the cell browser. In the LEFT Job TP frame. Build a left robot job 6. Press Apply when finished 7. Open the Job property page!JumpID(`SimPRO_Creating_Workcells.Working with Robot Controllers 200 mask exchange o generates the Job program for the right side. Select the Right Processes tab 8. o Generates the Job program for the left side based upon the right side. select Generate Job TP from LEFT assignments. Create unique jobs and processes for each arm This procedure is used to handle the following case: CASE 1: Dual arm / right and left arm configuration and paint zones have been uniquely defined on each side of the part. . Paint Zones should be uniquely defined on both sides 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. Select the Left Processes tab 5. Steps: Step 1: Assign processes on the Left and Right Processes tabs.`Opening_an_objects_property_page') 4.hlp'. Select the General tab 11. The virtual TP operates like the actual TP operates on a real robot. • TP Keypad: is the TP interface to the virtual robot. 7. For additional information on how to use the Virtual TP interface. • Current Position: provides the ability to move to a position and to adjust the size of the sphere used for the teach tool. In the RIGHT Job TP frame. select Generate Job TP from RIGHT assignments. A popup mapping box is shown. • : When pressed the TP keypad is hidden. Regardless of what type of teach pendant interface chosen there are buttons available to control the use of the virtual TP. • Virtual Settings: provides the ability to define your default PC directories for the virtual robots MC: and FLPY: devices. 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. The mapping can be determined by dragging the mouse pointer over the desired key. 13. Select Generate Jobs from their assigned zones 14. process programs may not be available on the robot controller unless they were generated at some other time. The virtual TP window has 3 tabs available.9 Working with the robot virtual Teach Pendant (TP) About the virtual robot TP The virtual Teach Pendant (TP) provides the same Teach Pendant User Interface as an actual robot. • : When pressed the PC keyboard keys are mapped onto the teach pendant keys. The TP Keypad operates like the TP on a real robot. reference the Setup and Operations Manuals for your robot. . Roboguide supports both the traditional teach pendant and the iPendant. Press the Generate button NOTE: if generate all assigned paint zone TPs before the job TP is not enabled.Working with Robot Controllers 201 12. Press the Virtual TP toolbar button To open the virtual robot TP from the main menu 1. Alarms will show on the bottom of the Roboguide screen. Using the TP Keypad Tab of the Virtual TP The virtual TP operates like the actual TP operates on a real robot. . Opening the Virtual TP To open the virtual robot TP from the Toolbar 1. • Robot Current Position: displays the current position of the robot in Robot world. Or user frame. Joint. joint. o Tool. XYZ. The Virtual TP is opened. reference the Setup and Operations Manuals for your robot Using the Current Position Tab of the Virtual TP The current position tab provides the following functions: • Group: Dropdown list provides selections for available groups on the selected robot. Select Teach Pendant from the Robot main menu item. For additional information on how to use the Virtual TP interface. Note that the top line of the Pendant is not shown. To move to a desired position enter the value into the appropriate field and press MoveTo. USER radio buttons: defines with what frame of reference the robot will move.Working with Robot Controllers 202 • : available only with iPendant. When pressed the iPendant is shown in compressed mode. • Relative Button: when pressed additional options are presented that allow entry for moving relative to the current position of the robot. Z.40 Roboguide and higher the teach tool sphere radius is controlled on the robot property page. By default. It may be convenient to set these to a directory path where you are copying files to transfer between the real robot / Roboguide workcell.10 Estimating Robot Duty Cycle About Duty Cycle Estimation The Duty Cycle plugin for Roboguide provides offline duty cycle estimation. Y. o Move To: initiates the move. these directories are set under the workcells virtual robot directories. Duty Value Less than 100% A duty value less than 100% means that the servomotor is working within an acceptable . This is a very useful function to determine if the robot is capable of running the application. at a defined temperature. P. Duty Value The duty value of a servomotor is displayed as a percentage value. R: defines the values for the relative move.Working with Robot Controllers 203 o X. The percentage is the ratio of the root mean square current of the motor to the allowable root mean square current. W. Overview The duty diagnosis option provides servomotor duty cycle information. Duty is the physical load on the robot servomotor. Using the Virtual Settings Tab of the Virtual TP The virtual settings tab have settings for the MC: and FLPY: directories of you workcells robot. Duty diagnosis is available only for specific robots. You look at duty cycle information: • To check whether there is a high load on a servomotor • To diagnose a servomotor overheating problem Note: Duty diagnosis is available only if the option is supported on the robot. 7. o Move Back: initiates a move back to the position of the robot before the current relative move. o Clear: clears the relative values NOTE: Teach Tool Sphere Radius: In V6. If the output of the estimate is close to duty cycle limits please contact FANUC Robotics for more information. you could touchup certain positions to minimize duty. duty cycle estimation is provided on the selected robot when the duty estimation dialog is opened. • Static Data View: after a program is executed. The ideal operating conditions are when the duty values displayed for all joint axes are less than 100%. 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. The dialog update rate is controlled by the sampling rate shown on the Run Panel dialog. you should adjust the program to reduce the load on the servomotor. or a WAIT instruction to slow the execution of the program. you must close the duty estimation dialog. Duty Value Greater than 100% A duty value greater than 100% means that the load on the servomotor is above the recommended range. if possible. Note: data is collected at a very high rate regardless of what the Run Panel setting is for sampling rate. The display rate from the data file can be controlled in the Display Options field on the dialog. This message is displayed before damage has been done to the servomotor. the output should be evaluated as being an estimate. NOTE: in multi robot workcells. For example. When you see this message. and then re-open the . you could add an ACC instruction to increase the acceleration time. While offline estimation is a high quality approximation of real motor characteristics. To change the desired robot for duty estimation. Duty Cycle estimation is only an approximation.Working with Robot Controllers 204 load for the defined temperature. Duty information is collected to support two viewing functions: • Live Update: shows the duty dialog screen dynamically as a program is running. you should take actions to reduce the load on the servomotor to eliminate the overheating condition. Note: If the servomotor for an axis overheats. Using the Duty Cycle Estimation Dialog The Duty Cycle Estimation dialog is used to analyze duty cycle." will be displayed on the teach pendant screen. As you run programs duty information is collected and information is displayed in the Duty Cycle Dialog. "SRVO-046 SERVO OVC alarm. select the desired robot. When a servomotor has a duty value greater than 100%. In addition. the data that was collected during the run can be viewed in detail. Refer to the FANUC Robotics Controller Maintenance Manual for more information on recovery from an overheated servomotor. the message. As you mouse left click on points on the lines in the chart.Working with Robot Controllers 205 duty estimation dialog.: Prog Name: Duty Plot Types: shows options for display in the graph. • Display Rate: controls the detail of the graph plot in Samples/ Sec. 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. • Duty Analysis Detail Data: this frame presents detail data on the duty information. • Status: Displays the current status of the analysis. Time. Fields on the Duty Cycle Estimation dialog include: • Program Analyzed: Displays the program for which data has been collected and analyzed. • Analysis Results information box: provides information regarding the analysis of duty cycle. Series: OVC% Line No. detail data is updated in the Current Cursor Data frame. • OVC% Duty Analysis Summary by Joint: displays the maximum duty value for each axis during the running of the program. The data will be plotted at the Display Rate chosen in the Display options frame. . • Plot New Data: Plots / Re-Plots the data in the duty cycle estimate buffer. Detail includes: OVC Simulation Chart: provides a graphical view of OVC value vs. Run the program. 4. 2. select the desired robot. data is collected and displayed. As the program runs. the Plot New Data button is activated. By default data is plotted at 125 samples / sec. 3. you must close the duty estimation dialog. To change the desired robot for duty estimation. When the program is complete. Press the Plot New Data button The maximum duty value for each axis during the running of the program is shown by joint. Open the Duty Cycle Estimate dialog by selecting Duty Cycle Estimate under the Test-Run Main Menu category.Working with Robot Controllers 206 Procedure to perform a duty cycle estimation Duty Cycle information can be provided using the Duty Cycle estimation PRO Plug-In. Analysis and plotting of the data could take time based upon the length of the program and how many times it executed (Large amounts of data). . Points on the chart can be clicked upon to see detail data. and then re-open the duty estimation dialog. Detail data is plotted in the Duty Analysis Detail Data chart. Select the program that you want to check duty cycle. NOTE: in multi robot workcells. Procedure to perform duty cycle estimation 1. Peak value charts and separate joint value charts can be generated by selecting them in the Duty Plot Types frame. duty cycle estimation is provided on the selected robot when the duty estimation dialog is opened. The sampling rate for dynamic display is controlled by the sampling rate selected on the PRO Run Panel. reference the Setup and Operations Manuals for your robot. Included within Roboguide are several controller features that you can utilize. Roboguide supports both the traditional teach pendant and the iPendant. The virtual TP operates like the actual TP operates on a real robot. • TP Keypad: is the TP interface to the virtual robot.Roboguide’s Virtual Robot 207 8 Roboguide's Virtual Robot Roboguide's Virtual Robot Roboguide contains the FANUC Robotics North America virtual robot. • Virtual Settings: provides the ability to define your default PC directories for the virtual robots MC: and FLPY: devices. which is the actual robot controller software running on a PC. These include: • Virtual TP • Robot Web Server • KCL Window • Robot Alarm Window Each of these functions can be accessed from the main menu selections under Robot. The TP Keypad operates like the TP on a real robot. For additional information on how to use the Virtual TP interface. The virtual TP window has 3 tabs available. About the virtual robot TP The virtual Teach Pendant (TP) provides the same Teach Pendant User Interface as an actual robot. • Current Position: provides the ability to move to a position and to adjust the size of the sphere used for the teach tool. Regardless of what type of teach pendant interface chosen there are buttons available to . 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. Opening the virtual TP To open the virtual TP from the toolbar 1. A popup mapping box is shown. • : available only with iPendant. When pressed the iPendant is shown in compressed mode. • : 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. To open the KCL Window from the main menu 1. Alarms will show on the bottom of the Roboguide screen. Select the Robot Web Browser under the Robot category on the main menu Opening the KCL Window The KCL option must be loaded on the virtual robot to use the KCL window. Press the Virtual TP icon ()on the toolbar. Press the Robot Browser icon ()on the toolbar. • : When pressed the TP keypad is hidden. Select the Virtual TP under the Robot category on the main menu Opening the Robot Web Server Window To open the Robot Web browser from the toolbar 1. To open the virtual TP from the main menu 1. Select the KCL Window under the Robot category on the main menu . To open the Robot Web Browser from the main menu 1.Roboguide’s Virtual Robot 208 control the use of the virtual TP. You can add this option when you configure your robot in your workcell. Note that the top line of the Pendant is not shown. • Robot Current Position: displays the current position of the robot in Robot world. o X. To move to a desired position enter the value into the appropriate field and press MoveTo. o Tool. Or user frame. joint. . o Move To: initiates the move. To open the Robot Alarms window from the main menu 1.Roboguide’s Virtual Robot 209 Opening the Robot Alarm Window To open the Robot Alarms window from the toolbar 1. Y. • Relative Button: when pressed additional options are presented that allow entry for moving relative to the current position of the robot. For additional information on how to use the Virtual TP interface. Press the Robot Alarms icon ()on the toolbar. Select the Robot Alarms window under the Robot category on the main menu Using the TP Keypad Tab of the Virtual TP The virtual TP operates like the actual TP operates on a real robot. o Move Back: initiates a move back to the position of the robot before the current relative move. USER radio buttons: defines with what frame of reference the robot will move. XYZ. reference the Setup and Operations Manuals for your robot Using the Current Position Tab of the Virtual TP The current position tab provides the following functions: • Group: Dropdown list provides selections for available groups on the selected robot. W. Z. Joint. R: defines the values for the relative move. P. 40 Roboguide and higher the teach tool sphere radius is controlled on the robot property page. 8.0m kit) . Using the Virtual Settings Tab of the Virtual TP The virtual settings tab have settings for the MC: and FLPY: directories of you workcells robot.Roboguide’s Virtual Robot 210 o Clear: clears the relative values NOTE: Teach Tool Sphere Radius: In V6. Hardware: • An iPendant with V6.31xx firmware or greater • An iPendant Interface Cable w/ power Supply o Part Number: EE-4707-150-001 (1.1 Using the iPendant Requirements for hardware and software To allow you to connect an iPendant to your PC and use it with RoboGuide you will need the following: Note: in multiple robot cells.5m kit) EE-4707-150-002 (3. By default. the iPendant connected through and interface box will only work with the first robot controller started in the workcell. It may be convenient to set these to a directory path where you are copying files to transfer between the real robot / Roboguide workcell. these directories are set under the workcells virtual robot directories. I will select it from a list and then click NEXT. All the screens are taken from Windows XP Professional. It will take several seconds before the next screen pops-up. Setting up your PC 1. From the lists select (Standard Modem Types) on the left and "Communications cable between two Computers" on the right. Then click NEXT. Select the MODEM Tab and then select "Communications Cable Between two Computers" modem you just installed. Select the MODEMS tab 3. The instructions and/or screens for other versions and operating systems may be slightly different but the fundamental procedures are the same. you will get the following. 5. Click the ADD button. You will have to disable the PDA connection to make this serial port available. .Roboguide’s Virtual Robot 211 Procedure to connect a iPendant device to Roboguide Configuring your PC and iPendant for use with RoboGuide The following instructions assume that you are running Windows 2000 and Windows XP. Then click the PROPERTIES button. 6. 4. Many new computers only have a single serial port. Select the "Don’t Detect My Modem. If you successfully set up the modem. Perform the Setting up your PC first and then the Setting up the Network Connection on your PC. Select an available COM port and Click NEXT Note: Roboguide requires the use of a serial port. 7. Click FINISH 8. If you have a PDA docking cradle attached to this Port then you will not see any available ports listed. You will be returned to the Phone and Modem Screen. Go to your Control Panel and Select "Phone and Modem Options" 2. 10 in the "To:" Box enter 1. 1. Right Click on this new connection and select PROPERTIES.1. Click NEXT when you are returned to the "Networking Software" Panel. Setting up the Network Connection on your PC 1. select "Accept incoming connections". Select the "Allow calling computer to specify its own IP address". On the "Completing the New Connection Wizard" Screen.1. Select the MODEM tab and then set the "Maximum Port Speed " to 115200 and Click OK. 10. select "Communications cable between…". 8. 7. Click OK on the Phone and Modem Panel to Exit. 9.11. click Finish Note: The name of your new connection is "Incoming Connections" 12.1. 5. . and click NEXT. On the "Network Connection Type" Panel. Select "Specify TCP/IP Addresses. and click NEXT. 6. In the Control Panel Select "Network Connections" 2. Select "Create a new connection" or the "New Connection Wizard" 3. 10. Your new connection called Incoming Connections will now appear in the Network and Connections Window. Do not make any selections on the "User Permissions" Panel just click NEXT. 4. On the "Incoming Virtual Private Network (VPN) Connection" Panel. In the "From:" box enter. select "Internet Protocol (TCP/IP) and click on PROPERTIES. On the "Advanced Connection Option" Panel. On the "Networking Software" Panel.1.Roboguide’s Virtual Robot 212 9. select "Do no allow virtual private connections" and click NEXT. On the "Devices for Incoming Connections" Panel. 11. then click OK. select "Set up and advanced connection" and click NEXT. check the "Show icons on taskbar when connected" box. DO NOT PRESS ENTER AFTER ENTERING THE NUMBER Press the PREV key Press F5 (SAVE PARAMETER) Wait until the screen flashes and returns to the first page Power down the interface power supply. Note: If you are going to use the iPendant with an actual robot then you must go back through this same procedure and set the SPECIAL START MODE to NORMAL. Your iPendant now needs to be setup. 14. check the "Always allow directly connected devices…" then click OK. Setting up your iPendant Connect your iPendant interface cable to the PC. Your PC setup is now complete. Leave the power off. iPendant and Power. you will have to power off and on the robot after resetting the start mode on the iPendant. PRESS the NEXT Key Press F3 (SPECIAL START MODE) Press 2 (Connect to RoboGuide).Roboguide’s Virtual Robot 213 13. Select the "Users" Tab and at the bottom. 15. . Hold down the application Hard Key next to the DIAG/HELP key and turn power on When SETUP iPENDANT PARAMETER menu appears. Note if you do it while connected to the robot. This can be done either using the PC Interface or while you are connected to the robot. Select the "General" Tab and at the bottom. Start your workcell in Roboguide 5. Turn off the interface power supply.Roboguide’s Virtual Robot 214 16. and right Click on the Network Connections icon in the system tray and select "Disconnect" Which will cause the icon to disappear. Make sure that your PC (Laptop) is running on AC Power 3. 17. To test your setup o Make sure your PC (Laptop) is running on AC Power o Attach the iPendant and interface cable to the COM port that you selected in Step 6 o Turn the interface power supply on. If this does not occur. Make sure that the iPendant is connected to the PC. 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. Make sure that it is in "Large" (iPendant) Mode. you should see a new icon appear in your system tray that will flash as communications are sent back and forth to the iPendant. Using the iPendant with Roboguide Running with the actual iPendant 1. go back and check all the setting for the Modem and Network Connection. The Power Supply should be powered off or disconnected from the adapter cable. Make sure that you have done all the setup in Section 0 2. . 4. When the virtual iPendant is displayed. wait for 5-10 . you must "Disconnect" the Network Connection by. Dismiss the Virtual Teach Pendant by going to the ROBOT menu and unselect the Teach Pendant or Click the icon on the RoboGuide Tool Bar. 8. the iPendant screen is displayed correctly) but none of the keys will function. • If you have to Restart RoboGuide or restart the Virtual Robot in RoboGuide. If you are using a Laptop.e. • Whenever you power off the iPendant. To correct this. You should now be able to operate the iPendant as you would on any Tips and Tricks • The serial connection/converter requires that your PC be connected to an AC Power source. • Sometimes the iPendant will look like it is properly connected (i. • The iPendant will take several seconds to connect once the power is turned on. not batteries. If the iPendant does not connect then you should check the MODEM Settings and the INCOMING CONNECTIONS Properties on your PC. Power up the iPendant/Power Supply and the iPendant should automatically connect to RoboGuide (After several seconds). righting Click on the Network Connections icon in the system tray and select "Disconnect" Which will cause the icon to disappear.Roboguide’s Virtual Robot 215 The Virtual Teach Pendant should look like the following: If it does then go to step 7 If the virtual Teach Pendant looks like the following Then Click the Small/Large Button in the upper right corner of the Virtual Teach Pendant to change it to the Large (iPendant) mode. 7. make sure that it is running on AC power. you must power off the iPendant and then "Disconnect" the Network Connection as shown above before restarting the Virtual Robot or RoboGuide. If you are running on batteries the connection may not be made or will be unreliable. "Disconnect" the Network Connection as shown above. power off the iPendant. and/or Restart ROBOGUIDE and try to connect again. Roboguide’s Virtual Robot 216 seconds after the icon disappears and try to connect again. • If you always want to use the real teach pendant with Roboguide. see the About Roboguide Options Page section of the help. . If this does not work you will need to restart RoboGuide. and z axes of the frame. • Tool frame .The remote TCP (RTCP) frame is a kind of user frame .Using UFRAMES 217 9 Using UFRAMES About Frames A frame is a set of three planes at right angles to each other. y. The jog frame is a frame in which to jog easily. handling. The orientation is the rotation about the x. 425mm in the y direction. It allows you to align the x. torch. z. When you record a position. which are measured in degrees of rotation about the x. 0.a user-defined frame. p. and r relative to the origin of the frame it uses as a reference. The location of a position is expressed as three dimensions. The point where all three planes intersect is the origin of the frame.-90. The location is the distance in the x. The different kinds of frames make it easier to perform certain tasks. Frames are used to describe the location and orientation of a position. its location and orientation are automatically recorded as x. The kinds of frames are • World frame . In the robot system. For example. the intersecting edges of the planes are the x. • User frame .25 means the position is 300mm in the x direction. The orientation of a position is expressed as three dimensions. welding. 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 default frame of the robot and generally at the base of the robot for non aux axis systems.0 means that the position is rotated -90 degrees about the y axis and is not rotated about the x or z axes.a user-defined frame. The user frame is the reference frame for all recorded positional data in a program. and 25mm in the z direction from the origin. y. and z directions. w. and z directions from the origin of the reference frame. This set of planes is called a Cartesian coordinate system . You can modify the user frame to offset the positions in the program easily. and z axes of the reference 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. Kinds of Frames The robot uses four kinds of frames. sealing. which are measured in millimeters from the origin in the x. y. and z axes. gun.425. • Jog frame . You can define this frame anywhere and it is relative to the world frame of the robot.a user-defined frame. y. For example. or tool at which the painting. 300. y. or other application work is to be done. y. This value is the one you change on an objects General Tab in the location fields. Why use UFRAMEs with workcells It is common in real world workcells to not use UFRAMEs and to teach all robot programs relative to the robot world zero position. and usually defined by the CAD program that created it.Using UFRAMES 218 you must define in order to use remote TCP jogging and the remote TCP motion option. • Object location frame: this is the location of the object in the 3D CHUIWorld. Roboguide provides the ability to calibrate objects in the Roboguide environment with objects in the real physical workcell. When the object is moved the UFRAME is automatically moved with it and updated on the virtual robot. robot tooling. This allows you to define robot positions relative to the object. You can not edit this frame. • Object UFRAME: you can define a UFRAME for an object. What Frames does Roboguide use Roboguide uses or has the capability to use several different frames of reference for workcell objects. To do this UFRAME’s can be used. Roboguide has the ability to link a robot UFRAME to an object in the workcell. but there are benefits to utilize the robot controllers UFRAME capability when generating workcells offline in Roboguide. With Roboguide . 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. See Using UFRAMEs to move programs with fixtures for more information. You see an objects reference frame when you select it. and programs. See About UFRAME's and workcell objects • Part Frame: this is the location of the part relative to another object. You define this frame using the location of the remote TCP as the origin of the frame. • Using frames makes it easier to take a program created in Roboguide to a physical robot. • 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. These benefits include. If you object is fixed you can also move the robot to detect if the positions in a program are reachable. Frames include: • Object reference frame: this is the frame that defines the objects zero point of reference. This method is OK for Roboguide. • Tool Frame: this is the UTOOL value for end of arm tooling.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. About UFRAME's and workcell objects UFRAME is a specific type of Frame in the robot world. All positions in a program are automatically recorded in user frame. The Tool frame defines the end of arm tooling Tool Center Point relative to the face plate of the robot. Alternatively. User frame is a frame that you can set up in any location. with any orientation. The user frame is the reference frame for all recorded positional data in a program. User frames are used so that positions in a program can be recorded relative to the origin of the frame. Generally. Any given robot UFRAME can have only one object in your workcell associated with it. When using a UFRAME with an object you associate the object with a robot’s UFRAME. when you create a workcell object. By default. and check whether the robot can reach the points. Positions are taught relative to the defined UFRAME. You set this value on the Tool Center-Point Tab of the end of arm tooling property page. You can define this frame relative to various objects in SimPRO. What happens and what are the benefits when you make this UFRAME / workcell object association? • If the UFRAME is associated with the robot. 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. Therefore. programs taught with this frame move when the robot is given a new location in the workcell . You can view the UFRAME in Roboguide relative to the robot world or the objects coordinate system on the UFRAME property page. the object is not assigned to a UFRAME value. you could move the robot and leave the fixture in place. 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. With Roboguide you assign fixtures in your workcell to a robot UFRAME if desired. 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. any points taught on this object will be relative to the robot’s UFRAME that has the fixture association. You then move the object and check whether the robot can reach the points. It is an object in the workcell that does not support teaching positions relative to it. You can modify the user frame to offset the positions in the program easily. this is done on the robots UFRAME Property page. 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. 5. Open the UFRAME Property Page 4. Create a program and teach the program with this UFRAME as the selected UFRAME. To have a program move when you move a fixture: 1. • If the UFRAME is associated with a workcell object. creating the program with the virtual TP editor. When you move the fixture / Uframe positions taught relative to this frame move appropriately. How to utilize the functionality varies based upon whether you are teaching a simulation program in the Roboguide simple editor vs.Using UFRAMES 220 • If the UFRAME is associated with a workcell object. 2. When creating the program use the "UFRAMENUM = " instruction to set the UFRAME to the desired UFRAME. Show me an AVI. This is desirable if positions taught interact with the fixture and associated part. 6. An example is when a pick and/or place action is taking place with the fixture. Select the UFRAME in the Cell Browser 3. o Virtual TP Editor programs: Roboguide automatically sets the virtual robot to use the user frame selected in the Cell Browser. Using UFRAMEs to move programs with fixtures The ability to reposition an entire program by moving a fixture you must attach the program to a fixture through the robots UFRAME capability. programs taught with this frame move when the workcell object is given a new location in the workcell. programs taught with this frame do not move when the robot is given a new location in the workcell. and move the UFRAME to be defined relative to the objects coordinate system. o Roboguide animation programs: set the UFRAME used field on the program property page to the UFRAME defined above. In the Attached field select the object in the workcell that you want to associate with this UFRAME. Modify the robot's UFRAME as desired. Determine a robot UFRAME that can be used. . chose a UFRAME that can be used 2. Create a program and teach the program with this UFRAME as the selected UFRAME. o Virtual TP Editor programs: Roboguide automatically sets the virtual robot to use the user frame selected in the Cell Browser. o Roboguide animation programs: set the UFRAME used field on the program property page to the UFRAME defined above. When you move robot. 5. If a UFRAME other than 0 is chosen. positions taught relative to this frame move appropriately. . select the robot (default) in the Attached field. When creating the program use the "UFRAMENUM = " instruction to set the UFRAME to the desired UFRAME.Using UFRAMES 221 Using UFRAMEs to move programs when the robot location is moved The ability to reposition an entire program when moving the robot is accomplished by teaching positions relative to the robots world frame (UFRAME0) To have a program move when you move the location of the robot in the workcell: 1. Open the UFRAME Property Page 4. creating the program with the virtual TP editor. Select the UFRAME in the Cell Browser 3. Decide which UFRAME to use: o UFRAME 0 in the cell browser o Or. How to utilize the functionality varies based upon whether you are teaching a simulation program in the Roboguide simple editor vs. If robot relative is chosen you move the UFRAME with a visual reference frame of the robot. Y. • Edit Frame: when checked you see the UFRAME and can either direct enter numbers in the UFRAME fields for drag the coordinate system. Changing this only changes the numerical reference point for the UFRAME data and does not change UFRAME the UFRAME data must be modified to make changes to the UFRAME values on the virtual robot. Accomplished by showing the reference relative to the fixture.0. The numbers shown here are relative to either the robot or the assigned object in the attached field. or at the world zero position for the picture. It becomes active only when the Edit UFrame Check Box is enabled. • Show Reference: provides a visual reference to modify the UFRAME.0 relative to the fixture. P. The default associates the UFRAME with the robot which means moving the robot moves the frame and points taught in world coordinates.0. .0. R for the UFRAME.0.Using UFRAMES 222 Using the UFRAME property page The UFRAME property page is used to define controller UFRAME information. Select which tool axis vector you want to invert the UFRAME Z axis vector about when the Use Current TCP location button is pressed. W. If you associate the UFRAME with an object the frame and points taught relative to this frame moves when you move the object.0. W. The UFRAME data is 0. • Uframe Data: defines the X. • Use Current TCP Location: when pressed the UFRAME value will be recorded at the robots current TCP location into the correct X. If fixture relative is chosen you move the UFRAME with a visual reference frame of the chose object in the attached field.0. Available on the UFRAME property page are the following fields: • Name: the controller name for the UFRAME. The following picture shows UFRAME 1 located at 0. • Attached: defines the object in the workcell that is associated with the UFRAME. Z.0. P. The following picture shows UFRAME 1 associated with a fixture. Z.0. Y.0. and zeroing out the location values. R Uframe Data fields. When you modify a UFRAME on the property page it is automatically updated on the virtual robot. • Invert Z Around: it is common to want to UFRAME Z direction to be opposite of the approach vector of the end of arm tooling. This is the comment field for UFRAME on the robot. o Move with the mouse: Check the Edit UFrame check box. Select Frames . P. The property page is opened as others are. Press Use Current Triad Location when you are done and then press Apply when done. P. Y. Press Type 5. R fields. 3. Press Menus 3. Y. and the values are copied into the X. To modify a UFRAME from the Virtual TP 1. Z. There are two ways to define the UFRAME value. Press Record Frame button. and move the UFrame triad to the desired location. Z. Select the Edit Uframe checkbox. Modify a robot UFRAME You can modify a robot UFRAME from SimPRO’s UserFrames property page or from the virtual TP. o Direct Entry: enter the UFRAME values into the . W. The UFRAME will show as a triad ( ) in the location where the UFRAME is defined. Open the UFRAME Property Page from the cell browser 2. To modify a UFRAME from the Roboguide User Frames property page 1. R UFrame Data fields and press Apply. Open the virtual TP 2.Using UFRAMES 223 Opening a UFRAME's property page A UFRAME’s property page is found in the Robot Controllers / Robot1 / GP.1 / UserFrames category on the cell browser. W. Select Setup 4. If the UFRAME’s property page is not visible. You may now use this UFRAME with your program. 7.Using UFRAMES 224 Edit the UFRAME data. and the values are copied into the X. R UFrame Data fields and press Apply. Y. See Teaching Using Uframe's for more information. open the UFRAME property page. Z. W. There are two ways to define the UFRAME value: o Direct Entry: enter the UFRAME values into the . and move the UFrame triad to the desired location. If UFRAME is not showing on the screen. Y. Z. . P. Assigning a UFRAME to a workcell object To assign a UFRAME to a workcell object 1. Select the UFRAME you want to assign to a workcell object 2. W. o Move with the mouse: Check the Edit UFrame check box. On the General Tab. R fields. P. Press Use Current Triad Location when you are done and then press Apply when done. 3. Press Record Frame button. select the object in the workcell that you want to associate with the UFRAME from the Attached field and press Apply. select choice and select user frames from the list. This allows you to easily locate workcell fixtures and parts associated with them. and primitive objects. • Define an entity in the workcell to teach positions. You can think of a fixture as workcell tooling that holds parts. . Before a part can be used it must be assigned to a fixture. Adding a workcell object To add an object using the cell browser 1. Select the source of the object from which it should be added. importing of IGES files. 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. If you teach relative to a UFRAME then you can move the fixture and its associated points to determine optimum robot and object locations. 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. Right mouse click the type of element you want to add to your workcell A popup menu will appear with selections. a primitive object is loaded into your workcell with default parameters. you would see "add line" under the fixtures menu. Roboguide supports a CAD Library. 2. Note: the origin of the combined object will be the origin of the CAD files overlaid. If you select CAD File a dialog is opened in which you can select the CAD File desired. Fixtures support UFRAMEs. For example. You may select multiple CAD files if you want to import multiple CAD images into the workcell as a single object.Working with Fixtures 225 10 Working with Fixtures Working with Fixtures Roboguide uses fixtures as workcell objects that can be used for the following: • Used to hold parts. • Define a conveyor: this is a smart fixture that supports line tracking operations in Roboguide. 3. You can move a fixture in your workcell and the part moves with the fixture. if line tracking is enabled. It is this association of part to fixture that allows Roboguide to animate the part process in the workcell. The popup menu will have items based upon the PRO Software plug-in and the options loaded on robots in the workcell. 3. Note: the origin of the combined object will be the origin of the CAD files overlaid. Roboguide supports a CAD Library. 2. Select Delete <object name> from the menu. and primitive objects. . Right click on the desired object from the cell browser.. The object is deleted from the workcell. importing of IGES files. To delete an object using the keyboard 1. If you select Robot. You may select multiple CAD files if you want to import multiple CAD images into the workcell as a single object. Left click on the desired object in the 3D World view. 2. or select the object with the left mouse button in the cell browser. Press the delete key on the keyboard. Deleting a workcell object To delete an object using the cell browser 1. From the main menu select Cell. 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. the robot serialize wizard is opened. Select from the popup menu (if applicable) the source of the object from which it should be added.Working with Fixtures 226 To add an object using the main menu 1. And then select the type of object to add. 2. The object is deleted from the workcell. a primitive object is loaded into your workcell with default parameters. If you select CAD File a dialog is opened in which you can select the CAD File desired. The objects coordinate reference frame is shown. Sphere. These fields include: • Name: enter the name you want for the fixture. • Visible: if checked you can see the fixture. • Fixture General Tab: is used to define basic fixtures properties such as name.Working with Fixtures 227 Working with the Fixture property page The fixture property page is used to define properties of fixtures in the workcell. This is a primitive entity of Box. • Wire Frame: when enabled the object is shown as wireframe • Transparency slider bar: controls the transparency of the object. • Size: defines the parametric values for primitive objects. Using the Fixture General tab The General Tab of the Fixture Properties page provides fields to edit general obstacle properties. . • Location: defines the location of the fixture relative to the 3D ChuiWORLD zero reference position. • Fixture Parts Tab: is used to define parts used in the fixture and the parts location relative to the fixture frame. Cylinder. • Fixture Simulation Tab: is used to define simulation parameters such as creation and destruction times for simulations. • CAD File: defines the CAD file used for this fixture. • Type: set by Roboguide. you must press Apply for the action to take place. • Color: allows you to change the color of primitive objects. color • Fixture Calibration Tab: is used to calibrate the virtual Roboguide environment with an actual robot workcell. or CAD image. When you change the state of the field. location. the list is populated with fixtures that reference the selected part. The property page effectively works the same way when assigning parts to an object. • Lock All Location Values: when checked. o MoveTo: Works in conjunction with the Object selection combo box. R: defines the offset relative to the object’s origing that holds the part. the list is populated with EOAT’s that reference the selected part. machines. • Show robot collisions: when checked this fixture is checked for collisions with robots in the workcell. Using the Parts Property Page Tab The Parts Property Page Tab provides the interface to assign parts to the selected object. This can be done and the part offset can be "recorded" directly into the values. The detail is defined on how the information is used in the MoveTo and Record field descriptions. Y. Z. 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.Working with Fixtures 228 • Scale: defines the scale parameters for CAD type objects. Fields on this tab include: • Parts list: shows the parts available in the workcell. Use of the MoveTo and Record buttons can ease the accurate teaching of the part offset values. and to record part offsets in EOAT and fixtures. locks all of the location values for the fixture. o Object selection combo box:this box is used in conjunction with the MoveTo and Record buttons. A very useful feature of the Parts property page is the ability to move the robot to the part. With these buttons Roboguide provides efficient capability to move the robot to a part position on fixtures. end of arm tooling. W. . etc. If the EOAT property pages are active. o X. Parts can be added to different types of objects in Roboguide including fixtures. P. The checkbox next to each box can be selected to assign the part to the current object. The combo box contains all objects that have reference to the part selected in the Parts list. If a fixture property page is active. • Part Offset: is used to define the part offset in the current object. o Record: is active when the Edit Part Offset item is selected. The fixture Parts tab has settings for the initial states of parts on fixtures when a simulation is run. For example. If disabled. This could be very useful when creating programs. 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 robot can be moved very quickly and accurately to desired part positions. • Part is placed and then destroyed: if a part will not be acted upon after it is placed.Working with Fixtures 229 When pressed the robot is moved to a position that matches the part offset coordinate value for the selected property page object with the part offset coordinate value for the object selected in the Object selection combo box. The record button is used to define the part offset for the selected part in the Parts field. o Visible Teach: if enabled the part is visible when not running a program. 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 Automatic MoveTo of robot to part in a fixture. Using the fixture Simulation Tab The fixture simulation tab has settings to control the simulation parameters for parts in fixtures. the part does not show at the start of a run. the part is not automatically removed from the fixture. o Edit Part Offset: when checked you can move the part to define the part location relative to the selected object. A key setting for parts is dependant on how a part will be processed: • Part is placed and then picked from a fixture: when the place destroy delay is set to 0. if you are placing a part into a fixture and then the process takes the robot to pick another part. The part remains so that it can by picked using a Pickup simulation instruction. For more detail see Automatically generate part offsets in tooling and fixtures. If enabled the part is visible when the program starts. o Visible Run: defines the initial state of the part when a program is run. When doing simulations it is desirable to be able control when parts re-appear / disappear in fixtures after picking and placing. the robot should have the part offsets for the two objects aligned exactly. a delay time that is non zero will force the part to be destroyed from the fixture at the . After moving. If part offsets are all taught accurately. Enable the Allow part to be placed field . Open the fixture property page that holds the part 2. o Destroy delay: the time before the part will be destroyed after it is placed. Select the part in the Parts frame 4. o Allow part to be picked: when enabled the part is available for picking. o Allow part to be placed: when enabled the part is available for placing. To have a part remain in a fixture after the place instruction For processes that require a part to be placed into a machine and then picked back out it is desirable to have the part remain in the place position so that the robot can pick it back out of the fixture. o Create delay: the time before a new instance of the part will be created after the pick instruction. To have a part remain in a fixture after the place instruction 1. When a part is selected in the Parts Frame these selections become active. When using the Place instruction in the simple editor.Working with Fixtures 230 delay time entered. Fields include: • Parts frame: shows the parts available in the workcell. Select the Simulation tab 3. When using the Pick instruction in the simple editor. • Part Simulation frame: Defines how the part may be used with the fixture. the fixture and part will show up in the list of possible fixtures/parts. NOTE: if the value is set to 0 the part is not destroyed. the fixture and part will show up in the list of possible fixtures/parts. Simulation settings can be defined for each part in the list. This is useful for operations that require a part to be placed and then picked back out of the fixture. Press Apply Using the Calibration Tab You can calibrate fixture. o When calibrating other objects in the workcell Controller: defines which robot controller in the workcell will be used for calibration Group: The target group on the selected controller. 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. you can calibrate the fixture and any parts that the fixture can hold. and machine objects in your workcell. o When calibrating EOAT or Parts in an EOAT: Touchup method: defines what UFRAME to use for the calibration. Since parts are associated with fixtures you calibrate the part within the fixture on the fixture property page calibration tab. • General: fields include: o TPP Name: calibration TP name.Working with Fixtures 231 5. Select the object to be calibrated from the drop down list box. Roboguide objects are then moved based upon the least squares difference between these points Fields included on the Calibration Tab include: • Object to be calibrated: this selection appears for fixtures and machines. 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. • Step 1: Teach in 3D World: when pressed you see the message: Calibration program xxx has been created for object. Since fixtures can hold parts. Enter a value of 0 for the Destroy delay time 6. return to the Calibration tab and press the ‘Store Points button. Teach at least 3 points in the 3D World at unique locations on the object. . obstacle. Whey you have finished. Roboguide loads the new calibration information and compares the original Roboguide taught calibration positions with the points taught in the physical real workcell. When pressed. Y. Check the preview box to see the shift and OK to accept the shift. • 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 >. W. Since with conveyor tracking systems it is difficult to duplicate the location of the part carrier on a conveyor the tracking system. Check the adjust TPP programs selection if you want to select TPP programs for which to have positions shifted. Roboguide creates a TPP tracking program to do the calibration. Least squares fit = xxx Would you like to accept these results and shift the 3D object? If you press OK the object is adjusted to reflect these changes. Z. You see the following message describing the differences. • Step 3: Calibrate from Touch-Up. 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. Select the Parts Tab on the fixture property page . Select the desired fixture that has the part associated 2. This provides the ability to use the same tracking program on the actual workcell that is line tracking. Open the property page for the fixture 3. The key is to ensure that the part is synchronized with the conveyor before doing any teaching. A least squares fit algorithm is applied. It is important to choose features that can be taught in both Roboguide and the real world. R offsets. overwriting the original. the line tracking system is used to compensate for variability in the location of the conveyor on the moving line. When this is done. Make a part visible or invisible in a fixture To make a part visible or invisible in a fixture 1.Working with Fixtures 232 NOTE: if you are calibrating a part that is on a line tracking link. save the touched up TPP and copy it back to the same directory. You must now load it onto the real controller and touch up each point at the corresponding location in the real world. P. Open the property page for the fixture 3. Enter the desired delay time in the Create field to control the time before a new instance of a part is created.Working with Fixtures 233 4. Select the desired part in the Parts frame. Open the property page for the fixture 3. 6. 5. Press Apply Defining the delay time used for part creation and removal during simulation To change the delay time used for part creation and removal during simulation: 1. This is useful for operations that require a part to be placed and then picked back out of the fixture. Enter the desired delay time in the destroy field to control when the part is removed from the fixture. Select the desired fixture that has the part associated 2. Select the desired fixture that has the part associated 2. 5. NOTE: if the value is set to 0 the part is not destroyed. Select the Parts tab . Select the Simulation Tab on the fixture property page 4. When disabled the part will not initially show when the simulation is run. Visibility for a part is controlled by two settings: o Visible at Teach Time: when enabled the part will show during teach o Visible at Run Time: when enabled the initial state of the part in the fixture is on. Press Apply Define the part location in a fixture To define the part location in a fixture 1. and color. o Automatically generate part offset using the Record button. There are multiple ways to define the part location value: o Direct Entry: enter the part location values into the . • CAD File: defines the CAD file used for this fixture. Y. These fields include: • Name: enter the name you want for the fixture. This is a primitive entity of Box. CAD file. When done 10. Using the Fixture General tab The General Tab of the Fixture Properties page provides fields to edit general obstacle properties. and move the part triad to the desired location. Palletizing properties include defining orientation.1 Working with PalletPRO fixtures 10.Working with Fixtures 234 4. P. or CAD image. Sphere. R Part Offset fields and press Apply. simulation parameters. • Visible: if checked you can see the fixture. General properties include location. When you change the state of the field. and other pallet specific properties. For more detail see Automatically generate part offsets in tooling and fixtures . P. W. Press Record Part Offset button. you must press Apply for the action to take place. Cylinder.1 PalletPRO Infeed Fixture Property Tabs Using the Infeed Fixture Property Tabs Infeed fixtures have general Roboguide fixture properties and Palletizing Infeed unique properties. Z. . W. • Type: set by Roboguide. Z. Y. and the values are copied into the X.1. Press Apply when done. Press Apply. 5. o Move with the mouse: Check the Edit Part Offset check box. R fields. locks all of the location values for the fixture. • Teach Aid o Orientation defines what side of the conveyor that parts are presented to the robot. Locate the station origin in the corner where . • 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. • Scale: defines the scale parameters for CAD type objects. o Transit delay: defines the delay time PalletPRO uses before releasing a unit from the infeed queue to the robot.Working with Fixtures 235 • Color: allows you to change the color of primitive objects. • Wire Frame: when enabled the object is shown as wireframe • Transparency slider bar: controls the transparency of the object. When you select an orientation a flat box with an arrow appears on the infeed (). • Infeed Properties o Number: defines the infeed number that PalletPRO uses when running a simulation. • Size: defines the parametric values for primitive objects. The conveyor will place the units in a specific corner of the conveyor. It also defines how the X direction of the UTOOL lines up with the infeed. You should not have to change this number. For more detail on how PalletPRO controls unit flow click here. the station origin must be in the corner of the conveyor where the unit will be when it is picked up. . Working with the Infeed Fixture Infeed Property tab The infeed fixture Infeed property tab has fields to define various infeed properties. • Lock All Location Values: when checked. and is also known as the origin of the infeed. Since PalletPRO has knowledge of the workcell and automatically determines the origin.Parts are received on the right side of the conveyor. Locate the station origin in the corner where the robot will find the units Length on length:. For further information on origins and orientation click here. You must select which side of the conveyor you want the origin to be on which defines the origin to PalletPRO and PalletTool. Called length on length because the arrow on the PalletTool teach plate is along the length of the conveyor. The X direction of the UTOOL is along the length infeed. o Part Orientation DO: signals PalletTool what orientation the next unit will be. Called width on length because the arrow on the PalletTool teach plate is along the width of the conveyor. o X offset. o Move To: select this to move the robot to the origin position created by PalletPRO. Y offset: specifies the distance to shift the origin of the infeed along the length of the infeed station. Width on length: Parts are received on the left side of the conveyor. Infeed offset (length) and (width) are typically used when the robot cannot reach the corner of the infeed in order to teach the origin. the station origin must be in the corner of the conveyor where the unit will be when it is picked up. PalletPRO can automatically determine the proper station origin since it has knowledge of the workcell and where objects are located. o Part Present DI : signals if a part is present . it may not be necessary to set the offset values. The X direction of the UTOOL is along the width of the infeed.Working with Fixtures 236 the robot will find the units PalletTool uses a standard teach plate to define the origin. The conveyor will place the units in a specific corner of the conveyor. • Infeed IO o Maximum Parts: defines the maximum number of units that can be queued on the conveyor. Not used by PalletPRO. For infeed stations. If your unit loads require slip sheets or pallet handling . The figure below shows standard layouts for single infeed. PalletTool/ PalletPRO uses two kinds of stations: • Pallet station. you must also plan where to locate the slip sheets and pallets so that the robot can reach them. double pallet station workcell configuration. These workcells could use a single slip sheet station. When you teach the stations you • Decide the station location by locating it in your workcell • Locate the station origin by defining the orientation on the respective stations property pages. When you teach a station you determine where the pallet or conveyor will be by locating it in your workcell. and example fixture plate locations. 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. which is the area where the unit load is located. which is the area at the end of the conveyor where the robot picks up units for palletizing or places units for depalletizing. A station is the area where the robot picks up or places units. Standard Workcell Layout .Single Infeed. Standard Workcell Layouts . • Infeed station. Double Pallet Station Location and Origin The location of the infeed and pallet stations is determined by the requirements of your installation. and they do not . This workcell could use two slip sheet stations.Working with Fixtures 237 o Part Request DO: requests a part from the conveyor About defining and teaching stations When you set up PalletTool/ PalletPRO you must teach/ define the stations for your application.Double Infeed. Single Pallet The figure below shows a standard layout for a double infeed. single pallet station workcell configurations with recommended locations for infeed stations and pallet stations. The orientation of the fixture plate also determines the positive and negative directions for the pallet approach length and the pallet approach width. For infeed stations. along the length/width of the pallet station. the station origin must be in the corner of the conveyor where the unit will be when it is picked up. The build direction is the direction in which PalletTool will build the unit load. . Station Origin The station origin is the corner of the station closest to where you teach P1 using the fixture plate. it may not be necessary to set the offset values. When the fixture plate is positioned correctly for pallet stations. Infeed offset (length) and (width) are typically used when the robot cannot reach the corner of the infeed in order to teach the origin. Fixture Plate Orientation for Pallet Stations Pallet offset (length/width) specifies the distance to shift the origin of the pallet. In this case. It is also the direction in which the arrow of the fixture plate points. P2 will lie along the build direction of the pallet station (or the arrow of the fixture plate). FANUC Robotics recommends that you select the station origin to optimize cycle time and prevent collision of the units during palletizing. . teach the station origin on the pallet. then use pallet offset information under Pallet Station setup. Pallet offset (Length) and (Width) are typically used when the robot cannot reach the corner of the pallet in order to teach the origin. Since PalletPRO has knowledge of the workcell and automatically determines the origin. This will generally be at one of the two corners farthest from the infeed. Locate the station origin in the corner where the robot will find the units. in a location where the robot can reach it. See the following figure for examples of how the positive and negative values are affected by the fixture plate orientation. The pallet approach length and width are values that can be adjusted to optimize how the robot places units on the pallet. it may not be necessary to set the offset values. Since PalletPRO has knowledge of the workcell and automatically determines the origin. P1 will be in the corner where PalletTool will place the first unit. PalletPRO automatically determines location based upon how properties are set. you can place the origin somewhere other than the corner of the pallet. If the robot cannot reach the corner. The conveyor will place the units in a specific corner of the conveyor.Working with Fixtures 238 interfere with the application. Fixture Plate Orientation for Infeed Stations Infeed offset (length/width) specifies the distance to shift the origin of the infeed along the length of the infeed station. For pallet stations. This assumes there are boxes in the queue to be released. you see the Teach Aid frame of selections. Select the Infeed tab On the tab. Boxes in the queue are controlled by the case rate of the unit load. • Case Rate: (found on the unit load dialog under palletizing parameters): controls the rate at which units are fed to the infeed queue. About controlling infeed rates with PalletPRO The rate at which units are delivered to the robot on an infeed is controlled with several parameters within PalletPRO. This value provides the throughput assumptions from the real system Quality of visualization: setting the Infeed transit delay to a low value will allow for the .Working with Fixtures 239 Defining the origin of the infeed To define the origin / orientation of the infeed. 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. This is the key value to calculate throughput during simulation. • Maximum Parts: (found on the Infeed’s Infeed property tab). 1. 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. 3. defines the maximum number of units that can be queued on the conveyor. Select the Length on Width picture to put the infeed origin on the right side of the infeed Select eh Width on Length picture to put the infeed origin on the left side of the infeed 4. Select the desired infeed 2. Press Apply or OK to save the selection You may use the MoveTo button to move to the infeed to ensure the results are satisfactory. You adjust these parameters for multiple purposes: Quality of throughput calculations: the key parameter is the Case Rate defined as part of the unit load. 1. If the number is 6 (max) you can see up to 6 parts queued on the infeed. Maximum parts value can be adjusted to show "stackup" on the infeed queue. there is an area to enter Case Rate 4. Enter the Infeed Transit Delay 4. Select the Palletizing Parameters button 3. Open the property pages for the desired unit load. 2.Working with Fixtures 240 boxes to stack up on the conveyor. For proper throughput calculations you must make sure that setting this value does not "starve" the conveyor at the pickup point. Enter the desired Case Rate 5. Select OK or Apply. If the value is one then you see little part queuing. . Select OK or Apply To control the transit rate 1. 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. Open the Infeed property page 2. Select the Infeed tab 3. Controlling the rate at which units are delivered to the robot To control the case rate the case rate is determined for each unit load and is set on the unit load setup screens. Too high a number and you may "starve" the infeed at the pickup point. In the Process Parameters frame. 2 PalletPRO Pallet Fixture Property tabs Using the Pallet Fixture Property tabs Pallet fixtures have general Roboguide fixture properties and Palletizing pallet unique properties. and color. . Sphere. Select the Infeed tab 2.1. • Visible: if checked you can see the fixture. Select OK or Apply 10. Related Topics: Working with the Infeed Fixture General Property tab Working with the Pallet Fixture Pallet Property Page Working with the Pallet Fixture Pallet Positions Property Page Using the Fixture General tab The General Tab of the Fixture Properties page provides fields to edit general obstacle properties. Enter the desired number of parts in the Maximum Parts field 3. • CAD File: defines the CAD file used for this fixture. or CAD image. General properties include location. and other pallet specific properties. CAD file. Palletizing properties include defining orientation. This is a primitive entity of Box.Working with Fixtures 241 Controlling the number of units that can be queued on an infeed To control the number of units that can backup on the infeed 1. When you change the state of the field. It is critical to correctly configure your pallet for proper Palletizing simulation. • Type: set by Roboguide. pallet positions. Open the Infeed property page 1. Cylinder. you must press Apply for the action to take place. These fields include: • Name: enter the name you want for the fixture. simulation parameters (pallet index time). • Wire Frame: when enabled the object is shown as wireframe • Transparency slider bar: controls the transparency of the object. • Lock All Location Values: when checked. This will generally be at one of the two corners farthest from the infeed. • Location: defines the location of the fixture relative to the 3D ChuiWORLD zero reference position.Working with Fixtures 242 • Color: allows you to change the color of primitive objects. • Size: defines the parametric values for primitive objects. Fields include: • Pallet properties o Number: is the Pallet ID number used by PalletTool. o Index Time: is the time used to determine the delay between when a Pallet is full to when a new pallet is put into the workcell. Working with the Pallet Fixture Pallet Property Page The Pallet fixture pallet property page has fields to configure the pallet in your PalletPRO workcell. • Show robot collisions: when checked this fixture is checked for collisions with robots in the workcell. locks all of the location values for the fixture. If the robot cannot reach the corner. • Scale: defines the scale parameters for CAD type objects. It also defines how the X direction of the UTOOL lines up with the pallet. you can place the origin somewhere other than the corner of the pallet. This delay is used for simulation purposes. then use pallet offset information under Pallet Station setup. . • Teach Aid o Orientation: defines the origin of the pallet for palletizing. FANUC Robotics recommends that you select the station origin to optimize cycle time and prevent collision of the units during palletizing. The pallet approach length and width are values that can be adjusted to optimize how the robot places units on the pallet. o Pallet Index DO: Is the IO point used to signal a pallet index. o Move To: select this to move the robot to the origin position created by PalletPRO. o X offset. The build direction is the direction in which PalletTool will build the unit load.Working with Fixtures 243 When you select an orientation a flat box with an arrow appears on the pallet (). It is also the direction in which the arrow of the fixture plate points. 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. The orientation selection on the Pallet Tab provide the following definitions for the pallet. Since PalletPRO has knowledge of the workcell and automatically determines the origin. • Pallet IO o Pallet Present DI: Is the IO point used to detect that a pallet is present. Length on Length. . The arrow is along the length of the pallet and defines the X direction of the UTOOL to be along the length of the pallet. Width on Length. The orientation of the fixture plate also determines the positive and negative directions for the pallet approach length and the pallet approach width. Pallet offset (length) and (width) are typically used when the robot cannot reach the corner of the infeed in order to teach the origin. it may not be necessary to set the offset values. Y offset: specifies the distance to shift the origin of the pallet station along the length of the pallet station. The arrow lies along the build direction of the pallet station (or the arrow of the fixture plate). and maintain the recorded slip sheets z height. A diagonal retreat path can be used when the pallet retreat position is higher than the infeed perch position. o If you move the pallet. To define the origin of the pallet station 1. 5. 4. Select the desired origin. Press OK or Apply to save the changes. PalletPRO automatically updates the position to be the center of the pallet. o If you record a new slip sheet position and then move the pallet. Positions include: • Slip Sheet Position: the slip sheet position is the initial drop location for a slip sheet. o If you move the robot and record a new position this would be the new slip sheet position. PalletPRO automatically generates this position when the pallet is put in the workcell. this is the surface of the pallet at the center of the pallet. Defining the origin of the pallet station The origin of the pallet station defines where the robot will start the unit load processing. • Diagonal Return position: can be used to decrease cycle time. PalletPRO will move the slip sheet position to center of the pallet at the new location. Open the pallet station property page for the desired pallet station 2.Working with Fixtures 244 Working with the Pallet Fixture Pallet Positions Property Page The Pallet Fixture pallet positions property page is used to teach special positions specific to a pallet. Select the Pallet Tab 3. Generally. . In the Teach Aid / Orientation part of the page you can select the desired origin point. for PalletPRO. You may modify the position with the following procedure. it automatically initializes the pallet position to a logical height above the infeed. Select the Pallet Positions Tab 3. it automatically initializes the pallet position to the center of the pallet station at the surface of the pallet station. Press Apply or OK to save changes Teach the Pallet Diagonal Return position Since PalletPRO has knowledge of the pallet. Open the pallet station property page 2. Open the pallet station property page for the desired pallet station 2. To teach the pallet slip sheet position 1. Move the robot to the desired position 4. You may modify the position with the following procedure.Working with Fixtures 245 Teach the Pallet Slip Sheet Position Since PalletPRO has knowledge of the pallet. To teach the pallet Diagonal Return position 1. Select the Pallet Positions Tab 3. 5. Press Apply or OK to save changes . Move the robot to the desired position 4. Press Record for the diagonal return position. Press Record for the Slip Sheet position 5. The height of the pallet clear is determined during execution. The robot arm will move from the pallet retreat position horizontally to a user-taught pallet clear position. When you record this position the diagonal return position is used to shorten the distance traveled by the robot. PalletTool Optional Path To enable this feature. You must make sure that this position is taught with the whole gripper clear of the pallet. Only the x and y coordinates are used. You must also teach the pallet clear positions for all of your pallets. This can be used when the pallet retreat position is higher than the infeed perch position. .Working with Fixtures 246 Reducing cycle time when the pallet retreat position is lower than the infeed clear position PalletTool / PalletPRO supports a clear enable path. The robot will then move to the next infeed's clear position and then continue the pick and place cycle as usual. you can direct the robot arm to go only up to the height of P3 by passing infeed perch position P2. This can be used when the pallet retreat position is lower than the infeed clear position. The diagonal return position is only used by PalletTool / PalletPRO if the position is above the infeed. you must make sure that there are no obstacles in the path and that the other infeed will not interfere with the path. The following figure shows how the position is used. you must set the "Diagonal return enable" item on the SETUP Pallet System tab on the robot property page. you must set the "Clear return enable" item on the SETUP Pallet System tab on the robot property page. and PalletTool / PalletPRO automatically calculate the height. The solid line shows how the robot moves to diag return pos before moving to the infeed. and then move horizontally to P3. The dashed line is the default path used by PalletTool. To use this option. 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. Using this path. PalletTool Diagonal Retreat Path To enable this feature. Working with Fixtures 247 10. you must • Enter complete layer spacing information during Unit Load Setup. Slip Sheet Dispenser property pages are provided to define general fixture properties and slip sheet specific properties.1. or CAD . • Visible: if checked you can see the fixture. Sphere. Some unit loads are built directly on a slip sheet or tier sheet. particularly when columnar patterns are used. When you change the state of the field. This is a primitive entity of Box. for each unit load that uses slip sheets. • Type: set by Roboguide. Cylinder. If your unit loads require slip sheets. Using the Fixture General tab The General Tab of the Fixture Properties page provides fields to edit general obstacle properties. • Position the slip sheet magazine (container holding slip sheets) properly in the workcell. • CAD File: defines the CAD file used for this fixture. These fields include: • Name: enter the name you want for the fixture.3 PalletPRO Slip Sheet Dispenser Fixture Property Tabs Using the Slip Sheet Dispenser Fixture property tabs A slip sheet or tier sheet is a sheet of heavy paper or cardboard that is placed between the layers of a unit load. Slip sheets provide added load stability. PalletPRO automatically calculates key Slip sheet positions (search start and search end) because it has knowledge of the slip sheet dispenser in the workcell. Tabs include: • General Tab • Slip Sheet Dispenser Tab PalletPRO provides slip sheet dispenser fixtures to enable slip sheet simulation. but you can change it. • Record the position registers used by the slip sheet program. instead of on a pallet. you must press Apply for the action to take place. Slip sheet search attempt information will automatically be calculated from the position register information PalletPRO initializes this value. you must • Enter complete layer spacing information during Unit Load Setup. • Show robot collisions: when checked this fixture is checked for collisions with robots in the workcell. but you can change it. • Record the position registers used by the slip sheet program. • Position the slip sheet magazine (container holding slip sheets) properly in the workcell.Working with Fixtures 248 image. for each unit load that uses slip sheets. If your unit loads require slip sheets. • Color: allows you to change the color of primitive objects. Working with the Slip Sheet Dispenser Tab The slip sheet dispenser tab provides fields to define and record the search start and end positions for a slip sheet dispenser. Slip sheet search attempt information will automatically be calculated from the position register information PalletPRO initializes this value. • Lock All Location Values: when checked. . PalletPRO automatically calculates key Slip sheet positions (search start and search end) because it has knowledge of the slip sheet dispenser in the workcell. • Size: defines the parametric values for primitive objects. • Location: defines the location of the fixture relative to the 3D ChuiWORLD zero reference position. • Wire Frame: when enabled the object is shown as wireframe • Transparency slider bar: controls the transparency of the object. • Scale: defines the scale parameters for CAD type objects. locks all of the location values for the fixture. PalletPRO provides slip sheet dispenser fixtures to enable slip sheet simulation. You can only add one pallet dispenser to a workcell. and select the "Pallet Positions 2" tab. 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. Create a workcell. right click on Fixtures and choose "Add Fixture" -> "Pallet Dispenser". 7. 2. In the workcell wizard. Check the "Pallet Placement" checkbox in the robot pallet system property page. the pallet dispenser gets refilled automatically with 8 more pallets.31 Rev E supports the simulation of picking a pallet from a pallet dispenser and placing it at the pallet station with a vacuum gripper. If any version lower than these is chosen. The Pallet dispenser will get filled with 8 pallets. select a version higher than 6. 4. 6. 3. When all 8 pallets have been used in the pallet dispenser. it will place the boxes from the infeed for the first cycle. When you add the pallet dispenser. pallet picking is automatically disabled. It will then switch pallets based on the "Pallet switch type" selected in the PalletSystem property page. You may verify the default "Search Start" and "Search End" position at the Pallet Dispenser calculated by PalletPRO.3148 or 6.1. go to the Pallet property page (you may double click on the pallet of interest). 8. . Then. Run the simulation. and click on the PalletSystem tab. Move the pallet dispenser to the location you wish to place it in the workcell. bag gripper or fork gripper. From the Cell Browser. If you are running Palletizing. Conversely. Steps to Setup Pallet Picking and Placement 1. right click on Robot Controller properties (you can also invoke this by double clicking on the robot in the workcell). the robot picks up the pallet and places it in the pallet dispenser. during depalletizing. 5. it will place it next. In the cell browser.4 PalletPRO Pallet Dispenser Fixture Property Tabs Working with Pallet Dispensers Simulation of Pallet Picking PalletPRO 6.4047. Click on Apply or OK. To verify the pallet placement position calculated by PalletPRO.Working with Fixtures 249 10. you will see the Pallet Dispenser Property page. the "Search Start". the pallet dispenser always contains 8 pallet dispensers. In all previous versions. 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). 6. 8. Notes & Limitations 1. A workcell can have only 1 pallet dispenser. the pallet in the gripper will simply disappear.49 and higher. Presently.31. presently. only in simulation mode. It is also available with virtual robot versions 6. "PalletTool Turbo" supports pallet picking with Vacuum and Bag grippers. it will pick up the pallet and place it in the dispenser. This limitation will be removed in a future version.Working with Fixtures 250 If you are running Depalletizing. Finally. there is no flexibility to pick and place pallets of different sizes at the same pallet station. 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. It is not added to the existing slip sheets in the dispenser. 7. when the robot arrives at the pallet dispenser to drop the pallet. Presently. 2. you cannot use any CAD other than the one shipped with PalletPRO for pallet picking. the slip sheet in the gripper will simply disappear. When you depalletize. Without using these programs. during depalletizing. Presently. 9. This limitation will be removed in a future version. "PalletTool" supports pallet picking with Vacuum and Fork grippers. 4. This limitation will be removed in a future version. 3. presently.4047 and higher. When you change a gripper in the EOAT property page – for example from "Vacuum –single" to "Bag". Pallet picking is available only with virtual robot versions 6. "Search End" positions of the Pallet Dispenser and the "pallet" position at the appropriate pallet station are recomputed automatically. the robot will pick slip sheets and boxes and place them on the slip sheet stand and the infeed conveyor respectively. 5.KL. PMSLPCTR. When you depalletize. when the robot arrives at the slip sheet dispenser to drop the slip sheet. the user was required to teach these positions in Position Registers. It is not added to the existing pallets in the dispenser. Conversely. Pallet Dispenser property pages are provided to define general fixture properties and pallet dispenser specific properties. . PalletPRO automatically calculates key pallet positions (search start and search end) because it has knowledge of the dispenser in the workcell. PalletPRO provides pallet dispenser fixtures to enable simulation. the robot picks up the pallet and places it in the pallet dispenser.31 Rev E supports the simulation of picking a pallet from a pallet dispenser and placing it at the pallet station with a vacuum gripper. Tabs include: • General Tab • Pallet Dispenser Tab The pallet dispenser tab provides fields to define and record the search start and end positions for a pallet dispenser.Working with Fixtures 251 Using the Pallet Dispenser Fixture Property Tabs Simulation of Pallet Picking PalletPRO 6. bag gripper or fork gripper. during depalletizing. Roboguide supports a CAD Library. Right mouse click the type of element you want to add to your workcell A popup menu will appear with selections.Working with Obstacles 252 11 Working with Obstacles Working with Obstacles Roboguide uses obstacles as basic workcell objects that can be used for the following: · Used as basic workcell building blocks to get a more realistic visualization of the components of the workcell (fences. To add an object using the main menu . poles. etc. Obstacles support UFRAMEs. a primitive object is loaded into your workcell with default parameters. If you teach relative to a UFRAME then you can move the obstacle and its associated points to determine optimum robot and object locations. The popup menu will have items based upon the PRO Software plug-in and the options loaded on robots in the workcell. you would see "add line" under the fixtures menu. For example.) In the event that you jog into an obstacle a collision is signaled. · Define an entity in the workcell to teach positions. walls. 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. 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. 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. · Define an entity in the workcell that the robot should not enter (fences. Adding a workcell object To add an object using the cell browser 1. if line tracking is enabled. and primitive objects. 3. If you select CAD File a dialog is opened in which you can select the CAD File desired. Select the source of the object from which it should be added. 2. "things" that are just present in the environment). importing of IGES files. . If you select CAD File a dialog is opened in which you can select the CAD File desired. 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. 2. or select the object with the left mouse button in the cell browser. To delete an object using the keyboard 1. importing of IGES files. Right click on the desired object from the cell browser. Select from the popup menu (if applicable) the source of the object from which it should be added. Press the delete key on the keyboard. Deleting a workcell object To delete an object using the cell browser 1. and primitive objects. You may select multiple CAD files if you want to import multiple CAD images into the workcell as a single object. 3. Select Delete <object name> from the menu. Left click on the desired object in the 3D World view. Roboguide supports a CAD Library.Working with Obstacles 253 1. If you select Robot. From the main menu select Cell. The object is deleted from the workcell. the robot serialize wizard is opened. a primitive object is loaded into your workcell with default parameters. The objects coordinate reference frame is shown. 2. Note: the origin of the combined object will be the origin of the CAD files overlaid. And then select the type of object to add. The object is deleted from the workcell. . 2. • Type: set by Roboguide. • Color: allows you to change the color of primitive objects. . These fields include: • Name: enter the name you want for the obstacle. This is a primitive entity of Box. • CAD File: defines the CAD file used for this obstacle. • Wire Frame: when enabled the object is shown as wireframe • Transparency slider bar: controls the transparency of the object. • Size: defines the parametric values for primitive objects. color. • General Tab: is used to define basic obstacle properties such as name. Use the Obstacle General tab The General Tab of the Obstacle Properties page provides fields to edit general obstacle properties.. you must press Apply for the action to take place. When you change the state of the field. • Calibration Tab: is used to calibrate the real world obstacle with the Roboguide obstacle. location. • Location: defines the location of the obstacle relative to the 3D CHUIWorld zero reference position.Working with Obstacles 254 Working with the Obstacle property page The obstacle property page has fields used to define obstacles in the workcell robot. • Scale: defines the scale parameters for CAD type objects. • Visible: if checked you can see the obstacle. • Show Robot collisions: when checked this obstacle is checked for collisions with robots in the workcell. Cylinder. or CAD image. Multiple tabs are used on the obstacle property page. Sphere. Whey you have finished. o When calibrating other objects in the workcell Controller: defines which robot controller in the workcell will be used for calibration Group: The target group on the selected controller. • Step 1: Teach in 3D World: when pressed you see the message: Calibration program xxx has been created for object. Teach at least 3 points in the 3D World at unique locations on the object. Since parts are associated with fixtures you calibrate the part within the fixture on the fixture property page calibration tab. Select the object to be calibrated from the drop down list box. Since fixtures can hold parts. o When calibrating EOAT or Parts in an EOAT: Touchup method: defines what UFRAME to use for the calibration. Roboguide objects are then moved based upon the least squares difference between these points Fields included on the Calibration Tab include: • Object to be calibrated: this selection appears for fixtures and machines. Calibration of a workcell object moves the Roboguide workcell object to match the real world object. return to the Calibration tab and press the ‘Store Points button. . obstacle. • General: fields include: o TPP Name: calibration TP name.Working with Obstacles 255 • Lock All Location Values: when checked locks all of the location values for the obstacle. 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. Using the Calibration Tab You can calibrate fixture. you can calibrate the fixture and any parts that the fixture can hold. and machine objects in your workcell. 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. When pressed. 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. Least squares fit = xxx Would you like to accept these results and shift the 3D object? If you press OK the object is adjusted to reflect these changes. . Z. Since with conveyor tracking systems it is difficult to duplicate the location of the part carrier on a conveyor the tracking system. This provides the ability to use the same tracking program on the actual workcell that is line tracking. • 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. A least squares fit algorithm is applied. When this is done. save the touched up TPP and copy it back to the same directory. R offsets. W. The key is to ensure that the part is synchronized with the conveyor before doing any teaching. Check the adjust TPP programs selection if you want to select TPP programs for which to have positions shifted.Working with Obstacles 256 NOTE: if you are calibrating a part that is on a line tracking link. Roboguide loads the new calibration information and compares the original Roboguide taught calibration positions with the points taught in the physical real workcell. 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. It is important to choose features that can be taught in both Roboguide and the real world. P. Y. Check the preview box to see the shift and OK to accept the shift. overwriting the original. Roboguide creates a TPP tracking program to do the calibration. You see the following message describing the differences. the line tracking system is used to compensate for variability in the location of the conveyor on the moving line. • Step 3: Calibrate from Touch-Up. There is a direct relationship between fixtures and parts in the workcell. When a part is created it is added to the part fixture. • Associate the part with an End of Arm Tool. Adding a part To add a part to the workcell 1. • Define the location of the part in the End of Arm Tool. After adding a part you see it on the part rack. This is done on the Parts tab for a fixture. • Define the location of the part in a fixture. The part fixture is only for visual confirmation. The part can not be used until it is assigned to a fixture. After adding the part you see the part appear on a part fixture in your workcell. Parts are used in fixtures. • Associate the part with a fixture. The general sequence for using parts is as follows: • Add a part to the workcell.Working with Parts 257 12 Working with Parts Working with Parts Parts are objects that the robot can take actions with. Parts must be associated with a fixture and/ or with end of arm tooling before they can be used. This is done on the Parts tab for a fixture. Use the add a workcell object procedure to add a part object. . The part only appears with other objects in your workcell after you associate it with another object. This is done on the Parts tab for an End of Arm Tool. This is done on the Parts tab for an End of Arm Tool. Parts can be associated with fixtures and tooling. When using Roboguide you will see a part fixture in your workcell. • Size: defines the parametric values for primitive objects.. Left click on the desired object in the 3D World view. To delete an object using the keyboard 1. The object is deleted from the workcell. Using the Part property page The part property page is used to define part properties. • Type: set by Roboguide. • Mass: defines the mass of the part object. Fields include: • Name: enter the name you want for the part • CAD File: defines the CAD file used for this part. or select the object with the left mouse button in the cell browser.Working with Parts 258 Deleting a workcell object To delete an object using the cell browser 1. Sphere. Right click on the desired object from the cell browser. The object is deleted from the workcell. This is a primitive entity of Box. Press the delete key on the keyboard. • Color: allows you to change the color of primitive objects. • Scale: defines the scale parameters for CAD type objects. Cylinder. or CAD image. The objects coordinate reference frame is shown. Select Delete <object name> from the menu. This mass value is used for motion during simulation. 2. . 2. R: defines the offset relative to the object’s origing that holds the part. After moving. With these buttons Roboguide provides efficient capability to move the robot to a part position on fixtures. A very useful feature of the Parts property page is the ability to move the robot to the part. o Record: is active when the Edit Part Offset item is selected. the list is populated with fixtures that reference the selected part. o MoveTo: Works in conjunction with the Object selection combo box. If a fixture property page is active. the robot can be moved very quickly and accurately to desired part positions. The property page effectively works the same way when assigning parts to an object. o Object selection combo box:this box is used in conjunction with the MoveTo and Record buttons. o X. The record . The checkbox next to each box can be selected to assign the part to the current object. Parts can be added to different types of objects in Roboguide including fixtures. Z. the robot should have the part offsets for the two objects aligned exactly. 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. Use of the MoveTo and Record buttons can ease the accurate teaching of the part offset values. end of arm tooling. The combo box contains all objects that have reference to the part selected in the Parts list. If the EOAT property pages are active. For more detail see Automatic MoveTo of robot to part in a fixture. Y. and to record part offsets in EOAT and fixtures.Working with Parts 259 Using the Parts Property Page Tab The Parts Property Page Tab provides the interface to assign parts to the selected object. 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. the list is populated with EOAT’s that reference the selected part. This can be done and the part offset can be "recorded" directly into the values. P. etc. machines. W. This could be very useful when creating programs. • Part Offset: is used to define the part offset in the current object. The detail is defined on how the information is used in the MoveTo and Record field descriptions. Fields on this tab include: • Parts list: shows the parts available in the workcell. If part offsets are all taught accurately. Open the desired fixtures property page 2.Working with Parts 260 button is used to define the part offset for the selected part in the Parts field. Press MoveTo. the part does not show at the start of a run. The part offset position can be automatically generated if the robot tooling is located at the desired pick / place point in a fixture. All robots with EOATs that have the part associated should show in the list. o Visible Run: defines the initial state of the part when a program is run. Select the robot EOAT from the Object selection combo box. 4. o Edit Part Offset: when checked you can move the part to define the part location relative to the selected object. Once the offsets are defined for EOAT’s and fixtures. This capability is very useful when teaching pick and place workcells. If enabled the part is visible when the program starts. Select the Parts tab 3. To MoveTo the robot to a fixture part from a fixtures property pages 1. o Visible Teach: if enabled the part is visible when not running a program. Open the desired EOAT property page . 5. The robot moves so that the part in the EOAT is exactly aligned with the part in the fixture. This capability requires that the part offsets have been defined for the desired EOAT and the desired fixture. To MoveTo the robot to a fixture part from EOAT property pages 1. For more detail see Automatically generate part offsets in tooling and fixtures. you can program each fixtures positions very efficiently. The enable check box next to the part name must be enabled to make the part available with the fixture. If disabled. Automatic MoveTo of robot to part in a fixture Roboguide provides the ability to quickly move the robot to pick and place locations in fixtures. Select the desired part from the Parts frame. All fixtures that have the part assigned should show in the list. 2. Make sure the gripper is closed. The robot moves so that the part in the EOAT is exactly aligned with the part in the fixture.Working with Parts 261 2. 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. 4. To auto calculate the part offset in a fixture. 3. To Automatically generate part offsets in fixtures 1. Press MoveTo. if the part offset is defined for an EOAT. Select the fixture that you want to move the robot to from the Object selection combo box. Therefore. you can propagate through the workcell using auto calculate capability. Select the Parts tab 3. Select the desired part from the Parts frame. Click on the Parts tab . 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. 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. Use the procedure Define the part location in an EOAT to define the initial part offset in the desired EOAT. After one part offset has been defined in either the tooling or a fixture. the part offset must be defined in a fixture. For example. This offset can then be used for other fixture part offset definition. this offset can be used to define the offset for fixtures. this offset can be used to define the offset for an EOAT. the part offset must be defined in an end of arm tool. 5. The enable check box next to the part name must be enabled to make the part available with the fixture. If the part offset has been defined for a fixture. To auto calculate the part offset in end of arm tooling. 4. Open the fixture property page for the desired fixture object. Automatically generate part offsets in tooling and fixtures PRO software provides the capability to auto generate part offsets in tooling and fixtures. remaining part offsets can be generated using the Record button on the Parts tab for a fixture or EOAT. if you have defined a part offset in either a fixture or an EOAT. Press the Record button. Press the Record button. 4. The Record button should become active. 9. 2. Select the desired fixture from the Object selection combo box. Select the robot EOAT from the Object selection combo box. 8.Working with Parts 262 5. 9. . The Record button should become active. Use the procedure Define the part location in a fixture to define the initial part offset in the desired fixture. To Automatically generate part offsets in tooling 1. Assumes that the part offset has been defined for a fixture that uses the same part as the one that will be defined in the EOAT. 6. 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. 7. 6. Enable the Edit Part Offset field. The enable check box next to the part name must be enabled to make the part available with the fixture. Enable the Edit Part Offset field 7. Open the property page for the desired EOAT. The part offset should be auto calculated and loaded in the Offset fields. Select the desired part in the Parts frame by left clicking on the name. Press OK or Apply to make the change permanent. Press OK or Apply to make the change permanent. 8. The part offset should be auto calculated and loaded in the Offset fields.. Click on the Parts tab 5. Select the desired part in the Parts frame by left clicking on the name. 3. The enable check box next to the part name must be enabled to make the part available with the EOAT. machine. Check Visible at Teach time field to make visible or Uncheck Visible at teach time field to make invisible at teach time. 6. Select the desired part from the Parts frame 4. To make a part visible or invisible in a fixture 1. Press Apply . Press Apply Set the initial state of a part for program run You may initialize the visibility for a run of a program for a part in the end of arm tooling or a part in a fixture. Select the Parts tab 3. Select the desired fixture that has the part associated 2. 5. 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. To make the part initialize not visible when running a program disable the Visible at Run Time field 5. etc. Open the property page for the object that contains the part desired (EOAT. To make the part initialize visible when running a program enable the Visible at Run Time field.Working with Parts 263 Make a part visible or invisible in a fixture It is possible to control the visibility of a part at teach time and the initial visibility of a part when running a program. fixture.) 2. Select the Parts Tab on the fixture property page 4. or uncheck visible at run time if you want the initial state of the part in the fixture to be not visible. Open the property page for the fixture 3. Select the desired part in the Parts frame. To set the initial state of a part for program run: 1. Working with Parts 264 Define the part location in a fixture To define the part location in a fixture 1. o Move with the mouse: move the part triad to the desired location. Check the Edit Part Offset check box 6. Select the desired fixture that has the part associated 2. Press Record Part Offset button. There are multiple ways to define the part location value: o Direct Entry: enter the part location values into the . 7. Select the Parts Tab 4. Select the Parts Tab 3. Z. R Part Offset fields. P. Select the desired part from the Parts frame 5. Open the EOAT property page 2. Select the desired part from the Parts frame 4. W. Check the Edit Part Offset check box . Define the part location in the End of Arm Tooling To define the part location in the End of Arm Tooling 1. R fields. o Automatically generate part offset using the Record button. Y. Y. W. and the values are copied into the X. Press Apply when done. P. For more detail see Automatically generate part offsets in tooling and fixtures . Z. Open the property page for the fixture 3. The part rack is for visualization only and should not be used to build the workcell simulation. and move the part triad to the desired location. There are multiple ways to define the part location value: o Direct Entry: enter the part location values into the . W. Z. For more detail see Automatically generate part offsets in tooling and fixtures . Press Apply when done Using the Part Rack property page The part rack is shown in workcells in order to show parts that have been added into the workcell. and the values are copied into the X. Press Apply when done. Fields on the property page include: • Name: PartRack and cannot be changed. Y. W.Working with Parts 265 5. the part rack is automatically hidden. o Automatically generate part offset using the Record button. Press Record Part Offset button. R Part-inTool Offset fields and press Apply. When the workcell is run. R fields. P. . o Move with the mouse: Check the Edit Part Offset check box. 6. Z. Y. P. • Visible: if enabled the part rack will show in the workcell • Location: is the location of the part rack in the workcell. The limitations of the Simulation Programs are taught using the simple Roboguide teach pendant editor which has limited TP program statements. If the robot can reach the position the position triad is green. Key features that Roboguide provides include: • Reach validation: when you record a robot position it is checked for reachability. Roboguide provides a limited but simple robot program editor. Roboguide adds a new type of TP program called Simulation Program. • Real robot programming: you are teaching a real robot. Roboguide uses the same motion system as the actual robot controller to run TP programs.Teaching a Program 266 13 Teaching a Program Teaching a program Roboguide provides the capability to create robot programs. • Stepping through program motion: as you step programs in PRO Software. Roboguide uses a virtual robot controller that executes the same robot checks as a physical robot controller. This editor is used to quickly create programs that can animate workcells and validate cycle time. Teaching robot programs for simulation Roboguide offers the ability to run programs offline and to animate the attachment of objects to the end of arm tooling. As you edit in PRO Software. The Virtual TP Editor is used to create fully instruction set robot TP programs. but provides a quick and easy interface to create simulation programs. • Roboguide Virtual Teach Pendant Editor: Roboguide provides a virtual Teach pendant that has a fully functioning teach pendant interface to the robot. As you jog the robot. Roboguide also includes the FANUC Robotics Virtual Teach Pendant. errors are created when you have motion issues such as limit errors and singularity. 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. Roboguide has two methods to teach robot programs. which is an emulated teach pendant similar to the actual teach pendant used on a FANUC Robotics controller. If the robot can not reach the position the position triad is red. motion reach problems between points are found. you record and adjust robot program lines. • Roboguide Simulation Programs and editor. The teach pendant is the same software that executes on a physical robot. . These limitations can be overcome by combining simulation programs and TP programs together. 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 Open Program you defined in step 1 when you want to detach a graphic from the end of arm. and they all involve creating a master program with Calls to sub programs. 2. These macros contain information that Roboguide uses to notify the system when to attach CAD objects to virtual objects within the workcell. Create a new simulation program. 2. The procedures defined below are keyed off the use of these macros. 5. Roboguide animates by using the Pick and Place Macros provided by PRO Software. Combining simulation and TP programs into a single animation program You may desire having TP programs on the virtual TP that provide animation when run within PRO Software. Insert the Call to the Close Program you defined in step 1 when you want to attach a graphic to the end of arm. For example. Create an animation program that attaches and detaches graphics from the end of arm tooling. Create a new simulation program. Create an animation program that attaches and detaches graphics from the end of arm tooling. 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. 3. To animate a program with a virtual TP Program as the master 1. To animate a program with a Simulation Program as the master 1.Teaching a Program 267 With this TP you can create . 3. Using the call instruction in the Instruction menu pulldown insert calls for each .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. Select Wait 0. Insert the Call to the Open Program you defined in step 1 when you want to detach a graphic from the end of arm. For this procedure we call the program Close 3. When the program is executed the simulation will occur. Insert the Call to the Close Program you defined in step 1 when you want to attach a graphic to the end of arm. Creating Roboguide macros that attach and detach graphics from the end of arm To create a macro that attaches a graphic to the end of arm tool 1. 2. Enter the fixture/ part that you want to attach from the drop down list in the instruction 6. When the save is executed Roboguide puts a TPP program version on the virtual controller. Give it a meaningful name to your application. You can now use this TP program in other programs to animate the attachment of objects to the end of arm tooling. 7. Create a new Simulation program . Save the workcell. To create a macro that detaches a graphic from the end of arm tool 1. For this procedure we call the program Open 3.Teaching a Program 268 program that you want to run 4. 2. To animate from a TPP program use the Call instruction from the TPP program to this program. Open the program for edit in the Roboguide Simple TP Editor . 5. Open the program for edit in the Roboguide Simple TP Editor 4. Select Pick from the Instruction pull down menu item 5. Give it a meaningful name to your application. Create a new Simulation program.5 from the instruction pull down menu item. Macro programs can also be called by a program when the MACRO instruction is used. • Macro: A macro program created as a . Enter the fixture/ part that you want to detach from the drop down list in the instruction 6. Select Pick from the Instruction pull down menu item 5. Save the workcell. If you select none the program will be created as a . Robot program types Roboguide uses programs directly on the virtual robot controller. When the type is Simulation you can specify what UFRAME and UTOOL to use. However. 7. which can include any instructions in your teach pendant program.TP program. To animate from a TPP program use the Call instruction from the TPP program to this program. When the save is executed Roboguide puts a TPP program version on the virtual controller. teach pendant keys. You can now use this TP program in other programs to animate the detachment of objects from the end of arm tooling. 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). Select Wait 0. They can also be assigned a name in the macro table and be called with this name in a macro program. only macro programs can be set up to be executed in a variety of ways including from operator panel buttons.5 from the instruction pull down menu item. When the program is executed the simulation will occur.Teaching a Program 269 4. Robot program types include: • Simulation: simulation programs are ones that Roboguide uses to animate workcells.MR program can contain any instruction and function as a normal .TP program. • Condition: A "ch" program has a Cond (Condition Handler) sub type.TP program type that the controller uses. 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 . • None: is the basic . and the Manual Functions menu. Use a simulation type if you want to attach objects to the end of arm and move them in your workcell. and you are on a motion line you can touchup and moveto the currently selected position. The record button is disabled if you editing in the virtual teach pendant editor. and main menu To Add a TP Program from the Process Navigator 1. If the Cell Browser is not visible. . Process Navigator. 3. Roboguide does this because there is no way of ensuring that the setting is correct. 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. You see a menu that allows you to add a TP program or simulation program. open the Cell Browser 2. When you are editing a program in the simulation or Teach Pendant editor. The programs category is found under Robot Controllers / Robot categories. Using the teach quick toolbar The teach toolbar provides buttons to record. you can use the record button to record points. Note: in the virtual TP the currently selected position is not necessarily the highlighted position in the TP editor.’ In the simulation editor. Select the Teach TP Programs category on the Process Navigator 2. touchup and move to positions.Teaching a Program 270 controller based type you lose the ability to modify the UFRAME and UTOOL used for the program. Select the Add a TP Program item To Add a TP Program from the Cell Browser 1.1 Adding and deleting a TP Program Adding a TP Program A program can be added in various ways. It is the selected position in 3D CHUIWorld. 13. 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. Right click on the Programs category. TP programs can use multiple UTOOL’s and UFRAME’s. Programs can be added from the Cell Browser. Select Frames. is not displayed. press NEXT. Open the Virtual TP 2. b. CREATE. select Teach / Add TP Program To Add a TP Program from the Virtual TP The following is a summary from the robot setup and operations manual. [OTHER].Teaching a Program 271 To Add a TP Program from the main menu From the main menu. Move the cursor to a method of naming the program. >. If user frames are not displayed press F3. and press ENTER. For additional detail see your robot documentation. Select SETUP. b. Press SELECT. is not displayed. press F5. 3. If F2. type the number of the user frame you want. f. c. CREATE. Press F2. e. 1. Press F1. press PREV. [OTHER]. This sets the active user frame ($MNUFRAMNUM[1]) to the number of the frame you specify. If F3. The function key labels will change depending on the naming method you choose. d. a. . To select the user frame to use. [TYPE]. and select User Frame. Name the program: . Type the program name: 4. Press F2. You will see a screen similar to the following. c. Set the User frame number: a. To view and modify program header information: . DETAIL. SETIND. Press MENUS. Press the appropriate function keys to add the comment. When you are finished. To change the sub type: . To type a comment: . Review the settings on the screen. press F1. . Select a method of naming the comment. a. You will see a screen similar to the following. Select a sub type and press ENTER. b.Teaching a Program 272 a. Move the cursor to the sub type and press F4. 5. A TP Program is added to PRO Software. c. and skip to Defining Default Motion Instructions in this procedure. A program entry is made in the Cell Browser under the Programs category. Move the cursor to Comment and press ENTER. Left click on the program in the Cell Browser The selected program becomes visible in the 3D CHUIWorld and in the Program Teach TPP Edit window if it is already open. Selecting a TP Program To select a TP Program from the Cell Browser 1. [CHOICE ]. If you like the settings that are displayed on the screen and want to skip setting program header information and begin editing the program. END. and a Program Property Page is shown. Sub Type 1 None 2 Macro 3 Cond a. press ENTER. 6. Roboguide simulation programs are edited with the simple editor while .TP. 3. To open a TP Program for edit using the main menu 1. TP Programs displays all teach pendant programs. Press SELECT. 1.CH programs are edited with the virtual TP editor. . Select the name of the program you want and press ENTER.MR. The selected program becomes visible in the 3D CHUIWorld and in the Program Teach TPP Edit window if it is already open. . To open a TP Program for edit using the cell browser 1. depending on which type of program you open for edit decides which editor is used. Macro displays all macro programs. Processes displays all process programs. KAREL Progs displays all KAREL programs. . Opening a TP Program for edit Editing a program can be done with the Roboguide simple editor or the virtual TP editor. Select from the main menu Teach / Teach <program name>. [TYPE]. Jobs displays all job programs. 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. Cond displays all condition monitor programs. Therefore.Teaching a Program 273 To Select a TP Program from the Virtual TP The select method is the same as the robot TP. Press F1. Select the TP program in the Cell Browser by left clicking on the program name. For detailed information see the setup and operations manual for the robot. Select from the following list (NOTE: the list might vary depending on your software configuration): All displays all programs. 2. 2. Press the keyboard delete or right click on the program name and select delete from the drop down menu To delete a program from the virtual TP. There are 4 types that Roboguide uses: .Teaching a Program 274 The program will be opened in the appropriate editor. Select the program to delete under the Robot Controllers / Robot/ Programs category from the cell browser by left clicking on the program name 2. Select OK The program will be deleted 13. You can edit the name in the provided text box. Removing Programs To delete a program 1. Cursor to the program you want to delete 3. Press Shift-Delete 4. Roboguide supports simulation programs which enable you to animate workcells (move objects in 3D ChuiWorld).2 Using the TP Program property page Using the TP Program property page The TP Program property page provides fields to edit TP Program properties. and standard robot programs which run directly on a robot. 1. • Description: you add a text description for the program • Sub Type: this is the basic application type loaded into PRO Software. Properties on the TP Program property page include: • Name: the TP Program name. Press the Select button 2. that the program will control. Note: Multiple motion-groups must be set up before it can be used. • Uframe used: defines the UFRAME number used with this program. 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. When you create a program.MR program can contain any instruction and function as a normal . Condition: A "ch" program has a Cond (Condition Handler) sub type. If you select none the program will be created as a . When the type is Simulation you can specify what UFRAME and UTOOL to use. TP programs can use multiple UTOOL’s and UFRAME’s. None: is the basic . but only two motion groups can perform Cartesian interpolated motion within a . You can specify a program to use all five motion groups. you define the group mask that identifies the group of axes. and the Manual Functions menu.TP program. Roboguide does this because there is no way of ensuring that the setting is correct.TP program type that the controller uses.Teaching a Program 275 Simulation: simulation programs are ones that Roboguide uses to animate workcells. positions are referenced in this UFRAME. However. only macro programs can be set up to be executed in a variety of ways including from operator panel buttons. or motion group . Macro programs can also be called by a program when the MACRO instruction is used. If a system has only one motion group. and other axes. Use a simulation type if you want to attach objects to the end of arm and move them in your workcell. • Group mask: see the robot operations manual for more information on Group Mask. • Utool Used: defines the UTOOL number used with this program. There are up five motion groups available. which can include any instructions in your teach pendant program. teach pendant keys. Refer to the FANUC Robotics SYSTEM R-J3iB Controller Software Installation Manual . 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. positions are referenced in this UTOOL. When teaching and running a program. the default motion group is 1. Macro: A macro program created as a . They can also be assigned a name in the macro table and be called with this name in a macro program. positioning tables. When teaching and running a program. only nine axes can belong to a single motion group. 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. however. Motion groups define different groups of axes that can be used for independent pieces of equipment. The controller can operate a maximum of 16 axes.TP program. An asterisk indicates the group is not used. such as monitoring I/O. This information can be displayed using the [ATTR] function key on the SELECT menu. Caution: When write protection is set to ON. Write Protect: Write protection allows you to specify whether the program can be modified. a command is issued (such as pushing EMERGENCY STOP or HOLD). When ignore pause is set to ON . Refer to the FANUC Robotics SYSTEM R-J3iB Controller Software Installation Manual for more information. you should set write protection to ON so that you or someone else does not modify it. ignore pause) except write protection. sub type. When write protection is set to OFF. you cannot modify any program header information (program name. • Options: Ignore pause: If the program type has been set to NONE. Ignore pause is allowed only in programs that do not have motion groups specified such as an I/O monitoring program. By default. You can enable available groups by enabling the check box for the group. This means that programs that use ignore pause cannot contain any motion instructions. . or the teach pendant is enabled. Warning: If ignore pause is set to ON. the program MUST NOT issue any motion instructions. you can use ignore pause to specify whether the program will continue to run even when an error occurs. or the teach pendant is enabled. When write protection is set to ON. you cannot add motion instructions to your program. If you disable all groups.Teaching a Program 276 single program. otherwise. This allows the program to continue any monitoring function. the program pauses when an error occurs. you could injure personnel or damage equipment. you cannot add or modify any element in the program. a command is issued. When you have finished creating a program and are satisfied with how it works. program comment. write protection is set to OFF. the program continues to run even when an error occurs. group mask. When ignore pause is set to OFF . you can create the program and add or modify any element in the program. or the teach pendant is enabled. a command is issued. . increments the active TP line forward (down) and backward (up). o Step: move amount for translation and rotation. Tracking schedule: if tracking is used in the system the position can be moved relative to the programs selected tracking frame. o Bump buttons: buttons for +/. World: position will move relative to Robot world frame Utool: position will move relative to robots utool frame. RZ are provided. RY.X. o Line Increment arrows (): when pressed. o Line expand button(): when pressed. Pressing a button moves the position relative to the selected frame by the step value. This is the frame that the position is displayed in a nodemap. Z. Pressing the expand button on the Config string allows the configuration of the position to be edited. RX. detailed information regarding the selected TP line is shown. TP line information and position data can be edited.Teaching a Program 277 Using the TP Program Selected Motion Line Property page An individual TP position can be modified. Fields included on the Property page include: • Motion Line Data frame: when the property page tab is initially opened the currently selected motion line is shown. o Relative To: selections for the frame in which a position can be shifted. • The Motion line can be modified • The position data can be modified directly or by using position "bumpbox" functionality. Y. • Bump Box frame: provides interface to move the selected TP position incrementally relative to a selected frame of reference. Roboguide inserts UFRAME and UTOOL setting TP statements into the animation program.Teaching a Program 278 Specify the TP Program UTOOL Simulation programs allow you to specify what UTOOL to use for the program. Open the desired programs property page. Use the UFRAME_NUM =. To specify the UFRAME used with your program for a Roboguide Simulation program 1. To specify the UTOOL used with your simulation program 1. and UTOOL_NUM = statements in your TP program 2. and UTOOL_NUM = statements in your TP program Specify the TP Program UFRAME Simulation programs allow you to specify what UFRAME to use for the program Roboguide inserts UFRAME and UTOOL setting TP statements into the animation program. When using standard TP programs on the virtual robot you can not modify the UTOOL and UFRAME globally for the program on the Program property pages.`Opening_an_objects_property_page') 2.hlp'. You must use the UTOOL and UFRAME program statements in the virtual TP editor to modify UFRAME’s and UTOOL’s in a program. Open the desired programs property!JumpID(`SimPRO_Creating_Workcells. 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. Select the desired UFrame from the drop down list field UFrame used To Specify the UFRAME used with your TP Program in the virtual TP Editor 1. You must use the UTOOL and UFRAME program statements in the virtual TP editor to modify UFRAME’s and UTOOL’s in a program. Use the UFRAME_NUM =. Ensure that the UFRAME being used while teaching is set to the same value as you . Select the desired UTool from the drop down list field UTool used To Specify the UTOOL used with your TP Program in the virtual TP Editor 1. 2. Changing a simulation program to a TP Program on the virtual robot You can convert a simulation program created with the Roboguide simple editor to a . You must use the UTOOL and UFRAME program statements in the virtual TP editor to modify UFRAME’s and UTOOL’s in a program.MR) The program is converted from a simulation program and can now be selected from the virtual TP.TP). To add additional statements to a simulation program you must convert the program to a TP program on the virtual robot. Change the subtype for the program to a robot type of NONE (.TP program. . To change a simulation program to a TP program on the virtual robot 1. Open the property page for the desired simulation program 2. After conversion you use the virtual TP editor to edit the program.Teaching a Program 279 used when setting UFRAME_NUM = in your TP program. Adding additional TP statements to a simulation program The simple editor in Roboguide has a limited instruction set. Once you have converted the program. you can no longer edit the program in the simple editor. 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. 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. MACRO (. When you convert the program you loose the ability to set the UFRAME and UTOOL globally for the program. You can set this by pressing Shift and Coord on the virtual TP. Click the left mouse button and drag the coordinate system triad. The robot will move to the position if possible.Teaching a Program 280 13. The cursor will change to a hand. The cursor will change to a hand . • Jogging using the teach tool • Jog using the virtual teach pendant Jogging using the teach tool For translation Along a teach tool coordinate axis: 1. 5. If you try to jog to an unreachable position it gives the same errors as a real robot.3 Jogging the robot while teaching Jogging the robot In PRO Software. the robot acts like a real robot. . Release the mouse button where you want the robot to move to. Release the mouse button where you want the robot to move to. 3. 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. You can jog the robot with traditional Teach Pendant buttons using the Virtual Teach Pendant. Put the mouse cursor over any coordinate of the teach tool. Select the teach tool 2. Press and hold down the CTRL Key on the keyboard. Along the CHUIWorld view plane 1. 5. 4. Click the left mouse button and drag the coordinate system triad. 4. 3. Select the teach tool 2. Put the mouse cursor over the coordinate of the teach tool that you want to move the robot. Jogging using UFRAMEs On the Virtual Teach Pendant or the pop up Coord system toolbar you can select what jog coordinates with which to jog. Release the mouse button where you want the robot to move to. The cursor will change to a hand. 6. See About the teach pendant jog panel for more information.. Click the left mouse button and drag mouse. The sphere at the center of the coordinate triad will turn to red. 5. If UFRAME is selected the robot will jog in the UFRAME that the currently selected for the robot in the cell browser. 4. Jogging using the teach tool For translation Along a teach tool coordinate axis: 1. Show me an AVI Notes: If the robot cannot physically move to the selected position it will not.Teaching a Program 281 6. Select the teach tool . Put the mouse cursor over the coordinate of the teach tool that you want the robot to move about. The robot will move to the position if possible. For rotation 1. 3. The tool will rotate about the selected axis. The robot will move to the position if possible. Select the teach tool 2. Press and hold down the shift key. The motion type used when the teach ball is dragged to move the robot can be set to linear or joint motion. Release the mouse button where you want the robot to move to. 4. 6. 4. Press and hold down the CTRL Key on the keyboard. . Along the CHUIWorld view plane 1. 5. Put the mouse cursor over any coordinate of the teach tool. The cursor will change to a hand. 5. The cursor will change to a hand. Release the mouse button where you want the robot to move to. 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 . For rotation 1. 3. Click the left mouse button and drag mouse. 3. The robot will move to the position if possible. The robot will move to the position if possible. The robot will move to the position if possible.. Click the left mouse button and drag the coordinate system triad. Put the mouse cursor over the coordinate of the teach tool that you want the robot to move about.Teaching a Program 282 2. 4. The tool will rotate about the selected axis. Click the left mouse button and drag the coordinate system triad. 6. Select the teach tool 2. Select the teach tool 2. 3. Press and hold down the shift key. Release the mouse button where you want the robot to move to. 5. Multiple groups are recorded like the actual robot controller. the default is the first default motion instruction on the Tools / Options / Teach property page.40 Roboguide added the capability to create simulation programs for robots with auxiliary axes and for multiple group configured robots. 13. Extended axes will be recorded automatically with simulation programs. If no motion statements have been recorded in your Roboguide session. See About the teach pendant jog panel for more information.Teaching a Program 283 Notes: If the robot cannot physically move to the selected position it will not. The groups recorded are dependent on the group mask of a program. The sphere at the center of the coordinate triad will turn to red. unless you have not taught a new line in your current Roboguide session. it is the motion instruction type defined as the first default motion type on the Roboguide main menu Tools / Options / Teach page. Statements include: • Motion statements • Close/ Drop statements • Wait statements • Call statements V6. What is the default motion statement The default motion statement type is defined as the last motion statement type entered in a program. The motion type used when the teach ball is dragged to move the robot can be set to linear or joint motion. PRO Software’s TP Editor provides the capability to add motion statements and other key program statements that are required in simulation.4 Using the Roboguide Simulation Editor Using the Roboguide Simple Editor Basic TP Program statements can be taught with the Roboguide TP Editor. In this case. . These defaults now show up on the Record Dropdown of the Program Teach page. Jog the robot to the desired position to teach a position. Recording points at the robots current position To record a position at the robots current position 1. Edit the 4 Record Templates listed on the Tab 3. Press the Record Button on the Program Teach menu to record the default motion line. 4. 3. Open the main menu Tools / Options / Teach page 2. 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.Teaching a Program 284 Changing TP editor record defaults To change the TP Editor record defaults – for simulation editor 1. Press record in the editor. OR. Press the down arrow button to the right of the Record Button () and select from the list of possible motion instructions. Recording points on a surface To record a position on the surface of an object in the workcell 1. 2. Position the mouse cursor at the point on the object that you want to record a position. Press the left mouse button while holding the keys and the robot moves to the position. An arrow appears that shows the normal vector on the object at the closest vertex to which the mouse is over.. To move to a position that is normal on an edge 1. To move to a position that is the center of an arc or circle 1.. Press the left mouse button while holding the keys and the robot moves to the position. Hold down Shift. Press the left mouse button while holding the keys and the robot moves to the position. 2. Position the mouse cursor at the point on the object that you want to move to. Position the mouse cursor at the point on the object that you want to move to. Each End of Arm Tool can be setup to make moving to a surface simple. 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. 3. 3. An arrow appears that shows the normal vector on the object. Hold down Shift and Alt keys on your keyboard. 2. To move to a position that is normal on a vertex 1. An cross appears that shows the center of the arc on the object that the mouse is over. Hold down Shift and Ctrl keys on your keyboard. Press the left mouse button while holding the keys and the robot moves to the . and Ctrl keys on your keyboard. To move to a position that is normal on a surface 1. Press the left mouse button while holding the keys and the robot moves to the position. 3. 3. 2. Position the mouse cursor at the point on the object that you want to move to. Alt. Hold down Shift and Alt keys on your keyboard.Teaching a Program 285 Moving to a point on a surface It is very easy to move to a point on a surface. An arrow appears that shows the normal vector on the object along the edge the mouse is currently over. Recording Pickup and Place points automatically Roboguide provides a capability to automatically create pick and place locations based upon how parts are defined in tooling and fixtures. . Insert a Pick or Drop instruction into the TP Program. and select Touchup to Pick/Drop Point from the list. 2. Roboguide auto-aligns the robot such that the position defining the part in gripper and position defining the part in the fixture are aligned. Record a motion line in the TP Program. The move created has a position value. If the move can not be made the Teach Tool sphere turns red. Re-orient the end of arm tool. but it is not guaranteed that you can move to this position because of orientation. 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.Teaching a Program 286 position. . and try the move again. Roboguide enables the position statement that comes directly before a Pick or Drop instruction for this capability. and associate the instruction with a fixture in the instruction drop down list box. 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 automatically calculates the position value that aligns the part in the tooling with the part in the fixture. Select the motion line immediately preceding the Close or Drop Instruction (the one created in step 1) 4. To record pickup and Drop points automatically 1. 3. Select the Drop down list arrow next to the Touchup button on Program Teach menu bar. When the mode is enabled. This feature is only available in the Roboguide simple editor. A search is continued until either the position can be moved to or no reachable position is found. Roboguide will re-calculate the position orientation that it is attempting to move to and retry the move. For this feature to work well you must define the part in tooling and define the part in the fixture. Teaching a Program 287 Automatic MoveTo of robot to part in a fixture Roboguide provides the ability to quickly move the robot to pick and place locations in fixtures. 4. 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. To MoveTo the robot to a fixture part from a fixtures property pages 1. Select the robot EOAT from the Object selection combo box. Open the desired fixtures property page 2. All fixtures that have the part assigned should show in the list. The enable check box next to the part name must be enabled to make the part available with the fixture. Press MoveTo. Once the offsets are defined for EOAT’s and fixtures. 5. Press MoveTo. The robot moves so that the part in the EOAT is exactly aligned with the part in the fixture. 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. This capability is very useful when teaching pick and place workcells. Open the desired EOAT property page 2. All robots with EOATs that have the part associated should show in the list. 4. Select the fixture that you want to move the robot to from the Object selection combo box. To MoveTo the robot to a fixture part from EOAT property pages 1. Select the Parts tab 3. The robot moves so that the part in the EOAT is exactly aligned with the part in the fixture. 5. Select the desired part from the Parts frame. Select the Parts tab 3. you can program each fixtures positions very efficiently. . This capability requires that the part offsets have been defined for the desired EOAT and the desired fixture. Select the desired line element by clicking on the drop down box. The position associated with the TP Program line is recorded as the current position of the robot. Select from the list Changing TP editor record defaults To change the TP Editor record defaults – for simulation editor 1. 3. Select the desired TP Line by left clicking on the line in the Program Teach Window 2. Open the main menu Tools / Options / Teach page 2. Select the desired TP Line by left clicking on the line in the Program Teach Window 2. Touchup points To touchup the position associated with an already created TP Program line 1.Teaching a Program 288 Modifying TP Program Statement Elements To modify TP Program Statement Elements 1. Jog the robot to the desired location 3. . Press Touchup from the Program Teach menu 4. A list of choices is shown. Associated with each instruction field is a drop down box. These defaults now show up on the Record Dropdown of the Program Teach page. Edit the 4 Record Templates listed on the Tab 3. Open and Close the tooling in the program Roboguide uses the Drop and Pick instructions for simulation purposes. Select Drop / Pick from the Inst menu item in the Program Teach Window 2. the robot moves to the position recorded with the TP Line. 5. The Drop Instruction tells Roboguide to use the default CAD. and to show the part in the associated fixture. These instructions tell Roboguide when to actuate the gripper and when to open the gripper. Select the desired part from the drop down box included with the Drop / Pick instruction inserted into the program 3.Teaching a Program 289 Move to points To move to a position recorded in a TP Program 1. Select the desired EOAT from the drop down box included with the Drop / Pick instruction inserted into the program. Select the desired fixture from the drop down box included with the Drop / Pick instruction inserted into the program 4. To Open / Close the tooling in your program 1. Roboguide will use this instruction during simulation. The list provides the UTOOL selected in the Program properties page. . Select the desired TP Line in the Program Teach editor by left clicking on the line. and to display the part in the gripper. A Pick Instruction is used to tell Roboguide to use the Actuated Gripper CAD. 2. Press MoveTo on the Program Teach menu 3. If possible. A Drop / Pick instruction is in the program. If desired. Left click on the Forward () or Backward () on the Program Teach menu The robot will single step from the selected line. . Select the line to delete 2. Deleting program lines To delete a program line 1.Teaching a Program 290 Adding Wait statements To add a Wait statement to your program 1. edit the field within the Wait instruction to change the time. Left click on the desired start line in the Program Teach window. A Wait instruction is added to the program. 2. Press the keyboard delete key Stepping programs To step a program 1. Select Wait (desired time) from the Inst menu item in the Program Teach Window 2. Fields included in the dialog include: • Program grid: displays a listing of the selected program from which TP lines can be selected. . The information represents the position component value). To create a selection box.5 Multiple Node Edit About multiple node edit Multiple node edit provides functions to graphically edit multiple TP program positions. • Select Multiple Points button: when selected. Using the Node Editing dialog The node editing dialog is used modify location data of program positions. The interface shows the TP program and selections to modify single and multiple line position data of a program. • Direct Entry: when selected. the mouse can be used to select nodes. hold the left button mouse at the start point and drag the mouse to the end point of the box. • Position component boxes: boxes are shown for X. The value shown in the box is the amount selected positions will be bumped when an arrow button is pressed . W. Positions can be selected either in 3D CHUIworld or program display grid included in the dialog.Teaching a Program 291 13. Positions are bumped in the frame selected in the bump relative combo box. • Show motion lines only checkbox: when checked the Program grid displays only motion lines contained in the selected TP program. • 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. R. P. Z. TP nodes are highlighted as they are selected inside the box. Y. data entered into the position component boxes is absolute (ie. Procedure to use CHUIWorld to select nodes 1. While holding the SHIFT key. they are highlighted in CHUIWorld. and in the Program grid. 2. While holding the CTRL key. In the Node Editing dialog. Left mouse click on a TP line in the Program grid to start the selection. hold the left button mouse at the start point and drag the mouse to the end point of the box. As TP Positions are selected. . • Line tracking programs triads are colored based upon the tracking schedule they use.Teaching a Program 292 Node selection Procedure to use the Program grid to select nodes 1. press the Select Multiple Points button 2. All lines between the start selection and the finish selection are highlighted.6 Viewing a TP Program About viewing TP Programs TP programs are viewed as node maps in CHUIWorld. 13. • Node triad colors are defined by the UFRAME reference in which they are taught. TP nodes are highlighted as they are selected inside the box. select another line in the Program grid. • Coordinated motion nodes are drawn in the reference of the coordinated frame from which they are taught. Nodemaps have the following characteristics: • Positions are shown with triad’s. select additional TP lines by left mouse clicking on the TP line in the Program grid. To create a selection box. and circular are designated with unique colors • The fields that display as part of the Nodemap can be controlled. • TP positions are drawn with connecting lines between TP Program lines in the program. Select the program for the Teach Pendant editor and use the arrow keys to chose the desired TP line. and the selected line is displayed on the TP.Teaching a Program 293 • Remote TCP nodes are drawn in reference to the remote TPC frame in which they are taught. The Tools Options Teach property page has settings that control how the double mouse click should act on the interface. 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. See Changing viewing options for TP Program Nodemap for more information. • 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. linear. o The color of joint. Selecting a TP line and position A TP line and its position are selected using one of multiple methods: From The Virtual TP: • The virtual Teach Pendant functions like a physical robot teach pendant. . 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. To view the EOAT at all positions select EOAT CAD at all positions. Additional menu options are provided. For PaintPRO. From the main menu select View / Program Details 4. Left click on the option that you want to modify. PaintPRO provides a paint Job and Process validation tool. To view the EOAT at the selected positions select EOAT CAD at selected position. connector line colors can be modified. • 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. The validation tool provides diagnostic information for Jobs and Processes. If there is a check mark next to the option.Teaching a Program 294 Changing viewing options for TP Program Nodemap Viewing Nodemaps and the EOAT’s associated with positions in a program can be controlled. To set display options for Nodemap 1. From the main menu select View / Program Details 2. Characteristics include: • Distance between consecutive positions: as programmed speed increases the minimum distance between positions increases if you want to reach and maintain programmed speed. the viewing option is enabled. Different line information can be enabled and disabled for display as part of a nodemap. To set the EOAT display option for program positions 3.7 Validating a Program Validating a Paint Job or Process program There are several characteristics that can effect the execution of motion and process statements for programs. To modify connector line colors see Paint TP line color setup property page tab 13. . The EOAT can be shown at all TP positions or at the selected TP position. If the validator finds an issue the issue is displayed in the Status line. press the Re-Validate button. Process programs that are defined in a Job are analyzed. o Status: displays the status of the line. When complete a dialog is shown that has information about the program or programs (job). o TCP Extreme: for GunON program lines the TCP Extremen value is shown. . Selection Validate from the popup menu After selection the selected job or process is analyzed. Detailed information includes: o TP Program line o Distance: this is the distance of the position for the program line from the previous position. Right mouse click on the job or process in the cell browser.Teaching a Program 295 To run the validation tool on a job or process 1. A grid is shown with each line of the grid having detailed information for a program line in the job or program. To re-validate the selected Job or Process when the dialog is open. sealing. You can modify the user frame to offset the positions in the program easily.-90. and z directions from the origin of the reference frame. w. and z axes of the frame. y. y.0 means that the position is rotated -90 degrees about the y axis and is not rotated about the x or z axes. and z axes. y. 0. It allows you to align the x. The user frame is the reference frame for all recorded positional data in a program. its location and orientation are automatically recorded as x. Frames are used to describe the location and orientation of a position. You must set the tool frame to define the point on the applicator. torch. p. welding. which are measured in millimeters from the origin in the x. and r relative to the origin of the frame it uses as a reference. The tool frame is a Cartesian coordinate system that has the position of the tool center point (TCP) at its origin. y. The different kinds of frames make it easier to perform certain tasks. For example. which are measured in degrees of rotation about the x.a user-defined frame. In the robot system. the intersecting edges of the planes are the x. gun. or tool at which the painting.425. The location of a position is expressed as three dimensions. The orientation of a position is expressed as three dimensions. 300. y. Kinds of Frames The robot uses four kinds of frames. • Jog frame . and z directions.The remote TCP (RTCP) frame is a kind of user frame . and 25mm in the z direction from the origin. • User frame .a user-defined frame.a user-defined frame. handling.25 means the position is 300mm in the x direction. 425mm in the y direction. and z axes of the reference frame. The point where all three planes intersect is the origin of the frame. z. y.Teaching a Program 296 13. • Tool frame . z coordinate system about a fixture or workpiece that is rotated with respect to the world frame of the robot • Remote TCP (RTCP) Frame. You can define this frame anywhere and it is relative to the world frame of the robot. This set of planes is called a Cartesian coordinate system .the default frame of the robot and generally at the base of the robot for non aux axis systems. When you record a position. For example. The kinds of frames are • World frame . The jog frame is a frame in which to jog easily. or other application work is to be done.8 Teaching using UFRAMEs About Frames A frame is a set of three planes at right angles to each other. The orientation is the rotation about the x. y. The location is the distance in the x. Create a program using UFRAME The general method to use UFRAME’s with PRO Software: 1. When you record robot positions for this program. This is done on UFRAME property page. This is generally a fixture or an obstacle.Teaching a Program 297 you must define in order to use remote TCP jogging and the remote TCP motion option. Teaching using UFRAMEs UFRAME’s provide a very useful way to localize taught points relative to a frame of reference in the workcell. See Assigning a UFRAME to a program for a procedure. you move the object with the defined UFRAME and the points move. If you move the fixture. You define this frame using the location of the remote TCP as the origin of the frame. With Roboguide you associate UFRAME’s with workcell objects. All positions are taught relative to the UFRAME. if you are picking a part from a "pick" fixture. Assign a UFRAME to the object that you want to teach points relative to. This can be done before or after positions are taught. the points do not move. . 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. does not move the points. moving the robot. If a UFRAME is not assigned to a program. Assign the same UFRAME to the program that you create. you may want to teach positions taught for this pick fixture with a UFRAME that is associated with the "pick" fixture. they are recorded relative to this UFRAME. which is attached to the workcell object. If the UFRAME is assigned. If you assign a UFRAME to the program. Roboguide allows you to change position references very easily. 2. If you do not associate the fixture with a UFRAME all points are taught relative to robot world. For example. you can move the robot and points move with the robot. If you move the workcell object you will see the points move. Teaching a Program 298 Changing taught positions from World (no UFRAME) reference to a UFRAME reference Roboguide programs. 2. by default. The drawback is that if you want to move positions taught on an object (part. To change points taught with respect to robot world to points taught relative to an objects UFRAME: 1. positions are recorded relative to the robot world coordinates.hlp'. you can simply assign a workcell object to one of the robots UFRAME’s. Open the desired programs property!JumpID(`SimPRO_Creating_Workcells. If no UFRAME is assigned to a program. Roboguide provides a mechanism that makes it easy to change points taught relative to robot world to points relative to a UFRAME. You must use the UTOOL and UFRAME program statements in the virtual TP editor to modify UFRAME’s and UTOOL’s in a program. The benefit of defining positions this way is the simplicity of definition. fixture. use robot World coordinate system (UFRAME0) to record positions. To change the taught positions. Assign a UFRAME to the desired workcell object that you want points to be recorded relative to. To specify the UFRAME used with your program for a Roboguide Simulation program 1. Specify the TP Program UFRAME Simulation programs allow you to specify what UFRAME to use for the program Roboguide inserts UFRAME and UTOOL setting TP statements into the animation program. Assign the same UFRAME defined for the desired workcell object to the program that has the robot positions of interest. When you move the workcell object the points will move with it.`Opening_an_objects_property_page') . The recorded positions in the program are now defined relative to the UFRAME just assigned to both the workcell object and the program. It is possible to make the new UFRAME assigned to be the same as the Robot World frame. The robot has multiple UFRAMEs. 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. obstacle) you must adjust the positions relative to the robot and not the desired object. When the object is moved the points will move with it. by making the UFRAME relative to robot be all zeroes. Use the UFRAME_NUM =. By default. . Roboguide automatically changes the end of arm tool on the robot. you can change UTool definitions for your program to quickly check reachability of different end of arm tooling. Through the setup of these images and special programming instructions you can create animations of your robot process. Each of these elements can have associated tooling properties. Roboguide supports definition of multiple 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. Roboguide supports the ability to use multiple images for your end of arm tooling so that animations can be accomplished. left click on the desired tooling from the EOAT elements in the cell browser. 13. and UTOOL_NUM = statements in your TP program 2. On the property page for a created program you can define what UTOOL the program should use.Teaching a Program 299 2. Select the desired UFrame from the drop down list field UFrame used To Specify the UFRAME used with your TP Program in the virtual TP Editor 1. you have multiple end of arm tooling selections.9 Using UTOOL's with Roboguide programs About using end of arm tooling End of arm tooling serves multiple purposes in Roboguide. To change the end of arm tooling on the robot. By defining multiple tooling. 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. 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. Roboguide uses UT:1 when creating a new program. In the cell browser you can see that a robot has multiple UT elements under the Tooling category for a robot. It is used for teaching as well as for simulation. and you can follow a general process for defining end of arm tooling in Roboguide. You can set this by pressing Shift and Coord on the virtual TP. Like an actual robot. Different tools can be checked for a program cycle by first defining the tool configurations for each EOAT on the robot. and then move to program lines or run the program. Specify the TP Program UTOOL Simulation programs allow you to specify what UTOOL to use for the program. Use the UFRAME_NUM =. When left click on an EOAT in the Tooling category for a robot in the cell browser the tooling definition is automatically loaded. Roboguide inserts UFRAME and UTOOL setting TP statements into the animation program. Open the desired programs property page. Change the tooling used on the program property page. You must use the UTOOL and UFRAME program statements in the virtual TP editor to modify UFRAME’s and UTOOL’s in a program. • Check different tooling settings for a program. 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. Select the desired UTool from the drop down list field UTool used To Specify the UTOOL used with your TP Program in the virtual TP Editor 1. On the desired programs property page you define what Tool the program should use. and UTOOL_NUM = statements in your TP 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.Teaching a Program 300 Checking reach with multiple tooling It is very easy to change the end of arm tooling on the robot. 2. To specify the UTOOL used with your simulation program 1. you can quickly determine the robots reach for different tooling. Coordination is required for the place robot not to enter the fixture until the pick robot is clear. • Signal handshaking utilizing the controller multitasking and TP condition instructions Either method can be used. Which method should be used? It really depends on how many signals must be . With shared IO between robots. Browse to the sample workcell directory and open the Robot_1_TP_Programs subdirectory. IO signals can be utilized to handshake between robots. In workcells where robots must work in the same workspace. and requires a single extra task that can have multiple condition handlers defined. communication between robots is required in order for each robot to know when it can enter the workspace without colliding with another robot. To load the programs after the workcell has been opened. a robot may place a part on a fixture. An example is presented to illustrate the methods.10 Coordinating multiple robot workcells Control issues with multiple robot workcells Multiple robot workcells require may require coordination between robots in the workcell. The 2 methods utilized include: • Signal handshaking utilizing the controller multitasking capability. Coordinating processes with IO between multiple robots IO can be used to coordinate actions between 2 robots in a workcell. Roboguide multiple robot workcells can have IO interconnections defined between robots. A robot can wait for clear to enter signals from other robots. Select all the programs and press open. 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. This topic presents 2 methods to coordinate robots and handshake signals between 2 robots. For example. The TP condition method utilizes the TP condition handlers. Repeat for Robot 2.Teaching a Program 301 13. This method may be more efficient overall. and the pick robot not to enter the fixture until the place robot is clear. To use the workcell. and a different robot may pick the robot from the fixture to process the part through a system. right mouse click on the programs node for robot 1 and select Load TP programs. but requires a separate controller task for each signal handshake. The multitasking method may be straightforward. you will have to open the workcell and load the programs in the example workcell directory. 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. Robot 1 cannot enter the work fixture if robot 2 is in the work zone. 12: DO[1]=ON . the TP Condition method may have less overhead. 8 IO points are defined between robots. 2: DO[2]=OFF .Teaching a Program 302 coordinated. If robot 2 does not drop the clear to enter signal. 4: RUN HNDSHAK1 . When robot 1 is clear of the work fixture it signals (DO[2]) robot 2 (DI[2]) that it is OK to enter. 13:L P[4] 1000mm/sec CNT100 . 14:L P[5] 300mm/sec FINE . The example workcell has 2 robots. Robot 2 can not pick from the work fixture if robot 1 is in the work fixture. This method provides a good method to properly sequence a workcell. This method works well when there are not a high number of signals to be controlled. Robot 1 DO 1-8 are defined as Robot 2 DI 1-8. Control on robot 1 The robot 1 Main program: Robot 1: Main2 1: DO[1]=OFF . 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. 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. 8:L P[2] 300mm/sec FINE . robot 1 could potentially enter the work fixture multiple times if robot 1’s cycle time is lower. Robot 1 must wait for a clear to enter signal (DI[1]) from robot 2 (DO[1]). 6: LBL[1] . 3: WAIT 2. Robot 2 DO 1-8 are defined as Robot 1 DI 1-8. 7:J P[1] 100% CNT100 . See Working with IO Interconnections between robots in the workcell. 5: RUN HNDSHAK2 . If many signals must be coordinated. . 10:L P[3] 1000mm/sec CNT100 . 9: CALL PICK .00(sec) . It is very important to coordinate the handshake signal in both directions or race conditions can be created. For more information regarding setting up IO interconnections between robots. 15: CALL DROP . Signal handshaking utilizing the controller multitasking capability This method spawns tasks to do synchronization. A task is created for each handshake signal. 11: WAIT DI[1]=ON . 5: RUN HNDSHAK2 . 14:L P[5] 1000mm/sec CNT100 . 7:J P[1] 100% FINE . HNDSHAK1.Teaching a Program 303 16:L P[6] 1000mm/sec CNT100 . the Main2 TP program does a RUN HNDSHAK2. 18: JMP LBL[1] . 9: DO[2]=ON . 12: CALL PICK . 17: DO[2]=ON . 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. and wait for acknowledgement that robot 2 has lowered the signal (DI[2]). 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 can then lower the signal (DO[2]). . On Robot 1. 4: RUN HNDSHAK1 . 2: DO[2]=OFF . To coordinate Robot 1 to robot 2 clear to enter signal. 11:L P[3] 300mm/sec FINE . To coordinate the robot 2 to robot 1 clear to enter signal. 8: WAIT DI[2]=ON .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]. 15: DO[1]=ON . 13:L P[4] 1000mm/sec CNT100 .TP). Control on robot 2 The robot 2 Main program: Robot 2: Main2 1: DO[1]=ON . Robot 1 must wait for an acknowledgement that robot 2 has seen the signal (DI[2]). 16:L P[6] 300mm/sec FINE . the Main2 TP program does a RUN HNDSHAK1. 3: WAIT 2. 6: LBL[1] . 10:L P[2] 1000mm/sec CNT100 .00(sec) . the Main2 TP program does a RUN HNDSHAK1. 12:L P[4] 1000mm/sec CNT100 . This method works well when there are several signals to be controlled since it only requires one additional background task. the Main2 TP program does a RUN HNDSHAK2. To coordinate the robot 2 to robot 1 clear to enter signal. 2: DO[2]=OFF . 9:L P[3] 1000mm/sec CNT100 . 18:L P[7] 1000mm/sec CNT100 . HNDSHAK2. and wait for acknowledgement that robot 1 has lowered the signal (DI[1]). 11: DO[1]=ON . Robot 2 can then stop telling robot 1 that it has received and acted on the signal by lowing DO[2]. To coordinate robot 2 to robot 1 clear to enter signal. 19: JMP LBL[1] . A condition (CH program) is created for each handshake signal. 5: LBL[1] . 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. 8: CALL PICK . 3: WAIT 2. 6:J P[1] 100% CNT100 .00(sec) . . 10: WAIT DI[1]=ON .Teaching a Program 304 17: CALL PLACE .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. 4: RUN HNDSHAKE . Robot 2 can then lower the signal (DO[1]). 7:L P[2] 300mm/sec FINE . On Robot 2. Signal handshaking utilizing the controller multitasking and TP condition instructions This method utilizes the controller condition handler capability (MONITOR instruction). 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). Robot 2 must wait for an acknowledgement that robot 2 has seen the signal (DI[1]). Control on robot 1 The robot 1 Main program: Robot 1: Main 1: DO[1]=OFF . TP) are defined to handle handshakes. 6:J P[1] 100% FINE . 15:L P[6] 1000mm/sec CNT100 . CHDROP. HSKR2PCK.TP waits for acknowledgement from robot 2 (DI[2]) that robot 2 has received the ok to lower the permission handshake signal. Control on robot 2 The robot 2 Main program: Robot 2: Main 1: DO[1]=ON . This task now runs in the background and does not affect the motion of the main running program. Robot 1 can then lower the handshake (DO[2]) and re-enable the monitor.TP is used to define a monitor for the handshake of the robot 2 to robot 1 clear to enter signal. The Wait DI instruction at the end is used to keep the task from terminating. Robot 1 can then lower the handshake (DO[1]) and re-enable the monitor. 4: RUN HNDSHAKE . 5: LBL[1] .TP is used to define a monitor for the handshake of the robot 1 to robot 2 clear to enter signal.Teaching a Program 305 13:L P[5] 300mm/sec FINE . 14: CALL DROP .TP and CHR2PCK. 7: WAIT DI[2]=ON . 16: DO[2]=ON . 3: WAIT 2. 9:L P[2] 1000mm/sec CNT100 . 11: CALL PICK .. The RUN HNDSHAKE instruction starts and additional task the enables the condition monitoring. . 2: DO[2]=OFF . HSKDROP. 17: JMP LBL[1] .TP is called. 10:L P[3] 300mm/sec FINE . 14: DO[1]=ON . 13:L P[5] 1000mm/sec CNT100 .TP is called.. When the signal is activated the condition is met and 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. 12:L P[4] 1000mm/sec CNT100 . CH2PCK. Each TP has a subtype of condition. When the signal is activated the condition is met and HSKR2PCK. 8: DO[2]=ON .00(sec) . Two condition handler programs (CHDROP. TP waits for acknowledgement from robot 1 (DI[2]) that robot 1 has received the ok to lower the permission handshake signal..TP is called. 18: JMP LBL[1] . 17:L P[7] 1000mm/sec CNT100 . Each TP has a subtype of condition.TP) are defined to handle handshakes.TP is used to define a monitor for the handshake of the robot 2 to robot 1 clear to enter signal. Two condition handler programs (CHR1DROP.TP is called. When the signal is activated the condition is met and HSKPICK. Other methods: Create a single robot cell controller that controls signals to all robots. HSKPICK. HSKR1DRP. The Wait DI instruction at the end is used to keep the task from terminating. A workcell could be created that has a single controller that monitors all robot interactions and controls what each robot will do. . This task now runs in the background and does not affect the motion of the main running program. CHR1DROP.. CHPICK. Robot 2 can then lower the handshake (DO[1]) and re-enable the monitor.Teaching a Program 306 15:L P[6] 300mm/sec FINE .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 and CHPICK. The RUN HNDSHAKE instruction starts and additional task the enables the condition monitoring.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. 16: CALL PLACE . Robot 2 can then lower the handshake (DO[2]) and re-enable the monitor. 11 Workcell level positions . If a desire is to determine which of multiple robots should process certain positions in a workcell. if a workcell with 2 robots has several positions of processing interest (such as Spot Welding). When the object moves the target will move with it. A workcell has points of interest where the user will want a robot to move. Using targets.Targets About Targets Targets are workcell level positions. Targets can be assigned to a robot at generation time.TP positions are directly owned by a robot within the program that it is taught in. It simply represents a position in the workcell that can be used to move a robot to. it is not always known which robot will process a defined point of interest. have UFRAME assigned. it is not known the best distribution of positions to which robot in order to achieve desired results (such as cycle time or sequencing). A target can be attached on the targets property page or in the Target Group Edit dialog. . Targets are assigned to a robot in the workcell using a Target Group. The generated program is taught relative to defined robot frame and utool. Targets can be used for multiple functions: • If it is not known the best way to process positions in a workcell. and can be used by multiple robots. targets are a efficient way to try different scenarios of position distribution between robots. For example. Targets provide great flexibility in sharing workcell positions between robots. • Targets can be assigned to a robot. Targets have the following characteristics: • Targets are workcell level positions. A target position provides a level of indirection for robot positions. target functionality provides a mechanism to create different programming scenarios to test in order to realize a desired result. • Targets can be attached to an object in the workcell. you can define groups of targets and then generate TP programs to either robot and run the resulting programs to view results. For workcells with multiple robots. or potentially some other function.Teaching a Program 307 13. and then a TP program can be generated for the robot using the Target information. . the target moves with the object. • Will targets be used by multiple robots? If yes. • Will targets be attached to an object in the workcell? If you want the target to move . Target representation in the workcell / cell browser: Targets are shown in the workcell under the object that the target is attached to.Teaching a Program 308 • Targets can be reused on different robots in the workcell. not the representation in the target group. This allows for a common position (such as pickup) to be reused for different robots. and. • Programs cannot be generated from targets until they have been assigned to a Target Group. it may be best to teach a TP program. the name is shown as the same name as the parent target. If the attachment is changed to a different object the target is shown under the object that the target defines as is attachment. When a target is initially created is attached relative to the workcell origin. 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. The same target can be used multiple times in a Target Group. If a desire is to determine which of multiple robots should process certain positions in a workcell. Changing the name of the parent target in the workcell. Getting started with targets Targets provide great flexibility in sharing workcell positions between robots. When the object that a target is attached to moves. The parent target represents the individual target and its reference in the workcell. Target groups have the following characteristics: • A Target Group is a collection of targets that are grouped together. Target Naming in a Target Group: When a target is added to a target group. changes the name in all Target Groups that have the target assigned. Target Groups Targets are created in a workcell and then assigned to a Target Group. specifically. • Targets in a target group can be edited using the Target Group Editor. targets are very flexible since you can generate positions for different robots easily. 5. or press Order to sort the targets for minimum distance. The target is added under the Targets category of the cell browser. you will want to attach the target to the object. . Edit the target group by opening the Target Group edit dialog 3. See About UFRAME's and workcell objects for more information. Define the motion parameters and whether an approach and retreat position should be generated. • Surface Target: when depressed a target is generated with each left mouse click at the normal of the surface that mouse cursor is over. UFRAMEs provide good flexibility in moving groups of TP positions. Use the Orientation settings to obtain desired orientations for targets. General steps in using targets: 1. Define the order of the targets by pressing the Members button under the group modify frame. you will want to attach the target to the desired robot. There are buttons/ modes for: • Air Target: when depressed an air target is created with each left mouse click at the mouse cursor. • Will groups of targets be used together? Targets that will be used together should be generated into a Target group. • Will the targets be attached with a robot? If you want the target to move when a robot is moved in the workcell. Group targets logically together when generating. Define the generation parameters for TP programs generated. 6. The target is added under the Targets category of the cell browser. 2.Teaching a Program 309 when an object moves. Using the Target Quickbar The Target quickbar is displayed by pressing the Target quickbar toolbar icon (). Generate the TP program and test run. 7. Targets can always be added to or deleted from a group later. Consider if a UFRAME should be used. 4. Generate targets using the Target quickbar. the SHIFT and Alt key must be depressed to show a crosshair at the center of the arc.Teaching a Program 310 To create a target at the center of an arc. • At robot TCP: when depressed a target is generated at the active / selected robots TCP. There are buttons/ modes for: • Air Target: when depressed an air target is created with each left mouse click at the mouse cursor. the SHIFT and Alt key must be depressed to show a crosshair at the center of the arc. Creating Targets Targets are created using the Target Quickbar. The target is added under the Targets category of the cell browser. • At robot TCP: when depressed a target is generated at the active / selected robots TCP. To create a Target in the Air (not at the surface of an object): 1. • To Group: when depressed. a new target is added to the Targets category and the current cell browser selected Target group. a new target is added to the Targets category and the current cell browser selected Target group. The target is added under the Targets category of the cell browser. Open the Target Quickbar by pressing the Target Toolbar Button() 2. • To Group: when depressed. When the left mouse button is clicked a target is generated at the center of the arc. When the left mouse button is clicked a target is generated at the center of the arc. If no Target group is selected a message is posted. Select Air Target button . To create a target at the center of an arc. If not Target group is selected a message is posted. • 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 quickbar is displayed by pressing the Target quickbar toolbar icon (). When the left mouse button is pressed and released. Open the Target Quickbar by pressing the Target Toolbar Button() 8. 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. Additional Background information on Target creation: Creating Air Targets: Roboguide generates Air Targets based upon the current field of view. Roboguide applies constraints to define the depth of field of view. there are infinite positions that define the location where the mouse was clicked. When the left mouse button is pressed and released.Teaching a Program 311 3. There are positions that are through the position of the mouse cursor that extend the depth of the workcell. • The selected robot TCP if a Target is not selected. Select Surface Target button 9. When Targets are generated they will be added to the selected Target Group. 10. For more detail on the location of the generated surface Target see the Additional background information on Target creation further on in this topic To add a surface or air target to a target group during creation: 1. The following figures illustrate: The light purple plane shown in the figure attempts to show the imaginary plane used to define the target depth in the field of view. Select the desired Target Group in the cell browser. When creating a Target in space. Roboguide uses an imaginary plane for the depth that is parallel to the current field of view that bisects: • The currently selected Target or. (note that the plane is not used in the actual . When the mouse is clicked in a location. and the current location of the selected robot TCP or the selected Target. To create a Target on a surface: 1. For more detail on the location of the generated Air Target see the Additional background information on Target creation further on in this topic. On the Target quickbar select ToGroup. a Target is generated at the location of the mouse cursor. It is only presented to attempt to explain the target creation technique): Orientation of created Targets: When a target is created it takes on the orientation of the • The currently selected Target or. • The other target coordinates are determined to be the minimum rotation from: o The currently selected Target or. Roboguide shows a normal vector as you drag the mouse over objects. 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. It is only presented to attempt to explain the target creation technique): The following figure shows the creation of a target relative to a selected target. Creating Surface Targets: When the Surface Targets button is depressed. . o The selected robot TCP if a Target is not selected. • Drag over a vertex: a vertex highlights as you move the mouse cursor close to a vertex. • The selected robot TCP if a Target is not selected. • Drag over an edge: the edge highlights and the normal is shown on the edge as you move over the edge. The normal will take on different characteristics as you drag the mouse. • Drag over a surface: as the mouse cursor is dragged over a surface a normal is shown.Teaching a Program 312 implementation. • 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. (note that the plane is not used in the actual implementation. y and z values: 1. 3. Right mouse click in the cell browser on the object in the workcell that you want the point data to be relative to.2.1 13.2 . If imported targets should be added to a Target Group enable the Create Target Group selection. 11. use '. have each record in each new line This is a sample csv file of 3 targets with x.200. All targets imported will get the prefix and a number for a target name. Select Create targets from point data in the menu.' as decimal symbols. To import CSV data into targets: 1.CSV format. 2. Select the file. Select the reference that imported targets should be relative to. Select the Prefix for targets imported. Press OK on the dialog Targets should be created from the CSV data.200. The csv file from which target data is imported must: 1. use '. If you want the target to be workcell relative right mouse click on the Targets category of the cell browser. 1.' as field separators. 2. and 12. An import dialog is displayed.100. A popup menu is opened.1.400.Teaching a Program 313 Import point data to targets Targets can be created from . 0.300. Open the Target Quickbar by pressing the Target Quickbar toolbar button (). p and r values: 1. 2.Teaching a Program 314 14.90. 3.300.3.0.90.200. Press the ToGroup button: if a Target Group is not currently selected in the cell browser. created targets are added to the selected Target Group.500.3.180 15. Target groups are created using different methods: • Add a Target Group from the cell browser • Add a Target Group from the Target Quickbar From the cell browser: 1.200. You have control of members of the Target Group. When a Target Group is created and is the actively selected object in the Cell Browser. .90 16.6 This is a sample csv file of 3 targets with x. From the Target Quickbar: 1. A new Target group is added.1. z. a prompt is provide that allows you to automatically add a new Target group. Targets assigned to a Target Group can be edited using the Target Group Edit dialog.400.100.500.0.2.6. 3.2.-90. 17. 1. Right mouse click on the Target Groups category and select Add Target Group.1. w.0 Creating Target Groups Target groups are collections of Targets that are grouped to create robot programs. y. • Attached: defines the object in the workcell that is associated with the target. 18. The numbers shown here are relative to either the robot or the assigned object in the attached field. the target is visible. the location values are displayed relative to the selected object. When disabled. Right mouse click on the Target Group entry in the cell browser. R for the target. • Location: defines the X. Targets can be attached on a Targets property page or on the Target group edit dialog. the target is not visible. When a target has been attached to an object it is moved under the object in the cell browser. W. If the target is attached to an object in the workcell.Teaching a Program 315 Using the Target Property Page The target property page has fields that define the properties of a target. the second option in the show reference frame should show a selection for selected object relative. Open the Target Group Edit Dialog Open the Target Group Edit Dialog: 1. The default associates the target with the workcell. • Move Robot: pressing MoveTo will move the robot to the target. Fields include: • Name: the name of the target. • Lock all Location values: hen checked. If selected. P. Y. • Visible: when enabled. If you associate the target with an object the target will move when the object is moved. • Show Reference: if workcell relative is selected the location data is shown relative to the workcell zero. Select Edit Target group from the popup menu The Target Group Edit Dialog is opened . Z. locks all of the location values for the target. The following describes each field on the Target Group Edit dialog Fields on the Target Group Edit Dialog include: Target Group Frame: • Target / Motion Grid: displays each target member as a line in a grid. Information on each line is organized in columns: o Target: Name of the target o Motion: the generated TP line information . group mask. Generate the program on the Generation Parameters tab. • All fields are "hot". Edit the detailed Target motion line data 1. Making a change immediately changes data. The Target Group Edit dialog has fields to edit single targets or multiple targets. • Use the Target / Motion Grid to select desired targets.Teaching a Program 316 Edit a target group Targets in a target group can be modified using the Target Group Edit Dialog. • Undo button works were appropriate. General information on Edit Target Group dialog: • Open the dialog by right mouse clicking on the desired Target Group and select Edit Target Group. uframe and utool that Roboguide should use when generating a TP program from Target group data. General procedure to edit Targets: Define the target generation parameters: 1. target controller. Select the desired target lines using the Target Group Frame 19. Modify locations and orientations to meet process requirements 20. Individual lines or multiple lines can be selected. On the generation parameters tab define the generated TP program name. Multiple lines are selected using the shift and ctrl keys. .Teaching a Program 317 o Option: the optional Motion information o Approach: Yes/No: defines if approach point should be added o Retreat: Yes/No: defines if retreat point should be added The grid works as a target selector. • Group Modify frame: o Members: when pressed a dialog is presented where target members in the group can be modified. All targets in all target groups will receive this new attachment. o Reverse: reverses the order of targets in the list. o Order: when pressed. o Delete: deletes the selected targets from the target group Note: the target is not deleted from the workcell. Multiple lines are selected using the shift and ctrl keys. It is only deleted from the Target Group. o Reference combo box: a dropdown list is presented. • Target Creation frame: o Insert: when pressed a target is inserted before the currently selected target. the order of the targets is changed. Select the desired object that member targets should be attached to. The location value can be modified in the motion line data detail. Individual lines or multiple lines can be selected. The order is sorted to minimize the distance of travel of the robot. The location value of the new target is a copy of the target that was highlighted when insert was pressed. Changes made to fields on the dialog effect selected / highlighted target lines. Notes: Targets will show under the attached object in the cell browser. . When complete the robot will return to the position it was in before Preview was selected. o Uframe: the target UFRAME can be defined.Teaching a Program 318 • Motion frame: o Preview: when pressed the robot moves to each target in the group. • Generate Feature TP Program: when this button is pressed the TP program is generated for the Target Group. and all motion statements along the segment include the RTCP motion option. If the output program should use a Remote TCP frame. the RTCP option checkbox shows. For more information on UFRAMEs click here. Only the joint angles are checked and shown for reachability. the UFRAME that is defined for the remote TCP should be selected If Remote TCP is loaded as an option on the virtual robot. Generation Parameters Tab: • Target Group Frame: o Target Group Name: the name for the Target Group o TP Program Name: the name of the generated TP Program • TP Generation Targets Frame: o Controller: lists the robot controllers in the workcell. The robot is not actually moved to the position. . the program is generated with positions located using the Remote TCP. o Group: target robot group that the program is generated for. When selected. o Group Mask: for a multiple group systems. If a program is generated relative to a UFRAME all positions are generated relative to the selected UFRAME. the output program groups that will be included when positions are created. Select the desired controller for program generation. o Utool: the target UTOOL can be defined. an approach position in enabled for the target. o Retreat checkbox: when enabled. When a field is changed in the frame all selected targets in the Target / Motion Grid are acted upon. When a program is generated from targets. teach pendant motion line. Pressing the button expands the interface so that motion and position information can be modified. There are two modes that the position edit operate: Direct Entry: location and orientation values are define the location and orientation for selected targets Bump Relative: when enabled. and approach/ retreat motion enable disable and location information. When a program is generated from targets. the values for location and orientation define how much a the position should be translated or rotated when the respective arrow keys are pressed. o Approach checkbox: when enabled.Teaching a Program 319 Target Edit Tab: Motion Line Data frame: fields in this frame are adjusted to control target position (location and orientation). 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. Position information entered defines an approach position relative to the target for which the approach is being generated. a retreat position in enabled for the target. The configuration defined will be the configuration defined for generated positions in the TP program. an approach position will be created with the displayed motion line information. Fields in this frame include: • Target Motion Line Data: the motion line data defined for the target is displayed similar to the following: Pressing the button expands the interface so that motion and position information can be modified. a retreat position will be . Adjustments are done relative to the settings in the Axis Assignments expand button. Orientations can be modified using Auto adjustment or Manual Adjustment. Several options are provided to modify the orientations of selected targets: Change the tool spin orientation along the targets: option is used to smooth orientations along a group of targets. Along the path: defines which target axis to align from one target to the next / or along the robots path trajectory. Before Adjust After Adjust Change tool spin orientation along the next target: A targets vector is aligned to point at the next target.Teaching a Program 320 created with the displayed motion line information. . Before Adjust After Adjust Blend orientation from first to last target: orientations are blended from the beginning to the end of the selected targets in the list. and Along the path settings. the axis assignments are expanded and displayed. . Position information entered defines a retreat position relative to the target for which the retreat is being generated. Pressing the button expands the interface so that motion and position information can be modified. When the Axis Assignments button is pressed. o Auto Adjust: applications require different alignment of positions relative to other positions. • Orientation Frame: functions in the orientation frame are used to modify the orientation of target data. Across the path: automatically set dependent upon Normal to surface. Settings include: Normal to surface: defines which target axis to align with the normal to the selected surface. Roboguide searches by rotating about the selected Normal to surface setting the Axis Assignments expander. Roboguide can search for a reachable orientation for selected targets. If Move Robot while searching is enabled. Set the orientation same as Tx (where x is the first target selected in the Target Grid: orientations of selected nodes will get the same orientation as the first target in the selection It is common that target locations and orientations are not reachable by the selected robot. Select the ToGroup button . the robot is moved while the search takes place. and the mouse is dragged over surfaces a normal line is shown at the mouse pointer. Ensure that the Target you want to add new targets to is selected in the cell browser 21. Auto Search for reachable: when the Search button is pressed. it may be desirable to add additional Targets to the group.Teaching a Program 321 Set orientation to normal of closest surface: when selected Roboguide searches to find the closest object to the target and sets the target’s orientation to the normal of the surface found. When Start is pressed. 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. created targets are added to the selected Target Group 1. Targets can be added to a target group at target generation time. To add Targets to a Target Group during Target creation: When a Target Group is the actively selected object in the Cell Browser. Adding targets to a Target Group After a Target Group has been generated. Open the Target Quickbar 22. When the left mouse button is pressed. or they can be added to a Target group from the Target Group Edit Dialog by pressing the Members button. Roboguide modifies each selected target to make it reachable. all selected targets in the grid will have the Normal to surface Axis Assignment vector aligned with the normal line. o Manual Adjust: used to align all selected targets to a manually selected surface normal. As targets are generated they are added to the selected Target Group. Right mouse click on the desired target group and select Generate TP Program from the popup menu. and you want to add them to a Target Group. To generate a program from the Target Group Edit dialog 1. Using the Target Group Property Page The target group property page is similar to the CAD to Path feature general property page. Select the Members button. 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. Generating a program from a Target Group When a target group is defined. A dialog is displayed.Teaching a Program 322 23. Right mouse click on the Target Group and select Edit Target Group from the popup menu 24. Open the Target Group Edit Dialog 25. To add Targets to a Target Group after they have been created: Targets have been created. . a TP program can be generated from the Target data in the Target Group. Press the arrow buttons in the center of the dialog to move targets between the Available Targets list and the Used Targets list. Open the Target Edit Dialog for the desired Target Group. 1. Select the target or targets in the left list. The difference is that the name and TP program name refer to a target group and not to a feature and feature TP respectively. A feature can be broken into segments. The following presents an example feature with 3 segments that was generated along a CAD Edge. For more information on CAD features click here. As the line segment is drawn it is mapped to the CAD surface on which you are creating the line. When creating a program from the feature. The feature and its segments represent the 3D line that should be used to generate robot programs. There are multiple line drawing options: .Teaching a Program 323 13. a feature can be used to generate programs for a part in several locations. The yellow segment is the actively chosen segment. Features and parts Features are owned by the parts they are created on. 1. A segment can be broken into multiple segments. 26. Similar to a line creation tool in a drawing package. Robot programs can be generated from PRO’s features automatically. Features and segments defined: Features are 3 dimensional lines in PRO’s CHUIWorld. Creating features A feature is a "3D" line segment that can be generated in multiple ways in PRO Software. This works like most drawing packages where you click and drag the mouse to create a line segment. A feature can be generated from: • CAD Edges • Freehand drawn lines: mouse clicking on CAD surfaces to create a node by node line. The fixture to generate a TPP part program on is a setting in the CAD to Path feature property pages. Drawing a line on the CAD. Roboguide has tools to track the edges of CAD entities and create a feature. Since parts can be used in multiple fixtures. The result is a feature that can contain many separate segments. A feature is organized in the cell browser. It is visualized as a tree with the feature being the root node. and is owned by the part category in the cell browser. From a CAD entity.12 Automatic Path Generation About program generation Robot programs can be generated from defined features in PRO software. Each segment has its own path generation properties. different creation properties can be given to each segment in the feature to generate desirable robot process programs. Properties can be adjusted and programs generated so that you can very quickly make changes to output programs to obtain desired robot programs. . Each segment can then have a unique path taught for it. For more information on what features can be created see What features are available in SimPRO. they are represented in the Cell Browser under the Part object that created the feature with. the resulting program provides points with orientation normal to the surface that was used to generate the feature. Therefore. and tooling orientation setup for program generation. Each segment can set properties for the generation of the chosen segment. the paths being generated should take this into account. 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. TPP programs are generated automatically when Apply is pressed. Program generation methods: When generating a program. As you define features. if the tool center point on the robot has a definition that has the TOOL Z vector defined into the tooling (as ARC does). Each segment has properties that can be defined for the loaded PRO process plugin. The tooling defines defaults. Once a feature has been defined. PRO uses the normal to the surface that was used to create the feature as its reference starting point for generation. The feature stays with the part. PRO allows you to setup the CAD to PATH generation properties on the Tooling property pages. When generating a program. but many factors can influence the generation of the programs. These include part location and orientation relative to the robot. the feature and its segments have property pages that define how robot programs should be generated from the feature. This provides great flexibility in generating programs from a feature to meet desired process needs. Fields include approach and retract distance and speeds.Teaching a Program 324 Once a feature is defined you can break the feature into segments that make up the feature. This allows multiple process changes to easily be handled when creating programs from features. even if you use the part in multiple locations in your workcell. For more information see Setting up a UTOOL for path generation . 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. The tooling defaults can be overridden on a features generation property pages. Programs generated from features and segments: A feature and its segments have properties for the program generation for the entire generated program. if a program is generated with no modifications to the generation parameters. The feature property pages provide settings to control the generation of TP programs. For more detail on the types of features supported see What features are available in PRO Software. Once parameters are defined. you can select which instance of the part should have the program generated. Roboguide uses these settings and automatically eliminates points such that the resulting program is within the parameters specified. The feature owns the approach/retract distance and speed properties. • Circularity between points: PRO determines if three created positions define an arc that can be defined using circular motion. The first segment properties control the approach position and the last segment controls the retract position. Different robot processes require different process control capability. If PRO determines and arc exists it automatically creates the circular motion program lines to provide the desired arc. The retreat point is generated using the orientation of the last point of the last segment in the feature. Roboguide provides fields to control these parameters on the Feature and Segment Prog Settings property page. and the ability to call programs while generating programs must be allowed so that additional editing of generated programs can be minimized. robot group to generate with. The approach point is generated using the orientation of the first point of the first segment in the feature. When a segment is first created it inherits the properties of the feature. The determination of circularity can be adjusted on the feature to program generation property pages. • Linearity between points: PRO minimizes the number of created positions by testing for linearity between positions. UFRAME and UTOOL to be used can be defined on a property page. and programmed speed. Default control of positions being generated There are several factors that effect how position location and orientation should be . If there is only one segment for the feature. Controlling Program settings General program speed and program flow must be defined for programs. Feature properties effect segments that make up the feature. • Roboguide minimizes the number of points that meet the criteria defined on the property pages for linearity. the segment properties control the approach and retract positions. A program should include approach and retract distances with associated speeds and motion types. Controlling output program parameters being generated When generating programs the output program name. • By default a feature has one segment when it is first created. Motion parameters for generated positions along a feature must be defined to meet the process needs. The determination of linearity can be adjusted on the feature to program generation property pages.Teaching a Program 325 PRO generates the number of positions based upon several factors including: • The specified speed: PRO optimizes the spacing between created positions by placing positions at a distance based upon the motion system capability at the specified speed. circularity. Translations are relative to the surface used to generate the feature and rotations are relative to the normal vector When performing both translation and rotation on positions it is important to specify whether the translation is done first or the rotation is done first. work angle for arc welding or deburring angle for a removal application. the precise orientation of the end of arm tool relative to the feature is not as critical (deburring) . The results are different based upon is chosen. • Tooling axis alignment to the feature and its segments: For example. it is desirable to have a tool vector track the feature . 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. If a feature has many linear pieces it is desirable to reduce the number of positions using linear motions. it may be desirable to have the tooling +Y vector follow along the feature. The Fine control generation settings are defined on the Feature and Segment Pos Offsets property page. In some cases. In some cases. . • Orientation tracking along a feature and its segments. Translations and rotations are relative the surface used to generated the feature. The default position generation settings are defined on the Feature and Segment Pos Defaults property page. This is required when precise alignment of the tooling relative to the part is required (cutting). • Desired motion types: the types of motions being created is defined by the feature that is used to generate programs. Examples include.f • The normal relative to the normal itself: when this is chosen the position is offset relative to the normal itself.Teaching a Program 326 generated. If arcs are present it is desirable to have circular motion control. 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. • Desired robot configuration: a robot can generally reach a position with different arm configurations. 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.12. The reason for this is that there are infinite ways to connect along the surfaces at the intersection between surfaces. For a procedure on how to create a feature from a CAD Edge see Create a feature from a CAD edge topic.1 Creating robot paths from CAD Features What features are available in PRO Software The following features are supported: 1. There are multiple line drawing options: Straight line segments: Freehand Line: segments are connected with a straight line Surface Fit Line: segments are connected along the surface they are generated on. Roboguide has tools to track the edge entities of CAD objects and to create a feature from the edge entities. CAD Edges.. Line segments with curves: Segments are connected along the surface they are generated on. NOTE: when generating with a surface fit line across multiple CAD surface entites. Robot programs can be generated from PRO’s features automatically 13. This works like most drawing packages where you click and drag the mouse to create a line segment. Lines drawn on the CAD. If your endpoints are on a curved surface the resulting line between the two endpoints follows the surface. 2. As the line segment is drawn it is mapped to the CAD surface on which you are creating the line. If your endpoints are on a curved surface the resulting line between the two endpoints follows the surface. .Teaching a Program 327 Feature Definition Features are 3 dimensional lines in PRO’s CHUIWorld. Program generation defaults can be defined for every tool available on the robot.Teaching a Program 328 Setting up a UTOOL for path generation Default program generation parameters are defined by end of arm tooling. Expand the Parts category in the tree view. or right click on the feature or segment and select Properties from the popup menu. 3. Using the mouse in CHUIWorld 1. Double left click on the feature or segment in CHUIWorld. 4. Select the part that has the desired feature. The defaults are used as initial values whenever a feature is created while that tool is active on the robot. The fixture to generate a TPP part program on is a setting in the CAD to Path feature property pages. . Each tool that will be used in program generation should have its defaults set. Since parts can be used in multiple fixtures. The robot supports multiple tool values and information. Open the Cell Browser 2. Double left click on the feature or segment. A feature is found in the cell browser under the part that was used to generate the feature To select a feature: Using the Cell Browser 1. a feature can be used to generate programs for a part in several locations. The defaults can be overridden on the feature generation property pages Selecting a feature or a segment Features are owned by the parts they are created on. The property page should open for the segment that was clicked on. • The coordinated motion property page tab is used to define generation parameters for coordinated motion applications. and how to optimize the generated programs for linearity and circularity. • The Approach/Retreat property page is used to define approach and retreat positions for the feature. Roboguide assigns a . • Visible property: if enabled the feature is visible on the part. • TP Program Name: the name of the generated TP Program. Some properties can be overridden on individual segment property pages. Some properties can be overridden on individual segment property pages. • The General property page tab are generalized settings that are used when generating programs. • The Pos Defaults tab provides settings to define how to generate the orientation values for positions. A program should include approach and retract distances with associated speeds and motion types. Using the feature general property page tab The feature property page is used to define program properties that are used when generating programs. • Roboguide provides fields to control these parameters on the Feature and Segment Prog Settings property page. Properties on the general tab are common to all segment programs generated. Different robot processes require different process control capability. Motion parameters for generated positions along a feature must be defined to meet the process needs. Fields include: • Feature/ Segment Name: The name of the feature generated. Properties on the general tab are common to all segment programs generated. • The Pos Offsets tab provides settings to modify translations and orientations relative to feature defaults. General program speed and program flow must be defined for programs. and the ability to call programs while generating programs is allowed so that additional editing of generated programs can be minimized.Teaching a Program 329 Using the Feature Property Pages The feature property pages are used to define program properties that are used when generating programs. and the fixture the part is on. the RTCP option checkbox shows. coordinated motion CAD to Path can be used on the Coordinate motion tab. • Coord motion: when coordinated motion is present on the controller. For more information on generating programs at a Remote TCP see Remote TCP Automatic Path Generation • Utool: the target UTOOL can be defined. an option checkbox is shown. the program is generated with positions located using the Remote TCP. If Remote TCP is loaded as an option on the virtual robot. • Group Mask: for a multiple group systems. • Controller: lists the robot controllers in the workcell. When enabled. Select the desired controller for program generation. Since parts can be assigned to multiple fixtures a desired fixture must be selected.Teaching a Program 330 name based upon the part. and all motion statements along the segment include the RTCP motion option. the UFRAME that is defined for the remote TCP should be selected. When selected. • Generate Feature TP Program: when this button is pressed the TP program is generated for the feature and its included segments. If a program is generated relative to a UFRAME all positions are generated relative to the selected UFRAME. TP Generation Targets • Parts: the desired fixture that is holding the part. the output program groups that will be included when positions are created. . The name may be changed. For more information on UFRAMEs click here. If the output program should use a Remote TCP frame. • Group: target robot group that the program is generated for. Note that the axis settings on the Pos Defaults tab are not reversed. • Uframe: the target UFRAME can be defined. • Reverse Generation: when checked the order of generation is reversed from that defined by the generated CAD to Path feature. o Beginning of Feature X: the entered program will be called at the beginning of the program o End of Feature X: the entered program will be called at the end of the program. • 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. .Teaching a Program 331 Using the feature Prog Settings property page tab The Program Settings tab is used to define: • Feature and segment motion settings • Feature and segment call programs Fields include: • Segment/ Feature Motion Settings o Feature First Point MoType: defines the motion type for the first point along the feature o Feature first point speed: defines the motion speed for the first point along the feature o Feature first term type: defines the motion termination type for the first point along the feature o Segment program settings: are motion parameters that are used when generating points along features and segments. o Feature last point term type: the termination type for the last motion of the feature / segment. Values are Continuous xxx or Fine termination. Segment speed: speed for each move created for the generated program Term Type: termination type for each move created for the generated program. This is useful for cell and process control capability. Using the feature Pos Defaults Property page tab When generating programs from features. In some cases. • Desired motion types: the types of motions being created is defined by the feature that is used to generate programs. there are many factors that influence the desired resulting end of arm tooling motion as the robot moves through the program. In some cases. If arcs are present it is desirable to have circular motion control. When set at the feature level all segments in the feature get the CALL defined. When set at the segment level. it is desirable to have a tool vector track the feature . the precise orientation of the end of arm tool relative to the feature is not as critical (deburring) . 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. Fields on the Pos Defaults tab include: . In other processes it may only be required to maintain the TCP location along the feature line. Some factors include: • Desired orientation control through the program. This is required when precise alignment of the tooling relative to the part is required (cutting). The feature Position Defaults tab provides settings to control how the tooling will track the feature. • Tooling axis alignment to the feature and its segments: For example. only the selected segment gets the entered call. o Beginning of Segment X: the entered program will be called at the beginning of the program o End of Segment X: the entered program will be called at the end of the program. If a feature has many linear pieces it is desirable to reduce the number of positions using linear motions.Teaching a Program 332 • Segment CALL Program a program can be called at the beginning and end of a segment. it may be desirable to have the tooling +Y vector follow along the feature. and whether the generation should find linearity and circularity through the feature. • Desired robot configuration: a robot can generally reach a position with different arm configurations. Settings on this tab provide control over the generation of the orientation relative to the feature. • Orientation tracking along a feature and its segments. the +X tool axis is aligned with the feature. Modify this setting to get the arm and wrist configuration as desired. When a feature is first generated the fields are set to the defaults as defined on the CAD to PATH tab of the tooling. The value is set automatically based upon the setting of the previous two fields.Teaching a Program 333 • Tool Frame Axis < = > Feature Axis Assignments: Defines how PRO will generate the orientations along the feature. • Straight Line Detection: defines how PRO determines linearity between generated . This definition can be defined as defaults for end of arm tooling on the CAD to Path tab for the end of arm tooling. The orientation is maintained throughout the generated program. 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. For example. Settings here override the defaults. • Feature Position Config: the field is defaulted to the current position of the robot. 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. 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. if +X is chosen. and Along the segment. It defines what tool axis should be aligned with the normal to the surface when a program is generated. o Perpendicular to the segment: defines what tool axis is perpendicular to the feature during generation. 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. o Along the segment: defines what tool axis should be aligned with the feature during program generation. o Press on the icon () to expand the settings. The normal to the surface is the normal vector pointing in the direction toward the surface that the mouse pointer is over. but work the same as on the end of arm tooling CAD to Path tab. o Normal to Surface: Manipulating this field controls the how the tool will be aligned with the normal to the surface. By default when a feature is first generated. • Circular Move Detection: defines how PRO determines arcs and circles between generated points along a feature. This generally results in points not being to close together in order to meet the programmed speed. If not checked. • upon the normal relative to the normal itself: when this is chosen the position is offset relative to the normal itself. the surface used to generate the feature is shown. Roboguide generates positions a minimum distance apart calculated by the Program speed and robot acceleration and deceleration motion parameters. Using the feature Pos Offsets Property Page tab The feature Pos Offsets tab has fields to control how program positions are generated. When generating the feature.Teaching a Program 334 points along the feature. Translations are relative to the surface used to generate the surface and rotations are relative to the normal vector. If points are placed close together. 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. 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. positions are created relative to the normal to the part along the 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 robot may not reach programmed speeds. • Upon the current orientation of the robot: See About program generation for more detail on Controlling positions being generated . Roboguide creates positions based upon the feature characteristics. The picture below shows how the angle is used where the arrow tips represent positions. 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. This results in a higher number of points. The range for the setting is 90 degrees to 180 degrees. 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. Use settings on this tab to control position generation relative to the feature. The picture below shows how the angle is used where the dots represent positions. o Consider robot speed: if checked. the generated position is offset relative to the surface that was used to define the feature. The text associated with each field is dependent upon which PRO plugin is active. o Translations relative to default position: has the effect of shifting the positions.Teaching a Program 335 Offsets and translations can be made. • Orientation offsets: positions can be rotated relative to the surface normals found when creating the CAD feature. . o (RX): defines a X rotation offset when generating a program. Choices include: o Relative to reference surface: when this option is chosen. Jog the robot to an orientation that is desirable and select this option. o (RY): defines a Y rotation offset when generating a program. o Use the robots current orientation: the generated positions use the current orientation of the robot. o Relative to normal: the generated positions are relative to the normal that was used to create the feature. or normal to the surface. 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). Fields include: • Translation offsets: positions can be offset in two ways depending on process requirements. o Translation relative to the segment: has the effect of expanding or contracting the positions. The generated positions can be translated along the path. The Translate Normal to Surface (Z) for Roboguide has the same result as Bias Normal to Surface (Z) as WeldPRO. This option is helpful when it is difficult to get a generated orientation that the robot can reach. across the path. This is commonly used in applications like routering where the end of arm tooling has an offset relative to the tool center point. PRO makes it very easy to move the robot tool center point to a point on a surface. o Translate first.Teaching a Program 336 o (RZ): defines a Z rotation offset when generating a program. Fields include: Approach Point frame: • Add approach point: when enabled the automatic path generation software inserts an approach point. Roboguide automatically inserts approach positions based upon the settings on this property page tab. Translate X. then rotate: Translation settings are applied first. and Rotate Z have different results than Rotate Z and Translate X. • Speed: the speed for the move to the approach point • Term Type: the termination type for the move to the approach point • Offset from fist point values: define the offsets applied from the first point of the feature. and then the positions are rotated. if the Pos Defaults page defines X along the feature. Retreat Point frame: . • Motype: the desired motion TO the approach point. The values are feature relative distances. For example. Using the feature Approach/Retreat Property page tab The approach / retreat tab is used to modify approach and retreat positions for features. • When Applying the Offset: when applying rotations and translation the order is important. 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. it also defines the Work Angle to be relative to this axis. o Rotate first. then translate: Rotations are applied first and then translations. The yellow raw normals are normal to the top surface which was used to generate the feature. • Raw normal offsets are blended between start and end normal offsets. Using the Raw Normals property page tab fields you can modify the raw normals. Roboguide will blend from start to end using the method defined by selections on the property page. • Pos Offsets Orientation offset values are offsets from the raw normals. There are key differences: • Pos Offsets Orientation Offsets are applied at program generation time.Teaching a Program 337 • Add retreat point: when enabled the automatic path generation software inserts a retreat point. CAD to Path generation uses the Raw Normal vectors defined in the feature to generate programs. Raw normals can be shown or hidden. Orientation offsets on the Pos Offsets tab have no blending and are simply applied to each generated position. 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. • Speed: the speed for the move to the approach point • Term Type: the termination type for the move to the approach point • Offset from last point values: define the offsets applied from the last point of the feature. • Motype: the desired motion to TO the retreat point. The following figure shows the raw normals with the orientation offsets applied at 45 degrees. . The following figure shows a feature with Raw Normals displayed. The raw normals capability may appear to work as the Orientation Offsets on the Pos offsets tab of a feature. The raw normals are the normals to the surface where a feature is generated. Using the feature Raw Normals Property page tab The raw normals property page tab provides fields to modify the orientation of the raw normals of a feature. The values are feature relative distances. Raw normals can be modified at the beginning and end of a segment. Raw Normal: no offsets . Normals are blended between the start raw normal and the end raw normal. Place the cursor over the normal triad. Changes to the Normal to the surface rotation must be done by editing the value into the property page field. the raw normals are blended from start to end. These normals show the orientation of the raw normal at that point. When released. the cursor changes to a hand. Note that the orientation change is constant at 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. Pos Offsets: no offsets. • Start Normal Offset: o Rotate: Normal to the Surface: Changes the rotation of the start feature or selected segment raw normal triad about the approach vector (spin). The results of setting this vary depending on how the Pos Defaults Tab: orientation settings are defined. Pos Offsets: 45 degree normal to surface. Setting 1: Program generated with settings: Pos Defaults: Fixed tool spin for the entire path. Raw Normal: no offsets Setting 2: Program generated with settings: Pos Defaults: Fixed tool spin for the entire path. When you hold the left mouse button and drag the orientation will be modified. raw normal triads are shown at the beginning and ending of the feature or selected feature segment. To define the rotation along and across the segment. Using the Raw Normals normal to surface rotation provides control of the orientation at the beginning and end of a feature or segment. An example is provided to describe results of settings: Simple Part with simple feature: a box is used to illustrate. Note how positions are blended from start to end. 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). the raw normal triads at the beginning and end of the feature or selected segment can be dragged to the desired offset. Fields include: Orientation offsets: • Override and Blend raw normals: when enabled. Changes the rotation of the start feature or selected segment raw normal triad about the feature line. NOTE: There is no difference in the outputs between setting 2 and 3.Teaching a Program 339 Setting 3: Program generated with settings: Pos Defaults: Fixed tool spin for the entire path. • End Normal Offset: o Rotate: Normal to the Surface: Changes the rotation of the end feature or selected segment raw normal triad about the approach vector (spin). 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. Changes the rotation of the end feature or selected segment raw normal triad about the feature line. Raw Normal: 45 degree Start Normal to surface office and 135 degree End Normal to surface offset. o Rotate: Along the segment. This is because the orientation control is set to use a fixed tool spin orientation for the entire path Setting 4: Program generated with settings: Pos Defaults: Change tool spin orientation along the entire path. 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. 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. o Rotate: Along the segment. Pos Offsets: no offsets. the orientations are blended from the Start Normal surface setting of 45 to the End Normal to surface offset of 135 degrees. The results of setting this vary depending on how the Pos Defaults Tab: orientation settings are defined. • Blend with respect to each intermediate normal: each intermediate normal between . Go to the CAD to Path tab 4. Hiding and Showing feature Raw Normals Raw normals are the normals to the surface where a feature is generated using CAD to Path. Each intermediate normal is ignored. The normal lines can be turned on and off. To change the view of Raw normals 1. • Blend with respect to only the start and end point normals. The Round corner radius field is used as the circular move radius value. intersecting lines are checked. When the automatic path generation generates a program.Teaching a Program 340 the start and end normal are blended. You may press the Confirm tool rotation button to validate the initial rotation of the tooling. Enable field Show raw normals in all features to view raw normals. Using the feature Chamfer Motion Tab The motion tab is used with the ChamferPRO software. Blending is applied from start to end of the feature or selected segment. Disable to hide raw normals. Raw normals ON: Raw Normals OFF: Raw normals can be turned on and off on the options dialog. . The tab contains fields to define the corner round parameters for converting intersecting corners to circular moves. Open the Options dialog under the main menu Tools / Options selection 3. If the Insert circle motion to corner that two linear lines cross is enabled the corner will be converted to a circular move. Create a feature from a CAD edge Features can be generated from CAD edges. Changes only take place for the selected segment. See Using the feature Pos Defaults Property page tab for more information. but provide the control at the segment level. In general. Programs can be generated automatically from these features. By controlling motion and process properties on the segment property pages. The Segment process tab is specific to which process plugin is active. • The Program Settings tab provides control of motion parameters at the segment level. unique characteristic of the CAD entities can be utilized to create 3D line features. Procedure for creating a feature from a CAD edge 1. See Using the feature Prog Settings property page tab • The Pos Defaults tab fields are the same as presented at the feature level. but settings take effect at the segment level. See Using the feature general property page tab for more information. See Using the feature Pos Offsets Property Page tab for more information. This button provides ability to reset the segment settings to the same as at the feature level. • The Pos Offsets tab fields are the same as presented at the feature level. When using the feature creation tools. . Changes only take place for the selected segment. • Arc Welding Tab Property pages common with the feature property pages include: • The General property page tab are generalized settings that are used when generating programs.Teaching a Program 341 Using the Segment Property Pages The segment property pages are used to define segment properties that are used when generating programs. but provide the control at the segment level. and fields are the same as presented at the feature level. and the same as presented at the feature level with the exception of the addition of the Reset Segment values to feature defaults button. features can be controlled at a very detailed level. segment property pages provide the same control as the feature property pages. 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. Process parameters can be modified to control the PRO process application plugin. 3. Procedure for creating a feature by drawing lines on CAD 1. . Press the left mouse button once to start the feature. After the Edge line entity button is selected. and a program can be generated. The surface the mouse cursor is over changes color. Select the part to find and create a feature on. and the mouse is dragged over the part. Drag the mouse. A white line designating the normal to the surface is shown. See What features are available in SimPRO for more information on line types. Select Edge line from the Draw selection popup. A feature is created and the property page for the feature is opened. A feature has been created and shows in the cell browser. Single click the left mouse button to start drawing the line. Programs can be generated automatically from these features. and click where there should be a vertex. When using the feature creation tools unique characteristic of the CAD entities can be utilized to create 3D line features.Teaching a Program 342 2. The Draw selection popup will highlight the Surface entities buttons that can be used to generate 3D features. edges will become highlighted under the mouse pointer. 4. The feature is found in the cell browser under the part on which the feature was found. Single button click the left mouse button along the edge to build the feature line. double click the left mouse button. 3. When the end of the edge / feature line is reached. Drag the mouse over the part. The property page should now be showing for the new feature. and the normal to the surface at the mouse cursor is shown. 4. Select the desired line tool from the Draw selection popup. a feature object is shown on the part (the feature line). A program can be generated from the feature. Create a feature with the line tool Features can be generated by drawing lines on CAD surfaces. 2. After the edge has been found. Finish the line by double clicking. 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. The Draw selection popup will highlight the Surface entities buttons that can be used to generate 3D features. The following AVI shows the procedure. Select the part to find and create a feature on. To break a feature into segments. and a program can be generated. . A feature has been created and shows in the cell browser. a feature object is shown on the part (the feature line). After the line has been created. The feature owns the approach/retract distance and speed properties. 2. The retreat point is generated using the orientation of the last point of the last segment in the feature. By breaking a feature into multiple segments. Select the segment from the cell browser or by clicking on it in CHUIWorld. The is required because it is not possible to know how to cross the boundary surfaces since there are infinite solutions. This feature can be broken into multiple segments. The first segment properties control the approach position and the last segment controls the retract position. The property page should now be showing for the new feature. 5. 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. 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. Breaking a feature into segments A feature that has been defined initially has one segment. Feature properties effect segments that make up the feature. Each segment has its own property page. The approach point is generated using the orientation of the first point of the first segment in the feature. If there is only one segment for the feature.Teaching a Program 343 Note: when using the surface fit line and curve tools. The Split Segment button should enable 3. the segment properties control the approach and retract positions. The selected segment is highlighted and the endpoints can be dragged along the feature to adjust segment length. By default a feature has one segment when it is first created. When a segment is first created it inherits the properties of the feature. 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 motion and process can be modified to meet the needs of the process. 1. The segment should break with the new segment being selected in the cell browser and highlighted in CHUIWorld. A program can be generated from the feature. 4. A TP Program is generated from the feature. 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. Reachable points are shown in the UFRAME color chosen. See Working with the segment to program generator to create runable programs topic for tips on resolving unreachable positions. For more information regarding the methods used in PRO to generate features and programs see About program generation topic. Creating a robot program from a feature Features and the segments that define the feature can be used to generate robot programs.. To change orientation while generating programs . 5. Roboguide takes the feature properties and the segment properties to generate programs. Select the feature. It is common to have positions generated that are unreachable. the nodemap for the program is shown. When PRO is done computing the program. 3. The feature shows the new segment in the cell browser. Set the position generation parameters on the feature property pages. Modify position orientation or location while generating programs Orientation can be modified while generating program positions. See Controlling positions being generated in the About Program Generation topic for more information on position generation control. Set the general parameters for program generation on the feature general property page. and ensure that its property page is open. and unreachable positions are shown in red. To create a robot program from a feature 1.Teaching a Program 344 Segment properties can now be set for this segment in the segment property pages. Ensure that the UTOOL is setup for CAD to PATH. 2. A program can be generated from the feature. Modification can be made at the feature or segment level. it may be desirable to have the tooling +Y vector follow along the feature. Select the feature or segment and ensure that its property page is open. Select the Pos Defaults tabUsing_the_feature_Pos_Defaults_Property_page_tab. Select the Change the normal rotation along the path radio button on the property page. Some factors include: • Desired orientation control through the program. 2. there are many factors that influence the desired resulting end of arm tooling motion as the robot moves through the program. 3. This is required when precise alignment of the tooling relative to the part is required (cutting). • Tooling axis alignment to the feature and its segments: For example. To generate a program so that a tool vector tracks the feature line 1. 4. it is desirable to have a tool vector track the feature . In some cases.Teaching a Program 345 1. In some cases. To generate a program so that a tool vector tracks the feature line When generating programs from features. Settings on this tab provide control over the generation of the orientation relative to the feature. Press Ok or Apply to regenerate the program. the precise orientation of the end of arm tool relative to the feature is not as critical (deburring) . In other processes it may only be required to maintain the TCP location along the feature line. • Orientation tracking along a feature and its segments. 2. Set the fields as desired 4. Select the feature or segment and ensure that its property page is open. Select the Pos Offsets TabUsing_the_feature_Pos_Offsets_Property_Page_tab 3. This defines that the Along the Segment selection in the Tool Frame Axis to be aligned with the feature / segment 3D line. Press Ok or Apply to regenerate 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. and programmed speed. The range for the setting is 90 degrees to 180 degrees. 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 Detection field defines how PRO determines arcs and circles between generated points along a feature. The Circular . 4. 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 picture below shows how the angle is used where the arrow tips represent positions. In the Straight Line Detection Frame set the desired number of degrees that determine a straight line. and programmed speed. circularity. Roboguide uses these settings and automatically eliminates points such that the resulting program is within the parameters specified. circularity. To control line tolerance during program generation 1. 3. Select the feature or segment and ensure that its property page is open. Roboguide uses these settings and automatically eliminates points such that the resulting program is within the parameters specified. Controlling line tolerance during program generation Roboguide minimizes the number of points that meet the criteria defined on the property pages for linearity. The Straight Line Detecting adjustment defines how PRO determines linearity between generated points along the feature. 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. 2. Press Ok or Apply to regenerate the program When the program is generated the optimization algorithms use this value to determine whether adjacent positions lie on a straight line. The Pos Defaults property page provides tolerance settings for linearity. Controlling circle tolerance during program generation Roboguide minimizes the number of points that meet the criteria defined on the property pages for linearity. The Pos Defaults property page provides tolerance settings for circularity. Select the Pos Defaults tabUsing_the_feature_Pos_Defaults_Property_page_tab.Teaching a Program 346 When the program is generated the tool orientation is set such that the Along the Segment selection in the Tool Frame Axis to be aligned with the feature / segment 3D line. 3. To reset all segment properties to feature defaults 1. It may be desirable to reset all or individual segment program generation properties back to default values. 2. 2.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. Right mouse click on the item. Select any feature that need segments to be reset to defaults. 2. To control circular tolerance during program generation 1. 3. 4. Right mouse click on the segment in the workcell browser 3. Select Reset to Defaults All properties in every segment are reset to defaults. Select a segment that needs to be reset to feature defaults. In the Circular Move Line Detection Frame set the desired number of degrees that determine an arc. . Select reset to defaults. The picture below shows how the angle is used where the dots represent positions. Press Ok or Apply to regenerate the program When the program is generated the optimization algorithms use this value to determine whether adjacent positions lie in an arc. Select the Pos Defaults tabUsing_the_feature_Pos_Defaults_Property_page_tab. Select the feature or segment and ensure that its property page is open. To reset a single segment to feature defaults 1. Resetting all segments to feature defaults Segments that define a feature can have properties defined uniquely. All properties in the segment are reset to feature defaults. Unreachable positions are colored in red. one can quickly take a new feature and create reachable robot positions. learn by doing or learn from trial and error. Understand the tool frame axes and which axis is generally used for direction of travel along a feature. and see what the results give. o Jog the robot close to the starting point (with desired orientation) as if teaching with the teach pendant. How end of arm tooling is orientated relative to the work piece is critical in achieving effective results. Basically. and then checks the generated positions for reachability. Robot positions are generated mathematically from 3D lines in space. Some tips: • Setup the End of Arm Tooling CAD defaults appropriately. o Modify orientations on the Pos Offsets tab to get the orientation as desired • If points are not reachable: o Often times reachability is due to wrist and tool orientation. Effective use of the automatic generation is enabled by: • Active use of the function to understand the parameters that can effect position reachability. After a few hours of learning. • Create the feature as desired. Roboguide generates the positions correctly. • Understanding how to process the task. • Auto generate the program.Teaching a Program 348 Working with the path generation to create runable programs Automatic path generation does not necessarily create robot programs with reachable positions. use the Cntrl-Shift Click move to function to get to the surface. . Since you are teaching relative to a surface. • Understanding of how the robot works and how orientations can be manipulated. • If points are reachable: o run or step the program to see if the wrist and tool orientation is appropriate for the process. 12.Teaching a Program 349 o Show the teach tool in tool coordinates o Look at how the tool axes line up with the feature and with the program points that were automatically generated. etc. push angle. • Touchup within TP editor and virtual TP. • An Arc Welding tab is added when modifying segments of a feature. Changing the along the feature setting on the Pos Defaults Tab for different segments can allow for changing orientations.1 Creating Arc Welding Programs Creating Arc Weld Process robot programs When WeldPRO is active the Automatic Path Generation user interface presents program properties using weld process concepts.1. but unreachable positions can often be made reachable with slight modification in orientation and location. Select the generated point with the mouse and drag the position triad to see what it takes to make it reachable. Changes will be lost if you regenerate to the same TP program name. • Position offsets are presented using work angle. • Touchup the position by modifying in CHUIWorld. on the Pos Offsets property page. 13. . 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. –X would be used in the tool axis assignment "Along the segment" field. General outline of procedure The key step of procedures is understanding the RTCP frame orientation relative to the feature. the Uframe. For Remote TCP applications.12. Procedures to set CAD to Path feature properties for RTCP programming For the purpose of this discussion. The following figure shows the correct assignment. • 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. • a part has been assigned to an EOAT • the remote TCP has been defined in UFRAME 1. The key issue is that the Feature should be aligned with the Remote TCP frame frame and not the EOAT UTOOL assignments.1. Roboguide provides useful Remote TCP jogging capability. the following assumptions are made: • feature has been generated at the desired location of the part.Teaching a Program 350 13. this is not the tooling definition to use for the Tool axis assignment on the Pos Defaults tab. The purpose of this topic is to give information and techniques relevant to using CAD to Path programming with Remote TCP applications. from negative to positive The following figure shows the UTOOL jog frame. the axes on the pos defaults tab refer to the frame used as the RTCP – i. 1. Jog the robot so that the tooling (RTCP) is oriented as desired relative to the . 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 feature line points in the –X direction of the Remote TCP frame. It is common to be concerned about the orientation of the RTCP frame at the start of the feature.e. When the feature has +X as the "Along" axis. the feature will run along the Uframe’s X axis.2 Creating Remote TCP Programs Remote TCP Automatic Path Generation CAD to Path program generation can be used to generate Remote TCP programs. Display the RTCP frame. Display the RTCP frame The RTCP frame should now be shown so that you can see the frame relative to the feature. then select the RTCP button mode. • Display the UFRAME that is used for the remote TCP definition. Select what axis of the RTCP aligns with the feature normals and the direction of travel along the feature. . 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. The feature line is oriented at an angle to the Remote TCP frame. then select a Cartesian jog frame. 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. 3. The RTCP frame can be displayed several ways: • Use the jog coordinate quickbar. Open the quickbar. 2. For this example the Jog coordinate quickbar is used to put the green teach ball in UFRAME RTCP mode. 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. 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. • Select remote TCP jog from the Fnct key menu on the virtual TP. 4. The following figure gives an example. you need to estimate the angle of rotation required for each tool (RTCP) axis.Teaching a Program 351 start of the feature. The resulting program is shown in the Remote TCP frame on the part. To modify this. . • Use the Pos Defaults tab to make tool axis assignments. Define pos offsets The RTCP frame may not align with the feature exactly as desired. • Do not be afraid to try different settings. If there is not exact alignment of the RTCP frame axis for the desired orientation of the part relative to the RTCP. Trial and error is the key to learning how to best process the part. Use the Pos Offsets to make rotational offsets. Doing this makes it much easier to determine tool axis assignments. It is very easy to generate new programs. 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. you need to estimate the angle of rotation required for each tool (RTCP) axis. the (–X) of the Remote TCP frame most closely aligns with the feature line for the Along the segment setting. an exploded view is shown. The –Z of the Remote TCP frame most closely aligns with the normal line of the feature. • Determine additional rotations are necessary to ensure Remote TCP tooling is correctly oriented relative to the part.Teaching a Program 352 For the example shown. v The Pos offsets tab is shown below. you use the pos offsets tab. 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. For the example. Note: it is very common for the Normal to Surface vector to NOT be + or –Z in Remote TCP applications. Additional comments: In summary. Conditions for automatic generation of a coordinated motion program: . On the General tab of the feature property page select the desired UFRAME that defines the Remote TCP frame.12. and provides for path execution by the follower in a moving frame of the leader. Enable the Remote TCP check box. To create a program at a Remote TCP 1. 3. Generally. This method provides constant relative speed between the two motion groups.Teaching a Program 353 Creating a program at a Remote TCP Path generation can be used with a remote TCP reference. The feature generation property page is visible. Press the Generate TPP button. The option can be selected when creating the workcell using the options list in the Create Workcell Wizard.3 Automatic program generation for coordinated motion applications Using the feature Coordinated Motion property page tab Roboguide CAD to Path generation supports generating programs from CAD to Path features that utilize coordinated motion. 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. 4. 2. Create a feature on the CAD part. The coordinated motion cad to path property page is used to define parameters for generation. where one robot holds the part. The positions are drawn relative to the robot world and will not appear on the part. The following shows a positioner as a leader group and the robot as a follower group. Roboguide supports automatic generation for the following configurations: • Robot and a positioner • Dual arms and a positioner (leader) • Multiple arms where 1 arm is the leader and other arms are followers.1. 13. The remote TCP option must be available on the Virtual Robot controller. The program will be generated using the Remote TCP uframe. If the configuration of the selected robot is multiple arm. • Options settings based upon the configuration of the coordinated motion system: o Compensation: .Teaching a Program 354 • Multiple group system • Coordinated pair is defined and calibrated between 2 groups that will have a program generated. For example: o if minimize tool rotation is selected. 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. These include: o Minimized tool rotation changes through the motion cycle. an interface is provided to define TP program generation for each arm on a single robot controller. CAD to Path will generate a program to reduce the amount of EOAT location changes from the start position. Different applications have different robot motion requirements. CAD to Path will generate a program to maintain the orientation at the start position. The feature coordinated motion property page tab is used to determine key generation parameters including: • Leader group and what axis of the leader group will be used in coordinated motion • Method to optimize generated programs. o If minimize tool location change is selected. o Minimized tool location movement • Coordinated Motion start position: the start position is critical in CAD to Path generation. 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. • Feature processes for multiple robots: in multiple arm configurations it is desirable to generate programs for each follower arm relative to the leader device. . There are many solutions to generating a program that coordinates multiple motion devices because there are multiple solutions. 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. User does not require that he orientation be maintained. If minimize tool location change is selected. The help documentation provides procedures for different coordinated motion configurations: • Robot and positioner: See Creating programs for single arm robot and positioner application s for move details • Dual Arm and positioner Coordination: See Procedure to generate programs for Dual Arm coordinated motion for more information • Robot as leader with multiple robot follower groups: see Creating coordinated motion programs for multiple arm controllers Minimized tool location movement Minimized tool location movement: some applications may wish to minimize the amount the EOAT moves around a part. The goal is to keep the robot EOAT in the smallest envelope of motion.Teaching a Program 355 o Swing: o Range: o Option Using the Coordinated Motion tab to achieve desired results may be an iterative process. Roboguide attempts to provide an interface that significantly reduces the time and effort to attempt different configurations. CAD to Path will generate a program to reduce the amount of EOAT location changes from the start position. The leader group orientation change could large and the follower group rotation changing is minimized. • A workcell is defined that contains a Robot with a Basic positioner.1.12. It is not always a requirement to change multiple axes of a positioner when using coordinated motion. . • The Positioner has been correctly defined at controlled start of the robot. o Method: Minimized tool rotation changes through the motion cycle. • A coordinated frame has been correctly defined between the Leader positioner group and the follower robot group. To generate programs using coordinated motion the following is assumed: • User has read and understands the documentation for using coordinated motion with FANUC robots. Coordinated motion option is present on the robot controller. Minimized tool location movement: • Program Start Position frame: o Joint number selection combo box: defines which joint on the positioner to move when searching. If this value is incorrect. o Axis selection combo box: defines which leader group axes are included in coordinated motion. This defines the relationship between robot and positioner axes.1 Single arm robot and positioners applications Creating programs for single arm robot and positioner applications This topic addresses using the CAD to Path feature coordinated motion property page tab to define generation parameters for a robot and a basic positioner. A machine has been built.Teaching a Program 356 13. Fields included on the coordinated motion property page include: • Coordinated motion generation parameters frame: o Leader group selection combo box: defines the leader group for coordinated motion. The group selected on the General property page is a follower group.3. It is critical that the direction parameter be defined correctly. nodemap drawing may be incorrect. When the robot is moved to the start position • Option button: o Single Circular Command checkbox: when enabled circular command ‘C’ will be changed to single circular command ‘A’ . active leader TCP is set to the center of the feature. This is important to aid in other steps in the process. and select Coord Motion checkbox. enable desired groups. The robot then attempts to move to the Start position. a prompt is presented to Save the current search position. Orient the EOAT . Create the CAD to Path featureWhat_features_are_available_in_PRO_Software 2. 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). A feature has been created on the outside edge of a box. o Write TCP: For vision shift. To orient the CAD to Path feature start point relative to the 3D world Z direction. This function can be used on V6. the positioner group is rotated so that the normal at the start of the feature is oriented in 3D +Z world direction. A robot with a simple single axis positioner is shown. 3. • Apply Button: when pressed.Teaching a Program 357 o Step amount: defines how much the leader should move when forward or backward is pressed. when feature is nearly circle by this button o Rotation Limit Angle: maximum amount of rotation of the leader allowed when generating coordinated motion programs. If saved. The following figure presents and example. On the Feature General tab. o Forward/ Backward search buttons: when pressed the select joint number is incremented by the step amount. 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.33 virtual robot. Move the robot close the start point using surface mouse click. To create a coordinated motion program using CAD to Path features: 1. the Move To Recorded position button is active. For the example shown. If Minimize Tool Rotation is selected. determine which tool axis should be "Along" the segment axis. 10. this Start position is the orientation that will be maintained when generating a program. By manually moving the robot TCP to and approximate orientation for start position. o Define which axis / axes should be used to coordinate the motion o Define which method should be used when generating program positions 9.Teaching a Program 358 approximately as desired for the starting orientation when the program is executed. 7. Generate the program on the General Tab of the CAD to Path 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. The COORD lines in the generated TP program should show relative to the coordinated frame defined on the virtual robot. Press the Search forward button (). 11. Roboguide will provide selections based upon the group mask chosen on the General property page. When prompted if you want to save the start location. When the desired Start location is found. You can step through different start positions quickly. Open the Coordinated motion tab on the CAD to Path feature property page. On the CAD to Path feature’s Pos Defaults tab set the Along the segment field to the desired tool axis. Define Coordinated motion generation parameters: o Define which group is the leader. Define the TP program start position for coordinated motion. It is important to note that Roboguide uses the settings on the Pos Defaults and Pos offsets during its search. +Y is defined as Along the segment. The tooling axis is aligned at this start position as defined on the Pos Defaults tab of the feature. 5. 8. When a desired start orientation for the robot and positioner (CAD to Path feature) is determined. the program may be generated. Press Apply. 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. View the EOAT triad teach ball triad. select yes. 6. Roboguide presents choices to help determine the desired start position. . 1. Arm_2_Feature can be assigned for generation on the coordinated motion property page tab of the Arm_1_feature. • The Positioner has been correctly defined at controlled start of the robot. nodemap drawing may be incorrect.12. This defines the relationship between robot and positioner axes. Group 1 (Arm 1) is assigned as the TP Generation Target group on the CAD to Path General Property page of Arm_1_Feature. speed parameters. It is critical that the direction parameter be defined correctly. If this value is incorrect.3.Teaching a Program 359 13. as is the case with dual arm systems. • A workcell is defined that contains a Robot with a Basic positioner. when there is more than one follower group. the Arm_1_Feature settings are used to determine number of points generated. To generate programs using coordinated motion the following is assumed: • User has read and understands the documentation for using coordinated motion with FANUC robots. Assume Arm_1_feature is chosen for generation. A machine has been built. The figure shows a simple box for a part. a program can be generated that includes position information for each follower group.2 Dual arm controller with a positioner applications Creating programs for dual arm controller with a positioner applications This topic addresses using the CAD to Path feature coordinated motion property page tab to define generation parameters for a dual arm robot and a basic positioner. Coordinated motion option is present on the robot controller. In general. 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 . Two CAD to Path features are created on the part: • Arm_1_Feature: assigned to Arm 1: Group 1 • Arm_2_Feature: assigned to Arm 2: Group 2 You want to generate a single robot program that coordinates both arms with the leader group positioner. The group mask is set for both robot arms and the positioner. • A coordinated frame has been correctly defined between the Leader positioner group and the follower robot groups (dual arms). You must decide which CAD to Path feature will decide the generation constraints of the resulting multi group program. When the program is generated. A procedure will better exhibit the process later in this topic. The selected robot on the general property page then attempts to move to the Start position. o Method: Minimized tool rotation changes through the motion cycle. o Step amount: defines how much the leader should move when forward or backward is pressed. It is not always a requirement to change multiple axes of a positioner when using coordinated motion. the graphic robot moves to start position. The second dual arm is a follow group if the check box is enabled for the second dual arm on the general property page. Minimized tool location movement: • Program Start Position frame: o Joint number selection combo box: defines which joint on the positioner to move when searching. o Move To Recorded Position: moves the robot and groups to the previously recorded Start position. a prompt is presented to save the current start position of leader . After doing a search and Apply is pressed.Teaching a Program 360 Group). Fields included on the coordinated motion property page include: • Coordinated motion generation parameters frame: o Leader group selection combo box: defines the leader group for coordinated motion. but real robot position is not changed. 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. o Forward/ Backward search buttons: when pressed the select joint number is incremented by the step amount. When the robot is moved to the start position o Preview checkbox: When enabled and Next or Back step buttons are pressed. Multiple features are defined on the part with each unique feature having a different follower group (robot) assigned. it includes group position data so that the resulting TP program will process the selected feature with the assigned follower group. o Select button (>): when pressed the selected feature in the Features listbox is moved to the Children Listbox. a prompt is presented to Save the current search position.Teaching a Program 361 and follower groups. Features can be added to the Children list box. The position is also checked when a program is generated. . o Features Listbox: contains the list of currently created features o Children Listbox: contains the list of features to be included during program generation. • Apply Button: when pressed. the Move To Recorded position button is active. Features can be added so that when a program is generated. This function can be used on V6. 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. • Option button: o Single Circular Command checkbox: when enabled circular command ‘C’ will be changed to single circular command ‘A’ . when feature is nearly circle by this button o Rotation Limit Angle: maximum amount of rotation of the leader allowed when generating coordinated motion programs. A list box is presented that contains a list of currently created features. o Remove (<): when pressed the selected feature in the Children Listbox is removed from the Children Listbox.33 virtual robot. This recorded position is useful to quickly get the leader and follower groups to a previously searched start position. o Write TCP: For vision shift. If saved. active leader TCP is set to the center of the feature. enable desired groups. 3. Fixed tool spin. More information on procedure to define is presented later in this procedure. For the example shown: o Arm_1_Feature settings: Target Group: Arm 1 (Group 1) Pos Defaults: Along the segment: +Y. Example shows a feature on each side of a box. Define generation parameters for each feature ensuring that the TP Generation Target group is as desired for each feature. 0.0. For the 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). The following figure presents and example. . Arm_1_Feature will be used to generate the dual arm program.0. o Arm_2_Feature settings: Target Group: Arm 2 (Group 2) Pos Defaults: Along the segment: -Y. This is important to aid in other steps in the process. 0. More information on procedure to define is presented later in this procedure. Config: LUT.2 and 3) o Coord motion checkbox: Enabled 4. . Config: LUT.1 (Groups 1. 2. For the example shown: o Arm_1_Feature group mask: 1. On the Feature General tab that will be used to generate the dual arm program. 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. Fixed tool spin. Create the CAD to Path featuresWhat_features_are_available_in_PRO_Software for each arm.Teaching a Program 362 To create a coordinated motion program for dual arms using CAD to Path features: 1.1. . and select Coord Motion checkbox. 7. Press the Search forward button (). When a desired start orientation for the robot and positioner (CAD to Path feature) is determined. Repeat for the other robot group to determine Tool axis assignments for the feature assigned to the other robot group. 9. It is important to . 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. Roboguide will provide selections based upon the group mask chosen on the General property page. determine which tool axis should be "Along" the segment axis. View the EOAT triad teach ball triad. 5. 6.Teaching a Program 363 To orient the CAD to Path feature start point relative to the 3D world Z direction. You can step through different start positions quickly. the positioner group is rotated so that the normal at the start of the feature is oriented in 3D +Z world direction. Define the TP program start position for coordinated motion. On the CAD to Path feature’s Pos Defaults tab set the Along the segment field to the desired tool axis. Define Coordinated motion generation parameters: o Define which group is the leader. 8. 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. Arm_2_Feature’s Pos defaults Along the segment field is defined to be –Y. Orient the EOAT approximately as desired for the starting orientation when the program is executed. For the example. Continue to use the FWD and BWD buttons on the coordinated motion tab until you determine the desired starting configuration the robot and positioner. o Define which axis / axes should be used to coordinate the motion o Define which method should be used when generating program positions 11. Move the robot close the start point using surface mouse click. the program may be generated. 10. Roboguide presents choices to help determine the desired start position. For the example. The tooling axis is aligned at this start position as defined on the Pos Defaults tab of the feature. this is Arm_1_Feature. By manually moving the robot TCP to and approximate orientation for start position. +Y for the Arm_1_Feature is defined as Along the segment. For the example shown. 12. 13. it includes group position data so that the resulting TP program will process the selected feature with the assigned follower group. The Select Children listbox shows a list of features defined.3. It is required that there more than two robot arms on the controller The virtual robot includes the following options: o Coordinated Motion o Multi Group Motion • A coordinated frame has been correctly defined between the Leader robot group and . 13. select yes. For the example. The COORD lines in the generated TP program should show relative to the coordinated frame defined on the virtual robot. Arm_2_Feature is chosen. When prompted if you want to save the start location.12. • A workcell is defined that contains a controller with multiple arms. Features can be added so that when a program is generated. 14. Generate the program on the General Tab of the CAD to Path Feature.Teaching a Program 364 note that Roboguide uses the settings on the Pos Defaults and Pos offsets during its search. To generate programs using coordinated motion the following is assumed: • User has read and understands the documentation for using coordinated motion with FANUC robots. Multiple features are defined on the part with each unique feature having a different follower group (robot) assigned. Select the feature that should be included during program generation. Press Apply. It is critical that the selected feature use a different robot group for processing.1.3 Multiple arm applications with robot arm as leader group Creating coordinated motion programs for multiple arm controllers Coordinated Motion Program Generation (For Robots) This topic addresses using the CAD to Path feature coordinated motion property page tab to define generation parameters for a multiple robot arm controller where one robot is the leader and other robots are followers. • 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 ‘COORD’ command will be added to motion command lines in the program and coordinated motion positions will be calculated when generating a program. The EOAT is aligned with the normal of the feature at the start of the feature. o Method: Minimized tool rotation changes through the motion cycle (base is work) Minimized tool location movement (Base is tool) • Program Start Position frame This function searches for a program start position. you may use the Coordinated Motion Tab on the feature property page tab. and the coordinated motion option is selected. 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. and rotates around Z-axis of the follower robot’s TCP in the plus direction. o Step Value: Specifies the angle around the Z axis of the Follower robot’s TCP when Next or Back is pressed. Fields included on the coordinated motion property page include: • Coordinated motion generation parameters frame: o Leader group selection combo box: defines the leader group for coordinated motion. When the conditions are satisfied. The appropriate groups are selected on the General tab of the Feature property page.Teaching a Program 365 the follower robot groups. . Group mask is set. When this check box is enabled. This start position can be recorded and used as start position of program generation. 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. The group selected on the General property page is a follower group. a prompt is presented to save the current start position of leader and follower groups. Recorded Position: Program start position is the recorded position that is the save start position that results from a Search. the graphic robot moves to start position. o Features Listbox: contains the list of currently created features o Children Listbox: contains the list of features to be included during program generation. it includes group position data so that the resulting TP program will process the selected feature with the assigned follower group. and rotates around Z-axis of the follower robot’s TCP in the minus direction. Features can be added so that when a program is generated. • Select features selection boxes: used when multiple follower groups will coordinate with the leader group. o Move To Recorded Position: moves the robot and groups to the previously recorded Start position. This recorded position is useful to quickly get the leader and follower groups to a previously searched start position. o Select button (>): when pressed the selected feature in the Features .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. o Start pos combo box: defines what position will be used as the generated program start position. Multiple features are defined on the part with each unique feature having a different follower group (robot) assigned. A list box is presented that contains a list of currently created features. The position is also checked when a program is generated. Features can be added to the Children list box. 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. After doing a search and Apply is pressed. Selections include: Current Position: Program start position is the current robot position. o Preview checkbox: When enabled and Next or Back step buttons are pressed. but real robot position is not changed. The compensated point number is set in ‘Number’. leader robot orientation in the coordinated motion program: control the Slope of the Work. • Number: This setting specified the number of points for the approach/retreat point.Teaching a Program 367 listbox is moved to the Children Listbox. • Work Slope (RY): The work slope from base orientation until the specified angle around the Y-axis of the teaching point of the follower group. o Remove (<): when pressed the selected feature in the Children Listbox is removed from the Children Listbox. • Travel angle revision: Travel angle is compensated at approach and retreat points by the specified angle. • Option button: o Compensation: use to change: the follower robot tool rotation at approach and retreat points to avoid collision with the fixture • Spin angle revision: Spin angle is compensated at approach and retreat points by the specified angle. o Swing: As the generated program runs this moves robots from base position until relative position that is specified in these settings. • Work angle revision: Work angle is compensated at approach and retreat points by the specified angle. o Range: . The compensated point number is set in ‘Number’. • Work Slope (RX): The work slope from base orientation until the specified angle around the X-axis of the teaching point of the follower group. The compensated point number is set in ‘Number’. Check Coord Motion check box. Check leader group number at Group Mask check box. If not reachable. when feature is nearly circle by this button • Apply Button: when pressed. Open ‘ Coordinated Motion’ tab. 6. check group mask of group on the general tab. 3. 10. Click ‘>>(Next)’ or ‘<<(Back).Teaching a Program 368 o Option: includes general generation options: Single Circular Command checkbox: when enabled circular command ‘C’ will be changed to single circular command ‘A’ . 8. 4. a prompt is presented to Save the current search position. Select a leader group from ‘Leader’ combo box. Define feature parameters on feature property page tabs. Select a generation method from Method box. If not listed in Leader box. Open Feature property page /General tab. If robot is reachable with specified tool rotation. 5. If saved. Draw a feature on a part attached on the leader robot.33 virtual robot. Write TCP: For vision shift. active leader TCP is set to the center of the feature. 7. Select a follower group robot from group combo box. Create a workcell that meets above conditions 2. . the Move To Recorded position button is active. the robot will move to start of feature. This function generates a coordinated motion program that the robots move with the leader robot from the specified features. This function can be used on V6. Set value in Step box for rotating around Z-axis of the follower robot TCP. 11. 9. Procedures for program generation 1. it will search start position automatically until robot is reachable. the robots will move back to current position. generate the program. The procedures are written below. After specifying the follower robots to each features property. If select No. the current position will not be recorded. If the robot moves to appropriate position. 5. 15. (Procedures for program generation) 2. Define feature parameters on feature property page tabs. Then select Yes. Open the parent feature property page and set target group number of child feature to group mask on the general tab. two features on the parts must be defined such that the leader robot holds the part. Select third group from Group list box on General tab of the child feature. Open General tab. . Message box ‘May the robot be moved?’ will be displayed.Teaching a Program 369 12. Click Generation Program. If Preview is checked. 16. and add a child feature to Children list box by clicking ‘>’ (Select button) . Define a parent feature by above procedures. 6. Open ‘Coordinated Motion’ tab. Run the program from TP or simulation start. 1. click ‘Apply’ button. Then Select Yes. 13. Click Apply button. select a target feature from ‘Features’ list as child feature. Open General tab on the parent feature property page and click Generate Feature TP Program button. Message box ‘Record this position?’ will be displayed. 14. 4. Then a coordinated motion program will be generated. 3. Draw a child feature on the part that the leader robot grasps. Procedures for a program generation of three robots For three robots coordinated motion. 7. If select No. Select "Cooperated welding vision shift function" from the Tools main menu item. The virtual robot must be restarted for calibration data to become effective.Teaching a Program 370 Program Start Position frame This function searches for a program start position. The calibration data of the two robots is defined. This functionality is only available with a specific configuration of robot systems. The EOAT of the Robot selected on the General property is aligned with the normal of the feature at the start of the feature. This start position can be recorded and used as start position of program generation Procedure to generate programs for Dual Arm coordinated motion This topic presents procedures for using the coordinated motion automatic path generation functionality. . It includes information for setting up and program generation for robots in the workcell. This calibration data is initially set to sample data for the robots configuration in the workcell. The calibration data is made from the position of two robots in the work cell by the following operation and it is sent to the virtual robot Calibrating 1. Press the "Exec" button. Initializing the workcell 1. If robot locations change you need to execute the calibration function. Procedure to use the coordinated motion functionality. 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. Enable "Set virtual robot corresponding to relative location among robots" 3. 2. Enable "Connect to virtual robot" 2. Open the Sample work cell. ) The property page should look similar to the following: . 4. Select Edge line from the Draw selection popup. Single button click the left mouse button along the edge to build the feature line. Press the left mouse button once to start the feature. A feature is created and the property page for the feature is opened. o Uncheck RTCP o Select UFrame number 0 o Select tool frame number 1. (Select "No" in the message box of the confirmation. The calibration data becomes effective Define Feature 1. Open the Draw selection popup menu by pressing the Draw Features on Parts toolbar icon () or select Draw Features Parts under the Teach main menu item. On the General tab of the feature property page define the fields as follows: o Input the desired program name in the TP Program Name field o Select group 1 from Group combo box. The following figure is an example of an edge. The feature is found in the cell browser under the part on which the feature was found. Click the Apply button. 2.Teaching a Program 371 4. double click the left mouse button. Select the part to create a feature on. 3. When the end of the edge / feature line is reached. After the Edge line entity button is selected. edges will become highlighted under the mouse pointer. A white line designating the normal to the surface is shown. 5. Restart the virtual robot by selecting main menu item Robot/ Restart Controller / Cold Start. and the mouse is dragged over the part. The Draw selection popup will highlight the Surface entities buttons that can be used to generate 3D features. 8. Move to an initial position of the robot of group 1 by using TP. 12. Select the Pos Offset tab o RX Angle = -45 degrees o RY Angle = 10 degrees 11. Click Apply button. Select the Prog Settings tab on Feature property page and input operation speed in the Segment speeds field. 2. Setup the fields as follows: o Tool Frame Axis <=> Feature Axis Assignment: Normal to Face is +Z. 7. 9. Change TCP orientation of the robot of group 1 by using TP and to turn to the right under. Select the Approach / Retreat tab and define as desired 10. Select the coordinate motion tab. o Circular Move Detection should be set to often.Teaching a Program 372 6. Press the Help button if you require more information on Circular move detection. Select the Pos Defaults Tab. Select "Yes" in the message box of the confirmation. Along the feature is -X. Set the fields as follows: o Enable the Dual Arm Coordinated Motion checkbox 13. Defining TCP Orientation 1. (Move to the suitable . o Enable Change tool spin orientation along the path. it is necessary to change position of group 1. Open "Coordinated Motion" tab on the feature property page 2. The program can be validated by stepping the TP program from the TP editor. respectively. . The ratio of the route that the orientation is revised to all routes is specified. select ">>" or "<<" button and the next searching position is used. o If the position is suitable (posture that two robots do not overreach). If the message box is not displayed. "Work Angle Division". click "Apply". the current position of the robot can be is recorded. Move to the starting position by pressing the "Move to recorded pos. and it is used as an initial position of automatic generation. After moving the robot by searching start position.Teaching a Program 373 middle position between robots.) 5. It uses it in case of interfering with the fixture or the part. Then compensation settings are displayed. Select "Comp." Button. o If the position is not suitable. (When the button is clicked. The current location of the robot of group 1 is used as an initial position.) When an initial position that can reach is obtained. (The initial orientation of the TCP will be searched by spinning group 1 robot’s TCP. click "Apply" button. 1. ) 3. Select "Yes". 3. 5 and10 to "Spin Angle Revision". the robots will move to initial position. 4. Input 10. and the question "May the robot be moved?" is displayed. and "Travel Angle Revision". 4. Oopen "General" tab of the feature property window and click "Generate Feature TP Program" to auto generate the TP program. It uses it to lengthen the revised section in processing beginning/end point neighborhood. Revision of the robot orientation Interference can be avoided by adding the revision to orientation in the first and last part of the program." button. Search an initial position by clicking ">>"(Next) or "<<"(Back)button. and Offset Z for the right " Location " (maximum value of the shift amount). Input 50 for "Unit" field (width of the shift amount) within " Location ". When it fails in the generation of the program or the stroke limit is generated. 2. The start orientation shift function A starting orientation is shifted and the program is generated. 6. 7.) 6. 4. The TP program will be generated. Click "Apply" button. 9. The starting position shift function. Input 5 and 10 to "Retreat" of "Work Angle Revision" and "Travel Angle Revision". A starting position is shifted and the program is generated. respectively. 3. The program can be validated by stepping the TP program from the TP editor. Open "General tab" on the feature property window and click "Generate Feature TP Program" button to generate the TP program. Input 50 for Offset X. Input –50 for Offset X. to click "Range" button for showing "Range" settings. Click "Apply" and "Close" button. Then the starting position is re-set. Open "General tab" on the feature property window and click "Generate Feature TP Program" button. Confirm that starting posture is revised with "<<" or ">>" button.) 7. Offset Y. (27 ways are calculated in this example. The program can be validated by stepping the TP program from the TP editor. Select "Shift Location" from "Shift Mode" list box. it uses it.Teaching a Program 374 5. 5. Open the "Coordinated Motion" tab on the Feature property window. (Select "No" in the message box of the confirmation. . Click Apply and record the robot position. 1. Offset Y. 8. When it fails in the . and move the robot. and Offset Z for the left "Location" values(minimum value of the shift amount). 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). to click "Range" button for showing "Range" settings 2. 8. it uses it. Select "Shift Rotation" from "Shift Mode" list box. Click "Apply" button. 4. Open "General tab" on the feature property window and click "Generate Feature TP . (width of the shift of the angle). 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). it uses it. 3. the starting position shift function becomes invalid Movement function of the work that robot is grasped. The program where only the direction and the distance to which work is set move is generated. Open "Coordinated Motion" tab on the feature property window. Y and Z "Swing Leader Group" respectively and click "Apply button". 1. 250 degrees of the default value are set to R.100 and 50) in X.Teaching a Program 375 generation of the program or the stroke limit is generated. When a short circular arc is processed. 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"). Input a suitable value (example -50. Open "Coordinated Motion" tab on the feature property window. When interference and the stroke limit are generated when work rotates. (Select "No" in the message box of the confirmation. and Click "Swing" button. ) 7. 5. 1. Operate above 6-13. Input 5 to "Angle unit". it sets it according to a circular arc angle. (Note) The direction indicates the direction of TCP coordinates of group 1. Moreover. 3. This value is a value intended for all surroundings processing of work. Input 50 to "Approach Rate" and "Retreat Rate" respectively. 6. 2. If the program is started by the TP emulation. This value is a value intended for all surroundings processing of work. division number * 2 and retreat point 1. Approach point. . Rotation function of Arc tool The program is generated for rotating the arc tool by specified rotation angle.Teaching a Program 376 Program" button. it uses it. Then TP program will be generated. 2. 1. Division number The instruction point of the program generated with the specification of "Division" number of arc is specified. The TP program is generated. When interference and the stroke limit are generated. If the program is started by the TP emulation. it sets it according to a circular arc angle 3. 4. The composition of the generated instruction point is as follows. (Note) When 0 is set to "Division". Open "General" tab on the feature property window and click "Generate Feature TP Program" button. 4. and Click "Option" button. Then TP program will be generated. Open "Coordinated Motion" tab on the feature property window. Open "Coordinated Motion" tab on the feature property window. Open "General" tab on the feature property window and click "Generate Feature TP Program" button. (Note) 100 degrees of the default value are set to R. operation can be confirmed. Input 2 to "Division" and click "Apply" button. When a short circular arc is processed. The program can be validated by stepping the TP program from the TP editor. Input a suitable value (example 60) in "Swing Target Group" R and click "Apply" button. circular arc beginning point. operation can be confirmed. "Division" is set to four 3. 2. and Click "Swing" button. and it writes it in the actual tool frame of handling robot. . 3. the circular command of the generated program becomes single circular command. and click "Apply" button. and Click "Option" button.Teaching a Program 377 Writing center position to TCP Circular arc center coordinates are calculated from specified feature. 2. Then the center position is written to actual tool frame of handling robot. Open "General" tab on the feature property window and click "Generate Feature TP Program" button. 1. Validate " Write TCP". Open "Coordinated Motion" tab on the feature property window. Single Circular command When "Single circular command" is validated. Conveyor Tracking with Roboguide 378 14 Conveyor Tracking with Roboguide About Conveyor Tracking with PRO Software Conveyor tracking includes: • Line Tracking: where the robot is stationary • Rail Tracking: where the robot is on a rail The setup for the two tracking types is different. This defines the CAD that is used to represent the conveyor. Machine Library: a previously saved definition CAD File: a CAD file. . o Box. When adding a line different types of CAD can be used for the line. For a complete discussion of line tracking with FANUC robots refer to the Line Tracking setup and operations manual. Conveyor tracking requires accurate setup. Add a conveyor fixture to the workcell This procedure outlines how to add a conveyor and part to a workcell. A link axis must be defined that defines what will move on the conveyor. but programming is very similar. Sphere: primitives that can be parametrically defined. Open the cell browser 2. To add a conveyor fixture to the workcell 1. Cylinder. and select Add Link from the popup menu. Box. o CAD library o CAD File: a CAD file. Right mouse click on the fixtures category and select Add Line from the popup menu. 3. Cylinder. When adding a link different types of CAD can be used to represent the carrier for what will move on the conveyor. Sphere: primitives that can be parametrically defined. Right mouse click the conveyor object in the cell browser that was created. After selection the object should be available in the workcell with the property page for the conveyor open. The 3D Frame represents the frame that will move when the conveyor moves. Roboguide initializes the encoder number 1 to 1. Press the Select 3D Frame button on the General Tab. 7. Roboguide detects if line tracking is installed. If the encoder setup page is not visible. 4. The virtual robot has the ability to simulate encoder pulses. To configure the virtual robot encoder for simulation Using the virtual TP 1. The conveyor should now be defined. If installed. To have the conveyor simulate. Select Menus / Setup. At workcell initiation time. On the general tab select the desired robot and robot tracking frame that will be used. Open the virtual Teach Pendant 2. Note: left mouse click on the CAD object before moving it to ensure that the CAD is selected. select F1-Type / Encoders. and line tracking programs must be taught. For detailed explanation of line tracking see the FANUC Line Tracking manuals. and not the 3D Frame. With this and robot programming a simulation of a line tracking program is available. Select the Link CAD tab. the virtual robot must be configured for line tracking simulation. The encoder setup page should show. Open the encoder setup page. or if you have multiple lines to simulate the desired encoder number should be entered). The following procedure can be used to reset the encoder number.Conveyor Tracking with Roboguide 379 After selection the object should appear relative to the conveyor object. The property page for the new link is shown. Configure the virtual robot encoder for simulation The encoder on the virtual robot must be defined and setup for simulation. 8. 5. Modify the frame location such that the +X direction of the 3D Frame is in the direction of the conveyor movement. 3. In the encoder axis field enter the encoder number (normally 1. . Modify the CAD Location to represent the location of the CAD relative to the conveyor. Other encoders remain at 0. 6. The Link CAD is what moves when the 3D Frame moves. If the encoder setup page is not visible. Select Menus / Setup. The virtual robot has the ability to simulate encoder pulses.Conveyor Tracking with Roboguide 380 4. select F1-Type / Encoders. Open the virtual Teach Pendant 2. Set the Simulate conveyor field to ON The encoder is now enabled for simulation. Open the encoder setup page. Fields include: • Name: Link Axis description • Robot: Robot to track • Sched: the tracking schedule that is used with this axis/ conveyor. Cold start the controller The encoder is now defined. Set the encoder enabled field to ON 4. The encoder setup page should show. The encoder will be simulated from TP Programs. 3. To configure the virtual robot encoder for simulation 1. The encoder can be simulated from TP Programs. For detailed explanation of line tracking see the FANUC Robotics Line Tracking manuals. Using the conveyor link general tab The conveyor general tab is used to define the tracking schedule that is used with the axis attached to the conveyor. Enable the virtual robot encoder for simulation The encoder on the virtual robot must be defined and setup for simulation. It is also possible to now set the simulate feature to ON at the same encoder setup screen. The conveyor toolbar should now function. . With this and robot programming a simulation of a line tracking program is available. Line tracking may be configured using either the tracking schedule property page or directly from the virtual robot controller. For a complete discussion of line tracking with FANUC robots refer to the Line Tracking setup and operations manual. The conveyor will follow this frame’s X direction when driven by the simulated conveyor on the virtual robot. • Select 3D Frame: when pressed the frame origin is selected. Modify the Frame to define the frame location to meet this requirement. • Frame: define tracking frame • Boundaries: setup tracking boundaries. • Frame Locked: when checked the Frame Location value can not be modified. When Parent relative is selected the numbers shown in Frame Location are relative to whatever object is the parent of the selected object. the tracking frame must have the +X direction of the frame in the direction of conveyor movement. • Show Reference: is for reference only. . A key function of the PRO Software property page is the ability to see boundaries as virtual walls in the workcell.Conveyor Tracking with Roboguide 381 • Frame Location: defines the visualized tracking frame for the conveyor. By definition. Tabs on the tracking schedule property page include: • General: Define general schedule parameters. • Frame Visible: when checked the frame is shown as a motor for visual reference. Using the tracking schedule property page The tracking schedule property page has fields to define line tracking schedule information. When robot relative is selected the numbers in Frame location are relative to the robot world. Setting fields on the tabs of the property page sets corresponding fields on the virtual robot controller. The frame origin is the coordinate system that defines the tracking travel. Conveyor tracking requires accurate setup. This is a critical setting for performance. This defines to the robot controller if the rail axis positive motion direction is the same as the conveyor. Only enable schedule you are using. o Encoder: defines which encoder number is used for tracking. Setting this field defines the Robot Tracking Group setup option on the virtual robot tracking setup menu. If it is not enabled. Setting this field defines the Part Detect Dist. Fields include: • Appearance Frame: Settings effect schedule information that PaintPRO uses. Settings on this tab can set parameters on the virtual robot that can also be defined on the virtual robot tracking schedule menus. Setting this field defines the Encoder number setup option on the virtual robot encoder setup menu. The value is POS if the +X of the robot extended . o Group: defines which robot motion group to use for tracking. • Tracking Frame: o Type: defines the tracking type.Conveyor Tracking with Roboguide 382 Using the tracking schedule general tab The tracking schedule general property page has fields to define tracking type and other general tracking parameters. o Name: a descriptive name for the boundary. and circular tracking. setup option on the virtual robot tracking setup menu. o Enabled: when checked the schedule is enabled for use with Roboguide. Schedule 1 is initialized to enabled while all other schedules are initialized to off. rail tracking. For PaintPRO. Setting this field defines the Tracking Type setup option on the virtual robot tracking setup menu. o Color: defines the color of the boundaries wall and positions that are taught using this tracking schedule. • Rail: if type is set to Rail additional settings are available o Direction: Defines the track axis direction for the rail tracking. Types include line tracking. o Detect Distance: defines the distance along the conveyor the body detect switch is from the origin of the tracking nominal frame. Roboguide simulations will not update. setting these fields defines appropriate settings for PaintTool. o X. 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). PaintPRO modifies selections on this tab for the painting process. r values. o Show reference: defines what frame of reference to show x. setting these fields defines appropriate settings for PaintTool. z. Positions are recorded relative to the tracking frame. w. • PaintPRO o Used: . Y. Fields include on the Frame tab for Roboguide software other than PaintPRO: • Roboguide software other than PaintPRO: o Used: the frame used for tracking. R: defines the appropriate value for the tracking frame. o Edit Frame Data: when enabled the tracking frame data can be modified.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. This setting only defines what frame of reference is used. and also positions taught relative to the frame. o Record / Use Current triad position: when pressed records the current position of the visible frame into the position fields. For PaintPRO. o Extended axis: defines which robot extended axis tracks the conveyor. If Rail tracking is selected on the general property page. p. The nominal frame. y. P. Using the tracking schedule frame tab The frame tab has fields to define the nominal tracking frame for Cartesian line tracking. Values on the virtual robot are respect to world frame. Settings on this tab can set parameters on the virtual robot that can also be defined on the virtual robot tracking schedule menus. W. move with the conveyor. and does not change how numbers are saved to the virtual robot. The nominal frame tracking frame defines the frame of reference for positions that are used during line tracking. Z. setting the nominal frame has no effect since rail tracking does not use the nominal tracking frame. the boundary represents the aux axis value of a position that must be in bounds before the robot will move to the position. The follow pictures show examples: In this case Upstream boundary is a negative value. In this case both upstream and down stream are positive values relative to nominal frame. move with the conveyor. Positions are recorded relative to the tracking frame. and downstream boundary is a positive value relative to nominal frame. The tracking system uses the boundaries to determine whether the robot should move to a tracking program position. The nominal frame. P[2] is still upstream from the boundary so the robot will wait at P[1] tracking the conveyor movement. An upstream boundary is generally less than the down stream boundary when considered relative to the nominal tracking frame origin.Conveyor Tracking with Roboguide 384 For Cartesian (6 axis) tracking systems: the field defines which UFRAME should be used for the tracking frame data. If a position travels past the outbound boundary (out of the window). Boundaries are calculated relative to the defined nominal tracking frame. The robot can move to P[1] since it is past the upstream boundary. 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). a TCP position that is used with line tracking. . The value represents an auxiliary axis position for the robot vs. For rail tracking. Using the tracking schedule boundaries tab The tracking schedule boundaries tab has fields to define the boundaries for the tracking schedule. a alarm is generated by the robot controller. The following figure shows P[1] which has passed the tracking boundary. Nominal tracking frame definition The nominal frame tracking frame defines the frame of reference for positions that are used during line tracking. 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. and also positions taught relative to the frame. The robot will not move to the current TPP line position until the position is beyond the upstream boundary (in the window). Understanding how boundaries are defined is important to obtaining effective values for the boundaries. and not move to P[2] until P[2] passes the upstream boundary. A value of Default means that he default nominal tracking frame data is used. The parts can then be picked and/or place on the moving line. For line tracking: Enter this value relative to the origin of the nominal frame. For rail tracking: this records the current position of the auxiliary axis. . For line tracking: Enter this value relative to the origin of the nominal frame. Programming for this is like any other TPP Program that does not have tracking operations. o Downstream: defines the downstream boundary value. For rail tracking: Enter this value as an auxiliary axis position where the boundary should be. Adding parts to the conveyor fixture Parts can be attached to the conveyor links just like any other machine axis. o Use Current TCP: For line tracking: records the boundary value relative to the nominal frame origin along the nominal frames X axis to the current robot TCP location. by FANUC Robotics convention. Fields on the boundaries tab include: • Active Boundary: o Boundary set listbox: defines the boundary set of the selected schedule to be defined. defined along the direction of movement of the conveyor. PaintTool and PaintPRO have additional tracking capability that are specific to the painting process. o Upstream: defines the upstream boundary value. The nominal frame X axis is. this moves the robot auxiliary axis to the upstream / downstream value. 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: Enter this value as an auxiliary axis position where the boundary should be. For rail tracking. See adding parts to a fixture. These rules apply to HandlingTool.Conveyor Tracking with Roboguide 385 This should be understood when setting the boundaries for a tracking schedule. 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. or a TP program can be executed. The program can then be run whenever it is required to start a part moving down the conveyor. Add the instructions to the program LINE[1] ON – this enables the encoder LINESIM[1] ON R[2] – where R[2] is the register that holds the encoder speed LINECOUNT[1] R[1] – where the first 1 is the encoder num and the second 1 is the register to store the linecount value SETTRIG LNSCH[1] R[1] – where the first 1 is the line tracking schedule to be used and the second 1 is the register that tells schedule the encoder body detect value .Conveyor Tracking with Roboguide 386 Create a program that synchronizes conveyor movement in a workcell Roboguide uses controller events to enable the simulation of the conveyor. Create a new program 2. 1. To synchronize using a TP program you create a program that simulates the conveyor and sets the line trigger value. To create a TP program that enables the conveyor. Add the instruction to the program LINESIM[1] ON R[4] – where R[4] is the register that holds the encoder speed value of 0 . When Roboguide detects a Line Set trigger command. 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. To change the conveyor speed to zero or not moving 1. 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. The system is synchronized. Create a new program 2. The robot can be synchronized using the conveyor toolbar or by running a TP program that does a Settrig TP command. Create a TP Program that simulates a conveyor not moving The conveyor toolbar can be used to simulate the conveyor to not moving. simulates the conveyor. 7. 2. Enter the line track schedule number. 4. and select Boundary entries on the screen. Press Enter 6. Open the virtual Teach Pendant. 3.Conveyor Tracking with Roboguide 387 When this program is run the conveyor speed goes to zero. For more information see FANUC Robotics Line Tracking manuals. Press End and then Edit to go to the TPP Editor page. Synchronize the conveyor system by using the conveyor toolbar or by executing a simulation setup TP Program. To creating a TP Program that uses tracking 1. Asks if you want to re-synchronize the conveyor Select NO and press Enter . The steps are: • TP Program creation that enables tracking for the program in the program header information. Press NEXT softkey. 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. the continue tracking. Press Select Key on the virtual TP. After pressing Edit the Teach Pendant asks if the current part detect trigger value is valid. • TP Instructions that move the robot The following outlines the process for a basic program that will do tracking. 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. NOTE: you must create the line tracking program using the virtual TP. 5. The select screen will open on the virtual TP. 8. Press CREATE and enter a name for the program. The detail screen should now show for the new program. Creating a TP Program that uses tracking Creating a TP program within the PRO software environment that uses tracking works exactly as you would on an actual robot. Press Next. 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. Reverse is defined as the -X direction of the tracking frame that is used to define the line. In order to run the program with the part starting at the beginning of the line a new trigger must be defined. This definition is made on the conveyor fixture general property page tab • BWD: sets the conveyor direction to be reverse. This definition is made on the conveyor fixture general property page tab . PRO software uses the conveyor simulation capability of the robot controller. If you want to control the conveyor from your TPP program add tracking instructions for line enable. you can use the conveyor toolbar to index the conveyor.Conveyor Tracking with Roboguide 388 The teach pendant editor is now opened where positions can be taught. 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. you do not have to add these instructions. Forward is defined as the +X direction of the tracking frame that is used to define the line. 9. Buttons on the toolbar include: • Stop: stops the conveyor movement • FWD: sets the conveyor direction to be forward. line count and set trigger. As you teach positions. line simulation. Pressing buttons on the toolbar change settings for the virtual encoder. The taught positions should move with the conveyor movement. 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. 10. Teach the positions When the program is run it will execute by triggering the part to the body detect distance from the nominal frame origin. Use the conveyor toolbar The conveyor toolbar is used to control the line tracking conveyor. With Cartesian tracking. The robot can also be mounted above or below the conveyor. To open the conveyor toolbar 1. Joint motions are not supported. where it can easily reach the parts as they move past it. 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. Cartesian tracking is restricted to Linear and Circular program motions. In addition. • Speed: speed of the line in mm/sec • 1X. possibly reducing the workspace. Press the conveyor toolbar icon on the toolbar () The conveyor toolbar will open. 4X: changes the speed of the conveyor. Note Program path planning and teaching is critical for Cartesian tracking. or on a rail or other integrated extended axis depending on the needs of the application. Opening the conveyor toolbar If the line tracking option is enabled on the virtual robot the conveyor toolbar is available.1 Line Tracking with Roboguide Line Tracking with PRO Software Cartesian tracking refers to a stationary robot whose Tool Center Point (TCP) position is adjusted to track the motion of a conveyor. . There are two kinds of Cartesian tracking: Line and Circular (not to be confused with Linear and Circular motions). 2X. 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. 14. Inefficient paths can restrict robot movement around the workpiece. The part defined for the conveyor is placed the body detect distance from the nominal frame. Because of this. The robot is usually mounted on a stationary pedestal beside the conveyor.Conveyor Tracking with Roboguide 389 • Detect: initiates a body detect. 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. PaintPRO has specific capability to configure PaintTool and its use of line tracking. TPP Tracking instructions are used exactly like on the robot. Conveyor tracking requires accurate setup. 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. Circular and Joint program motion is not permitted. or on a rail or other integrated extended axis depending on the needs of the application. The robot can also be mounted above or below the conveyor. Note Only Linear program motion is supported for circular tracking. • Has a conveyor toolbar to control the conveyor PaintPRO applications often use line tracking. The robot can be located either inside or outside the circle of the conveyor. • Simulates conveyor movement when the SetTrigger line tracking instruction is used. Roboguide has abilities to create workcells that utilize controller line tracking capability.Conveyor Tracking with Roboguide 390 Cartesian circular tracking consists of a circular conveyor or rotary table which moves parts past a robot. For a complete discussion of line tracking with FANUC robots refer to the Line Tracking setup and operations manual. Build a virtual robot for line tracking Virtual robots used with line tracking have to be configured with conveyor tracking options. Note Circular tracking does not use tracking boundaries at this time. Roboguide: • Uses the encoder simulation capability of the virtual robot controller to simulate the moving line. • Provides interfaces to model conveyors and objects on conveyors • Uses the virtual teach pendant and TPP programming for programming line tracking applications. When Roboguide detects that line tracking is enabled on a robot controller the capability to create conveyor fixtures is enabled. To configure a virtual robot for line tracking 1. Create a new workcell by selecting File / New from the main menu or clicking on the . See Configuring a virtual robot for line tracking for more detail. Select the Line Tracking Option 4. This procedure refers to other topics which provide additional detail. 3. For detailed explanation of line tracking see the FANUC Robotics Line Tracking manuals. . tracking setup. Create a new workcell 2. and other steps. A workcell should be open in PRO software with the line tracking option available on the virtual robot. General procedure for setting up a line tracking workcell The following general procedure outlines the steps to create a line tracking workcell. Finish the wizard When the virtual robot is finished serializing the Line Tracking Option is available on the virtual robot. TP programs to simulate the conveyor. 3. Follow the steps for the workcell creation wizard until the Robot Options step. Configure the robot encoder. 2. This includes encoder setup. Add a _ conveyor: 4. Select the Line Tracking option in the Robot Options step of the workcell creation wizard.Conveyor Tracking with Roboguide 391 New Workcell icon on the toolbar. adding conveyors to the workcell. The basic flow: • Create a workcell • Configure the line tracking system • Simulate the conveyor • Create programs to track General procedure for setting up a line tracking workcell 1. Conveyor Tracking with Roboguide 392 5. This is the distance from where the Nominal frame origin is taught to the detect switch on the conveyor. The program paths can then be copied from one robot to another. Tracking schedules are defined on the virtual teach pendant on the Tracking Setup pages or on the schedule property pages in Roboguide. If this value is not set to 1 ensure that the encoder is defined on the virtual robot. Configure the robot tracking schedule information. This number creates a reference between the nominal tracking frame and the part detect switch. 6. o Trigger register: NOTE: it is important that a non zero DIN be used. This compensates for varying part detects. Configure the robot line tracking schedule information The tracking schedule information defines the line tracking parameters that will be used for a running program. For detailed explanation of line tracking see the FANUC Robotics Line Tracking manuals. The workcell should now be available for line tracking robot programs. To configure the robot line tracking schedule information using the schedule property pages in Roboguide 1. o Enter the desired Detect distance. Open the desired tracking schedule from the cell browser 2.. The number is used in simulation to place the starting point of the part on the conveyor relative to the nominal frame. If a . The following picture shows an example of the parameters of the line tracking setup parameters. as long as the individual part detect distances are correctly specified for each robot. This includes simulating the conveyor. Create a program that tracks. and running a tracking motion lines. On the general property page: o Enable the tracking schedule if this schedule will be used in TPP Programs o Enable Line for Line tracking o Define which robot group will be used for tracking (usually group 1) o Define which encoder to use (usually 1). triggering the body detect. The default tracking schedule is 1. o Track Axis Num: 0 – used for rail tracking . 4. It is required that the +X of this frame be in the direction of the conveyor. The robot will not move to a point until it is in the boundary window. Setup the tracking fields: o Robot Tracking Group: generally 1.Conveyor Tracking with Roboguide 393 non zero DIN is not used. an R value of +90 or –90 is required. o Tracking Type: Line o Visual Tracking: NO o Use Vision part queue: NO o Use Tracking Uframe: NO o Nominal Track Frame: the nominal track frame defines the frame that is used for line tracking programs. The Tracking setup page should show. If the tracking setup page is not visible. an R value of +90 or –90 is required. The nominal track frame defines the frame that is used for line tracking programs. The following picture shows a description. Note that boundary values are relative to the nominal tracking frame origin defined. Generally. On the Frame property page define the Nominal tracking frame. It is required that the +X of this frame be in the direction of the conveyor. 3. 3. Open the tracking setup page. Generally. If a different schedule is desired change the schedule by using the SCHED softkey. Open the virtual Teach Pendant 2. Select Menus / Setup. select F1-Type / Tracking. defines the upstream and downstream line tracking boundary that the robot should move within. On the boundaries tab define the boundaries. and is calculated along the frames X axis. the teach menu that tells you to setup the tracking schedule will be shown when you select a program. To configure the robot line tracking schedule information using the virtual TP screens 1. used with vision o Trigger INPUT number: is used for real world systems to define the DIN for the trigger switch. The number is used in simulation to place the starting point of the part on the conveyor relative to the nominal frame. The tracking schedule should be defined and can be used in a TP program. This number creates a reference between the nominal tracking frame and the part detect switch. and is calculated along the frames X axis. For simulation purposes enter a DIN number that can be used (8 is commonly used for simulation). The robot will not move to a point until it is in the boundary window. Note that boundary values are relative to the nominal tracking frame origin defined. as long as the individual part detect distances are correctly specified for each robot. NOTE: it is important that a non zero DIN be used. If a non zero DIN is not used. The program paths can then be copied from one robot to another. The default value of 500 is sufficient for simulation purposes. The following picture shows a description. ). o Bndry Set 1-10: Up: and Dn: defines the upstream and downstream line tracking boundary that the robot should move within. the teach menu that tells you to setup the tracking schedule will be shown when you select a program. . This can be manually entered and should be obtained from the real world system if desired. This compensates for varying part detect o Vision Uframe Dist: .Conveyor Tracking with Roboguide 394 o Track Axis Direction: Positive – used for rail tracking o Tracking Encoder Num: must be the same as defined in the encoder setup o Enc Scale Factor: defines the number of counts of the encoder for every mm movement of the conveyor. o Part Detect Distance: the distance from where the Nominal frame origin is taught to the detect switch on the conveyor. o Selected Boundary Set: which boundary should be used with Tracking Schedule. the P-500 uses six axis Cartesian line tracking rather than 7 axis rail tracking. Tracking type used: P-500 workcells: The P-500 robot arm has 5 axes. This joint controls the world Y motion of the arm. and utilize many advanced capabilities of the line tracking system. Zoomed in view: The boundary crosses a paint stroke in the middle of the stroke.Conveyor Tracking with Roboguide 395 14. Zoomed out view: The boundary crosses a paint stroke in the middle of the stroke. This topic discusses specific functions of line tracking and how they are used with paint applications. As discussed in Using the tracking schedule boundaries tab. Since the robot is a six axis robot. It is not desirable to start a paint stroke before the entire stroke (on to off) has entered the tracking boundary. PaintTool uses conditional node features of the line tracking system. the nominal tracking frame origin (x. Nominal tracking frame: Generally PaintTool defines the nominal tracking frame to be at the base of the robot with a rotation to define the +X direction of the nominal tracking frame in the direction of the conveyor. z values) is generally kept at the zero / world frame origin of the robot. Tracking Boundaries Like standard tracking. . It also discusses requirements that the programmer must be aware of when programming paint robots. PaintTool uses conditional nodes to control whether the robot should start a paint stroke before the stroke can be completed. This nominal tracking frame can be modified either on the virtual robot teach pendant or on the tracking schedule property page.1. a boundary is the distance from the origin of the nominal frame to the upstream and downstream positions. The following figures illustrate the situation. Additionally. a conveyor stoppage could leave the gun on while the robot waits for the next robot position to enter the tracking boundary. Joint one of the robot is defined as the rail motor. Non P-500 Workcells: PaintPRO support both 6 axis line tracking robots and rail tracking robots. If a paint stroke were allowed to begin its motion before the off node for the stroke enters the tracking boundary. Tracking type is defined on the Schedule General Property Page Tab. To configure a paint robot utilize the same methods as used with PaintTool at controlled start. PaintTool uses upstream boundaries to keep the robot from moving to a position before it enters the work envelope. For simplicity. and is set on a rail that defines the sixth axis. y.1 Line Tracking with PaintPRO and PaintTool Line Tracking with PaintPRO and PaintTool PaintPRO and PaintTool utilize line tracking extensively. Tracking schedules and Paint Zones with PaintPRO and PaintTool When generating paint zones and their associated programs. paint zones. Therefore. all paint zones / programs that use the changed tracking schedule must be regenerated to use the new boundary values. For more information see Using the paint zone Paint Process tab . By marking the Gun off position as a conditional off node.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 has settings to automatically define conditional gun off nodes when auto generating robot programs from paint zones. the complete on to off stroke can be completed. When a program is generated the tracking schedule information and boundary information is embedded into the generated robot program. PaintPRO defines schedules in the following way: P-500 Workcells: • PaintPRO assigns Tracking Schedule 1 with Boundary 10 as the active boundary to the Group 1 P-500 arm • PaintPRO assigns Tracking Schedule 2 with Boundary 10 as the active boundary to the Group 2 P-500 arm Non P-500 Workcells: • PaintPRO assigns Tracking Schedule 1 with Boundary 10 as the active boundary to the Group 1 arm To simplify programming. This allows programs to be transferred between different robots able to play with correct boundaries. These settings are by convention only. . PaintPRO allows you to assign tracking schedules to paint zones. the robot controller will not start the gun on to gun off stroke until the gun off position is within the boundary. Process programs can be modified on the virtual teach pendant to utilize whatever different settings desired. PaintPRO Jobs. and their relationship to tracking schedules Paint zones are used to generate robot programs automatically. it is recommended to use the settings that PaintPRO provides. PaintPRO and PaintTool have the ability to define a conditional off node. if the conveyor does stop while the robot is moving along the stroke. NOTE: when a boundary value is changed for a tracking schedule. You have complete flexibility for use of tracking schedules and boundary number if required. . See working with extended axes and integrated axes topic for more information on how to build an integrated rail. Follow the steps for the workcell creation wizard until the Robot Options step. An auxiliary axis machine must be built within the Roboguide environment. Select the Line Tracking Option and the Extended Axes Option 4. The conveyor motion direction must be parallel to that of the tracking axis. and Joint) are allowed. With rail tracking. 3. Conveyor tracking requires accurate setup. It is easy to teach and works with almost any application. When Roboguide detects that line tracking is enabled on a robot controller the capability to create conveyor fixtures is enabled. the position of the robot’s extended axis (an integrated or nonintegrated base axis) is adjusted to track the motion of a linear conveyor. and an integrated axis machine can be built. For a complete discussion of line tracking with FANUC robots refer to the Line Tracking setup and operations manual. To configure a virtual robot for rail tracking 1. Rail tracking is used in large systems that can occupy a large amount of floor space. This single-axis tracking is known as rail tracking . Circular. Rail tracking is a simple method of dealing with a constantly moving workpiece. All types of motion (Linear. This option allows a large volume of work to be accomplished by one system. Build a virtual robot for rail tracking Virtual robots used with rail tracking have to be configured with conveyor tracking options and extended axis control. Tracking type can be modified on the virtual robot by using the virtual TP or the schedule property pages.2 Rail Tracking with Roboguide Rail Tracking with PRO Software In single axis tracking. The virtual robot defaults to be six axis tracking. The auxiliary axis type must be integrated. Finish the wizard When the virtual robot is finished serializing the Line Tracking Option is available on the virtual robot. since the typical application uses a rail or platform to perform the tracking motion. 2.Conveyor Tracking with Roboguide 397 14. Create a new workcell by selecting File / New from the main menu or clicking on the New Workcell icon on the toolbar. the robot arm configuration (excluding the tracking axis) remains as programmed. The workcell should now be available for rail tracking robot programs. A workcell should be open in Roboguide with the line tracking option available on the virtual robot. This procedure refers to other topics which provide additional detail. Create a program that tracks. Add a conveyor: 6. Select the Extended axis and Line Tracking option in the Robot Options step of the workcell creation wizard. and running a tracking motion lines. The basic flow: • Create a workcell • Configure the rail tracking system • Simulate the conveyor • Create programs to track General procedure for setting up a line tracking workcell 1. Configure and build the aux axis rail system.Conveyor Tracking with Roboguide 398 General procedure for setting up a rail tracking workcell The following general procedure outlines the steps to create a rail tracking workcell. TP programs to simulate the conveyor. See Build a virtual robot for rail tracking for more detail. adding conveyors to the workcell. 7. . tracking setup. Configure the robot encoder. Create a new workcell 2. For detailed explanation of rail tracking see the FANUC Robotics Line Tracking manuals. Configure the robot tracking schedule information. 3. triggering the body detect. and other steps. This includes encoder setup. This includes simulating the conveyor. 4. 8. 5. The number is used in simulation to place the starting point of the part on the conveyor relative to the nominal frame. On the general property page: o Enable the tracking schedule if this schedule will be used in TPP Programs o Enable Rail Type for Rail tracking o Define which robot group will be used for tracking (usually group 1) o Define which encoder to use (usually 1). o Define the direction and which extended axis will be used to track the conveyor. If this value is not set to 1 ensure that the encoder is defined on the virtual robot. o Trigger register. If motion is the same as the extended axis then POS is used. Open the desired tracking schedule from the cell browser 2. This is the distance from where the Nominal frame origin is taught to the detect switch on the conveyor. This number creates a reference between the nominal tracking frame and the part detect switch. If a non zero DIN is not used. as long as the individual part detect distances are correctly specified for each robot. This compensates for varying part detects.Conveyor Tracking with Roboguide 399 Configure the robot rail tracking schedule information The tracking schedule information defines the rail tracking parameters that will be used for a running program. NOTE: it is important that a non zero DIN be used. Note The extended axis is used for tracking the conveyor within RAIL tracking systems . the teach menu that tells you to setup the tracking schedule will be shown when you select a program. by comparing it to the motion of the extended axis. For detailed explanation of rail tracking see the FANUC Robotics Line Tracking manuals. This specifies the normal forward motion of the conveyor. Tracking schedules are defined on the virtual teach pendant on the Tracking Setup pages. The program paths can then be copied from one robot to another. o Enter the desired Detect distance. If motion is opposite the extended axis then NEG is used. To configure the robot line tracking schedule information using the schedule property pages in Roboguide 1. by comparing it to the motion of the extended axis. If the tracking setup page is not visible. . o Tracking Type: Rail o Visual Tracking: NO o Use Vision part queue: NO o Use Tracking Uframe: NO o Nominal Track Frame: not used for rail tracking o Track Axis Num: Enter a number that specifies the extended axis which will be used for tracking the conveyor within RAIL tracking systems. Select Menus / Setup. If motion is opposite the extended axis. If motion is the same as the extended axis. Open the virtual Teach Pendant 2. 3. press F4. The default tracking schedule is 1. 4. Note The extended axis is used for tracking the conveyor within RAIL tracking systems. press F5. If a different schedule is desired change the schedule by using the SCHED softkey. Open the tracking setup page. To configure the robot rail tracking schedule information 1. Setup the tracking fields: o Robot Tracking Group: generally 1. defines the upstream and downstream line tracking boundary that the robot should move within. The Track Axis Direction is automatically set to POSITIVE for Line and Circular tracking systems. The robot will not move to a point until it is in the boundary window. The following picture shows a description.Conveyor Tracking with Roboguide 400 3. The Tracking setup page should show. NEGATIVE. POSITIVE. On the Frame property page ensure that the nominal frame value is all zeros. On the boundaries tab define the boundaries. select F1-Type / Tracking. o Track Axis Direction:This specifies the normal forward motion of the conveyor. NOTE: it is important that a non zero DIN be used. o Bndry Set 1-10: Up: and Dn: defines the upstream and downstream line tracking boundary that the robot should move within. the teach menu that tells you to setup the tracking schedule will be shown when you select a program. This compensates for varying part detect o Vision Uframe Dist: . The default value of 500 is sufficient for simulation purposes. This can be manually entered and should be obtained from the real world system if desired. For simulation purposes enter a DIN number that can be used (8 is commonly used for simulation). o Selected Boundary Set: which boundary should be used with Tracking Schedule.used with vision o Trigger INPUT number: is used for real world systems to define the DIN for the trigger switch. The tracking schedule should be defined and can be used in a TP program. If a non zero DIN is not used. The number is used in simulation to place the starting point of the part on the conveyor relative to the nominal frame. The following picture shows a description. The robot will not move to a point until it’s the points auxiliary axis position is in the boundary window. This number creates a reference between the nominal tracking frame and the part detect switch.Conveyor Tracking with Roboguide 401 o Tracking Encoder Num: must be the same as defined in the encoder setup o Enc Scale Factor: defines the number of counts of the encoder for every mm movement of the conveyor. o Part Detect Distance: the distance from where the Nominal frame origin is taught to the detect switch on the conveyor. as long as the individual part detect distances are correctly specified for each robot. . The program paths can then be copied from one robot to another. PaintTool automatically configures the auxiliary axis.1 Rail Tracking with PaintPRO and PaintTool Rail Tracking with PaintPRO and PaintTool PaintPRO supports rail tracking with PaintTool. Open the robot to controlled start 2. To rail track with PaintPRO. When complete Cold start the robot by pressing FCTN key and then select Cold Start . To configure the PaintTool robot for line / rail tracking 1. Press manual 5. 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. PaintPRO supports CAD to Path program generation for rail tracking on the Paint Zone property pages. the robot must be configured for rail tracking and built as an auxiliary axis machine. Configuring PaintTool and PaintPRO for rail configuration PaintTool supports a robot on a rail for rail tracking by configuration of the robot at controlled start. Answer the questions presented. When you select the robot to be on a rail.2.Conveyor Tracking with Roboguide 402 14. and programs taught. 6. A machine has to be built to model the robot on a rail. After the robot has been configured in PaintTool the virtual PaintTool robot will have an additional axis. Press menu / maintenance to take the robot to robot hardware setup 3. A conveyor has to be added to the workcell. Select the robot with the arrow keys (default) 4. 1. Adding an auxiliary axis is different with PaintTool than other application Tools. See Configuring PaintTool and PaintPRO for rail configuration for more information. you can setup the tracking system. After configuring PaintTool. In the type field. 2. the rail robot machine can be built. Building a rail robot machine in PaintPRO A robot on a rail is built in PaintPRO the same as a robot on a rail is built in any Roboguide application. Note: the other parameters on the tracking schedule page must be configured for the desired workcell configuration. See Extended axes and integrated axes definitions and layout within FANUC PRO software for more information. select Rail and press apply.Conveyor Tracking with Roboguide 403 To configure PaintPRO for rail configuration 1. Open the desired tracking schedule from the cell browser 3. . When PaintTool and PaintPRO are configured. If objects are not in the same place in each workcell. Roboguide simulation software objects are then moved based upon the least squares difference between these points. o If you move a program from a real robot to the Roboguide simulation software workcell robot then the programs may not appear to run correct. This allows for the conveyor fixture that holds parts to be in different non-reproducible locations along the conveyor. If programs are taught relative to a Roboguide simulation software object that is attached to a robot uframe the positions automatically move when you calibrate the object. • Calibrate the Roboguide simulation software environment to the physical environment as soon as possible. If workcells in Roboguide are not calibrated with the physical robot then programs may not appear to run correctly. programs may appear to be incorrect. If the workcell is calibrated before teaching programs. • The use of UFRAME can make moving points from offline to/from online easier. • Calibration procedures attempt to position objects in the Roboguide simulation software workcell like objects in the real workcell. When programs are taught relative to a robot uframe. path transferability issues are reduced.Calibrating your workcell 404 15 Calibrating your workcell About workcell calibration Roboguide provides procedures to calibrate your Roboguide workcell with the physical hardware within the actual workcell. If you want to transfer robot programs into and out of the Roboguide environment. • Calibration for parts that are moving conveyors requires that you teach tracking programs to do the calibration. positions in the program all move when the UFRAME moves. o If the real cell is different than the Roboguide simulation software workcell then positions may appear to be not correct. Key concepts to understand when moving programs between Roboguide and a physical robot cell include: • Robot programs run on a real robot like they do in Roboguide. it is important to ensure that your workcell model accurately duplicates your physical workcell. . There is no modification of the program when moving a program from Roboguide to an actual robot. When doing a workcell calibration you teach a program touching 3 points in the real workcell and then touch the same 3 points in your Roboguide simulation software workcell. In the event. and then calibrate. You repeat this object calibration for each critical object within your workcell. Since parts are associated with fixtures you calibrate the part within the fixture on the fixture property page. and machine objects in your workcell. If objects are not in the same place in each workcell. Calibration procedures attempt to position objects in the Roboguide workcell like objects in the real workcell. Roboguide simulation software objects are then moved based upon the least squares difference between these points. you must move the object back to the position before calibration. attach an object to a UFRAME. 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. Use the procedure if you have not calibrated the object. Using the Calibration Tab You can calibrate fixture. and want the programs to shift when the object is calibrated. 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. obstacle. programs may appear to be incorrect. Since parts are associated with fixtures you calibrate the part within the fixture on the fixture property page calibration tab. An example might be the pick location within a machine. Roboguide objects are then moved based upon the least squares difference between these points . that you have calibrated and the positions did not move. To calibrate a workcell from real world to Roboguide Workcell calibration encompasses locating the objects in your Roboguide simulation software workcell as they are in the actual workcell. A critical object is one that you generate programs from. 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. program positions will not automatically move when the objects move. and calibrate again. the object must be attached to a robot uframe.Calibrating your workcell 405 Calibration and using programs with frames When calibrating a workcell. For positions to move when an object moves. 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. You can calibrate fixture and obstacle objects in your 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. Teach at least 3 points in the 3D World at unique locations on the object. Since fixtures can hold parts. save the touched up TPP . NOTE: if you are calibrating a part that is on a line tracking link. o When calibrating other objects in the workcell Controller: defines which robot controller in the workcell will be used for calibration Group: The target group on the selected controller. return to the Calibration tab and press the ‘Store Points button.Calibrating your workcell 406 Fields included on the Calibration Tab include: • Object to be calibrated: this selection appears for fixtures and machines. Whey you have finished. the line tracking system is used to compensate for variability in the location of the conveyor on the moving line. When this is done. Roboguide creates a TPP tracking program to do the calibration. Since with conveyor tracking systems it is difficult to duplicate the location of the part carrier on a conveyor the tracking system. It is important to choose features that can be taught in both Roboguide and the real world. You must now load it onto the real controller and touch up each point at the corresponding location in the real world. The key is to ensure that the part is synchronized with the conveyor before doing any teaching. you can calibrate the fixture and any parts that the fixture can hold. This provides the ability to use the same tracking program on the actual workcell that is line tracking. o When calibrating EOAT or Parts in an EOAT: Touchup method: defines what UFRAME to use for the calibration. • General: fields include: o TPP Name: calibration TP name. • 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. • Step 1: Teach in 3D World: when pressed you see the message: Calibration program xxx has been created for object. Select the object to be calibrated from the drop down list box. The calibration program CAL00049 was copied to: < directory >. 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. 2. P. To calibrate a workcell object 1. Z. 3. obstacles. Teach 3 points that can also be taught in the real controller. Open the property page for the desired object. To calibrate a workcell object Calibration of a workcell object moves the Roboguide workcell object to match the real world object. overwriting the original. You see the following message describing the differences. Check the preview box to see the shift and OK to accept the shift. Select the Calibration Tab. • Step 3: Calibrate from Touch-Up. Perform Step 1 on the calibration tab. Roboguide objects are then moved based upon the least squares difference between these points. Select the object to be calibrated in the "Object to Be Calibrated" dropdown. Roboguide loads the new calibration information and compares the original Roboguide taught calibration positions with the points taught in the physical real workcell. Least squares fit = xxx Would you like to accept these results and shift the 3D object? If you press OK the object is adjusted to reflect these changes. Load the program in the real workcell and touchup the points to the real environment. Perform Step 2 on the calibration tab. 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. 4. 5. W. R offsets. Parts associated with a fixture can be calibrated on the fixture property page that has the association with the desired part. Y. Perform Step 3 on the calibration tab. and machines can be calibrated. Fixtures. . When pressed.Calibrating your workcell 407 and copy it back to the same directory. Check the adjust TPP programs selection if you want to select TPP programs for which to have positions shifted. 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. A least squares fit algorithm is applied. The calibration tab has fields to enable the calibration of a workcell object. Load the program in the real workcell and touchup the points to the real environment. Open the property page for the desired object. 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. This allows you to calibrate the part on the conveyor. When calibrating a part. Note: if the selected fixture is on a conveyor linke on a line tracking system. 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. 3. Teach 3 points that can also be taught in the real controller. Parts associated with a fixture can be calibrated on the fixture property page that has the association with the desired part. ensure that the real world robot has been synchronized with the conveyor syste. Perform Step 1 on the calibration tab. Select the Calibration Tab. To calibrate a part within a fixture Calibration of a workcell object moves the Roboguide workcell object to match the real world object. 5. To calibrate a part object 1. When complete the part is shifted relative to the fixture location. If a part can be present in multiple fixtures. The key is to ensure that the tracking system is synchronized. . Perform Step 2 on the calibration tab. you can calibrate each part in fixture association. Perform Step 3 on the calibration tab. 2.Calibrating your workcell 408 Step 3 does the shift of the object to match the real world. 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. 4. you calibrate the part location relative to the fixture it is located in. the created calibration program is a line tracking enabled program. Roboguide objects are then moved based upon the least squares difference between these points. NOTE: if you are calibrating a part on a tracking system. Step 3 does the shift of the object to match the real world. programs taught with this UFRAME will move with it. and want the programs to shift when the object is calibrated. • If you have calibrated an object in your workcell. and calibrate again. For positions to move when an object moves.Calibrating your workcell 409 Procedure to have program points move when calibrating a workcell The following procedure can be used for the following situations: • If you want program positions to move when you calibrate an object you need to attach the object you are calibrating to a robot uframe. Use the procedure if you have not calibrated the object. you must move the object back to the position before calibration. In the event. Procedure 1: attach an object to a UFRAME When the object moves. the object must be attached to a robot uframe. NOTE: it is essential that you use this UFRAME when you teach your program. See Assigning a UFRAME to a program for a procedure . but a program that has been taught using the object as a reference to teach the positions did not move when the object moved. that you have calibrated and the positions did not move. attach an object to a UFRAME. and the object has moved. Layers PalletTool defines the unit load in terms of layers . All units in a layer must be the same size. The following sections explain concepts that you must understand before you can set up a PalletTool unit load. Slip sheets provide added load stability.PalletPRO-Working with Unit Loads 410 16 PalletPRO-Working with Unit Loads 16. If your unit loads require slip sheets.each layer can be a separate product. particularly when columnar patterns are used. When you use PalletTool you always define layer 1 first. Some unit loads are built directly on a slip sheet or tier sheet. You must set up the unit load before you can run PalletPRO /PalletTool.1 Unit Load Background information About PalletPRO/PalletTool Unit loads A unit load consists of all the units that are stacked in layers on a pallet. There are two types of unit loads: • Standard Load . This section explains • How to set up a unit load • How to modify a unit load that has already been set up When you set up a unit load you provide information that PalletPRO / PalletTool uses to calculate positions and paths.all layers contain the same product. The spacing between units in a layer must be the same on all sides of the units. NOTE PalletPRO will only allow you to set Slip Sheet thickness and to define between which layers they are to be placed. you must . A layer is a rectangular arrangement of units in rows and columns. • Mixed Layer Load . 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. instead of on a pallet. Layer 1 is always the bottom layer. PalletTool uses one unique pattern type.PalletPRO-Working with Unit Loads 411 • Enter complete layer spacing information during Unit Load Setup. Slip sheet search attempt information will automatically be calculated from the position register information. that pattern can be rotated. It is not used in the slip sheet programs. However. Flip Type PalletTool requires that all layers in a unit load have the same pattern type. lower layers get compressed causing bags in higher layers to get dropped off quite high. Negative layer spacing does not trigger the slip sheet program. Negative Layer Spacing In order to palletize bags or other products that tend to settle or compress. Flip type refers to stacking pattern differences between layers of a unit load. A layer can have one of five flip types: • Flip on Length: flips the pattern along the length of the pallet. and to call the slip sheet programs. PalletPRO sets a default for this position automatically. However. The position can be modified on the slip sheet dispenser property pages. Each layer in a unit load must have the same pattern type. negative layer spacing is required. A pattern is also called a matrix or grid. When you set up a unit load you define the flip type of each layer. since it has knowledge of the location of the slip sheet dispenser in the workcell. . from layer to layer for better load stability. • Record the position registers used by the slip sheet program. Some layers in a unit load can be flipped. You must know what pattern type the unit load will have. the layers do not need to be identical. Pattern Type The pattern type describes the way the units are oriented in a layer. for each unit load that uses slip sheets • Position the slip sheet magazine (container holding slip sheets) properly in the workcell. 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. or flipped . • Flip on Width: flips the pattern along the width of the pallet. If you do not enter a negative value for layer spacing. PalletPRO provides additional pattern types. • Rotate 90 degrees: rotates the pattern 90 degrees around the origin of the pallet. • Flip on Width: flips the pattern along the width of the pallet. Graphics of Flip Types Flipped Around the Length Flipped Around the Width Flipped Diagonal Rotated 90 Degrees .PalletPRO-Working with Unit Loads 412 • Flip on Length and Width: flips the pattern on both the length and width of the pallet. • Not Flipped: the pattern is in the original orientation Graphic views of flip types A layer can have one of five flip types: • Flip on Length: flips the pattern along the length of the pallet. • Rotate 90 degrees: rotates the pattern 90 degrees around the origin of the pallet. • Not Flipped: the pattern is in the original orientation NOTE: Not all pattern types can be flipped all 4 ways. • Flip on Length and Width: flips the pattern on both the length and width of the pallet. PalletPRO-Working with Unit Loads 413 16.2 PalletPRO Unit Load Property Pages Working with PalletPRO Unitload Definition Property Pages The unit load definition property pages provide fields to completely define / customize unit loads for PalletPRO and PalletTool. There are numerous fields that can be defined. When a unit load is created, common defaults are inputted into the fields. The process of defining a unit load is broken into two areas, and the property pages reflect this division. • Unit Load Parameters: defines the characteristics of the unit, pallets, unitloads, and palletizing pattern. • Palletizing Parameters: defines the process taken to palletize the units defined in the Unit Load Parameters property pages. This includes number of layers, flipped layers, slip sheets, gripper types, case rates, cycle configuration, placements, and optimal path settings. The suggested way to use these property pages is to first configure you Unit Load Parameters and then configure the Palletizing Parameters that control the process of building the unit loads. Since the process is driven by the dimensions and patterns suggested, it is important that the Unit Load Parameters be defined first. As parameters are modified, the unit load is shown on Pallet Station 1 in your workcell. You can immediately view the results of parameter changes. You can navigate Configure Cycle, Placement Cycle and Unique Pattern Grids using SHIFT + arrow keys. For instance, SHIFT + Right arrow will move the cursor one cell to the right. When you are in a cell where a combo box exists, pressing the space bar will toggle through the selections. Users are encouraged to use the shortcut navigation keys to quickly complete their setup. Using the Unit Load Parameters Property Page The Unit Load Parameters Property page defines the characteristics of the unit, pallets, unitloads and palletizing pattern. There are fields provided to define the detail of each of these areas. As parameters are modified, the unit load is shown on Pallet Station 1 in your workcell. You can immediately view the results of parameter changes. • General o Selected Unit Load: shows the ULprogram number and the Product ID. This is general information, and is used in the workcell object browser / Unit PalletPRO-Working with Unit Loads 414 Load description field. o Part Number: is the part number of the unit load. This number is used to define the program that PalletPRO/ PalletTool will run during production. PalletPRO enters defaults for this value when a new unit load is created. o Customer Name: is a text field that can be used to uniquely identify customer name. o Product ID: The Product ID is a description of the product to be palletized. It is used in the summary "Selected Unit Load" field. The Product ID is displayed on the Teach Pendant. • Unit Load Parameters Frame o Common view information and settings Pack Pattern switch: if this option is enabled Normal Layer View: shows the palletizing pattern for currently selected unit load parameters. As the Unit Load parameters are changed this view is updated to reflect the layer with the selected parameters. In the event that parameters are changed such that the selected pattern no longer has a valid solution, the words "No Solution Available" will show in the view. The length of a unit in the pattern is highlighted with and arrow at the top left of the graphic. For each unit, only one length edge is highlighted based on the following rule: if the length edge is parallel to the length of the pallet, it is highlighted on the top. If not, it is highlighted on the left. This feature is useful to determine unit groupings when the units are closer to a square than a rectangle. Flip Type: field to choose Flip Type for the selected pattern. Only the available flip types are shown for the selected patter. If a flip type is not available, the selection is grayed out. Flipped Layer View shows the flipped palletizing pattern for the currently selected unit load parameters. As the Unit Load parameters are changed this view is updated to reflect the flipped layer with the selected parameters. PalletPRO-Working with Unit Loads 415 In the event that parameters are changed such that the selected pattern no longer has a valid solution, the words "No Solution Available" will show in the view. o Enter Dimensions Tab Units field: select mm or inches Unit Dimensions • Length, Width, Height: defines the size parameters for the unit to be palletized. NOTE: as you change the dimensions and press Apply, you immediately visualize the changes to you unit load on Pallet Station 1 in your workcell. • Skin Image File: this is an image file that will show on the unit faces. Logos, brand images, or other images can be used to make the palletizing look more like actual product. NOTE: image size affects how the image shows on a product. If you have large units, they can display larger images. If a skin image is too large for the unit the image may not show on the box. To make the image show, resize the image using a third party tool (Paintbrush) to a smaller size and then select it as the skin image. NOTE: as you change the image and press Apply, you immediately visualize the changes to you unit load on Pallet Station 1 in your workcell. Pallet Dimensions • Length, Width, Height: defines the size parameters of the pallet on which the unit load is stacked. Max Unitload Dimensions • Length, Width, Height: defines maximum length, width, and height of the entire unit load. The height should be measured from the bottom of the first layer PalletPRO-Working with Unit Loads 416 on the pallet. Once you enter these values, they should not be exceeded. However, actual patterns can be smaller than the specified maximum dimensions. NOTE: o Select Pattern Tab Patterns • Show Solutions for Pattern: allows you to display the solutions for different patters. A selected pattern may have more than one solution. o Column o Interlock o Trilock o Spiral o Brick o Diagonal o Aug Diagnol o Optimal o Unique o All • Solutions count: shows the number of solutions for the selected pattern • Pack Pattern checkbox: Used only for the Interlocking pattern type. Removes spaces between boxes to pack the boxes close together. PalletPRO-Working with Unit Loads 417 • Solution grid: shows the detail for the solutions that PalletPRO found for the selected pattern. Units per layer, Units per Unit Load, and pallet efficiency are shown. Pallet efficiency is the total area of the boxes in the pattern divided by the total pallet area. To increase the number of units in a unit load, the unused space should be minimized, resulting in a higher pallet efficiency. NOTE: if you select All for the pattern type, PalletPRO shows solutions for all of the patterns in the Solution grid. Unit Load Seating: depending on the seating type you select you can shift the entire unit load on the pallet, by changing the X and Y offset values. Seating types are selected from the drop down box. • Centered on Pallet: If you want the unit load Centered along length and width of the pallet, you do not have to enter any offset values for X or Y. The unit load will be centered perfectly on the pallet. This is the default. • Centered on length: If you want the unit load Centered along length of the pallet, enter an offset value for Y. • Centered on width: If you want the unit load Centered along width of the pallet, enter an offset value for X. • Custom Offset: If you want the unit load Not Centered on the pallet, enter an offset value for both X and Y. • Length, Width: seating offset values. Fields become available when appropriate based upon seating type chosen. PalletPRO-Working with Unit Loads 418 Defining a unique pattern You can define a unique pattern. A unique pattern is one where you define the unit offsets for a layer. A unique pattern type is selected on the Select Pattern Tab, after the unit definitions are made on the Unit Load Parameters property page . To define a unique pattern 1. Select the Select Pattern Tab on the Unit Load Parameters property page 2. Select Unique under the Show Solutions for Pattern dropdown list box. The graphics in the Normal Layer view and Flipped Layer view change to enumerate that the views can be uniquely manipulated to define a Unique layer. 3. Select the Edit Unique button in the Patterns tab. The view of the pattern layout changes to a graphic and a grid that describes the position and orientation of each box defined in the unique layer. 4. Select the Type of unit from the Type: dropdown list. o Valid types include: Box, Bag or Cylinder 5. Modify the grid to match your desired results: There are multiple ways to modify: o Left Click and drag units in the graphic area to there desired locations. o Directly enter the x, y, and orientation in the grid. 6. When complete press the Accept Pattern button 7. Press Apply The load defined is updated on the pallet in the 3D CHUIWorld. PalletPRO-Working with Unit Loads 419 Using the Unit Load Palletizing Parameters Property Page The Palletizing Parameters Property Page defines the process taken to palletize the units defined in the Unit Load Parameters property pages. This includes number of layers, flipped layers, slip sheets, gripper types, case rates, cycle configuration, placements, and optimal path settings. • General o Selected Unit Load: shows the Ulprogram number and the Product ID. This is general information, and is used in the workcell object browser / Unit Load description field. o Part Number: is the part number of the unit load. This number is used to define the program that PalletPRO/ PalletTool will run during production. PalletPRO enters defaults for this value when a new unit load is created. o Customer Name: is a text field that can be used to uniquely identify customer name. o Product ID: The Product ID is a description of the product to be palletized. It is used in the summary "Selected Unit Load" field. The Product ID is displayed on the Teach Pendant. • Palletizing Parameters Frame o Configure All Normal or Flipped Layers Together: when selected all normal layers and flipped layers are configured together. Modifications made on the Configure Cycles Tab effect all normal or flipped layers, respectively. When this is selected, Configure Each Layer Individually is unchecked. o Configure Each Layer Individually: when selected all layers can be configured separately. You select the desired layer in the Pallet Layer configuration graphic. Configuration for each layer is done on the Configure Cycles Tab. o Layers number: is the number of layers in the unit load. o Pallet Layer configuration graphic: is where you configure the unit load for flipped layers and slip sheets. The unit load is graphically shown by layer. If a slip sheet is added or if a layer is flipped, you graphically see where the slip sheet is in the load and which layers are flipped. To flip a layer in the unit load click here. To add a slip sheet click here. PalletPRO-Working with Unit Loads 420 o Current Pattern Graphic: shows the current selected pattern. As you change the layer in the Pallet Layer configuration graphic the current pattern graphic changes to reflect the normal and flipped patterns. Note: when running production the unit at the top left of the graphic will be placed at the origin as defined for the pallet station. This is true for normal and flipped layers. The length of a unit in the pattern is highlighted with and arrow at the top left of the graphic. For each unit, only one length edge is highlighted based on the following rule: if the length edge is parallel to the length of the pallet, it is highlighted on the top. If not, it is highlighted on the left. This feature is useful to determine unit groupings when the units are closer to a square than a rectangle. o Process Parameters: provides settings for unit load specific gripper type, speed override, and case rate. Gripper: select the gripper type for this unit load. NOTE: you also define gripper type on the End of arm tooling property pages. The unit load gripper definition is the end of arm tooling that is used for the unit load. The end of arm tooling property page gripper definition allows you to define Gripper IO. Speed Override: is the speed override while a unit is in the robot gripper. Case Rate: is the rate at which units are fed on the infeed. Several factors can effect the flow of units. o Configure Cycles Tab: allows you to change pick and place sequences, place approach motions, place rotations, and other individual palletizing process parameters. This screen is used mainly for customizing the original palletizing sequence that the PalletTool software automatically determines. This is sometimes required because of workcell restrictions such as columns, walls or other objects that make palletizing with the original sequence impossible. Using the tables provided you configure each pick and place. In the Layer Cycles Frame you control how units are fed on the infeed and configure how single or multiple units are picked and placed. You can navigate Configure Cycle, Placement Cycle and Unique Pattern Grids using SHIFT + arrow keys. For instance, SHIFT + Right arrow will move the cursor one cell to the right. When you are in a cell where a combo PalletPRO-Working with Unit Loads 421 box exists, pressing the space bar will toggle through the selections. Layer Cycles Frame • Layer / Cycle detail process definition grid: The Configure Cycles / Layer Cycles grid allows you to change the original pick and place sequence for the layer selected in the Pallet Layer configuration graphic above the grid. Each row of the grid represents a pick and place cycle during palletizing. The number of rows changes based upon the Gripper Type you choose in the Process Parameters Frame. If you have a gripper type that can pick and place multiple units, the grid changes to show the pick and places per cycle for that gripper type. Click here for more information on the use of this grid. Each number in this column represents the position of a box in the unit load layer shown in the Pallet Layer configuration graphic. • Use Cycle 1 Infeed Orientation for All Cycles Button: provides a quick mechanism to change infeed orientation for all cycles. • Unit groupings: allows you to quickly changing the grouping between units based on the following criteria. Note: To select a row or column, make sure that you click on a cell representing the row or column before using the Unit groupings combo o All & - Changes the grouping to "&" throughout the configure cycle grid o All ; - Changes the grouping to ";" throughout the configure cycle grid o Row & - Changes the grouping to "&" for the selected row Normal Layer.PalletPRO-Working with Unit Loads 422 o Row . . • Insert Cycle Button: used to add cycles at the end of a layer. Cycle Placements Frame • Placements detail setup grid: the Placements Adjustment table also allows you to optimize the placement path of each box.the robot will use the negative of the approach length set in optimal path . . . for the selected column.Changes the grouping to ". Each place can be modified uniquely. + the robot will use the original approach length set in optimal path. The modifications to the approach directions effect the values entered on the Optimal Path Tab. The following list provides detail on each parameter in the table: o Place Rotation: the placement of each box can be modified to either: 0 (no placement rotation) 180 degree placement rotation o Pallet Approach Length: used to optimize the placement path for an individual box along the length of the pallet.Changes the grouping to & for the selected column o Col . • Delete Cycle Button: used to delete cycles from the end of a layer." for the selected row o Col & .Changes the grouping to . The optimal path Approach / Retreat Offsets grid enables the definition of Infeed Approach and Retreat distances. and to customize the approach positions relative to any placement position on the pallet. and Pallet Approach and Retreat distances. . if desired. + the robot will use the original approach width set in optimal path. You first define the defaults on the optimal path tab and then. A path is the route the robot takes to go from one place to another. The Optimal Path Tab includes several items that you can set. • the robot will use the negative of the approach width set in optimal path o Optimal Path Tab Optimal Path customization is critical in optimizing palletizing cycle throughput. change them per place on the Placements detail setup grid on the configure cycles tab.PalletPRO-Working with Unit Loads 423 o Pallet Approach Width: used to optimize the placement path for an individual box along the width of the pallet. Click here for more detail on using the Optimal Path Tabs Approach / Retreat Offsets grid. Optimal path data adjusts the path of the robot to avoid obstacles in the workcell and/ or to minimize cycle time. An optimal path is the best path the robot can take to perform the application. You can customize the palletizing sequence to change how the gripper places the parts on the pallet. Each item affects a specific component of the robot path. This is sometimes required because of workcell restrictions such as columns. Whatever changes you make will be seen on the robot. Columns: columns provide process information that can be modified to change how pallets are processed. Pallet Layer configuration graphic What the grid shows: Note: what is shown in the grid is the processing information for the selected layer in the Pallet Layer configuration graphic. walls or other objects that make palletizing with the original sequence impossible. 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. If you have a gripper type that can pick and place multiple units. Rows: Each row of the grid represents a pick and place cycle during palletizing. This screen is used mainly for customizing the original palletizing sequence that the PalletTool software automatically determines.PalletPRO-Working with Unit Loads 424 Using the Layer Cycle detail process definition grid The grid allows you to change pick and place sequences. the grid changes to show the pick and places per cycle for that gripper type. Column types include: • Infeed Pick Orientation: defines the orientation of the box at the infeed pick location. IMPORTANT NOTE: the configuration determines how units will be palletized during a production simulation. You can also define the orientation of the units at the infeed on a per-pick basis for improved cycle time. and on an actual robot. The number of columns changes based upon the Gripper type selected in the Process Parameters frame. . 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. Little error checking is done because the user is allowed to configure their system to optimize their process. The number of rows changes based upon the Gripper Type you choose in the Process Parameters Frame. 3 unit grouping How to use the grid: Some examples help to understand the how to use the grid. The number in each field defines what unit number will be picked in the selected cycle. For example: If you want equal spacing between units. Interlock Pattern: . PalletPRO populates the cycle grid based upon the selected pattern. .individual placement for palletizing • * . . moves off the pallet.) Configuration: Double case gripper. • Group: defines how the units will be grouped when picking and placing. Example 1: Normal use of Individual Placement (. A key to notice is that the robot will do exactly as the grid shows. See Breaking the layer barrier.2. Table: What does the grid say: • This is configuration for Normal Layers – seen in the Frame title • There are 5 pick and place cycles • Units are fed on the conveyor width on length. • & . Numbers correlate to what is shown in the Current Pattern Graphic. Facing Conveyors • XX Drop: the number of drop columns depends on the gripper type selected in the Process Parameters Frame.placement on next layer for palletizing. What you see is what you get. there is no spacing between them. you need to do a 1.simultaneous placement for palletizing • .PalletPRO-Working with Unit Loads 425 Infeed Unit Orientation. 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 ). • 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. Initially. and then places unit 2. NOTE When units are grouped as simultaneous (&). modified picks with double gripper. Picks both units 3 and 4 simultaneously. Interlock Pattern: . Units 5 and 6 will be picked and placed simultaneously • Cycle 4 and 5 have unit orientation of width on length. Table: What does the grid say: • This is configuration for Normal Layers – seen in the Frame title • There are 5 pick and place cycles • Cycle 1 has unit orientation of length on length. Example 2: Use of Infeed Orientation with simultaneous placement (&) Configuration: Double case gripper. Units 2 and 3 are picked and . Places unit 3.PalletPRO-Working with Unit Loads 426 • The cycles are repeated for the remaining unts. • Cycle 2 has a unit orientation of Length on Length. Table: What does this grid say: While not very efficient the sequence is altered. Units 1 and 2 will be picked and placed simultaneously • Cycle 2 has unit orientation of width on length. Picks units simultaneously and places individually. and has a single pick and place with unit 1. Example 3: Use of infeed orientation. Configuration: Double case gripper. and places unit 4 (individually) • Cycle 3 has unit orientation of length on length. moves the robot. • This is configuration for Normal Layers – seen in the Frame title • There are 6 pick and place cycles • Cycle 1has a unit orientation of Width on Length. Interlock Pattern: . Table What does the grid say: The results of this grid would not be nice. Configuration: Double case gripper. • This is configuration for Normal Layers – seen in the Frame title • There are 5 pick and place cycles • All infeed pick orientations are Width on Length. and has a single pick and place with unit 4. • Cycle 3 picks units 5 and 6n simultaneously. return to the infeed to pick unit 2 (but gets 3 and collides with the original pick unit 2). • Cycle 1 will pick units 1 and 2. . The units end up being placed at locations 3 and 6 in the pattern. Units are picked and placed simultaneously. • Cycle 3has a unit orientation of Width on Length. • Cycles 5 and 6 have a unit orientation of Width on Length. When unit 6 is placed it is placed into the incorrect unit that was misplaced in cycle 2. and places the unit it picked (3) into the #2 placement point 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). place 5 in the correct location and places 6 in the correct location.PalletPRO-Working with Unit Loads 427 placed simultaneously. Units 5 and 6 are picked and placed simultaneously. Example 4: (BAD) misuse of processing parameters could create undesirable results. • Cycle 2 picks 3 and 4 simultaneously and places 3 and 4 simultaneously. place unit 1. • Cycle 4 has a unit orientation of Length on Length. Interlock Pattern: . The grid has rows to define: • Infeed Approach: length. width and height • Pallet Retreat: height You can click on any of the rows to see a graphic that displays how the parameter effects the palletizing process. Each item affects a specific component of the robot path. width and height • Infeed Retreat: height • Pallet Approach: length. The defaults remain the same regardless of other changes made on unit load information and properties. An optimal path is the best path the robot can take to perform the application. Each item affects a specific component of the robot path. The Optimal Path Tab includes several items that you can set. An optimal path is the best path the robot can take to perform the application. You can customize the palletizing sequence to change how the gripper places the parts on the pallet.PalletPRO-Working with Unit Loads 428 Using the Palletizing Parameters Property Page Optimal Path Tab A path is the route the robot takes to go from one place to another. The optimal path Approach / Retreat Offsets grid enables the definition of Infeed Approach and Retreat distances. change them per place on the Placements detail setup grid on the configure cycles tab. Optimal path data adjusts the path of the robot to avoid obstacles in the workcell and/ or to minimize cycle time. You first define the defaults on the optimal path tab and then. Optimal path data adjusts the path of the robot to avoid obstacles in the workcell and/ or to minimize cycle time. NOTE: the numbers entered are defaults. The Optimal Path SETUP Menu includes several items that you can set. About Optimal Path customization A path is the route the robot takes to go from one place to another. and to customize the approach positions relative to any placement position on the pallet. if desired. and Pallet Approach and Retreat distances. Use the Optimal Path Palletizing Parameters Page screen during initial setup to: • Indicate which gripper is used to carry the unit load • Customize palletizing order and placement techniques . For example. They could crash into surrounding equipment if there is not enough room. NOTE The Layer Cycles Frame can be used for all grippers. This feature is called breaking the layer barrier .PalletPRO-Working with Unit Loads 429 • Fine tune the pick-and-place paths that the robot takes during each palletizing cycle • Indicate offsets from the pallet origin and the unit load origin on the pallet (unit load seating) Customizing the Palletizing Sequence You can customize the palletizing sequence to customize how the gripper places the parts on the pallet. There are several things you should consider: • Collisions with the peripheral equipment in your workcell and with the robot itself. Using a Gripper with More than Two Cases When you use a gripper with more than two cases. Keep in mind that this is also how the boxes will be placed. • The best sequence for optimal cycle time might not be practical for your workcell. or when you use a fork/bag gripper. and to customize the approach positions relative to any placement position on the pallet. 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. You can specify a sequence where the robot will pick units and then drop off the units required to complete the layer and place any remaining units in the gripper on the next layer. • Be aware of the size of the units and the length of the gripper. but MUST be used for grippers with more than two cases and for all fork/bag grippers. • The pick up arrangement on the gripper (length on length or width on length). you must determine the optimal palletizing sequence for your application. . resulting in 12 total pick and place cycles to complete the 2 layers. Press OK or Apply to save the change . Breaking the layer barrier is done when the robot places (P ) or picks (D ) units on the pallet to complete a layer. One complete pick and place cycle has been eliminated by breaking the layer barrier. It can be modified by clicking on a desired layer.PalletPRO-Working with Unit Loads 430 Breaking the layer barrier For increased throughput and reduced cycle time. 5. Select the Flipped Layer item. Open the desired unit load The Unit Load Setup Property page is opened. This signifies the robot will pick two units from the infeed. If the layer barrier was not used.3 Common procedures with unit loads To flip a layer in a unit load Layers can be flipped in a unit load. You do this by working with the Pallet Layer configuration graphic The graphic is interactive. For the defined unit load. To flip a layer on a unit load 1. 16. 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 reduces the number of pick and place cycles it takes to complete a unit load. there is a total of 11 pick and place cycles to complete the two layers. pressing the right mouse key which brings up a menu that includes flipping the layer. then place the remaining unit in the gripper as unit 1 of layer 2. In the Pallet Layer Configuration graphicPallet_Layer_Configuration_Graphic right click on the layer that you want to flip 4. units 11 and 1 are grouped together with an (*). In the following figure. Select the Palletizing Parameters Property page button 3. 2. These remaining units can then be placed on (P ) or picked from (D ) the next layer. but still has units left in the gripper. The layer should now show as flipped in the graphic. place the first unit in the gripper as unit 11 of layer 1. 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. 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. Press OK or Apply to save the change To change flip type for a unit load Patterns can be flipped in multiple ways. When the simulation runs. To add a slip sheet to a unit load 1. You do this by working with the Pallet Layer configuration graphic The graphic is interactive. or the Add slip sheet below option. • Flip on Length and Width: flips the pattern on both the length and width of the pallet. • Not Flipped: the pattern is in the original orientation . 5. and then enter a negative number for the slip sheet height it has the effect of "squishing" the layers.PalletPRO-Working with Unit Loads 431 To add a slip sheet to a unit load Slip sheets can be added between layers in a unit load. The layer should now show with a slip sheet in the graphic. Open the desired unit load The Unit Load Setup Property page is opened. Slip sheets support negative layer spacing. 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. Select the Palletizing Parameters Property page button 3. • Rotate 90 degrees: rotates the pattern 90 degrees around the origin of the pallet. Select the Add slip sheet above. In the Pallet Layer Configuration graphicPallet_Layer_Configuration_Graphic right click on the layer that you want to add a slip sheet above or below 4. 2. you see the boxes get placed (squished) into the lower layer. • Flip on Width: flips the pattern along the width of the pallet. If you add a slip sheet to a layer. PalletPRO automatically adjusts many parameters when unit dimensions are changed to optimize the process. Select the Unit Load Parameters Property page button 3. making a unit dimension smaller allows for more units to be placed per layer. In the common area the Flip Type frame shows the available flip types for the selected pattern. 5. On the Enter dimensions tab you see fields to define Unit Dimensions and Pallet Dimensions. For example. To change the dimensions of units or pallets. Select the desired flip type. 1. Open the desired unit load The Unit Load Setup Property page is opened. Press OK or Apply to save the change .PalletPRO-Working with Unit Loads 432 Only valid flip types are enabled options when selecting different patterns. Open the desired unit load The Unit Load Setup Property page is opened. Press OK or Apply to save the change To change the dimensions of units or pallets Unit loads are defined by unit palletizing. 4. 2. Select the Unit Load Parameters Property page button 3. The size of units and pallets being processed effects several different unit load parameters. Select the desired field and enter the desired value. 2. 4. To define flip type for a selected pattern in a unit load 1. The radio button associated with the flip type should bow be selected 5. PalletPRO-Working with Unit Loads 433 To change the image shown on box sides You may change the image ("skin") shown on the outside faces of units. Note: large images may not show up on small boxes. 1. Press OK or Apply to save the change To change the palletizing pattern used for a unit load A unit load may have several different patterns that can be used to achieve desired processing results. To change the palletizing pattern used for a unit load 1. Enter the filename or browse to the desired image file. 4. Open the desired unit load The Unit Load Setup Property page is opened. Press OK or Apply to save the change To position a unit load on a pallet Depending on the seating type you select you can shift the entire unit load on the pallet. by changing the X and Y offset values. You do this on the Unit Load Palletizing Parameters property page. Select the Unit Load Parameters Property page 3. 2. 4. On the Select Pattern tab there is a field for selecting the solutions for pattern. Open the desired unit load The Unit Load Setup Property page is opened. To position a unit load on a pallet 1. 2. Select the Unit Load Parameters Property page Page button 3. On the Enter dimensions tab there is a field for skin image file. Select the your desired pattern from the list. Open the desired unit load The Unit Load Setup Property page is opened. The pattern used may be changed as desired. . Select the Unit Load Parameters Property page button 3. On the Select Pattern tab there is a field for selecting Unit Load Seating.. 4. Select the your desired seating type and enter the appropriate length and width values where appropriate.PalletPRO-Working with Unit Loads 434 2. Press OK or Apply to save the change . • Program Profiler: the profiler provides cycle time information and settings for displaying program details. For more information regarding running multiple robot workcells see Running multiple robot workcells. 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. Roboguide simulation software has multiple ways to run a program. For more information regarding running multiple robot workcells see Running multiple robot workcells. acceleration. You use one of these functions to run programs. Control functions include: • Create an AVI : the program runs and generates an AVI movie file. Details include settings for viewing programs by speed. When running multi robot workcells Roboguide simulation software synchronizes the virtual robot and shared IO to give accurate multiple robot timing. Options selected on the run panel are used. • Run the program : runs the program from the start. or orientation change. • Hold the program: holds the program • Abort the program: aborts the program • Reset the robot: sends a reset to the virtual robot controller . About the Program Run Panel The program Run Panel allows you to control a program and to set run options.Running a Program 435 17 Running a Program Running a program Roboguide /PRO products have several features for running a program: • Program control panel toolbar buttons • Program control run panel window: The run panel windows has the control panel buttons and run options. but slows down because the screen is forced to update faster. and the Profiler is open the actual robot TCP Trace is shown on the screen. Windows are re-opened when the program run ends. If the option is checked the animation occurs. when WeldPRO is running a program a simulated arc is shown when an Arc Start occurs. This significantly reduces the file size of the created AVI file. The Profiler continues to update cycle time information. • Hide Windows enable: when checked all open windows are closed before the robot begins to run. Changing this setting takes effect immediately. For PaintPRO a simulated paint cone is shown when a gun on is executed. • Show Process Animations: depending on the Roboguide PRO product running. • Refresh Rate: is the number of screen updates the 3D CHUIWorld performs per second. When not checked. This setting effects performance. For example. the PRO software animates the EOAT when a process statement is executed in the robot TP program. Changing this setting takes effect immediately. Changing this setting takes place the next time the program is run. Changing this setting takes effect immediately. and TP Trace is shown. • Refresh Display enable: when checked the display is refreshed and objects move on the screen. but the robot runs the program. • Collect TCP Trace enable: when checked. As the number is increased the robot moves smoother. • Collision detect enable: when checked collisions are detected between the robot and its tooling with objects in the workcell. . Changing this setting takes effect immediately. Changing this setting takes place the next time the program is run. • Compress AVI enable: when enabled the created AVI file of the simulation is compressed. This is used to increase performance to collect cycle time data. objects do not move. • 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. if it is not checked (disabled) no animation is shown. • Taught Path Visible enable: when checked the taught path Nodemap is displayed on the screen. Changing this setting takes place the next time the program is run.Running a Program 436 Program options include: Note: all options are not available to all PRO plug-ins. • Run the program (): runs the program from the start.Running a Program 437 • Simulation time on AVI: when checked a time is displayed on the AVI. select the desired program to run from the cell browser. If not selected. Functions include: • Create an AVI (): the program runs and generates an AVI movie file. For more information regarding running multiple robot workcells see Running multiple robot workcells. Controlling a program from the run panel The menu bar buttons tons on the Roboguide simulation software Run Panel window allow you to control a program. • Run the program (): runs the program from the start. Options selected on the run panel are used. • Hold the program (): holds the program • Abort the program (): aborts the program • Reset the robot (): sends a reset to the virtual robot controller To control a program from the toolbar 1. For more information regarding running multiple robot workcells see Running multiple robot workcells. Click the left mouse button for the desired function as described above. • Abort on fault: when selected the simulation is aborted when a fault occurs. Options selected on the run panel are used. Controlling a program from the toolbar The toolbar buttons on the Roboguide simulation software toolbar allow you to control a program. Functions include: • Create an AVI (): the program runs and generates an AVI movie file. • Hold the program (): holds the program . Click the left mouse button on the desired function as described above Running multiple robot workcells Roboguide simulation software synchronizes motion and IO for all robots in multi robot workcells. The pre-planned lines are highlighted in yellow. PalletPRO). For PRO process plug-ins that don’t have a specific run menu. When you run your program the Program Teach window updates. This provides accurate motion execution information..Running a Program 438 • Abort the program (): aborts the program • Reset the robot (): sends a reset to the virtual robot controller To control a program from the run panel 1. If not selected. Open the run panel window 3. The teach pendant program is shown. For the simulation editor. Some PRO process plug-ins have their own run menu processing (PaintPRO. . Note: you may have to open the TP window and use the virtual teach pendant windows Select screen to select the program. the currently selected program on each virtual robot is run when the Run the program button is pressed. the current executing line is highlighted in green. select the desired program to run from the cell browser 2. Open the Program Teach Window with the desired program. Viewing program status in the TP Editor window To view program status in the TP Editor windows 1. Open the Run Panel window 2. parts in the end of arm tooling are checked for collisions with objects in the workcell. the robot. Enable the Collision Detect run option. Enable the Taught Path Visible run option To see both the TCP Trace and the taught path ensure both the Collect TCP Trace and Taught path visible options are selected. Changing this setting takes effect immediately. To view the theoretical taught paths (nodemap) while running 1. Setting the Refresh Rate The screen refresh rate is the number of screen updates the 3D CHUIWorld performs per second. but slows down because the screen is forced to update faster. and. if present.Running a Program 439 Viewing taught paths while running As program lines are created. a nodemap is created which shows each position connected with lines in the 3D CHUIWorld. Slide the Refresh Rate slider bar to the desired setting. A higher rate will cause the simulation to run slower Running a program in a loop A program can be run continuously in a loop. To enable and view collisions while running 1. The Profiler does not continue to collect data on each . Open the Run Panel window 2. When this option is selected the selected program will run until held or aborted. its end of arm tooling. To set the screen refresh rate 1. This setting effects performance. Detecting collisions while running a program As the robot moves through a simulation. Open the Run Panel window 2. As the number is increased the robot moves smoother. PalletPRO will execute the last configuration you entered. You define what unit load to run on which infeed and which pallet.Running a Program 440 run. If you do this. or is show when the Run button is selected from the Run Panel. Fields include: • #: the row number in the table • Unit Load: the desired unit load to run • Pick: the infeed to be picked from • Place: the pallet to be placed on There is also a check box to not show the Cycle Start Page again. 17. The page is opened either from the Main Menu -> Test-Run menus.1 About PalletPRO Simulation Using the Simulation Cycle Start Page The Simulation Cycle Start Page presents fields to define how you want your simulation to run. A table is provided where you input a desired configuration to run. Fields include: • #: the row number in the table • Unit Load: the desired unit load to run • Pick: the infeed to be picked from • Place: the pallet to be placed on . A table is provided where you input a desired configuration to run. when you press Run from the run panel. but refreshes the latest display. You can uncheck this option by opening the Simulation Cycle Start Page from the Main Menu > Test-Run -> Cycle Start selection. Using the Simulation Cycle Start Page The Simulation Cycle Start Page presents fields to define how you want your simulation to run. You define what unit load to run on which infeed and which pallet. or is show when the Run button is selected from the Run Panel. The page is opened either from the Main Menu -> Test-Run menus. 2. when you press Run from the run panel. To define a production run 1. To define infeeds and pallets for a production simulation The configuration to run for simulation is entered on the Simulation Cycle Start Page. the Cycle Start page is shown. • Unit: the current Unit being palletized. Additional functions are provided on the page. o Open from the Main Menu -> Test-Run -> Cycle Start.Running a Program 441 There is also a check box to not show the Cycle Start Page again. • Layer: the current layer being palletized. PalletPRO will execute the last configuration you entered. • Rate: the throughput rate of the cycle #: • Product ID: the Product ID defined for the Unit Load being run. Use the fields in the table to define the production run. o Press Run from the Run Panel. • Unit Load: the unit load program being run on the robot. There are two ways to access the Cycle Start Page. You can uncheck this option by opening the Simulation Cycle Start Page from the Main Menu > Test-Run -> Cycle Start selection. About the Production Data Page The Production Data Page provides cycle information for a running simulation. If you do this. A table is presented that shows the following data. If you have not selected the "Don’t show this page at cycle start" option in the Simulation Cycle Start Page. . • Cycle #: one of the unit load cycles. On the Simulation Cycle Start page you enter the layer and unit number for each palletizing sequence. 3. . Run the sequence 2. To define a partial layer production run 1. Press Start The pallets are configured in an initial state as defined on the cycle start page before the simulation begins. To define a partial layer production run The number of layers and units can be defined for an initial condition when running a palletizing simulation.Running a Program 442 • Robot Run Time: The time the robot has run for this simulation. In this activity helps us to 8-point "Workcell Creation Wizard" . the environment and have a job. step 6 . Workcell''''Creation Wizard.select the type of family and job for which you want to write a program Step 5 . Now items from the environment and the detail work. which is to be equipped robot . the menu "File" select the "New Cell". right-click mouse button in the "Cell Browser" to "Fixture" . Step 2 .to create a new job. then it is important to the compatibility version. In this way. At the beginning we have to configure the basic parameters of our project.Example 443 18 Example After you install and run the environment we create a new project.summary.it is important to note that the default setting is "Handling Tool" in the U.S. To add the table as well as palette. Step 7 .design a virtual robot . which we will move.please note that the default setting of "Robot Languages" in Japanese.. Figure 1.select the version of software.this section is relevant if what we shall ROBOGUIDE in the software.Figure 1.choose the software. In the various steps configure: • • • • • • • • Step 1 . which is equipped with a robot . To this end. we will send a robot to an existing fact. Step 8 .Configuration of external axes.options work . which can be equipped robot. Step 4 .Name of the project. we use data from a backup copy or create a robot from another project. Step 3 . . In this way. Once you do that. you are in the element that will be visible only during the learning done. Added "table" and "palette" place in the space provided in the work done. we can not find proper. For this purpose. 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. we call a library of readymade with the supplied software ROBOGUIDE." In this way.Example 444 and select "Add Fixture -> CAD Library" . which satisfy the assumptions of our project.Figure 3. Figure 2. namely a "Parts". Adding items from the library ROBOGUIDE. we can expand our virtual space for any items. but will not be visible during the simulation . click the right mouse button under the "Cell Browser" on the "Add Part -> Box. Now add a box to be transmitted by the robot element.Figure 2. With this library you choose either a table or tray. If the finished items. this transfer of the default terms (the end of 6 axis robot) is 920 mm along the axis Z.90 ° around the axis X .Figure 3. or IGS Air in the open position (Air sample are included with the software ROBOGUIDE). The window with the characteristics we call double-clicking on the item under the "Cell browser. If the clutch is working properly. double-click on the "Cell Browser" to "Robot Controllers -> Robot Controller1 -> GP :1-R2000iA / 165F -> Tooling -> UT: 1 (Eoat1)" . Figure 4.Figure 4. we must configure the other properties.Figure 4. Configuration lewis . Robot can move to "box". we need to have the eye-catcher.Example 445 Figure 3. 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. In the "Parts" to create a link between the Air and the "box" and define the transfer. In our case. When you click on "Apply" eye-catcher is placed at the end of 6 axis robot. which is located in our project has its own characteristics.Figure 5. Each item. To this end. of what will be shown during the simulation "box" when will be moved by a robot . Ustalmy dimensions on the box: Size in X: 430 mm Size in Y: 430 mm Size in Z: 250 mm.part 1. On the "Simulation" in the "actuated CAD shows the path to a file with the . we must turn it on . but to be properly positioned in space. Adding Parts of''type''and the properties of elements. Also. we added the "box" has its own characteristics . On the "UTOOL" Setting the Tool Center Point (TCP) tools. Similarly.IGS". A double-clicking on the "table" on the "Parts" select "box and enter the transfer. .Example 446 Air in the closed position . " 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. while in the closed position in the file "36005f-200-3. as we have created a link between the Air and the "box". the eye-catcher in the simulation to work properly." Let us will be 10 seconds. which will be shown with the" box "to" table "during the simulation. And so our eye-catcher from the open position is saved in the file "36005f-200. Similarly. 0] 'table. or IGS. This is a shift from a point at coordinates [0. Finally. which allow us to verify that simulate the behavior of eye-catcher .Figure 6. One for the open position and the other for the closed position.Figure 6. Configuration clutch . configure the link "box" with a "palette".IGS".Part 2. you should have two teams in the form of two files with extensions CSB. with the difference that on the tab "Simulation" parameter set "Allow part to be placed. Below the "actuated CAD" we have two buttons "Open" and "Close". Figure 5. we need to create links between the "box" and "table" and "box" and "palette". also in 10 seconds. 0. Figure 7. Writing''Simulation''program and run a simulation.Part 3. Figure 7. click the right mouse button under the "Cell Browser" to "Robot Controllers -> Robot Controller1 -> GP :1-R2000iA / 165F -> Programs" and select "Add Simulation Program" . and instructions to enter "Pick" and "Drop" .Figure 7. we prepared a virtual environment to write the program.the "Inst" .the 'Record' Figure 7. In this way. Now control virtual robot using Teach Pendant remember specific points in space .Example 447 Figure 6. . To start the editor. Configuration clutch . Figure 7. If we wrote a good program. which was the creation of our task. the "Cycle Start" . you press "Cycle Start" will see the simulation.Example 448 When you are finished writing the whole simulation run by clicking on the toolbar. . and all points in space can be achieved by the robot.