FANUC Roboguide HELP FEATURES • • • • • • Animation tool easily enables a quick and low cost verification of robot application systems Easy to create the environment for devices and machines. Special skills are not required. Program creation using animation Extreme reduction of start-up time and maintenance time by offline check in a shop floor Standard Package which supports various robot application Robot application specific package with high operationability o Arc welding package o 2 coordinated robots arc welding package o Chamfering package Easy and Highly Accurate design, teaching and confirmation of Robot System Modeling Function • Reduces of device modeling time o Select from the library and modify using dimension settings o Import CAD data and create the parts o Create the parts by simple modeling function Program Function • • Same user interface as the actual Teach Pendant Simulates actual program o Execute actual program and confirm robot motion by animation o Confirmation of Interlock logic (using simulated I/O) Layout Function • • Place objects by mouse operation on graphic screen Place objects by numeral input Simulation Function • • • Simple simulation by using virtual robots. Simulation not only of robot movement but also application commands Highly accurate simulation by using robot simulators. Specifications Software Specifications Comments Modeling Layout Programming Standard functions Standard Package Simulation Remote Monitor Profiler Auto Place Option Option Line Tracking Option Calculate robot placement position so as to minimize cycle time for robot movement. Robot tracking movement is realized. Duty Estimation Option Robot movement duty is calculated. System Monitoring Tool Option Monitor function for system trouble analysis Option software for Standard Package. The Standard Package is necessary in addition to this software. iPendant I/F Option Software ROBOGUIDE layout is displayed on iPendant screen. Specifications Comments Navigation menu Arc Welding Package Program generation for arc welding Simulation for arc welding Option 2 coordinated robots Arc Welding Package Chamfering Package Hardware Robot Simulator Program generation for 2 robots arc welding Option software for Standard Package. The Standard Package is necessary in addition to this software. Navigation menu Specifications Highly accurate simulation Comments Option software for Standard Package. The Standard Package is necessary in addition to this software. Condition Item OS CPU Memory HDD Others Contents Windows 2000 or Windows XP, DirectX 8.0 or later Pentium III 500MHz or more than 500MHz More than 256MB Space more than 2GB is available It is possible to communicate with robot controller via Ethernet It is possible to display more than 1024x768, 65000 colors Mouse available under Windows Table of Contents 1 ROBOGUIDE INTRODUCTION ......................................................................................................... 1 1.1 HANDLINGPRO INTRODUCTION ............................................................................................................ 1 1.1.1 New features in Roboguide 6.40.............................................................................................. 1 1.1.2 Getting started with Roboguide ................................................................................................ 6 1.1.3 Categorized Procedures for Roboguide PRO Software ....................................................... 6 2 ROBOGUIDE/PRO SOFTWARE WORKCELL EXAMPLES ........................................................... 8 2.1 2.2 2.3 2.4 3 ROBOGUIDE MENUS ...................................................................................................................... 53 3.1 4 SIMPRO: A SIMPLE PICK AND PLACE WITH ANIMATION PROGRAM ....................................................... 8 SIMPRO: A SIMPLE PICK AND PLACE WITH TP PROGRAM .................................................................. 21 PALLETPRO: A SIMPLE PALLET WORKCELL EXAMPLE ..................................................................... 37 BUID AN AUXILIARY AXIS EXAMPLE ...................................................................................................... 47 PALLETPRO MENUS ........................................................................................................................... 65 USING THE 3D WORLD .................................................................................................................. 84 4.1 4.2 NAVIGATING THE 3D CHUIWORLD .................................................................................................... 84 VIEWING MODES .................................................................................................................................. 86 5 JOGGING THE ROBOT ................................................................................................................... 88 6 CREATING, OPENING AND WORKING WITH WORKCELLS ..................................................... 99 6.1 6.2 6.3 6.4 6.5 6.6 7 ADDING AND MODIFYING CELL COMPONENTS ..................................................................................... 99 PLACING/MOVING OBJECTS IN THE 3D WORLD ................................................................................. 103 OPENING A WORKCELL ...................................................................................................................... 107 SAVING A WORKCELL ......................................................................................................................... 108 MANAGING ROBOGUIDE DATA ........................................................................................................... 109 MEASUREMENT AND DIMENSIONS .................................................................................................... 113 WORKING WITH ROBOT CONTROLLERS ................................................................................. 124 7.1 WORKING WITH A ROBOT................................................................................................................... 124 7.1.1 Working with robot variable files .......................................................................................... 124 7.1.2 PalletPRO Configuration ....................................................................................................... 125 7.2 ROBOT ARM DRESSOUT ..................................................................................................................... 132 7.3 WORKING WITH MULTIPLE ROBOTS ................................................................................................... 133 7.4 WORKING WITH KAREL PROGRAMS ................................................................................................ 135 7.5 WORKING WITH ROBOT END OF ARM TOOLING.................................................................................. 136 7.5.1 Using End of Arm Tolling with PalletPRO ......................................................................... 136 7.6 WORKING WITH COORDINATE FRAMES (CD PAIRS) ........................................................................ 138 7.7 WORKING WITH ROBOT MACHINES - POSITIONERS, AUX AXES ........................................................ 140 7.7.1 Working with extended axes/integrated axes .................................................................... 140 7.7.2 Working with positioners ....................................................................................................... 160 7.7.3 Working with IO driven machines ........................................................................................ 180 7.8 WORKING WITH JOBS ........................................................................................................................ 181 7.8.1 Working with PaintPRO Jobs ............................................................................................... 184 7.9 WORKING WITH THE ROBOT VIRTUAL TEACH PENDANT (TP) ........................................................... 201 7.10 ESTIMATING ROBOT DUTY CYCLE .................................................................................................... 203 8 ROBOGUIDE'S VIRTUAL ROBOT ............................................................................................... 207 8.1 9 USING THE IPENDANT ........................................................................................................................ 210 USING UFRAMES .......................................................................................................................... 217 10 WORKING WITH FIXTURES ..................................................................................................... 225 10.1 WORKING WITH PALLETPRO FIXTURES ........................................................................................... 234 10.1.1 PalletPRO Infeed Fixture Property Tabs ............................................................................ 234 10.1.2 PalletPRO Pallet Fixture Property tabs ............................................................................... 241 10.1.3 PalletPRO Slip Sheet Dispenser Fixture Property Tabs .................................................. 247 10.1.4 PalletPRO Pallet Dispenser Fixture Property Tabs .......................................................... 249 11 WORKING WITH OBSTACLES ................................................................................................ 252 12 WORKING WITH PARTS ........................................................................................................... 257 13 TEACHING A PROGRAM .......................................................................................................... 266 13.1 ADDING AND DELETING A TP PROGRAM ........................................................................................... 270 13.2 USING THE TP PROGRAM PROPERTY PAGE ..................................................................................... 274 13.3 JOGGING THE ROBOT WHILE TEACHING ............................................................................................ 280 13.4 USING THE ROBOGUIDE SIMULATION EDITOR .................................................................................. 283 13.5 MULTIPLE NODE EDIT ....................................................................................................................... 291 13.6 VIEWING A TP PROGRAM .................................................................................................................. 292 13.7 VALIDATING A PROGRAM ................................................................................................................... 294 13.8 TEACHING USING UFRAMES ........................................................................................................... 296 13.9 USING UTOOL'S WITH ROBOGUIDE PROGRAMS .............................................................................. 299 13.10 COORDINATING MULTIPLE ROBOT WORKCELLS ............................................................................ 301 13.11 WORKCELL LEVEL POSITIONS - TARGETS .................................................................................... 307 13.12 AUTOMATIC PATH GENERATION ................................................................................................... 323 13.12.1 Creating robot paths from CAD Features....................................................................... 327 14 CONVEYOR TRACKING WITH ROBOGUIDE ......................................................................... 378 14.1 LINE TRACKING WITH ROBOGUIDE .................................................................................................... 389 14.1.1 Line Tracking with PaintPRO and PaintTool ...................................................................... 395 14.2 RAIL TRACKING WITH ROBOGUIDE .................................................................................................... 397 14.2.1 Rail Tracking with PaintPRO and PaintTool....................................................................... 402 15 CALIBRATING YOUR WORKCELL ......................................................................................... 404 16 PALLETPRO-WORKING WITH UNIT LOADS ......................................................................... 410 16.1 16.2 16.3 17 17.1 18 UNIT LOAD BACKGROUND INFORMATION .......................................................................................... 410 PALLETPRO UNIT LOAD PROPERTY PAGES .................................................................................... 413 COMMON PROCEDURES WITH UNIT LOADS ....................................................................................... 430 RUNNING A PROGRAM ............................................................................................................ 435 ABOUT PALLETPRO SIMULATION ..................................................................................................... 440 EXAMPLE ................................................................................................................................... 443 Roboguide Introduction 1 1 Roboguide Introduction 1.1 HandlingPRO Introduction 1.1.1 New features in Roboguide 6.40 Features included in Roboguide PRO software V6.40 versions are described below. Note: key functions are listed by Revision. V6.40 Rev E. · Object Transparency: property page for objects in the workcell have a transparency slider bar. · View individual objects in wireframe: property page for objects in the workcell have a checkbox to enable/ disable wireframe view for the object. · Copy/ paste location data: support to copy/ paste location data for all 6 items on property pages. For more information see topic Copy and Paste of Location data for objects · Coordinated Pair property pages: for systems that use coordinated motion, cell browser entries are now available to edit CD pair information. Support is provided for multi arm coordinated pairs, but not for robot to positioner type systems. For more information see topic Using the Coordinate Frames (CD_Pair) Property Page · Support handling coordinated motion program generation: CAD to Path supports the generation of programs between multiple group robots. Specifically, the case where there is a combination of robots coordinating holding a part using handling coordinated motion and robots processing features on the part that the handling robots are processing. · Support coordinated motion program generation for linear positioners: when a system includes a robot and a positioner that is a linear device, you can use CAD to path to coordinate the motion between the two devices. Previous to the Rev E. release, you could only do CAD to Path on rotary type positioner axes. · Coord motion jogtype in jog panel: when coordinate motion is present, a button and dropdown box is available for selecting the coord motion jog frame. For information see About the teach pendant jog panel. · EOAT and Part in EOAT calibration: you can now calibrate the location of the EOAT cad on the End of the robot arm. Parts in the EOAT can also be calibrated. For more information on this topic see Using the Calibration Tab Roboguide Introduction 2 V6.40 Rev D. · Support for R-J3iC robots · Multiple node position edit: you can now select multiple TP nodes and shift them in. For more information see topic Using the Node Editing dialog. · New serialize wizard structure: the serialize wizard has been modified to support the R-J3iC robot controller. The wizard process flow is changed. You must first select robot controller version. For more information see Configure your robot controller · TCP trace now supports viewing trace results in the a tracking frame of reference for line tracking programs. · CAD to Path Enhancements: o Spin control on raw normals tab: for more information see Using the feature Raw Normals Property page tab o Extended axis smoothing: when a robot has an extended axis defined new edit boxes are shown on the CAD to Path Pos offsets tab. You can define start and end rail values. Generated auxiliary axis positions are smoothed between the start and end values defined. · PaintPRO Enhancements: o New position distance generation o TP Process and Job validation: quickly analyze Paint processes for process issues. See Validating a Paint Job or Process program for more information. o Preset and Estat automatic generation: the Paint Zone generation property pages have been modified to support additional flexibility in the placement of Elecrostat and Preset instructions. o TCP Trace capability: Paint simulations now support viewing the robot trajectory as a trace. Robot tracjectory can be viewed in robot frame of reference or if your system uses line tracking, the trace can be viewed in the tracking frame of reference. V6.40 Rev. C · Resolves issues found in earlier releases · PaintPRO additions: o Allows more flexibility on the Paint Zone Painting tab of the Paint Zone property page when defining where to place Estat commands when generating programs. o Support for different line tracking detect distances when generating process programs. Roboguide Introduction 3 V6.40 Rev. A · Ability to add objects to links of the robot. For more information see About adding objects to links of the robot · Main Menu o New Projects Main Menu item o Reorganized window menu · Machines: new capabilities have been added to Roboguide machines: o Workcell Level: Non end of arm machines are defined at the workcell level. In previous versions, machines were under each robot controller. Moving machines to the workcell level provides additional flexibility. Any robot controller in the workcell can control a link of the machine. Multiple robot controllers can be attached to a rail. For more information regarding machines see Working with machines o IO Driven links: This allows IO programming to control clamps and other IO driven devices in the workcell. See Use the machine axis Motion tab for more information o X-Type Gun: X-Type EOATs are generally used for clamping or welding applications. A machine can be built that defines a mathematical relationship when calculating its motion. · CAD to Path Enhancements o Additional information on how to use CAD to Path. § General use with examples § Use with Remote TCP § Use with multi group coordinated motion o Blend segment normals: before V6.40, rotational offsets could be applied to features by rotating about one of the tool vectors that are defined for CAD to Path generation. The rotations would take effect on the generated TP program, and not on the feature that generates the program. V6.40 provides a feature to blend CAD to Path segment normal from start of segment to end of segment. The blending is applied to the segment normals before program generation. See Using the Raw Normals tab for more information. o Coordinated motion generation o Reverse generation: the order of generation can be reversed from that defined by the generated CAD to Path feature. See Using the feature general property page for more information. o Supports entering speed data in in/min · Teach Pendant current position tab: the move functions have been enhanced. o Group select: the desired group can be selected on the Teach Pendant current position tab. Roboguide Introduction 4 o Relative move: moves relative to the current position can be executed in different frames of the selected robot. For more information see Using the Current Position Tab of the Virtual TP · Move Re-Try / Align · Robot configuration enhancement: you can now define the memory configuration of the virtual robot when generating a virtual robot. See Configure your robot controller for more information. · Simulation editor enhancements o Extended axis support and Multiple group support: new capability to create simulation programs for robots with auxiliary axes and for multiple group configured robots. Extended axes will be recorded automatically with simulation programs. Multiple groups are recorded like the actual robot controller. The groups recorded are dependent on the programs group mask found on the TP program property page. · Targets – Workcell level positions o For more information see About Target Positions · New Engineering features: capabilities that assist in managing information that is shared with the physical robot that the workcell is simulating. o Automatically create a virtual robot from a file backup. Accessed through the serialization wizard. o Create Loadsets: A loadset is a user definable collection of files used to transfer information between Roboguide and a real robot. Loadsets allow you to more easily manage information that will be transferred to a real robot. You mark what files should be included in a loadset, and then export to the loadset. The loadset directory can then be loaded onto a real controller. Loadset definition lists are managed using different Roboguide interface elements: § Loadset list: accessed through Project Main Menu / Import / Edit List and Project Main Menu/ Export / Edit List. § Items can be added for inclusion in a loadset list on different property pages. System files, Robot programs, variables are examples of information that can be added to a loadset list. o Import/Export a loadset, programs, or variables to enable transfer of work between the workcell and real robot. § Files in a loadset definition can be exported to a PC loadset directory or directly to a robot controller. Roboguide Introduction 5 § Files in a loadset definition can be imported from a PC loadset directory or directly from a robot controller. § Individual programs or variable files can be exported directly to a PC loadset directory or directly to a robot controller § Individual programs or variable files can be imported directly from a PC loadset directory or directly from a robot controller The above items are exported or imported by using the Project Main menu or by using right mouse click popup menus in the cell browser § Project main menu selection: selections for import and export are present on the Project main menu item. § Right mouse click in the cell browser: select the variable file or program to import or export and press right mouse button. Import and export are available from popup menu. o Variables category in the Cell Browser for each robot to view and edit variable information. Before V6.40, the information could only be edited from the virtual teach pendant. Roboguide V6.40 has graphical user interface dialogs to edit the following robot information: . § System Variables § Numeric Registers § Position Registers § Program Variables For more information see Using the robot variable file property page o File category in the Cell Browser for access to files stored on your PC for: § Viewing and editing program source using the supplied full-featured editor. § Translating KAREL and TPP source into loadable binary programs § Compressing KAREL dictionaries into their loadable versions. · Workcell backup and sharing Methods have been added to better organize workcell backups. Workcells can be shared more efficiently without having to copy an entire workcell and complete virtual robot directories. o Save creates a SavePoint from which a virtual controller can be fully recovered o Recover from SavePoint fully recovers the entire workcell o Share a Workcell or SavePoint outputs the most compact file set required to send a workcell to another person. See Workcell backups and restores - Savepoints for more information. · OLPCPRO o KAREL development support - translator Roboguide Introduction 6 o New Project menu · Nodemap support o Coordinated motion programs: Program instructions that use the coordinated motion option are drawn in the coordinated frame. o Remote TCP programs: Program instructions that use the Remote TCP motion option are drawn in the RTCP frame · TCP Trace enhancements: When teaching in a coordinated frame you can view TCP trace data in the coordinated frame (Part Relative). See Using the TCP trace display property page for more information. 1.1.2 Getting started with Roboguide Roboguide simulation products are targeted to provide an easy to use interface to create workcells and robot programs. Roboguide simulation products help has many examples to help you get started. It is strongly encouraged that you work through the simple workcell creation example provided in the help file. After implementing the workcell, you should have the basic and advanced familiarity with Roboguide simulation products to create your own workcells. Also included with Roboguide simulation products are example workcells. · Simple Workcell Creation Example 1 · Simple Workcell Creation Example 2 · Create a positioner · Create an aux axis system 1.1.3 Categorized Procedures for Roboguide PRO Software 3D CHUIWorld Navigation • • • • Using the Navigation Tips Screen Zooming the view Panning the view Rotating the view Jogging the robot • • • • • • Jogging using the teach tool Showing and hiding the teach pendant jog panel Changing speed override on the robot Jogging using frames Jogging using Utool Detecting collisions while jogging Roboguide Introduction • Moving to a surface point Workcell_Procedures • • • • • • • • • • Creating a workcell! Determining robot reach capability Adding a workcell object Selecting objects in the workcell Opening an objects property page Deleting a workcell object Move objects in the workcell Opening a workcell Saving a workcell Locating where workcells are saved Robot_Controllers and End of arm tooling • • • • • • • • • • Show the robot work envelope Changing the robot model in a workcell Set the pallet switch Control how pallets are processed Set the pallet system options Teach the perch position Teach the maintenance position Change the end of arm tooling used Change the utool offset for pallet system Change the UTOOL Offset in SimPRO Teaching_a program • • Creating a TP program Automatic_path generation Running_a program • • • • • • • • • • Program run Opening the run panel window Controlling a program from the toolbar Controlling a program from the run panel Detecting collisions Setting the refresh rate of the screen Selecting run panel options Running a program in a loop Creating an AVI movie Improving performance in PRO Software 7 Roboguide/PRO Software Workcell Examples 8 2 Roboguide/PRO Software Workcell Examples 2.1 SimPRO: A simple pick and place with animation program A simple simulation workcell creation example The following procedures provide a procedure for creating a Roboguide workcell. The example assumes that you have started Roboguide and that you have no active workcell in the workspace of Roboguide. When complete your workcell should contain the following entities: • An R-2000iA/165F robot with end of arm tooling • 2 rectangular fixtures for holding a part • A Roboguide Simulation TPP Program which moves the part from one fixture to the other. This workcell is built, and is available in Directory: Install directory used for install. Typically this is c:\Program Filles\FANUC\PRO\SimPRO\Sample Workcells\Workcell Example Initial state of Roboguide: • Roboguide is running with no workcell defined • The Process Navigator window is open Simple Workcell Step 1: Creating a new workcell Simple Workcell Step 1: Creating a new workcell 1. Select Start New Cell from the Process Navigator. Or select File / New from the Menu Or, Press the New Workcell Icon () on the toolbar A Workcell Creation Wizard is presented which guides you through the steps to build a workcell definition. 2. The type of workcells that can be created are presented in a list. The types listed are based upon the plugins available in Roboguide on the PC being used. Select HandlingPRO – Basic Material Handling Cell and press Next Roboguide/PRO Software Workcell Examples 9 3. Enter the name: simprog example, and press Next 4. If prompted with a list of Application/Tool packages to be loaded select HandlingTool (N.A.), and press Next. 5. The next step is where you define the type of robot. Select R-2000iA/165F from the list of robot models presented, and press Next. 6. If multiple controller versions exist, the next step shows Virtual robot versions available. Select the latest version. 7. The next step shows robots and positioners for additional motion groups. Select nothing and press next. 8. The next step shows controller options that can be loaded. No additional options are required. Press Next. 9. .A summary page is presented that describes your workcell type, robot, and controller options. Press Finish to build the robot. Roboguide will start a Virtual Robot and then create a 3D virtual world with a robot. At this point the robot can be jogged on the screen Resulting Roboguide state: You should now have a new workcell with a robot. The workcell has a robot. The 3D CHUIWorld view can be viewed and modified. Next step Simple Workcell Step 2: Editing the robot properties Simple Workcell Step 2: Editing the robot properties The robot’s properties can be modified. You can move the robot around the workcell and set other properties for the robot. 1. Select Edit Robot Properties on the Process Navigator 2. For this example you will use the HandlingPRO defaults. Set the Lock All Location Values checkbox on the property page to ensure that the robot base can not be moved in the workcell Roboguide/PRO Software Workcell Examples 10 Previous Step Next Step Resulting HandlingPRO state: • A robot should be in your workcell • The Lock All Location Values option box should be checked on the Robot Property Page Simple Workcell Step 3: Add a part to the workcell Simple Workcell Step 3: Add a part to the workcell In this step you will add a part to the workcell to be picked and placed. There are a few basic steps to create a simulation of the robot picking and placing parts. • Add a part to the workcell – This step • Define the part orientation in the End of Arm Tool – Step 4 • Define the part orientation in the pick fixture – Step 5 • Define the part orientation in the place fixture – Step 5 Add a part to the workcell 1. Select Add a Part to the cell from the Define the Cell category of the Process Navigator 2. You will see a dialog with several options. Select CAD Model – Browse for file and press OK. A browse dialog will appear on the screen. Browse to C:\Program File_Menus\FANUC\PRO\SimPRO\Robot Library and select the file lrmate200i-3d.csb. Press the Open button on the browse dialog. 3. The Part property page for the new part will now appear on the screen. In the Name field enter Little Robot Part and press Apply. 4. On the property page change the scale parameters to Scale X = 0.5, Scale Y = 0.5, Scale Z = 0.5 and press Apply. You have now defined a part for the workcell. The part is shown visible on the Part Fixture. In Roboguide/PRO Software Workcell Examples 11 order to use the part you will have to assign it to a fixture. For a description of the part / fixture relationship see Working with Parts and Working with Fixtures Previous Step Next Step Simple Workcell Step 4: Adding End of Arm Tooling to the robot In this step, you will add End of Arm Tooling to the robot. This includes defining the CAD model to be used, how the tool is mounted on the robot, and the Tools UTOOL definition. Defining the end of arm tooling and the mounting of the tooling of the robot. 1. Select Edit End of Arm Tooling in the Define the Cell category of the Process Navigator 2. In the Primary CAD field select Browse to file icon (). Browse to the C:\Program files\FANUC\PRO\SimPRO\Image Library\EOATs\grippers directory and select the file: 36005f-200.csb 3. Press the Apply button. A tool should appear on the end of the robot. The tool does not appear mounted correctly on the robot. You modify how the tool is connected to the robot by modifying the Location value on the Tool Properties / General Tab. You can think of this like physically mounting a tool to a robot. 4. In the W value of Location on the Tool Properties / General Tab enter the value 270 and press apply. The tool should now be mounted correctly on the robot. Defining the Tooling UTOOL value of the robot 1. Select the Tool Properties / UTOOL tab 2. There are 2 methods to define the tooling offset: Method 1: Select the Edit UTOOL option box. The tooling mounted on the end of the robot in CHUIWorld now has a triad coordinate system. You can adjust the Tool Center Point by dragging or rotating the triad to the desired location. Press the Use Current Triad Location and press Apply to set the TCP UTOOL value for the robot tooling. Method 2: You can directly enter the value. For this example, direct enter the values Roboguide/PRO Software Workcell Examples 12 0,0,850,0,0,0 and press Apply 3. Select the Tool Properties / General Tab. 4. Enable the Lock All Location Values property by checking the box on the tab and press Apply. The end of arm tooling is now defined for jogging the robot. You can jog the robot by using teach tool jogging or by using the virtual TP. Define the part orientation in the end of arm tooling 1. Click on the end of arm tool and open its property page. You can open the property page from the Cell browser by right clicking on the Tooling/UT:1 and selecting Eoat1 properties from the menu. 2. On the General Tab of Eoat1’s property page uncheck the option box for Lock All Location Values and press Apply. 3. Select the Simulation tab. 4. In the Function field select Material Handling- Clamp. 5. In the Actuated CAD field select Browse to file icon (). Browse to the C:\Program files\FANUC\PRO\SimPRO\Image Library\EOATs\grippers directory and select the file: 36005f-200-4.csb. 6. Press Apply. The CAD for a closed gripper is loaded. You can toggle between the two CAD images by selecting Open or Closed and pressing Apply. 7. Select the Parts Tab 8. In the Parts field select Little Robot Part. Press Apply. You should see the part attached to the tooling 9. Select the Edit Part Offset field by checking the box. You can now edit the part offset in the EOAT. 10. There are multiple methods to define the Part Offset in the tooling: Method 1: Select the Drag-Teach Part Offset option box. The Little Robot Part now has a triad coordinate system. You can adjust the part offset in the tooling by dragging or rotating the triad to the desired location When finished moving the part press Apply to set the Part Offset value for the part in fixture location. Roboguide/PRO Software Workcell Examples 13 Method 2: Use the automatic calculate method. For this example the offset will be entered directly- method 3. Method 3: You can directly enter the value. For this example, direct enter the values (0, 1170, -45, 225, -85, 45) and press Apply. 11. On the General Tab of Eoat1’s property page check the option box for Lock All Location Values and press Apply. You should now have the robot with end of arm tool holding the Little Robot Part. You can view the open and close states for the robot and end of arm tool by toggling between the Open and Closed buttons on the Material Handling Tab, or by pressing the open/closed icon button () on the toolbar. Resulting HandlingPRO state: The workcell should now have a robot with an end of arm tool, and a part defined for the end of arm tooling. The Tool Center Point should be defined for the robot with the Z axis of the TCP pointing out from the tooling in line with the robot arm. The TCP UTOOL value should be 0, 0, 850, 0, 0, 0. Previous Step Next Step Simple Workcell Step 5: Add a pick fixture to the workcell In this step, you add a fixture to the workcell where the robot will pick your defined part. The Fixture, called Pick Fixture, will be a blue box which a part can be picked from. You then associate the part created earlier, Little Robot Part, with this fixture. Create Fixture 1 1. Select Add a fixture to the Cell in the Define the Cell category of the Process Navigator 2. You will see a dialog with several options. Select Box Primitive Model and press OK. A box will appear on the screen and the Fixture Property Page dialog window will appear defaulted to the General Tab 3. In the Name field of the property page enter the text "Pick Fixture" and press Apply 4. In the Size in Z field of the property page enter 500 and press Apply. 5. In the Color field of the property page select the color wheel. When the color palette appears select a nice shade of blue and press OK. When the color palette dialog closes Roboguide/PRO Software Workcell Examples 14 select Apply. The box color should change to Blue. You can now move the box around the workcell to place it where you want to pick parts from. 6. Move the box in front of the robot. For this example, move the box to location 1500, 0, 500, 315, 0, 0. These values should be in the Location properties on the Pick Fixture Property Page Associate Part with Fixture You need to define what part will work with the fixture. Once you have defined what part goes with this fixture you can define its placement in the fixture. 1. Select the Parts Tab on the Fixture property page 2. Select Little Robot Part from the Parts list and press Apply. You will see Little Robot Part appear relative to the fixture. Note: if you do not see the part, make sure the Part Visible at Teach Time box is checked. 3. Enable the Edit Part Offset button. 4. There are Multiple methods to define the Part Offset in the fixture: Method 1: Select the Edit Part Offset option box. The Little Robot Part now has a triad coordinate system. You can adjust the part location by dragging or rotating the triad to the desired location. When finished moving the part press Apply to set the Part Offset value for the part in fixture location. Method 2: Use the automatic calculate method. For this example the offset will be entered directly- method 3. Method 3: You can directly enter the value. For this example, direct enter the values 0, 0, 0 ,0 ,0 ,0 and press Apply. Define Simulation parameters You now must assign properties to the fixture so that it can accept parts. 1. Select the Simulation Tab 2. Select Allow Part to be picked are Picked here and press Apply. This tells Roboguide that this fixture will be used for picking parts. 3. Change the Part Create to 2.00 seconds and press Apply. This tells PRO software Roboguide/PRO Software Workcell Examples 15 to wait 2 seconds after the part is picked before creating a new part in the fixture. 4. Select the Fixture Properties / General Tab. 5. Enable the Lock All Location Values property by checking the box on the tab and press Apply. Resulting HandlingPRO state: You should now have a pick fixture in your work cell. The pick fixture should be blue and directly in front of the robot, tilted on an angle. Previous Step Next Step Simple Workcell Step 6: Add a place fixture to the workcell Fixture two, called Place Fixture, will be a red box which a part can be placed on. In this step you create fixture 2 and define how the part is placed on the fixture. Create Fixture 2: 1. Select Add a Fixture to the Cell in the Define the Cell category of the Process Navigator. 2. You will see a dialog with several options. Select Box Primitive Model and press OK. A box will appear on the screen and the Fixture Property Page dialog window will appear defaulted to the General Tab 3. In the Name field of the property page enter the text "Place Fixture" and press Apply 4. In the Size in Z field of the property page enter 750 and press Apply. 5. In the Color field of the property page select the color wheel. When the color palette appears select a nice shade of red and press OK. When the color palette dialog closes select Apply. The box color should change to red. You can now move the box around the workcell to place it where you want to place parts. 6. Move the box in front of the robot to the robots left. For this example, move the box to location 850, 1500, 750, 0, 0, 0. These values should be in the Location properties on the Pick Fixture Property Page Roboguide/PRO Software Workcell Examples 16 Associate Part with Fixture You need to define what part will work with the fixture. Once you have defined what part goes with this fixture you can define its placement in the fixture. 1. Select the Parts Tab on the Fixture property page 2. Select Little Robot Part from the Parts list and press Apply. You will see Little Robot Part appear relative to the fixture. Note: if you do not see the part, make sure the Part Visible at Teach Time box is checked. 3. Enable the Edit Part Offset button. 4. There are Multiple methods to define the Part Offset in the fixture: Method 1: Select the Edit Part Offset option box. The Little Robot Part now has a triad coordinate system. You can adjust the part location by dragging or rotating the triad to the desired location. When finished moving the part press Apply to set the Part Offset value for the part in fixture location. Method 2: Use the automatic calculate method. For this example the offset will be entered directly- method 3. Method 3: You can directly enter the value. For this example, direct enter the values 0, 0, 0 ,0 ,0 ,0 and press Apply. Define Simulation parameters You now must assign properties to the fixture so that it can accept parts. 1. Select the Simulation Tab 2. Select Allow Part to be placed and press Apply. This tells HandlingPRO that this fixture will be used for placing parts. 3. Change the Part Destroy to 2.00 seconds and press Apply. This tells PRO software to wait 2 seconds after the part is placed before destroying the part in the fixture. 4. Select the Fixture Properties / General Tab. 5. Enable the Lock All Location Values property by checking the box on the tab and press Apply. Resulting HandlingPRO state: Roboguide/PRO Software Workcell Examples 17 You should now have a fully defined workcell with Fixtures and Parts. Parts are associated with fixtures and are visible in each fixture. End of arm tooling is defined for open and closed with the closed state displaying a part in the tooling. Previous Step Next Step Simple Workcell Step 7: Create a robot program Create a robot program In this step you will create a new robot animation program that can be run in the simulation environment. You will learn how to add a program, and record and touchup points. Create a Robot TPP Program The first step is to create a new TPP Animation Program. 1. Select Add a TP Program from the Teach TP Programs category of the Process Navigator. A new TP Program is created. The Program Teach Edit Window and the Program Properties Page are displayed. 2. In the Name field of the Program Properties page enter exmpl_wc and press Apply. 3. In the Program Properties page select OK. The page should close. You now have a TP Program called exmpl_wc which shows in the Cell Browser window under the Robot Controllers / Robot1 /Programs category. Exmpl_wc is loaded into the Program Teach window with no TP Lines created. Creating and editing TP Program lines You will now create an animation TP program that performs a pick and place function. Pick Sequence teach: 1. Jog the robot to a position that will serve as a home position. 2. In the Program Teach Window press Record from the menu. A position should be created. 3. Set the motion type to Joint by selecting the combo box that specifies motion type. 4. Jog the robot to create a position near the pick up point Roboguide/PRO Software Workcell Examples 18 5. In the Program Teach Window press Record from the menu. A second position should be created. 6. In the Program Teach Window press Record from the menu. A third position should be created. This position will be used for the pickup of the part. 7. Press the close hand icon ()to close the gripper and see the part on the EOAT. 8. In the Program Teach Window select Pickup from the Inst dropdown. A Pickup instruction should be entered into your program. 9. Select Little Robot Part from the Pickup field, Pick Fixture from the drop down list in the From field, and select UT:1 from the With field. 10. Select the program statement immediately before the Pickukp instruction. (in this example – line 3) 11. Select Touchup to Pick/Place Point in the dropdown list included in the Touchup instruction toolbar item. HandlingPRO automatically records the position which optimizes the robot pickup point. This is determined by how you oriented the part in the fixture. 12. Press MoveTo from the toolbar. The robot moves to the pickup point that was automatically calculated. Place Sequence Teach: 1. Select the last line of the TP Program in the Program Teach Window. 2. Jog the robot away from the pick position and press record.. A new TP Program line is created. 3. Press the close hand icon ()to close the gripper and see the part on the EOAT. 4. Jog the robot near the place fixture 5. Press record to create a via position. 6. PRO Software V6.22 adds new features to quickly teach fixture positions. Open the place fixture property pages. 7. Select the parts tab Roboguide/PRO Software Workcell Examples 19 8. Select Little Robot part 9. In the dropdown box in the part offset frame select UT:1 (EOAT1). 10. Press the MoveTo button. The robot should move to the place position. 11. Press Record from the menu to create a new TP line. This line will be used for the place of the part. 12. In the Program Teach Window select Drop from the Inst menu dropdown. Drop instruction should be entered in your program. 13. Select Little Robot part from the Drop field, UT:1 from the From field, and Place Fixture from the On field. 14. Jog the robot away from the place point and press record. A move away position is created after the Open Hand instruction You have now created your TP Program for this example. Previous Step Next Step Resulting HandlingPRO state: You should now have a fully defined workcell with Fixtures and Parts. Parts are associated with fixtures and are visible in each fixture. End of arm tooling is defined for open and closed with the closed state displaying a part in the tooling. A TP Program is created to run a pick and place process. Simple Workcell Step 8: Run the program You will now run a simulation of your workcell. Running the program 1. Select Run TP Program from the Run Production category of the Process Navigator. The Roboguide Run panel window will appear on your screen. 2. Press Run on the toolbar.of the UOP window The program should run, and you should see the part get picked and placed. Roboguide/PRO Software Workcell Examples 20 Profiling your program for cycle time 1. Select Profile TP Program from the Run Production category of the Process Navigator. The Roboguide Run panel and Profiler windows will appear on your screen. Enable the Collect TCP Trace option on the Run Panel. The Profiler window is shown that displays information for each run of the program. There are 2 tabs on the windows. Display options are set to define how you want to see the robot data as the cycle runs. The Profile tab shows the cycle time and alarms for the running TP Program. 2. Select the Profile Tab. 3. Press Run on the toolbar.of the UOP window The program should run, and you should see the part get picked and placed. The profiler window shows times for the program and each TP program line. Note: the profiler can also be opened from the main menu Test-Run / Profiler menu selection. Profiling your program with TP Trace 1. Select Run TP Program from the Run Production category of the Process Navigator. The Roboguide Run panel window will appear on your screen. 2. Select Test-Run / Profiler from the main menu 3. Select the following options (make sure a check mark appears), Collect TP Trace, Refresh Display, and Compress AVI on the Display Options tab. 4. Select the Profile tab in the Profiler window. 5. Press Run on the toolbar.of the Run Panel window The program should run, and you should see the part get picked and placed. The profiler window shows times for the program and each TP program line. You will see a trace line that runs with the robot as the robot moves. This is the actual robot motion. The profiler provides several features. If you run the program multiple times, a separate profile set is created for each run. You can experiment with different settings to view results. For example, if you change motion parameters in your TP Program, you can run the Profiler TP Trace and view the results to determine how the change effects your robot motion. The Keep Visible check box on each Profile Display Options tab can be checked to determine Roboguide/PRO Software Workcell Examples 21 differences in runs. Previous Step Next Step Simple Workcell Step 9: Creating an AVI of your workcell It is easy to create an AVI file of your running workcell. 1. Select Run TP Program from the Run Production category of the Process Navigator. The Roboguide Run panel window will appear on your screen. 2. Press Record on the toolbar.of the UOP window The program should run, and you should see the part get picked and placed. Roboguide is creating an AVI file of your run. When the run is complete, Roboguide will popup a window that describes where the AVI file was placed on your computer. 2.2 SimPRO: A simple pick and place with TP program A simple pick and place workcell creation using TP Program The following procedures provide a procedure for creating a HandlingPRO workcell. The example assumes that you have started Roboguide and that you have no active workcell in the workspace of SimPRO. The difference between this workcell and the Simple Workcell Example is that this example creates a Robot TPP program and not a simulation program. The same workcell is built as the first example except you now create a program using the Virtual TP. If you have already built this workcell you can open the example workcell and skip to Step 7: Create a robot program. When complete your workcell should contain the following entities: • An R-2000 robot with end of arm tooling • 2 rectangular fixtures for holding a part • A robot TPP Program which moves the part from one fixture to the other. This workcell is built for you and is available in Directory: Install directory used for install. Typically this is c:\Program Filles\FANUC\PRO\SimPRO\Samples Workcells\Workcell Example Roboguide/PRO Software Workcell Examples 22 Initial state of SimPRO: • HandlingPRO is running with no workcell defined • The Process Navigator window is open Simple Workcell 2 Step 1: Creating a new workcell Simple Workcell 2 Step 1: Creating a new workcell 1. Select Start New Cell from the Process Navigator. A Workcell Creation Wizard is presented which guides you through the steps to build a workcell definition. 2. The type of workcells that can be created are presented in a list. The types listed are based upon the plugins available in Roboguide on the PC being used. Select HandlingPRO – Basic Material Handling Cell and press Next 3. Enter the name: simprog example2, and press Next 4. If prompted with a list of Application/Tool packages to be loaded select HandlingTool (N.A.), and press Next. 5. The next step is where you define the type of robot. Select R-2000iA/165F from the list of robot models presented, and press Next. 6. If multiple controller versions exist, the next step shows Virtual robot versions available. Select the latest version. 7. The next step shows robots and positioners for additional motion groups. Select nothing and press next 8. The next step shows controller options that can be loaded. No additional options are required. Press Next. 9. .A summary page is presented that describes your workcell type, robot, and controller options. Press Finish to build the robot. HandlingPRO will start a Virtual Robot and then create a 3D virtual world with a robot. At this point the robot can be jogged on the screen Resulting HandlingPRO state: You should now have a new workcell with a robot. The Roboguide/PRO Software Workcell Examples 23 workcell has a robot. The 3D CHUIWorld view can be viewed and modified. Simple Workcell 2 Step 2: Editing the robot properties Simple Workcell 2 Step 2: Editing the robot properties The robot’s properties can be modified. You can move the robot around the workcell and set other properties for the robot. 1. Select Edit Robot Properties on the Process Navigator 2. For this example you will use the HandlingPRO defaults. Set the Lock All Location Values checkbox on the property page to ensure that the robot base can not be moved in the workcell Resulting HandlingPRO state: • A robot should be in your workcell • The Lock All Location Values option box should be checked on the Robot Property Page Simple Workcell 2 Step 3: Add a part to the workcell In this step you will add a part to the workcell to be picked and placed. There are a few basic steps to create a simulation of the robot picking and placing parts. • Add a part to the workcell – This step • Define the part orientation in the End of Arm Tool – Step 4 • Define the part orientation in the pick fixture – Step 5 • Define the part orientation in the place fixture – Step 5 Add a part to the workcell 1. Select Add a Part to the cell from the Define the Cell category of the Process Navigator 2. You will see a dialog with several options. Select CAD Model – Browse for file and Roboguide/PRO Software Workcell Examples 24 press OK. A browse dialog will appear on the screen. Browse to C:\Program File_Menus\FANUC\PRO\SimPRO\Robot Library and select the file lrmate200i-3d.csb. Press the Open button on the browse dialog. 3. The Part property page for the new part will now appear on the screen. In the Name field enter Little Robot Part and press Apply. 4. On the property page change the scale parameters to Scale X = 0.5, Scale Y = 0.5, Scale Z = 0.5 and press Apply. You have now defined a part for the workcell. The part is shown visible on the Part Fixture. In order to use the part you will have to assign it to a fixture. For a description of the part / fixture relationship see Working with Parts and Working with Fixtures Simple Workcell 2 Step 4: Adding End of Arm Tooling to the robot Simple Workcell Step 4: Adding End of Arm Tooling to the robot In this step, you will add End of Arm Tooling to the robot. This includes defining the CAD model to be used, how the tool is mounted on the robot, and the Tools UTOOL definition. Defining the end of arm tooling and the mounting of the tooling of the robot. 1. Select Edit End of Arm Tooling in the Define the Cell category of the Process Navigator 2. In the Primary CAD field select Browse to file icon (). Browse to the C:\Program files\FANUC\PRO\SimPRO\Image Library\EOATs\grippers directory and select the file: 36005f-200.csb 3. Press the Apply button. A tool should appear on the end of the robot. The tool does not appear mounted correctly on the robot. You modify how the tool is connected to the robot by modifying the Location value on the Tool Properties / General Tab. You can think of this like physically mounting a tool to a robot. 4. In the W value of Location on the Tool Properties / General Tab enter the value 270 and press apply. The tool should now be mounted correctly on the robot. Defining the Tooling UTOOL value of the robot 1. Select the Tool Properties / UTOOL Tab Roboguide/PRO Software Workcell Examples 25 2. There are 2 methods to define the tooling offset: Method 1: Select the Edit UTOOL option box. The tooling mounted on the end of the robot in CHUIWorld now has a triad coordinate system. You can adjust the Tool Center Point by dragging or rotating the triad to the desired location. Press the Use Current Triad Location and press Apply to set the TCP UTOOL value for the robot tooling. Method 2: You can directly enter the value. For this example, direct enter the values 0,0,850,0,0,0 and press Apply 3. Select the Tool Properties / General Tab. 4. Enable the Lock All Location Values property by checking the box on the tab and press Apply. The end of arm tooling is now defined for jogging the robot. You can jog the robot by using teach tool jogging or by using the virtual TP. Define the part orientation in the end of arm tooling 1. Click on the end of arm tool and open its property page. You can open the property page from the Cell browser by right clicking on the Tooling/UT:1 and selecting Eoat1 properties from the menu. 2. On the General Tab of Eoat1’s property page uncheck the option box for Lock All Location Values and press Apply. 3. Select the Simulation tab. 4. In the Function field select Material Handling- Clamp. 5. In the Actuated CAD field select Browse to file icon (). Browse to the C:\Program files\FANUC\PRO\SimPRO\Image Library\EOATs\grippers directory and select the file: 36005f-200-4.csb. 6. Press Apply. The CAD for a closed gripper is loaded. You can toggle between the two CAD images by selecting Open or Closed and pressing Apply. 7. Select the Parts Tab 8. In the Parts field select Little Robot Part. Press Apply. You should see the part attached to the tooling 9. Select the Edit Part Offset field by checking the box. You can now edit the part offset Roboguide/PRO Software Workcell Examples 26 in the EOAT. 10. There are multiple methods to define the Part Offset in the tooling: Method 1: Select the Drag-Teach Part Offset option box. The Little Robot Part now has a triad coordinate system. You can adjust the part offset in the tooling by dragging or rotating the triad to the desired location When finished moving the part press Apply to set the Part Offset value for the part in fixture location. Method 2: Use the automatic calculate method. For this example the offset will be entered directly- method 3. Method 3: You can directly enter the value. For this example, direct enter the values (0, -1170, -45, 225, -85, 45) and press Apply. 11. On the General Tab of Eoat1’s property page check the option box for Lock All Location Values and press Apply. You should now have the robot with end of arm tool holding the Little Robot Part. You can view the open and close states for the robot and end of arm tool by toggling between the Show Open and Show Closed option buttons on the Material Handling Tab. You must press Apply each time you change your selection. Resulting HandlingPRO state: The workcell should now have a robot with an end of arm tool, and a part defined for the end of arm tooling. The Tool Center Point should be defined for the robot with the Z axis of the TCP pointing out from the tooling in line with the robot arm. The TCP UTOOL value should be 0, 0, 850, 0, 0, 0. Simple Workcell 2 Step 5: Add a pick fixture to the workcell In this step, you add a fixture to the workcell where the robot will pick your defined part. The Fixture, called Pick Fixture, will be a blue box which a part can be picked from. You then associate the part created earlier, Little Robot Part, with this fixture. Create Fixture 1 1. Select Add a Fixture to the Cell in the Define the Cell category of the Process Navigator 2. You will see a dialog with several options. Select Box Primitive Model and press OK. A box will appear on the screen and the Fixture Property Page dialog window will appear defaulted to the General Tab 3. In the Name field of the property page enter the text "Pick Fixture" and press Apply Roboguide/PRO Software Workcell Examples 27 4. In the Size in Z field of the property page enter 500 and press Apply. 5. In the Color field of the property page select the color wheel. When the color palette appears select a nice shade of blue and press OK. When the color palette dialog closes select Apply. The box color should change to Blue. You can now move the box around the workcell to place it where you want to pick parts from. 15. Move the box in front of the robot. For this example, move the box to location 1500, 0, 500, 315, 0, 0. These values should be in the Location properties on the Pick Fixture Property Page Associate Part with Fixture You need to define what part will work with the fixture. Once you have defined what part goes with this fixture you can define its placement in the fixture. 1. Select the Parts Tab!JumpID(`SimPRO_Parts.hlp',`Using_the_Parts_Property_Page_Tab') on the Fixture property page 2. Select Little Robot Part from the Parts list and press Apply. You will see Little Robot Part appear relative to the fixture. Note: if you do not see the part, make sure the Part Visible at Teach Time box is checked. 3. Enable the Edit Part Offset button. 4. There are Multiple methods to define the Part Offset in the fixture: Method 1: Select the Edit Part Offset option box. The Little Robot Part now has a triad coordinate system. You can adjust the part location by dragging or rotating the triad to the desired location. When finished moving the part press Apply to set the Part Offset value for the part in fixture location. Method 2: Use the automatic calculate method. For this example the offset will be entered directly- method 3. Method 3: You can directly enter the value. For this example, direct enter the values 0, 0, 0 ,0 ,0 ,0 and press Apply. Define Simulation parameters You now must assign properties to the fixture so that it can accept parts. Roboguide/PRO Software Workcell Examples 28 1. Select the Simulation Tab 2. Select Allow Part to be picked are Picked here and press Apply. This tells HandlingPRO that this fixture will be used for picking parts. 3. Change the Part Create to 2.00 seconds and press Apply. This tells PRO software to wait 2 seconds after the part is picked before creating a new part in the fixture. 4. Select the Fixture Properties / General Tab. 5. Enable the Lock All Location Values property by checking the box on the tab and press Apply. Resulting HandlingPRO state: You should now have a pick fixture in your work cell. The pick fixture should be blue and directly in front of the robot, tilted on an angle. Simple Workcell 2 Step 6: Add a place fixture to the workcell Fixture two, called Place Fixture, will be a red box which a part can be placed on. In this step you create fixture 2 and define how the part is placed on the fixture. Create Fixture 2: 1. Select Add a Fixture to the Cell in the Define the Cell category of the Process Navigator. 2. You will see a dialog with several options. Select Box Primitive Model and press OK. A box will appear on the screen and the Fixture Property Page dialog window will appear defaulted to the General Tab 3. In the Name field of the property page enter the text "Place Fixture" and press Apply 4. In the Size in Z field of the property page enter 750 and press Apply. 5. In the Color field of the property page select the color wheel. When the color palette appears select a nice shade of red and press OK. When the color palette dialog closes select Apply. The box color should change to red. You can now move the box around the workcell to place it where you want to place parts. Roboguide/PRO Software Workcell Examples 29 6. Move the box in front of the robot to the robots left. For this example, move the box to location 850, 1500, 750, 0, 0, 0. These values should be in the Location properties on the Pick Fixture Property Page Associate Part with Fixture You need to define what part will work with the fixture. Once you have defined what part goes with this fixture you can define its placement in the fixture. 1. Select the Parts Tab on the Fixture property page 2. Select Little Robot Part from the Parts list and press Apply. You will see Little Robot Part appear relative to the fixture. Note: if you do not see the part, make sure the Part Visible at Teach Time box is checked. 3. Enable the Edit Part Offset button. 4. There are Multiple methods to define the Part Offset in the fixture: Method 1: Select the Edit Part Offset option box. The Little Robot Part now has a triad coordinate system. You can adjust the part location by dragging or rotating the triad to the desired location. When finished moving the part press Apply to set the Part Offset value for the part in fixture location. Method 2: Use the automatic calculate method. For this example the offset will be entered directly- method 3. Method 3: You can directly enter the value. For this example, direct enter the values 0, 0, 0 ,0 ,0 ,0 and press Apply. Define Simulation parameters You now must assign properties to the fixture so that it can accept parts. 1. Select the Simulation Tab 2. Select Allow Part to be placed and press Apply. This tells HandlingPRO that this fixture will be used for placing parts. 3. Change the Part Destroy to 2.00 seconds and press Apply. This tells PRO software to wait 2 seconds after the part is placed before destroying the part in the fixture. 4. Select the Fixture Properties / General Tab. Roboguide/PRO Software Workcell Examples 30 5. Enable the Lock All Location Values property by checking the box on the tab and press Apply. Resulting HandlingPRO state: You should now have a fully defined workcell with Fixtures and Parts. Parts are associated with fixtures and are visible in each fixture. End of arm tooling is defined for open and closed with the closed state displaying a part in the tooling. Simple Workcell 2 Step 7: Create a robot program Create a robot program In this step you will create a new robot TPP program that can be run in the simulation environment. You will learn how to add a program, and record and touchup points. Additionally, you learn how to animate picks and places using the virtual TP. Create a Robot TPP Program 1. The first step is to create a new TPP on the virtual robot Program. 2. Open the cell browser 3. Right click on the Programs category under Robot Controllers / Robot1. A popup menu should display. Select Add TPP Program. A new TPP Program is created on the virtual robot, and the property page should show for this program. The virtual TP window opens with the edit page showing. 4. In the Name field of the Program Properties page enter exmpl2wc and press Apply. 5. In the Program Properties page select OK. The page should close. 16. You now have a TP Program called exmpl2wc which shows in the Cell Browser window under the Robot Controllers / Robot1 /Programs category. Exmpl2wc is loaded into the Virtual TP Editor with no TP Lines created. Creating and editing TP Program lines You will now create a TPP program that performs a pick and place function. Pick Sequence teach: 1. Jog the robot to a position that will serve as a home position. Roboguide/PRO Software Workcell Examples 31 2. In the Virtual TP, enable the TP, then press the shift key and then press F1 <POINT>. A TPP Line should be created. 3. Jog the robot to create a position near the pick up point 4. In the Virtual TP, enable the TP, and then press F1 <POINT>. A menu is displayed on the virtual TP display. Select item 4: L P[] 100mm/sec CNT100. A TPP Line should be created. 5. Using the arrow keys on the Virtual TP, move the cursor over the 100 mm/sec. Enter 1000 using the Virtual TP keypad and Press the Enter key on the Virtual TP. The speed for the line changes to 1000 mm/sec. 6. Press the down arrow key on the Virtual TP. The cursor should be on the [End] statement of the TP Program. 7. Press the close hand icon on the toolbar (). The EOAT should now show the gripper holding the part. 8. PRO Software has features to quickly teach fixture positions. Open the pick fixture property pages. 9. Select the parts tab. 10. Select Little Robot part 11. In the dropdown box in the part offset frame select UT:1 (EOAT1). 12. Press the MoveTo button. The robot should move to the pick position. 13. In the Virtual TP, enable the TP, and then press F1 <POINT>. A menu is displayed on the virtual TP display. Select item : L P[] 100mm/sec FINE. A TPP Line should be created. Place Sequence Teach: 1. With the Virtual TP arrow keys move the cursor to the [End] statement of the program. 2. Jog the robot away from the pick position. 3. In the Virtual TP, enable the TP, and then press F1 <POINT>. A menu is displayed on the virtual TP display. Select item: L P[] 100mm/sec CNT100. A TPP Line should be Roboguide/PRO Software Workcell Examples 32 created. 4. Jog the robot near the Place position. 5. In the Virtual TP, enable the TP, and then press F1 <POINT>. A menu is displayed on the virtual TP display. Select item: J P[] 100% CNT100. A TPP Line should be created 6. PRO Software has features to quickly teach fixture positions. Open the place fixture property pages. 7. Select the parts tab. 8. Select Little Robot part 9. In the dropdown box in the part offset frame select UT:1 (EOAT1). 10. Press the MoveTo button. The robot should move to the place position. 11. In the Virtual TP, enable the TP, and then press F1 <POINT>. A menu is displayed on the virtual TP display. Select item: L P[] 100mm/sec FINE. A TPP Line should be created. 12. Press the close hand icon on the toolbar. The EOAT should now show the gripper open. 13. Jog the robot away from the place point. 14. In the Virtual TP, enable the TP, and then press F1 <POINT>. A menu is displayed on the virtual TP display. Select item: J P[] 100% CNT100. A TPP Line should be created. Resulting HandlingPRO state: You should now have a fully defined workcell with Fixtures and Parts. Parts are associated with fixtures and are visible in each fixture. End of arm tooling is defined for open and closed with the closed state displaying a part in the tooling. A TP Program is created to run a pick and place process. The TP Program that runs has no animation. Roboguide/PRO Software Workcell Examples 33 Simple Workcell 2 Step 8: Animating a Virtual TP Program Virtual TP programs have no direct support to animate the attachment of parts to the end of arm tooling. To animate, you use a mixture of animation programs and TP Programs. In this step you create a animation TP program that closes the gripper and a program that opens the gripper. These programs are then inserted into the Virtual TP program with Calls to pickup and drop respectively. Create a Close Gripper Animation Program The first step is to create a new animation TPP program that only closes the gripper. 1. Open the cell browser 2. Right click on the Programs category under Robot Controllers / Robot1. A popup menu should display. Select Add Simulation Program. A new simulation program is created, and the Simulation Program Editor is opened. 3. In the Name field of the Program Properties page enter closeg and press Apply. 4. In the Program Properties page select OK. The page should close. You now have a TP Program called closeg which shows in the Cell Browser window under the Robot Controllers / Robot1 /Programs category. closeg is loaded into the Simulation Program Editor with no TP Lines created. 5. In the Simulation Program Editor, select the dropdown for Inst menu item, and select Pickup. A Pickup instruction is inserted into the program. 6. Select Little Robot Part from the Pickup field, Pick Fixture from the drop down list in the From field, and select UT:1 from the With field. Pick Fixture should now show in the Pickup instruction. 7. In the Simulation Program Editor, select the dropdown for Inst menu item, and select WAIT 0.5(sec) A Wait instruction is inserted into the program. The pickup (closeg) program is now created and will be inserted into the Virtual TP program in a later step. Create a Open Gripper Animation Program The next step is to create a new animation TPP program that only opens the gripper. 1. Open the cell browser Roboguide/PRO Software Workcell Examples 34 2. Right click on the Programs category under Robot Controllers / Robot1. A popup menu should display. Select Add Simulation Program. A new simulation program is created, and the Simulation Program Editor is opened. 3. In the Name field of the Program Properties page enter openg and press Apply. 4. In the Program Properties page select OK. The page should close. You now have a TP Program called openg which shows in the Cell Browser window under the Robot Controllers / Robot1 /Programs category. openg is loaded into the Simulation Program Editor with no TP Lines created. 5. In the Simulation Program Editor, select the dropdown for Inst menu item, and select Drop. A drop instruction is inserted into the program. 6. Select Little Robot part from the Drop field, UT:1 from the From field, and Place Fixture from the On field Place Fixture should now show in the Drop instruction. 7. In the Simulation Program Editor, select the dropdown for Inst menu item, and select WAIT 0.5(sec) A Wait instruction is inserted into the program. The Drop program is now created and will be inserted into the Virtual TP program in a later step. Inserting Call statements into the TP program The next step is to insert Call statements into your virtual TP program which call the above created programs. 1. Select exmpl2wc from the cell browser. 2. Open the virtual TP Editor 3. Use the Virtual TP arrow keys to move the TP editor cursor to the line after the position where you want to close the gripper. 4. Insert a blank line. Enable the Virtual TP, and press the Next button. Press F5 [EDCMD] and select Insert (1). Press the Enter button on the keypad. A blank line is inserted. 5. Insert a Call Instruction to closeg. Press F1 [INST]. A window shows on the display. Roboguide/PRO Software Workcell Examples 35 Select CALL. A new window shows. Select CALL program. A CALL … instruction is put into the program. Select closeg from the list. 6. Use the Virtual TP arrow keys to move the TP editor cursor to the line after the position where you want to open the gripper. 7. Insert a blank line. Enable the Virtual TP, and press the Next button. Press F5 [EDCMD] and select Insert (1). Press the Enter button on the keypad. A blank line is inserted. 8. Insert a Call Instruction to openg. Press F1 [INST]. A window shows on the display. Select CALL. A new window shows. Select CALL program. A CALL … instruction is put into the program. Select openg from the list. The program is now setup to run animation. When the program is run the gripper will pick and place the part. NOTE: when using Shift FWD on the TP animation does not appear because HandlingPRO only puts animation programs on the virtual robot when it is running a program. Simple Workcell 2 Step 9: Run the program You will now run a simulation of your workcell. Running the program 1. Select Run TP Program from the Run Production category of the Process Navigator. The Run panel window will appear on your screen. 2. Press Run on the toolbar.of the UOP window The program should run, and you should see the part get picked and placed. Profiling your program for cycle time 1. Select Profile TP Program from the Run Production category of the Process Navigator. The Run panel and Profiler windows will appear on your screen. The Profiler window is shown that displays information for each run of the program. There are 2 tabs on the windows. Display options are set to define how you want to see the robot data as the cycle runs. The Profile tab shows the cycle time and alarms for the running TP Program. Roboguide/PRO Software Workcell Examples 36 2. Select the Profile Tab. 3. Press Run on the toolbar.of the UOP window The program should run, and you should see the part get picked and placed. The profiler window shows times for the program and each TP program line. Profiling your program with TP Trace 1. Select Run TP Program from the Run Production category of the Process Navigator. The Run panel window will appear on your screen. 2. Select Test-Run / Profiler from the main menu 3. Select the following options (make sure a check mark appears), Collect TP Trace, Refresh Display, and Compress AVI on the Display Options tab. 4. Select the Profile tab in the Profiler window. 5. Press Run on the toolbar.of the UOP window The program should run, and you should see the part get picked and placed. The profiler window shows times for the program and each TP program line. You will see a trace line that runs with the robot as the robot moves. This is the actual robot motion. 6. The profiler provides several features. If you run the program multiple times, a separate profile set is created for each run. You can experiment with different settings to view results. For example, if you change motion parameters in your TP Program, you can run the Profiler TP Trace and view the results to determine how the change effects your robot motion. The Keep Visible check box on each Profile Display Options tab can be checked to determine differences in runs. Simple Workcell 2 Step 10: Creating an AVI of your workcell It is easy to create an AVI file of your running workcell. 1. Select Run TP Program from the Run Production category of the Process Navigator. The Run Panel window will appear on your screen. 2. Press Record on the toolbar.of the run panel The program should run, and you should see the part get picked and placed. Roboguide is creating an AVI file of your run. When the run is complete, Roboguide will popup a window that describes where the AVI file was placed on your computer. Roboguide/PRO Software Workcell Examples 37 2.3 PalletPRO: A Simple Pallet Workcell Example Simple Pallet Workcell Example Overview The following procedures provide a procedure for creating a PalletPRO workcell. The example assumes that you have started PalletPRO and that you have no active workcell in the workspace of PalletPRO. When complete your workcell should contain the following entities: • An M-410iB/160 robot with end of arm tooling – vacuum – double case. • 2 infeeds for conveying boxes • 2 pallets for stacking boxes This workcell is built for you and is available in Directory: <install directory>\PRO\PalletPRO\Example Workcells\Workcell Example\ Workcell Example. Install directory is typically C:\Program Files\FANUC Initial state of PalletPRO: • PalletPRO is running with no workcell defined • The Process Navigator window is open Simple Pallet Workcell Step 1: Creating a new workcell Simple Pallet Workcell Step 1: Creating a new workcell 1. Select Start New Cell from the Process Navigator . The workcell wizard is opened 2. A step is shown that allows selection of the process to perform Select PalletPRO and press Next 3. A dialog is shown that presents current existing workcells, and a field to enter a new workcell name. Enter a name for your new cell, and press Next. (for this example use the workcell name "PalletPRO Example Workcell". 4. The next step shows a list of supported robots. For this example, select M- Roboguide/PRO Software Workcell Examples 38 410iB/160, and press Next. 5. If multiple controller versions exist, the next step shows Virtual robot versions available. Select the latest version. 6. The next step shows robots and positioners for additional motion groups. Select nothing and press next. 7. The next step shows controller options that can be loaded. Ensure that PalletTool Turbo is selected and press next 8. A summary page is shown that displays how the virtual robot will be loaded 9. Press Finish PalletPRO will start a Virtual Robot and then create a 3D virtual world with a robot. At this point the robot can be jogged on the screen Resulting state: You should now have a new workcell with a robot. The workcell has a robot, a single pallet, and an infeed. The 3D CHUIWorld view can be viewed and modified. Simple Pallet Workcell Step 2: Editing the robot and pallet system properties Editing the robot and pallet system properties The robot’s properties can be modified. You can move the robot around the workcell and set other properties for the robot and pallet system. 1. Select Setup Pallet System on the Process Navigator . From this page you can define how the pallet system should operate. For this example you will use the PalletPRO defaults. 2. Select the General Tab. 3. Set the Lock all location values checkbox on the property page to ensure that the robot base can not be moved in the workcell. Press Apply. Resulting state: • A robot should be in your workcell Roboguide/PRO Software Workcell Examples • The Lock all location values option box should be checked on the Robot / General Property Page Note: The pallet system tab provides many options to change the operation of the pallet workcell. The ability to change how the workcell and robot process pallets and multiple infeed systems is provided. For this example, the defaults are used. Simple Pallet Workcell Step 3: Setup Palletizing Gripper / EOAT In this step you will setup the palletizing gripper on the robot. PalletPRO starts your workcell with a default vacuum gripper. You may change the gripper CAD on the end of arm. For this example we use the default gripper. 1. Select Setup Gripper from the Process Navigator The End of arm tooling property page should open. There are two tabs on the EOAT property page. The General tab and the Palletizing tab. 2. Select the Palletizing tab 3. Change the Gripper Type to be edited to Vacuum – Double for this example. 4. Select the General Tab 5. Set the Lock all location values checkbox on the property page to ensure that the tooling can not be moved from the robot. 6. Press Apply or OK to make the changes take effect Resulting state: The robot defined with a double vacuum gripper and has been locked to the end of arm. The default Pallet Station and Infeed are also present. 39 Roboguide/PRO Software Workcell Examples 40 Simple Pallet Workcell Step 4: Adding and working with pallet stations PalletPRO includes a default pallet station when it creates a workcell. This example workcell has 2 infeeds and 2 pallets. In order to balance the workcell, we will place the objects symmetrically in front of the robot. In this step you will modify the location of the default pallet station, and add and locate a new pallet station. Modify the default location of the pallet station 1. Select PalletStation1 in the workcell, and open its property page When you select a pallet station, you see a black arrow on a red box on the pallet. This is the origin teach plate that PalletTool / PalletPRO use. This will be discussed later. We will re-locate pallet station 1. Objects can be moved in the workcell. 2. Direct enter the new location for the pallet station. Enter the values 440, -2100, 24, 0, 0, 0 into the location field on the Pallet Stations General Property tab, and press Apply to make the change take effect. The pallet should now be in a new location. 3. Set the Lock all location values checkbox on the property page to ensure that the pallet station can not be moved in the workcell 4. Press OK or Apply to make the changes take effect. Add a pallet station 1. From the process navigator select "Add a Pallet Station". NOTE: you can also add a new pallet station using the Cell Browser A new pallet station is entered in the workcell and needs to be located correctly. 2. Direct enter the new location for the pallet station. Enter the values 440, 1300, 24, 0, 0, 0 into the location field on the Pallet Stations General Property tab, and press Apply to make the change take effect. The pallet should now be in a new location. Roboguide/PRO Software Workcell Examples 41 3. Set the Lock all location values checkbox on the property page to ensure that the pallet station can not be moved in the workcell 4. Press OK or Apply to make the changes take effect. Resulting State: You should now have 2 pallet stations and a single infeed in your workcell. Simple Pallet Workcell Step 5: Adding and working with infeed stations In this step you work with the properties for the default infeed station and add a second infeed station. You need to define infeed properties that define how units are delivered on the infeed, and transit delay times. PalletPRO attempts to properly configure IO for the infeed. Modify the location of the default infeed station 1. Select Infeed 1 in the workcell and open its property page. When you select an infeed station, you see a black arrow on a red box on the infeed station. This is the origin teach plate that PalletTool / PalletPRO use. This will be discussed later. We will re-locate pallet station 1. Objects can be moved in the workcell. 2. Direct enter the new location for the infeed station. Enter the values 1100, -700, 750, 0, 0, 0 into the location field on the Infeed Stations General Property tab, and press Apply to make the change take effect. The infeed station should now be in a new location. 3. Set the Lock all location values checkbox on the property page to ensure that the infeed can not be moved in the workcell 4. Press OK or Apply to make the changes take effect. Add an infeed station 1. Select Add an Infeed Station from the Process Navigator. Roboguide/PRO Software Workcell Examples 42 NOTE: you can also add a new infeed station from the Cell Browser. A second infeed is added to the cell. 2. Direct enter the new location for the infeed station. Enter the values 1100, 100, 750, 0, 0, 0 into the location field on the Infeed Stations General Property tab, and press Apply to make the change take effect. The infeed station should now be in a new location. 3. Set the Lock all location values checkbox on the property page to ensure that the infeed can not be moved in the workcell 4. Press OK or Apply to make the changes take effect. Resulting State You should now have 2 pallets and 2 infeeds in your workcell. Simple Pallet Workcell Step 6: Adding and working with slip sheet dispensers In this step, you add a slip sheet dispenser to your workcell. Add a slip sheet dispenser 1. Select Add a Slip Sheet Dispenser from the Process Navigator. NOTE: you can also add a new slip sheet dispenser from the Cell Browser. A slip sheet dispenser is added to the cell. 2. Direct enter the new location for the slip sheet dispenser. Enter the values -675, 1300, 0, 0, 0, 0 into the location field on the Slip Sheet Dispenser's General Property tab, and press Apply to make the change take effect. The slip sheet dispenser should now be in a new location. 3. Set the Lock all location values checkbox on the property page to ensure that the slip sheet dispenser can not be moved in the workcell 4. Press OK or Apply to make the changes take effect. Resulting State: Roboguide/PRO Software Workcell Examples 43 You now have a complete cell with 2 pallet stations, 2 infeed stations, and a slip sheet dispenser. The slip sheet pick up positions are automatically set by PalletPRO. Simple Pallet Workcell Step 7: Modifying a pallet stations process properties In this step, you change the pallet orientation / origin position for pallet station 2. Modifying a pallets orientation / origin for the palletizing process. 1. Select PalletStation2 in the workcell, and open its property page 2. Select the Pallet Tab. 3. Select the length on width picture () in the Teach Aid Frame and press Apply. This moves the origin for the palletizing process to a different corner of the station. Unit Loads are process on a pallet as defined by this origin. The build will start from this origin. 4. Select OK or Apply to accept the changes. Resulting State: You now have a complete cell with 2 pallet stations, 2 infeed stations, and a slip sheet dispenser. The origin of pallet 2 has been switched to the outside corner which means the unit loads will build from this corner. Simple Pallet Workcell Step 8: Modifying an infeed stations process properties In this step, you change the Infeed orientation / origin position for infeed station 2. Modifying a infeeds orientation / origin for the palletizing process. 1. Select Infeed 2 in the workcell, and open its property page 2. Select the Infeed Tab. 3. Select the length on width picture () in the Teach Aid Frame and press Apply. This moves the origin for the palletizing process to a different corner of the station. Unit Loads are process on a infeed as defined by this origin. 4. Select OK or Apply to accept the changes. Roboguide/PRO Software Workcell Examples 44 Resulting State: You now have a complete cell with 2 pallet stations, 2 infeed stations, and a slip sheet dispenser. The origin of infeed 2 has been switched to the opposite corner which means the units will feed on this side of the infeed. Simple Pallet Workcell Step 9: Editing a unit load and adding a new unit load PalletPRO initializes with a unit load already existing in your workcell. In this example, you will modify the default unit load and add a new unit load. Parameters will be changed on both unit loads so that you can become more familiar with the editing of a unit load. Edit an existing unit load 1. Select unit load UL001-Sample Product from the cell browser The unit load's property page will open. Note:when the page opens, you will see the unit load you are working on as configured shown on pallet 1 in the 3D world. As changes are made in the property pages, the pallet unit load in the 3D world is updated when you press Apply. 2. On the Enter dimensions tab: change the Unit dimensions width value to 300. Remember, you must press Apply to have the change take effect. 3. On the Select Pattern Tab change the pattern to Optimal and press Apply. 4. Press the Palletizing Parameters button This takes you to the property page where you modify the palletizing process. Layer configuration and optimal path are two such processing parameters you can modify. 5. Change the layers field to 3, and press Apply. 6. In the left center of the property page a graphic shows Layer configurations. Right mouse click on the portion of the graphic that shows "Layer 1: Normal". A popup menu is shown. "Select Slip Sheet Above" from the list. Press Apply. A slip sheet is placed in the graphic, and on the pallet in the 3D world 7. In the Process Parameters frame select Double Case from the drop down list for Grippers, and press OK The unit load property pages should close.. Roboguide/PRO Software Workcell Examples 45 You have modified unit load 1. Add a Unit Load In this procedure, a new unit load is created. A double gripper is defined, and the Layer picking is manually modified. You manually modify picking configuration to optimize system efficiency. A double case gripper can pick and place multiple units. By default, PalletPRO configures the unit load for multiple unit picks and single unit placements. The unit load created will be modified to place multiple units. 1. Select Add Unit Load from the Setup Unitloads category on the Process Navigator. A new unit load is created and the property page is shown. The defaults for dimensions and pattern are used. 2. PalletPRO allows you to input a "skin" to a unit. A "skin" is an image file that is placed on each face of a unit. Press the folder button to the right of the Skin Image File: field. Select <install directory>\PRO\PalletPRO\Example Workcells\Workcell Example\frna_logo.jpg. Install directory is typically C:\Program Files\FANUC. Press Apply. Your unit load shown in the 3D world will now have a new "skin" attached on each unit. 3. Select the Palletizing Parameters button to open the property page for processing parameters. It is on this page that we modify the gripper type and Layer cycle definition. 4. In the Process Parameters frame select Double Case from the drop down list for Grippers, and press Apply. The normal layers cycles frame grid changes to reflect a double case gripper. 5. In the Normal Layers cycle frame grid on the Configure Cycles tab we will modify the Group column to configure simultaneous placement of units. For each row in the grid, you modify how boxes are presented on the infeed, and how the robot places units. Modify the grid to have the following entries. Cycle Infeed Pick Orientation 1st drop Group 2nd 1 Length on Length 1 & And 2 2 Width on Length 3 & And 4 3 Width on Length 5 . 6. When you have completed editing the grid, press OK to finish the editing of this unit Roboguide/PRO Software Workcell Examples load. Resulting State: You now have a complete cell with 2 pallet stations, 2 infeed stations, and a slip sheet dispenser. 2 unit loads are defined. Simple Pallet Workcell Step 10: Running a production simulation Your workcell is now complete, and we can run a simulation of the palletizing process. Running the simulation of the palletizing process. 1. Select Run Panel from the Run Production category of the Process Navigator. The PalletPRO Run Panel dialog is opened. 2. Make sure the Refresh Display option is checked. Press Run. The Simulation Cycle Start dialog is opened. 3. Ensure that the following entries are made in the table. Line #1 – UL001 – Sample Product, Pick = Infeed1, Place – PalletStation1 Line #2 – UL002 – Sample Product, Pick = Infeed2, Place – PalletStation2 Press Start The Production Data display box is opened and the workcell starts palletizing. 46 Roboguide/PRO Software Workcell Examples 47 2.4 Buid an auxiliary axis example Building an aux axis system example Step 1 Create a new workcell A new workcell is created with the name Aux_System_example. Several steps are required and this step describes each procedurally. Step 1: Create a new workcell 1. Start a new workcell by selecting File / New from the main menu The workcell creation wizard is opened. 2. Select which Roboguide plugin you desire and press Next. This example uses HandlingPRO. 3. Name the workcell and press Next. This example uses the workcell name Aux_System_Example. 4. Select the desired robot from the list and press Next. This example uses the R2000iA/165F. 5. On the Additional Motion Groups Page select Next. 6. Select options to be loaded on the robot. Check the box next to the Extended Axis Control option in the list and press Next. See Configuring a virtual robot for an aux axis system form a more detailed description of this wizard step. 7. The final step of the wizard shows the configuration of the robot that will be serialized. Press Finish to start the creation of the virtual robot. After pressing finish the virtual robot is serialized. The process can be seen on the virtual TP screen. PRO should initialize with a 3D ChuiWorld. Defining the auxiliary axis hardware information. After serializing the virtual robot the configuration has extended axis capability. Axes must be added to the robot group 1 before the axes can be used. 8. Start the virtual robot in controlled start mode by selecting Robot / Restart Controller / Controlled Start from the main menu. The robot will restart in controlled start. 9. Press Menu button, and then select Maintenance Roboguide/PRO Software Workcell Examples 48 10. Down Arrow to the extended axis item and press enter 11. Press Manual 12. A menu is presented which allows you to select the motion group to modify extended axis information. Select Group 1 and press enter. 13. Enter the hardware start number for the extended axes. Select 7 and press enter. 14. A menu is presented which allows you to modify extended axis configurations. Select the Add Ext Axis item and press Enter. 15. The Virtual TP screen shows question that must be answered to define the hardware selected. When the questions appear left click the mouse on the virtual TP window, and answer the questions as detailed below (the answers provided may not be correct for the hardware on an actual auxiliary axis hardware. See the Robot manuals for more information). 16. Aux axis 1 Initialization o Enter the axis to add: 1 o Motor Size: Aca6 o Motor Type Setting: /2000 o Amplifier Current Limit Setting: 40A o Extended axis type: Integrated Rail (Linear axis) o Direction: Select Y – this makes joint 7 perform in the robot Y direction. o Enter Gear Ratio: 120 o Maximum Joint Speed Setting: No Change o Motion Sign Setting: False o Upper Limit Setting: 5000 o Lower Limit Setting: -5000 (Press the – key on the numeric keypad) Roboguide/PRO Software Workcell Examples o Master Position Setting: 0 o Accel Time 1 Setting: No Change o Accel Time 2 Setting: No Change o Minimum Accel Time Setting: No Change o Load Ration Setting: 2 o Amplifier Number Setting: 1 o Select Amp Type: Alpha amp - 2 o Brake Number Setting: 2 o Servo Timeout: Disable 17. After answering the last question, the Ext Axis Setting program menu is shown again. Select the Add Ext Axis item and press Enter 18. Aux axis 2 Initialization o Enter the axis to add: 2 o Motor Size: Aca6 o Motor Type Setting: /2000 o Amplifier Current Limit Setting: 40A o Extended axis type: Integrated Rail (Linear axis) o Direction: Select X – this makes joint 8 perform in the robot X direction. o Enter Gear Ratio: 120 o Maximum Joint Speed Setting: No Change o Motion Sign Setting: False 49 Roboguide/PRO Software Workcell Examples 50 o Upper Limit Setting: 4000 o Lower Limit Setting: -4000 (Press the – key on the numeric keypad) o Master Position Setting: 0 o Accel Time 1 Setting: No Change o Accel Time 2 Setting: No Change o Minimum Accel Time Setting: No Change o Load Ration Setting: 2 o Amplifier Number Setting: 1 o Select Amp Type: Alpha amp - 2 o Brake Number Setting: 2 o Servo Timeout: Disable 19. The axes have been defined and setup. The Ext Axis Setting program menu is shown. Select Exit and press Enter. 20. The select group menu is shown. Select Exit and press enter. 21. Press Fctn / Start (Cold) Roboguide opens with a robot in a workcell with no other devices. Expand the Robot Controllers / Robot 1 tree in the cell browser. The axes exist but a machine needs to be defined that use the auxiliary axes. To validate that the extended axes have been defined, the additional joints should be available on the Current Position tab of the virtual Teach Pendant. Building an aux axis system example Step 2 Build the auxiliary axes system Step 1 created a new workcell, and configured a virtual robot with extended axes on the virtual robot. Step 2 uses these extended axes to build a Roboguide machine / auxiliary axis system. A machine is defined that has a base that defines the 10 meter Y rail. An additional joint is Roboguide/PRO Software Workcell Examples 51 added to define the 8 meter X rail. The robot is then attached to the X rail. The following procedure defines this relationship within the workcell. Build the base of the auxiliary axis system 1. Open the cell browser if it is not open. There should be a Machines element in the tree under the workcell. 2. Right Click on the Machines Element and select Add Machine / Box menu selection. A box is added to the workcell and the property page for the machine is shown. 3. Change the Name Property to X-Y Rail and press Apply. 4. Locate the Box. Enter Size in X = 1000, Y= 10000, Size in Z = 300 and 0, 0, 300, 0, 0, 0 for the CAD Location, and press Apply. The box should move to the floor and be 10 meters in the Y direction. 5. Select Lock All Location Values and press Apply to lock the base in the workcell. 6. The base now exists for the robot Y rail of travel. The next step is to add the Y rail control such that when axis 7 (Y direction) is jogged or moved the X rail moves in the Y direction (joint 7). Build the dependent X rail axis. 7. Right Click on the X-Y Rail Machine root node under Machines and select Add Link > Box. A box for the X rail axis of the machine should be loaded into the workcell, and the property page for the control of joint 7 should be open. The motion control axis must be defined, the motor must attached to the motion control axis, and the CAD box must be located correctly for the machine. 8. Change the Name Property to X Rail and press Apply. 9. On the General property page press the Select 3D Axis button. This highlights the coordinate system that moves when the axis is jogged or moved. For more information regarding the 3D axis and Link CAD reference frames see Working with machines. 10. Roboguide constrains that the 3D axis origin of the axis link defines the origin of motion with the Z axis of the axis link defining the direction of travel. The Z axis of the axis link must be rotated to align with the Y rail base Box created in an earlier step. In the Axis Origin fields enter 0, 0, 0, 90, 0, 0 and press Apply. Note that the 3D axis reference frame now is in the direction of travel along the rail. Roboguide/PRO Software Workcell Examples 52 11. Locate the Box relative to the Joint 7 Axis Origin of motion. Select the Link CAD tab on the X Rail Property page. Enter Size in X= 8000, Size in Z = 300 and 0, 0, 300, 90, 0, 0 for the CAD Location, and press Apply. The box should be on the floor and be 8 meters in the X direction. 12. Define the robot axis that controls this axis. On the X Rail Motion Property page select Group = GP:1 R-2000iA. In the Joint field, select Joint 7. Press Apply. 13. Open the virtual Teach Pendant and jog Joint 7. The box just attached to joint 7 moves in the World Y direction relative to the base CAD box. If the teach ball at the end of the robot moves in the opposite direction of the axis, it means that the motor direction is opposite of the CAD link Axis direction defined. To quickly change this association, open the property page for the X Rail and select the Negative checkbox on the General property page. The robot teach ball should now move with the rail as it is jogged. Attach the robot to the X rail Axis 14. Right Click on the G:1, J:7 - X Rail Machine node under Machines and select Attach Robot -> GP:1 – R-2000iA/165f. This attaches the robot to J:7 X- Rail so that when the X Rail is jogged the robot moves on the rail. 15. Change the Name Property to Robot R2000 and press Apply. 16. Press the Select 3D Axis button. This highlights the coordinate system that moves when the axis is jogged or moved. 17. Roboguide constrains that the origin of the axis link defines the origin of motion with the Z axis of the axis link defining the direction of travel. The Z axis of the axis link must be rotated to align with the X rail Box created in an earlier step. In the Axis Origin fields enter 0, 0, 0, 0, 90, 0 and press Apply. The Z axis is now aligned with the direction of travel. The robot rotates because the Link CAD is relative to the 3D Axis origin. 18. Locate the Robot relative to the Axis Origin of motion. Select the Link CAD tab on the Robot R2000 property page. Enter 0, 0, 0, 0, -90, 0 for the CAD Location, and press Apply. The box should be on the floor and be 8 meters in the X direction. 19. Define the robot axis that controls this axis. On the Motion Tab of the Property page select the Servo radio button and then select Group = GP:1 R-2000iA. In the Joint field, select Joint 8. Press Apply. An aux axis system should now be defined. Validation can be done by jogging both joints 7 and 8. Roboguide Menus 3 Roboguide Menus Roboguide Menus SimPRO’s main menu • File_Menu o New Cell o Open Cell o Restore Cell Save point o Save Cell o Save Cell As o Package Cell o View File: allows you to open and view a file. o Recent File: provides a list of recently viewed files. o Export IGES export Bitmap export o Recently used Workcell list • Edit o Undo o Redo o Cut: cuts the currently selected object. o Copy: copies the currently selected object to the clipboard o Paste: paste the cut or copied object o Delete: deletes the selected object • View o Cell Browser o Navigator o Zoom In: zooms the 3D world o Zoom Out: zooms the 3D world out. o Zoom Window o Orthogonal Views: snaps the view to the selected view o Center on selected object: centers the selected object o Full View: changes the zoom level of the 3D world such that all objects are in the field of view. o Wireframe: changes the objects to wireframe from surface mode. This setting is a toggle on to wireframe and toggle off to surface mode. o Perspective: toggles the 3D world into Perspective view. o Program Details o Quick bars Jog coordinates Gen override Teach MoveTo Targets o Mouse Commands • Cell o Add Robot o Add Part o Add Fixture o Add Obstacle o Add Target group 53 Roboguide Menus • Robot • Teach • • • • 54 o Restart All Controllers: Cold starts all controllers in the workcell o IO Interconnections o Workcell properties o Object Properties: opens the property page for the selected object in the workcell. o Lock Teach Tool Selection o Show Work Envelope; toggles the robot work envelope on/off. o Teach Pendant o Alarms o Web Browser: provides a window that has the Web server output displayed. o KCL Window: if KCL is enabled on the virtual robot, a KCL window is displayed. KCL commands can be entered. o Open/Close Hand: toggles the state of the end of arm tooling. See About using end of arm tooling for more information. o Restart controller: provides ability to restart the virtual robot in controlled start mode or cold start mode. o Load motion optimization: restarts the robot with motion optimization option enabled. This works with MotionPRO. o Launch MotionPRO o Robot Properties: opens the robot property page for the currently active robot controller. o Add Simulation Program o Add TP Program o Load TP Program o Draw Part Features o Teach Program: opens the currently selected program into the program editor. o Program Properties: opens the property page for the selected program. Test-Run o Run Panel o Run Options: allows options available on the run panel to be modified from the main menu. o Profiler o Duty Estimation Project o Add Files o Recent files o Set Default folder o Build o Import o Export Tools o Explore <workcell name>: opens a MS Windows explorer window with the workcell directory as the active directory. o Options Window o 3D Panes: o Minimize all: Minimize editor windows o Show All: opens all windows 55 Roboguide Menus • Help o Reset "Don’ show this again" captions: resets the dialogs that you turned off. o Contents: opens the help system. o Help on Current Windows: opens the help topic for the currently selected window. o Register SimPRO: provides licensing dialogs. o Transfer Roboguide License: provides dialogs to transfer a valid software license from one PC to another. o About: provides version information about the currently loaded process plugin. Creating a workcell Roboguide provides a wizard to create new workcells. Within the creation wizard you define workcell name, robot type, and robot options. When complete the wizard creates a new virtual robot. This robot is the configuration for the virtual robot which is real robot software running on your PC. When creating a workcell you must consider whether you want the robot • Created from a blank. Use this option when you want to build a robot and define options for the robot. This is generally used when you don’t have a physical robot that has been configured for your workcell. • Created from the backup of an actual physical robot. Use this option when you want to model an actual workcell that has a robot configured. For more information see Creating a virtual robot from backup. The wizard is initialized when you select create a new workcell. To create a new workcell from the toolbar 1. Left click on the new cell toolbar icon () 2. The workcell creation wizard dialog box is shown To create a new workcell from the main menu 1. From the main menu select File / New Cell 2. The workcell creation wizard dialog box is shown For more information on using the workcell creation wizard press here. If you are using PaintPRO, and you have run PaintPRO by opening PaintPRO and not by Roboguide Menus 56 generating a PaintPRO workcell from Roboguide a paint specific wizard is displayed. Related topics Using the workcell creation wizard The workcell creation wizard provides an interface to create a new workcell and to define the robot within the workcell. The type of robot can be modified after a workcell is created through the Robot Property Page. When creating a workcell you must consider what type of workcell you want: • Handling Workcell • Pallet Workcell • Etc. When creating a workcell you must consider whether you want the robot • Created from a blank/scratch. Use this option when you want to build a robot and define options for the robot. This is generally used when you don’t have a physical robot that has been configured for your workcell. • Created from the backup of an actual physical robot. Use this option when you want to model an actual robot in a workcell. When the creation wizard is opened you see the steps of the wizard shown as a tree on the left. You can step through the wizard with the next and back buttons, or you can select a step directly by left clicking on the Workcell Navigator step in the left pane. Workcell Creation Step by step description: (specific to creating a workcell). Step: Enter process Selection: • Select the process type you want for your workcell. Roboguide knows what application process plugins are installed on the PC. If only one application is present on the PC it is your default type. Step: Workcell Name: • Enter the name you want for your workcell. Roboguide Menus 57 Adding a workcell object To add an object using the cell browser 1. Right mouse click the type of element you want to add to your workcell A popup menu will appear with selections. The popup menu will have items based upon the PRO Software plug-in and the options loaded on robots in the workcell. For example, if line tracking is enabled, you would see "add line" under the fixtures menu. 2. Select the source of the object from which it should be added. Roboguide supports a CAD Library, importing of IGES files, and primitive objects. 3. If you select CAD File a dialog is opened in which you can select the CAD File desired. You may select multiple CAD files if you want to import multiple CAD images into the workcell as a single object. Note: the origin of the combined object will be the origin of the CAD files overlaid. If you select CAD Library a dialog is opened where you can browse the CAD library and select an object If you select one of the primitives, a primitive object is loaded into your workcell with default parameters. To add an object using the main menu 1. From the main menu select Cell. And then select the type of object to add. 2. Select from the popup menu (if applicable) the source of the object from which it should be added. Roboguide supports a CAD Library, importing of IGES files, and primitive objects. 3. If you select CAD File a dialog is opened in which you can select the CAD File desired. You may select multiple CAD files if you want to import multiple CAD images into the workcell as a single object. Note: the origin of the combined object will be the origin of the CAD files overlaid. If you select CAD Library a dialog is opened where you can browse the CAD library and select an object If you select one of the primitives, a primitive object is loaded into your workcell with default parameters. If you select Robot, the robot serialize wizard is opened. Roboguide Menus 58 Configure your robot controller ROBOGUIDE provides two wizards to help you create and modify the robot controller for your workcell. . • Workcell Creation Wizard: used to create a workcell with its initial robot. Select the File > New Cell menu or press the button on the main toolbar to launch this wizard. • Virtual Robot Edit Wizard: used to add a new robot to the workcell or modify an existing one. Select Add Robot from the Cell menu or the right-click popup menu on the Robot Controllers category of the cell browser to launch this wizard for adding a robot. Press the Serialize Robot on the General tab of the robot property page to launch this wizard for modifying the selected robot. The wizards are very similar. The Workcell Creation Wizard has one or two additional steps at the beginning to identify the workcell. When the creation wizard is opened you see the steps of the wizard shown as a tree on the left. You can step through the wizard with the next and back buttons, or you can select a step directly by left clicking on the Navigator step in the left pane. NOTE: Version Roboguide V6.40 Rev D and later: the creation wizard order changes. The robot controller version must first be chosen when creating a new robot. The reason for the change is that the R-J3iC controller platform requires a new option selection mechanism. The Virtual Robot Edit Wizard (link to Configure your robot controller) makes it easy to modify the configuration of your robot. It is designed to allow you to quickly try robot variations for simulation purposes only. A number of the motion parameters (for example: axis limits) are reset to their default values by the wizard. Do not use this wizard if you have created this robot from a backup and intend to restore any files from the workcell back to the original robot. Steps in the wizard include: Step: Process Selection • Select the process plugin from the list. • This step is only shown by the Workcell Creation Wizard when more than one process plugin is installed on the PC. • It is also hidden if ROBOGUIDE is initiated by a specific process plugin. Roboguide Menus 59 Step: Workcell name • Enter the desired workcell name • This step is only shown by the Workcell Creation Wizard • It is recommended that you use the Delete Item feature of this step if you wish to remove a workcell. It manages the cleanup of the Robot Neighborhood when a workcell is deleted. Step: Robot Selection Method • Select the method to create the virtual robot. o Create a new robot with the default xxxPRO config: The robot configuration in the steps below is initialized with the default selections provided by the selected process plugin.. Note: The text "xxxPRO" is replaced by the actual name of the selected process plugin. o Create a new robot with the last used xxxPRO config. This option is shown if you are creating a workcell or adding a new robot. or Create as a modification of the existing robot. This option is shown if you are reserializing a robot from the robot property page. o Create a robot from a file backup: creates a robot from a controller backup. The robot configuration is defined in the file backdate.dt. Press the browse icon (file folder) and browse to the directory that contains the backup of the desired controller. Select the backdate.dt file and press Open. When you press the Next button, the wizard tree is populated with information in the backdate.dt file. You will not be able to modify the details of the robot configuration. o Create an exact copy of an existing robot: allows you to make a copy of an existing robot. The robot may be a virtual robot or real robot. Press the browse robots () icon to open the Robot Neighborhood. Browse to Roboguide Menus 60 the desired robot directory and press Select. When you press the Next button, the wizard tree is populated with information in from the robot. You will not be able to modify the details of the robot configuration. After the robot is created you may re-enter the serialize wizard and change detail information. You re-enter the serialize a robot from the Robot Property Page Step: Robot Software Version • Virtual robot software that is loaded on your PC is displayed. Select the virtual robot controller version that you desire. Step: Robot Application Tool • Select the desired application Tool for the robot. Step: Robot Model • Select the desired robot from the list Step: Robot Models for additional motion groups • The step shows robots and positioners for additional motion groups. And a table that diagrams how the devices would be configured on the virtual robot. Click here for more information on defining additional motion groups. Step: Robot Options • Robot options, Languages and Memory configuration can be configured: o Software options tab: Scroll through the selections and check the boxes for the options that you desire. o Languages tab: select the desired language settings. o Advanced tab: Select the desired memory configuration for the created virtual robot. Select if FANUC Ltd. or FANUC Robotics America parameters should be loaded. (V7.20 and later) If the checkbox labeled "Configure I/O for simulation" is enabled you can decide if you want 4 process I/O boards to be configured or not. They provide a mix of I/O and UOP assignments suitable for simulation. The UOP assignments are required for proper operation of the run panel controls. Roboguide Menus 61 With the option unchecked, you can assign your own I/O configuration after the robot is started. Using the Target Quickbar The Target quickbar is displayed by pressing the Target quickbar toolbar icon (). There are buttons/ modes for: • Air Target: when depressed an air target is created with each left mouse click at the mouse cursor. The target is added under the Targets category of the cell browser. • Surface Target: when depressed a target is generated with each left mouse click at the normal of the surface that mouse cursor is over. The target is added under the Targets category of the cell browser. To create a target at the center of an arc, the SHIFT and Alt key must be depressed to show a crosshair at the center of the arc. When the left mouse button is clicked a target is generated at the center of the arc. • At robot TCP: when depressed a target is generated at the active / selected robots TCP. • To Group: when depressed, a new target is added to the Targets category and the current cell browser selected Target group. If not Target group is selected a message is posted. About program generation Robot programs can be generated from defined features in PRO software. Features and parts Features are owned by the parts they are created on. Since parts can be used in multiple fixtures, a feature can be used to generate programs for a part in several locations. The fixture to generate a TPP part program on is a setting in the CAD to Path feature property pages. Features and segments defined: Features are 3 dimensional lines in PRO’s CHUIWorld. Robot programs can be generated from PRO’s features automatically. A feature can be generated from: • CAD Edges • Freehand drawn lines: mouse clicking on CAD surfaces to create a node by node line. Similar to a line creation tool in a drawing package. Roboguide Menus 62 A feature can be broken into segments. A segment can be broken into multiple segments. The result is a feature that can contain many separate segments. When creating a program from the feature, different creation properties can be given to each segment in the feature to generate desirable robot process programs. For more information on CAD features click here. The following presents an example feature with 3 segments that was generated along a CAD Edge. Each segment has its own path generation properties. The yellow segment is the actively chosen segment. A feature is organized in the cell browser, and is owned by the part category in the cell browser. It is visualized as a tree with the feature being the root node. The feature and its segments represent the 3D line that should be used to generate robot programs. Creating features A feature is a "3D" line segment that can be generated in multiple ways in PRO Software. 1. From a CAD entity. Roboguide has tools to track the edges of CAD entities and create a feature. 26. Drawing a line on the CAD. This works like most drawing packages where you click and drag the mouse to create a line segment. As the line segment is drawn it is mapped to the CAD surface on which you are creating the line. There are multiple line drawing options: Once a feature is defined you can break the feature into segments that make up the feature. Each segment can then have a unique path taught for it. This allows multiple process changes to easily be handled when creating programs from features. As you define features, they are represented in the Cell Browser under the Part object that created the feature with. The feature stays with the part, even if you use the part in multiple locations in your workcell. When generating a program, you can select which instance of the part should have the program generated. The feature property pages provide settings to control the generation of TP programs. Once parameters are defined, TPP programs are generated automatically when Apply is pressed. For more detail on the types of features supported see What features are available in PRO Software. Programs generated from features and segments: A feature and its segments have properties for the program generation for the entire generated program. Each segment can set properties for the generation of the chosen segment. Each segment has properties that can be defined for the loaded PRO process plugin. This provides great flexibility in generating programs from a feature to meet desired process needs. Once a feature has been defined, the feature and its segments have property pages that Roboguide Menus 63 define how robot programs should be generated from the feature. Properties can be adjusted and programs generated so that you can very quickly make changes to output programs to obtain desired robot programs. For more information on what features can be created see What features are available in SimPRO. Setting up defaults for program generation to optimize desired results When generating programs it is desirable to have the programs generated take into account the configuration of the end of arm tooling. For example, if the tool center point on the robot has a definition that has the TOOL Z vector defined into the tooling (as ARC does), the paths being generated should take this into account. A TOOL Z vector defined out of the tooling would require the Z vector of a created point to be opposite in direction in order to attain desired results. PRO allows you to setup the CAD to PATH generation properties on the Tooling property pages. Fields include approach and retract distance and speeds, and tooling orientation setup for program generation. For more information see Setting up a UTOOL for path generation . The tooling defines defaults, but many factors can influence the generation of the programs. The tooling defaults can be overridden on a features generation property pages. These include part location and orientation relative to the robot. Program generation methods: When generating a program, PRO uses the normal to the surface that was used to create the feature as its reference starting point for generation. Therefore, if a program is generated with no modifications to the generation parameters, the resulting program provides points with orientation normal to the surface that was used to generate the feature. PRO generates the number of positions based upon several factors including: • The specified speed: PRO optimizes the spacing between created positions by placing positions at a distance based upon the motion system capability at the specified speed. • Linearity between points: PRO minimizes the number of created positions by testing for linearity between positions. The determination of linearity can be adjusted on the feature to program generation property pages. • Circularity between points: PRO determines if three created positions define an arc that can be defined using circular motion. If PRO determines and arc exists it automatically creates the circular motion program lines to provide the desired arc. The determination of circularity can be adjusted on the feature to program generation property pages. • By default a feature has one segment when it is first created. Feature properties effect segments that make up the feature. When a segment is first created it inherits the properties of the feature. The first segment properties control the approach position and the last segment controls the retract position. If there is only one segment for the Roboguide Menus 64 feature, the segment properties control the approach and retract positions. The approach point is generated using the orientation of the first point of the first segment in the feature. The retreat point is generated using the orientation of the last point of the last segment in the feature. The feature owns the approach/retract distance and speed properties. • Roboguide minimizes the number of points that meet the criteria defined on the property pages for linearity, circularity, and programmed speed. Roboguide uses these settings and automatically eliminates points such that the resulting program is within the parameters specified. Controlling output program parameters being generated When generating programs the output program name, robot group to generate with, UFRAME and UTOOL to be used can be defined on a property page. Controlling Program settings General program speed and program flow must be defined for programs. A program should include approach and retract distances with associated speeds and motion types. Motion parameters for generated positions along a feature must be defined to meet the process needs. Different robot processes require different process control capability, and the ability to call programs while generating programs must be allowed so that additional editing of generated programs can be minimized. Roboguide provides fields to control these parameters on the Feature and Segment Prog Settings property page. Default control of positions being generated There are several factors that effect how position location and orientation should be generated. • Tooling axis alignment to the feature and its segments: For example, it may be desirable to have the tooling +Y vector follow along the feature. • Orientation tracking along a feature and its segments. In some cases, it is desirable to have a tool vector track the feature . This is required when precise alignment of the tooling relative to the part is required (cutting). In some cases, the precise orientation of the end of arm tool relative to the feature is not as critical (deburring) . • Desired robot configuration: a robot can generally reach a position with different arm configurations. • Desired motion types: the types of motions being created is defined by the feature that is used to generate programs. If a feature has many linear pieces it is desirable to reduce the number of positions using linear motions. If arcs are present it is desirable to have circular motion control. The default position generation settings are defined on the Feature and Segment Pos Roboguide Menus 65 Defaults property page. Fine control of positions being generated Once a feature and its programs have been generated it may be necessary to offset positions either by translation or rotation about the feature. Examples include, work angle for arc welding or deburring angle for a removal application. There are multiple references that may be desirable based upon the application and the parts being used: • Relative to a reference surface: the position is offset relative to the surface that was used to define the feature. Translations and rotations are relative the surface used to generated the feature.f • The normal relative to the normal itself: when this is chosen the position is offset relative to the normal itself. Translations are relative to the surface used to generate the feature and rotations are relative to the normal vector When performing both translation and rotation on positions it is important to specify whether the translation is done first or the rotation is done first. The results are different based upon is chosen. The Fine control generation settings are defined on the Feature and Segment Pos Offsets property page. 3.1 PalletPRO Menus PalletPRO menus are customized for the PalletPRO process. The following lists by Main menu category additional menu items added by PalletPRO. For the core menus see Roboguide menus. · File_Menu o Download · Edit o Same as Roboguide menus · View o Same as Roboguide menus · Cell o Add Part is removed o Add Fixture : PalletPRO has specific fixtures targeted for palletizing. o Add Unit load: available only in PalletPRO. Adds a unit load to the workcell. For more information see About Pallet Unit Loads o Gripper setup: used for end of arm tooling configuration. o Pallet System Setup · Robot o Open/Close Hand is removed · Teach o Add Simulation Program is removed. o Add TP Program Roboguide Menus · Test-Run · Tools · Help 66 o Load TP Program o Draw Part Features is removed. o Teach Program is removed. o Program Properties is removed. o Teach perch position o Teach maintenance position o Run Panel o Run Options: allows options available on the run panel to be modified from the main menu. o Profiler is removed o Duty Estimation o Production data o Cycle start o Same as Roboguide menus o Same as Roboguide menus Working with the PalletPRO fixture property pages PalletPRO has unique fixture objects. Each have unique properties that you can define through PalletPRO. These include: • Infeeds • Pallets • Slip Sheet dispensers Using the Infeed Fixture Property Tabs Infeed fixtures have general Roboguide fixture properties and Palletizing Infeed unique properties. General properties include location, CAD file, and color. Palletizing properties include defining orientation, simulation parameters, and other pallet specific properties. Related Topics: Working with the Infeed Fixture General Property tab Working with the Infeed Fixture Infeed Property tab Roboguide Menus Using the Fixture General tab The General Tab of the Fixture Properties page provides fields to edit general obstacle properties. These fields include: • Name: enter the name you want for the fixture. • CAD File: defines the CAD file used for this fixture. • Visible: if checked you can see the fixture. When you change the state of the field, you must press Apply for the action to take place. • Type: set by Roboguide. This is a primitive entity of Box, Cylinder, Sphere, or CAD image. • Color: allows you to change the color of primitive objects. • Wire Frame: when enabled the object is shown as wireframe • Transparency slider bar: controls the transparency of the object. • Location: defines the location of the fixture relative to the 3D ChuiWORLD zero reference position. • Size: defines the parametric values for primitive objects. • Scale: defines the scale parameters for CAD type objects. • Show robot collisions: when checked this fixture is checked for collisions with robots in the workcell. • Lock All Location Values: when checked, locks all of the location values for the fixture. 67 68 Roboguide Menus Working with the Infeed Fixture Infeed Property tab The infeed fixture Infeed property tab has fields to define various infeed properties. • Infeed Properties o Number: defines the infeed number that PalletPRO uses when running a simulation. You should not have to change this number. o Transit delay: defines the delay time PalletPRO uses before releasing a unit from the infeed queue to the robot. For more detail on how PalletPRO controls unit flow click here. • Teach Aid o Orientation defines what side of the conveyor that parts are presented to the robot, and is also known as the origin of the infeed. It also defines how the X direction of the UTOOL lines up with the infeed. When you select an orientation a flat box with an arrow appears on the infeed (). , the station origin must be in the corner of the conveyor where the unit will be when it is picked up. The conveyor will place the units in a specific corner of the conveyor. Locate the station origin in the corner where the robot will find the units PalletTool uses a standard teach plate to define the origin. PalletPRO can automatically determine the proper station origin since it has knowledge of the workcell and where objects are located. You must select which side of the conveyor you want the origin to be on which defines the origin to PalletPRO and PalletTool. For infeed stations, the station origin must be in the corner of the conveyor where the unit will be when it is picked up. The conveyor will place the units in a specific corner of the conveyor. Locate the station origin in the corner where the robot will find the units Length on length:.Parts are received on the right side of the conveyor. Called length on length because the arrow on the PalletTool teach plate is along the length of the conveyor. The X direction of the UTOOL is along the length infeed. Width on length: Parts are received on the left side of the conveyor. Called width on length because the arrow on the PalletTool teach plate is along the width of the conveyor. The X direction of the UTOOL is along the width of the infeed. 69 Roboguide Menus For further information on origins and orientation click here. o X offset, Y offset: specifies the distance to shift the origin of the infeed along the length of the infeed station. Infeed offset (length) and (width) are typically used when the robot cannot reach the corner of the infeed in order to teach the origin. Since PalletPRO has knowledge of the workcell and automatically determines the origin, it may not be necessary to set the offset values. o Move To: select this to move the robot to the origin position created by PalletPRO. • Infeed IO o Maximum Parts: defines the maximum number of units that can be queued on the conveyor. o Part Orientation DO: signals PalletTool what orientation the next unit will be. Not used by PalletPRO. o Part Present DI : signals if a part is present o Part Request DO: requests a part from the conveyor About defining and teaching stations When you set up PalletTool/ PalletPRO you must teach/ define the stations for your application. A station is the area where the robot picks up or places units. When you teach a station you determine where the pallet or conveyor will be by locating it in your workcell, and then define on the station property page information that PalletPRO uses to calculate the location of each station and the position of each unit. When you teach the stations you • Decide the station location by locating it in your workcell • Locate the station origin by defining the orientation on the respective stations property pages. PalletTool/ PalletPRO uses two kinds of stations: 70 Roboguide Menus • Pallet station, which is the area where the unit load is located. • Infeed station, which is the area at the end of the conveyor where the robot picks up units for palletizing or places units for depalletizing. The figure below shows standard layouts for single infeed, single pallet station workcell configurations with recommended locations for infeed stations and pallet stations, and example fixture plate locations. These workcells could use a single slip sheet station. Standard Workcell Layouts - Single Infeed, Single Pallet The figure below shows a standard layout for a double infeed, double pallet station workcell configuration. This workcell could use two slip sheet stations. Standard Workcell Layout - Double Infeed, Double Pallet Station Location and Origin The location of the infeed and pallet stations is determined by the requirements of your installation. If your unit loads require slip sheets or pallet handling , you must also plan where to locate the slip sheets and pallets so that the robot can reach them, and they do not interfere with the application. Station Origin The station origin is the corner of the station closest to where you teach P1 using the fixture plate. PalletPRO automatically determines location based upon how properties are set. For infeed stations, the station origin must be in the corner of the conveyor where the unit will be when it is picked up. The conveyor will place the units in a specific corner of the conveyor. Locate the station origin in the corner where the robot will find the units. Fixture Plate Orientation for Infeed Stations Infeed offset (length/width) specifies the distance to shift the origin of the infeed along the length of the infeed station. Infeed offset (length) and (width) are typically used when the robot cannot reach the corner of the infeed in order to teach the origin. Since PalletPRO has knowledge of the workcell and automatically determines the origin, it may not be necessary to set the offset values. For pallet stations, FANUC Robotics recommends that you select the station origin to optimize cycle time and prevent collision of the units during palletizing. This will generally be at one of the two corners farthest from the infeed. If the robot cannot reach the corner, you can place the origin somewhere other than the corner of the pallet, then use pallet offset information under Pallet Station setup. 71 Roboguide Menus When the fixture plate is positioned correctly for pallet stations, P1 will be in the corner where PalletTool will place the first unit. P2 will lie along the build direction of the pallet station (or the arrow of the fixture plate). The build direction is the direction in which PalletTool will build the unit load. It is also the direction in which the arrow of the fixture plate points. The orientation of the fixture plate also determines the positive and negative directions for the pallet approach length and the pallet approach width. The pallet approach length and width are values that can be adjusted to optimize how the robot places units on the pallet. See the following figure for examples of how the positive and negative values are affected by the fixture plate orientation. Fixture Plate Orientation for Pallet Stations Pallet offset (length/width) specifies the distance to shift the origin of the pallet, along the length/width of the pallet station. Pallet offset (Length) and (Width) are typically used when the robot cannot reach the corner of the pallet in order to teach the origin. In this case, teach the station origin on the pallet, in a location where the robot can reach it. . Since PalletPRO has knowledge of the workcell and automatically determines the origin, it may not be necessary to set the offset values. About controlling infeed rates with PalletPRO The rate at which units are delivered to the robot on an infeed is controlled with several parameters within PalletPRO. The factors that control this include: • Infeed Transit Delay (found on the Infeed's Infeed property tab): defines the delay time PalletPRO uses before releasing a unit from the infeed queue to the robot. This assumes there are boxes in the queue to be released. Boxes in the queue are controlled by the case rate of the unit load. • Maximum Parts: (found on the Infeed’s Infeed property tab). defines the maximum number of units that can be queued on the conveyor. • Case Rate: (found on the unit load dialog under palletizing parameters): controls the rate at which units are fed to the infeed queue. This is the key value to calculate throughput during simulation. You adjust these parameters for multiple purposes: Quality of throughput calculations: the key parameter is the Case Rate defined as part of the unit load. This value provides the throughput assumptions from the real system Quality of visualization: setting the Infeed transit delay to a low value will allow for the boxes to stack up on the conveyor. This may or may not be desirable. Increasing this value can make the visualization appear as more of a "flow" of units on the conveyor. Too high a Roboguide Menus 72 number and you may "starve" the infeed at the pickup point. For proper throughput calculations you must make sure that setting this value does not "starve" the conveyor at the pickup point. Maximum parts value can be adjusted to show "stackup" on the infeed queue. If the value is one then you see little part queuing. If the number is 6 (max) you can see up to 6 parts queued on the infeed. Using the Pallet Fixture Property tabs Pallet fixtures have general Roboguide fixture properties and Palletizing pallet unique properties. General properties include location, CAD file, and color. Palletizing properties include defining orientation, simulation parameters (pallet index time), pallet positions, and other pallet specific properties. It is critical to correctly configure your pallet for proper Palletizing simulation. Related Topics: Working with the Infeed Fixture General Property tab Working with the Pallet Fixture Pallet Property Page Working with the Pallet Fixture Pallet Positions Property Page Using the Fixture General tab The General Tab of the Fixture Properties page provides fields to edit general obstacle properties. These fields include: • Name: enter the name you want for the fixture. • CAD File: defines the CAD file used for this fixture. • Visible: if checked you can see the fixture. When you change the state of the field, you must press Apply for the action to take place. • Type: set by Roboguide. This is a primitive entity of Box, Cylinder, Sphere, or CAD image. • Color: allows you to change the color of primitive objects. • Wire Frame: when enabled the object is shown as wireframe • Transparency slider bar: controls the transparency of the object. • Location: defines the location of the fixture relative to the 3D ChuiWORLD zero reference position. Roboguide Menus 73 • Size: defines the parametric values for primitive objects. • Scale: defines the scale parameters for CAD type objects. • Show robot collisions: when checked this fixture is checked for collisions with robots in the workcell. • Lock All Location Values: when checked, locks all of the location values for the fixture. Working with the Pallet Fixture Pallet Property Page The Pallet fixture pallet property page has fields to configure the pallet in your PalletPRO workcell. Fields include: • Pallet properties o Number: is the Pallet ID number used by PalletTool. o Index Time: is the time used to determine the delay between when a Pallet is full to when a new pallet is put into the workcell. This delay is used for simulation purposes. • Teach Aid o Orientation: defines the origin of the pallet for palletizing. It also defines how the X direction of the UTOOL lines up with the pallet. FANUC Robotics recommends that you select the station origin to optimize cycle time and prevent collision of the units during palletizing. This will generally be at one of the two corners farthest from the infeed. If the robot cannot reach the corner, you can place the origin somewhere other than the corner of the pallet, then use pallet offset information under Pallet Station setup. When you select an orientation a flat box with an arrow appears on the pallet (). The arrow lies along the build direction of the pallet station (or the arrow of the fixture plate). The build direction is the direction in which PalletTool will build the unit load. It is also the direction in which the arrow of the fixture plate points. The orientation of the fixture plate also determines the positive and negative directions for the pallet approach length and the pallet approach width. The pallet approach length and width are values that can be adjusted to optimize how the robot places units on the pallet. 74 Roboguide Menus The orientation selection on the Pallet Tab provide the following definitions for the pallet. Length on Length. The arrow is along the length of the pallet and defines the X direction of the UTOOL to be along the length of the pallet. Width on Length. The arrow is along the width of the pallet and defines the X direction of the UTOOL to be along the length of the pallet. o X offset, Y offset: specifies the distance to shift the origin of the pallet station along the length of the pallet station. Pallet offset (length) and (width) are typically used when the robot cannot reach the corner of the infeed in order to teach the origin. Since PalletPRO has knowledge of the workcell and automatically determines the origin, it may not be necessary to set the offset values. o Move To: select this to move the robot to the origin position created by PalletPRO. • Pallet IO o Pallet Present DI: Is the IO point used to detect that a pallet is present. o Pallet Index DO: Is the IO point used to signal a pallet index. Working with the Pallet Fixture Pallet Positions Property Page The Pallet Fixture pallet positions property page is used to teach special positions specific to a pallet. Positions include: • Slip Sheet Position: the slip sheet position is the initial drop location for a slip sheet. Generally, for PalletPRO, this is the surface of the pallet at the center of the pallet. PalletPRO automatically generates this position when the pallet is put in the workcell. o If you move the pallet, PalletPRO automatically updates the position to be the center of the pallet. o If you move the robot and record a new position this would be the new slip sheet position. Roboguide Menus 75 o If you record a new slip sheet position and then move the pallet, PalletPRO will move the slip sheet position to center of the pallet at the new location, and maintain the recorded slip sheets z height. • Diagonal Return position: can be used to decrease cycle time. A diagonal retreat path can be used when the pallet retreat position is higher than the infeed perch position. Using the Slip Sheet Dispenser Fixture property tabs A slip sheet or tier sheet is a sheet of heavy paper or cardboard that is placed between the layers of a unit load. Slip sheets provide added load stability, particularly when columnar patterns are used. Some unit loads are built directly on a slip sheet or tier sheet, instead of on a pallet. Slip Sheet Dispenser property pages are provided to define general fixture properties and slip sheet specific properties. Tabs include: • General Tab • Slip Sheet Dispenser Tab PalletPRO provides slip sheet dispenser fixtures to enable slip sheet simulation. PalletPRO automatically calculates key Slip sheet positions (search start and search end) because it has knowledge of the slip sheet dispenser in the workcell. If your unit loads require slip sheets, you must • Enter complete layer spacing information during Unit Load Setup, for each unit load that uses slip sheets. • Position the slip sheet magazine (container holding slip sheets) properly in the workcell. • Record the position registers used by the slip sheet program. Slip sheet search attempt information will automatically be calculated from the position register information PalletPRO initializes this value, but you can change it. 76 Roboguide Menus About the PalletPRO Upload dialog PalletPRO provides an Upload menu under the main File menu to read all palletizing data from a backup directory, a networked robot or from the virtual controller in PalletPRO, and update the 3-D simulation world in PalletPRO. Why is this feature needed? This feature allows you to synchronize your production workcell with the PalletPRO simulation workcell. Many users first use PalletPRO to test/validate their application as close to the real world conditions as possible. Then all data is downloaded to the real production robot. While running with the real robot, users tweak fixture locations, unitload data and I/O points. It is a great advantage to be able to import or upload all the data back to PalletPRO so that the real-world and simulation world scenarios are exactly the same. With the Upload menu in PalletPRO, the slip sheet dispenser, pallet dispenser, infeeds and pallets can be re-located exactly where they were relative to the robot in the real world. If you made changes to unitloads in the real robot, they would be imported into PalletPRO. The following data are imported into PalletPRO: Data File Read PMINFxxx.VR PMSTAxxx.VR POSREG.VR Description Infeed data PalletPRO allows maximum 4 infeeds to be refreshed. Pallet data PalletPRO allows maximum 4 pallets to be refreshed. Data will be reset in the pallet station file for "Pallet index time". Perch Position, Maintenance Position, Slip Sheet Positions, Pallet Dispenser Positions PMGRIPDT.VR Gripper Data PMPSYSDT.VR PalletSystem Data PMULxxx.VR Comment Unitload data If the pallet dispenser and slip sheet dispenser position registers are uninitialized, then it is assumed that they are not used and PalletPRO will not create/display these fixtures. Data will be reset in the unitload for: Case Rate, Customer Name, Measurement System (always 77 Roboguide Menus mm), Skin image. DIOCFGSV.IO I/O data Configures virtual controller in PalletPRO to be the same as the real robot. Description of Features: Upload From: The combo box allows you to select the "Upload source". The choices are 1) Workcell Robot Controller 2) Networked Robot 3) Backup Directory. Workcell Robot Controller refers to the virtual robot controller in PalletPRO. Networked robot refers to any FANUC robot on a network, which has an assigned IP address. Backup Directory refers to a directory on your PC or on the network that contains a backup (from File -> Backup All" from the teach pendant) of a real robot. Browse: The Browse button is disabled when the Upload From (source) is Workcell Robot Controller. This command button allows you to open a file dialog as shown below, to navigate to a backup directory on your PC or a networked PC when the Upload From (source) is Backup directory. Highlight the backup directory and then click on ok. If the Upload From (source) is Networked Robot, Browse will open a "Robot Network" dialog as shown below. Users can add/delete Robot IP addresses here. To add a robot, type the network name or the IP address of the robot in the Robot Name/IP text box, and then click on Add Robot. The item will be added to the List of Robots list box. If you wish to delete an item, select it in the List of Robots list box and then click on the Del Robot button. The selected robot for upload operations will be the one that is highlighted in the List of Robots list box. Files To Upload: The list box is populated with the files that are uploadable from either the workcell robot, the networked robot or the backup directory depending on the selection in the Upload From combo. You can use Ctrl and SHIFT buttons on your keyboard while clicking with the mouse to select multiple items. DeleteFrom PalletPRO items that are not found in the Upload Source checkbox: While uploading data, if you wish to delete from PalletPRO, infeeds, pallets, unitloads, slip sheet dispenser or pallet dispenser that were not found in the backup directory, workcell robot or the networked robot, you must check this box. Backup data in Virtual Controller before Uploading checkbox: If you check this box, then before performing an Upload, PalletPRO will backup the data that exists on the Workcell Robot Controller to the "PalletBackup" directory which will be located in your Workcell directory. If for any reason, the Upload failed, you can restore this backup and try the Upload again to go back to your old settings. If you do choose to backup data, this might take a long time depending upon how many unitloads you have in your workcell. Roboguide Menus 78 Status Combo: The status of the upload operations or error messages will be stored in this combo. The combo continuously lists the last 100 status messages. Upload: This button performs the actual uploading of the files and refresh of the 3-D world. Upload is performed only for the selected files in the Files to Upload list box. If the Delete check box is checked, then it deletes the orphan elements in PalletPRO. A progress bar will be displayed in the 3-D world during the Upload operation. When the process is complete, a file called "Upload.log" is created in the workcell directory that stores useful information about the Upload steps – conflicts that PalletPRO encountered, skipping files where it was uncertain, things that it changed, etc. PROCEDURAL RECOMMENDATIONS FOR UPLOAD • If the robot is on a riser, first raise the robot to the appropriate height from the Location control Z value of the Robot General property page. Then do the Upload. You need to do this because the data in the Backup directory on the robot controller does not contain the data for the riser height. If it is not done before invoking the Upload procedure, then all the positions uploaded are likely to be offset by the riser height. This will make many positions not reachable. If you forgot to set the Z height in the robot property page, then fortunately, it is still quite simple to recover. Set the Z height in the robot property page and then repeat the upload procedure. Now all your positions will be correct. • If your infeed stations have a Scale Y other than 1 (you have narrower or wider infeeds than the standard), then first create that infeed station and set its Scale Y correctly before invoking the Upload procedure. Failing to do so, will create the infeed at an incorrect location. The reason you must do this is that Scale information does not exist in the backup or controller data. • If you have Pallet stations that are taught "Width on Length", then Upload may not draw your pallet at the proper location, unless you follow the following procedure. o Insert as many pallet stations as you need into the workcell. Their actual location is not important since they would be updated by "Upload" later. o Create a different unitload to run on each of the pallets. Decide which unitload is going to run on which pallet station. Once you decide that, enter the value of the pallet dimensions in the appropriate unitload. Then run simulation (Press the play button). As soon as the robot goes to perch position and as soon as you see the "Begin Palletizing" message at the bottom of the screen, abort simulation. You will note that in the 3-D world, each pallet station contains a pallet of the size you wish to run there. Roboguide Menus 79 o Now run the Upload procedure. o This procedure must be followed for pallet stations which are taught width on length and which will run pallets whose width dimension is not the same as 40 inches or 1016 mm. If the pallet is taught length on length, then this procedure is not necessary. If the pallet is taught width on length but the width dimension is 40 inches or 1016 mm, then this procedure is not necessary. Notes & Limitations for Upload 1. There is no UNDO for Upload. Please save your workcell before invoking Upload. If after the Upload, you wish to revert to your items in PalletPRO, exit the workcell without saving and then re-open it. Also, remember that you might have a valid backup of virtual controller data in the "PalletBackup" directory under your workcell directory. 2. At the completion of the Upload, a filed called "Upload.log" is created in your workcell directory. You should get into the habit of reviewing this file after an Upload. 3. When you do a workcell Save, the data for Upload From (source), Upload Path and the selected Robot in Robot Network are saved in the PalletPRO workcell. These settings will be restored when you re-open the workcell. 4. Upload will update any infeed, pallet, slip sheet dispenser, pallet dispenser or unitload in PalletPRO when it finds matching items in both PalletPRO and the Upload From source. If an item in the Upload source is not found in PalletPRO, it will be created in PalletPRO. For example, if you have Unitload number 610 in the Upload Source and not in PalletPRO, a new UL610 is created in PalletPRO. When a new Unitload, infeed or pallet station is created in PalletPRO, it will utilize all the data that was found on the controller. However, certain items will be unique to PalletPRO such as the Case Rate in the unitload menu or the pallet index time in the Pallet menu. For such items, default values will be used. 5. If the "Delete checkbox" is checked, items in PalletPRO that were not found in the Upload source will be deleted. For example, if UL620 did not exist in the Upload source but was found in PalletPRO, it will be deleted. If the "Delete checkbox" is not checked, this deletion of orphan elements in PalletPRO will not be performed. 6. Upload does not use TP programs and System variables If you wish to update PalletPRO with these items, you must manually copy them from the real robot to the virtual robot in PalletPRO. The reason PalletPRO does not automatically do this is because your custom programs may contain I/O logic that will prevent simulation from running or which may need to be simulated manually using the virtual teach pendant. Roboguide Menus 80 So, you must do this manually and either jump over or delete lines that might prevent simulation from running such as waiting for an Input that PalletPRO does not recognize. 7. You are expected to upload the proper version of the files to PalletPRO. For example, if you have a PalletPRO workcell with a V6.31 virtual robot containing PalletTool Turbo, you must upload files from a real controller that contains V6.31 version and PalletTool Turbo. If you fail to match versions in the real and simulated robots, your upload will fail and/or the PalletPRO workcell will stop working. 8. Upload function is available only when the PalletPRO workcell is not running. 9. Always verify your data after the Upload. PalletPRO supports uploading data from many versions – primarily from V5.30-3 to the latest 6.40-1 versions. Between these versions, there were many changes to the various data files (VR files). PalletPRO knows about the changes and handles them. However, in handling them, sometimes it has to infer or assume certain pieces of data required by PalletPRO that are not directly available in the VR files. Users must be aware of this and check and rectify data, if necessary. One example is that the Number of cases of a multi-case gripper is not saved in the Unitload VR files. While Uploading data, PalletPRO infers the number of cases by counting the number of units in each row of the "Configure cycle" data. However, users can assign less than the maximum number of cases to each row and PalletPRO might conclude that the multi-case gripper has only 4 cases whereas in reality it had 5. This is not a problem except that when you open the unitload in PalletPRO, you will get a warning and a choice to either reset the data or not reset it. You should always choose not to reset the data. If uploading data from a V5.30 source, then please note that PalletPRO does not support custom grippers. So, if your unitload contains custom grippers, you need to check and correct your data. Another example is Upload of gripper data. The I/O configurations in the PMGRIPDT.VR file might not match the I/O configuration in PalletPRO and this might generate "Write I/O failed" errors. Third, some features such as "Pallet picking" are not supported for certain controller versions such as V5.30 or V6.22. In such a case, the robot will not pickup the actual pallet but it will go through its motions. Fourth, if the I/O assignments for each case of single, double, triple and multi-case grippers are not the same, then box flow on the infeed conveyor will stop or appear to not maintain the specified case rate. You may need to uninitialize the pallet search end and slip sheet search end positions if you do not really have a pallet or slip sheet dispenser in the cell. 81 Roboguide Menus If not all the I/O points are assigned to the infeed, then PalletPRO will display error messages indicating that. 10. If you wish to load all the TP programs also, we suggest that you first run it with standard PalletTool or Turbo and then phase in your loads. Otherwise, due to custom logic and special I/O you put into the programs, PalletPRO might not run properly or worse yet, lock up. To download files from PalletPRO to a robot using ethernet This procedure details the process to download unit load data from PalletPRO to a robot controller using an Ethernet connection. For detailed information about setting up Ethernet on the robot controller, reference robot controller documentation. To download files from PalletPRO to a robot using ethernet 1. Setup the controller for Ethernet communications. Refer to the robot communications manuals for details. After setup you should know the controller’s IP address and name (if setup). You will need this information. Ensure that the robot is communicating with the PC through Ethernet. The following presents a summary of setup. If you are using Ethernet Download, then you will need to setup FTP (Host Comm) on the robot controller. Please make sure to set the following items in the Menus - > Setup - > Host Comm -> TCP/IP Details: SETUP\Host\Comm\\\\\\\\\\\\\\\USER\\10\% TCP/IP 1/31 Node name: \\\\\\\\\PDEROB028 Router name: R32 Board address: 00:E0:E4:F7:94:1D Subnet Mask: 255.255.240.0 Host Name (LOCAL) Internet Address 1 PDEROB028 172.22.194.28 2 R32 172.22.192.1 3 ********** ****************** 4 ********** ****************** 2. Ensure that PalletTool is setup for Ethernet communications. 3. From PalletPRO, select from the main menu File / Download. 4. Ensure that the desired download file(s) is in the Download From box. If not, browse to the PC directory that contains the desired files. PRO software places all workcell files in the My Workcells directory of your user profile. Roboguide Menus 82 5. Select the desired files to download. File types and names include: o Unitload data files – PMULxxx.DT o Infeed Station files – PMINFxxx.DT o Pallet Station files – PMSTAxxx.DT o Gripper data file – PMGRIPDT.DT o PalletStation data file – PMPSYSDT.DT 6. If the robot is not in the Download To: list enter the desired robot name or IP address into the Add Robot box, and press Add Robot. The robot entry should appear in the Download To: box. 7. Select the desired robot(s) to download the selected file(s) to. 8. Press the Download button. Files should download with messages posted to the status box. The status box is a dropdown so multiple messages may be viewed. Note: if the robot controller is setup for a file download method of serial, the files will be copied to the controller’s RD: directory. When the file download method is changed to Ethernet the unit load files are loaded automatically. To download files from PalletPRO to a robot using serial This procedure details the process to download unit load data from PalletPRO to a robot controller using a serial connection. When you download files using a serial connection, you will actually be pulling the files from the teach pendant of the real robot. To download files from PalletPRO to a robot using serial 1. Setup the controller for Serial communications. Refer to the robot manuals for details. Ensure that PalletTool is setup for Serial communications. 2. From PalletPRO, select from the main menu File / Download. 3. Select serial for Type of Connection. 4. Press Download. A DOS window will open. 5. Go to the robot teach pendant to copy files to the controller. Select Menus / File / Type / PC-Robot. After ensuring the serial connection is valid, press Done. The PC-Robot menu will list all the files as shown below (this may take some time): GET_KEY LINE 259 PAUSED FILE\PC\To\Robot\\\\\\\\\\\\\\USER\\10\% Roboguide Menus FLPY:\PMUL*.DT 1/5 ITEM UNIT LOAD FILE \\1 PMGRIPDT 2 PMINF001 3 PMPSYSDT 4 PMSTA001 5 PMUL001 [ TYPE ]TRANSFER HELP Select the file you wish to download and press the TRANSFER key. File types and names include: o Unitload data files – PMULxxx.DT o Infeed Station files – PMINFxxx.DT o Pallet Station files – PMSTAxxx.DT o Gripper data file – PMGRIPDT.DT o PalletStation data file – PMPSYSDT.DT 6. When you are done downloading, press the ENTER key in the Kfloppy DOS window in PalletPRO to dismiss it. 83 Using the 3D World 84 4 Using the 3D World 4.1 Navigating the 3D CHUIWorld Roboguide provides several ways to control the present view in the 3D World. 3D world manipulation includes: • Zooming the view • Panning the view • Rotating the view Zooming the view To zoom the 3D World: Using the mouse To zoom in: 1. Press and hold the left and right mouse buttons 2. Move the mouse up To zoom out: 1. Press and hold the left and right mouse buttons 2. Move the mouse down If you have a mouse that has a wheel and button: 1. Turn the center wheel of the mouse. One direction zooms in and the other direction zooms out. Using the toolbar There are 2 zoom features on the toolbar. To fill the view with a boxed selection: 1. Select the Zoom Window Icon on the toolbar (). The cursor changes to select a zoom window () Using the 3D World 85 2. Press the left mouse button and drag the mouse to make a window that you want to fill the screen. 3. Release the left mouse button, The screen is filled with your selection To zoom in from the current viewpoint: 1. Click the + zoom button () on the toolbar with the left mouse button To zoom out from the current viewpoint: 1. Click the - zoom button () on the toolbar with the left mouse button Using the menus To zoom in: 1. Select from the menu system – View , 3D World, Zoom-In To zoom out: 1. Select from the menu system – View , 3D World, Zoom-Out Panning the view To pan the 3D World You use the mouse to pan the 3D world. 1. Press and hold the CTRL keyboard key 2. Press and hold the right mouse button 3. Drag the mouse to pan the field of view 4. Release the left mouse button to stop panning mode Using the 3D World 86 If you have a mouse that has a wheel and button: 2. Press and hold down on the center button 3. Drag the mouse to pan the field of view 4. Release the center mouse button to stop panning mode Rotating the view To rotate the view The field of view will rotate about the currently selected objects frame of reference. 1. Select the object with which you want to rotate the view about. 2. Press and hold the right mouse button 3. Drag the mouse. You will see the world rotate. 4. Release the right mouse button to stop rotation mode. 4.2 Viewing modes View modes Roboguide has different viewing modes: • Normal view: this is the default viewing mode in CHUIWorld. • Wire frame mode: all objects are viewed in wire frame. To enable wireframe select Wire-frame from the main menu View / Wire-Frame or from the toolbar icon wire-frame toggle button (). • Perspective view: the workcell is viewed in perspective view. To select perspective view select Perspective from the main menu View / Perspective. Using the 3D World 87 3D CHUIWorld Roboguide simulation software’s working environment is centered around a 3D virtual robot world. CHUI designates the new developing Robot CH User Interface standard for 3D world environments. It is a highly optimized graphics environment developed by industry experts targeted for use in Robotic simulation systems. The world view can be manipulated with mouse and keyboard commands. Using the Navigation Tips Screen in the 3D CHUIWorld Navigation of the 3D CHUIWorld is done through mouse commands and combinations of keyboard and mouse commands. Roboguide provides a tips window to help you learn and remember CHUIWorld navigation methods. To turn on/off the navigation tips on the 3D CHUIWorld using the toolbar 1. Press the Navigation Tips Toolbar icon () to show / hide the navigation tips window. To turn on/off the navigation tips on the 3D CHUIWorld using the menus 1. Select Mouse Commands from the View menu. About the CHUIWorld View Plane The 3D CHUIWorld view plane is what your eye currently sees in the 3D World locked at the objects reference frame for depth. For example, assume you have chosen the robot as the desired object, and its located at the 0 point of the world. If you view from directly in front of the robot, the view plane is the robot worlds Y – Z Plane locked at the World X for depth. The best way to understand the View plane is to jog the robot using View plane jogging. About collision detection in 3D CHUIWorld Collision detection is enabled by default whenever you operate in 3D CHUIWorld. Collision detection can be disabled on the Run Panel while running a simulation. As the robot moves while jogging or through a simulation, the robot, its end of arm tooling, and, if present, parts in the end of arm tooling are checked for collisions with objects in the workcell. When a collision occurs the robot and the object it collides with change color. Jogging the robot 88 5 Jogging the robot Jogging the robot In PRO Software, the robot acts like a real robot. If you try to jog to an unreachable position it gives the same errors as a real robot. You can jog the robot with traditional Teach Pendant buttons using the Virtual Teach Pendant. PRO Software also provides a teach/ jog tool which allows you to "drag" the robot around the work envelope There are multiple ways to jog the robot. • Jogging using the teach tool • Jog using the virtual teach pendant About the teach pendant jog panel The teach pendant jog panel provides a toolbar to quickly modify the jogging frame of the robot. If options are loaded on the controller (RTCP, WristJoint, coordinated motion) additional buttons are added. Changing the jog coordinate frame using this toolbar effects the Virtual teach pendant robot jog and how the teach tool operates. • Virtual Robot Jogging: changes the jog coordinate frame • Teach tool operation: changes the view of the teach ball triad. The teach ball triad is displayed in the selected jogging coordinate frame Jog modifiers are available for different types of motion including Wrist joint, and Remote TCP. There are two frames on the jog panel toolbar: • Coord type: lists available coordinate jog types. This sets the Coord on the virtual robot. • Teach tool motion: you can select either Joint or Linear motion. The selected motion is they type of motion that is executed when the teach tool ball is used to move the robot. Jogging the robot 89 About jog coordinate frames PRO Software Virtual Teach Pendant supports the following jogging coordinate frames • Joint: when a jog button is depressed the specified robot joint moves • User: jogs the robot in a UFRAME.. See Jogging using UFRAMEs for more information. • World: when a jog button is depressed the robot moves in the world coordinate system along the axis selected. • Tool: when a jog button is depressed the robot moves in the Tool coordinate system along the axis selected. See Jogging using UTOOL for more detail. • Wrist Joint: this jog mode is enabled with another Cartesian jog mode (User, World, or Tool). When the robot moves, the joint axes 4, 5, and 6 are not linear interpolation. Joint interpolation is used on the minor axes. • RTCP: this jog mode can be selected with another Cartesian jog frame, and the robot can be jogged in the RTCP frame. • Coord Jog: this jog mode is used with coordinated frames. The leader group is moved, and follower groups are coordinated with the leader group in the define coordinated motion frame. For more information, see controller documentation on coordinated motion. Enabling and disabling the teach pendant jog panel To view/ hide the jog panel From the toolbar 1. Click the show jog panel toolbar icon () with the left mouse button The toolbar icon acts as a toggle to show and hide the jog panel Jogging the robot 90 Changing the robot speed override To change the robot speed override from the teach pendant 1. Open the virtual Teach Pendant 2. Press the speed override up/ down buttons To change the robot speed override from the Speed override toolbar 1. Press the speed override toolbar button () 2. Slide the speed override slide bar to the desired speed override Jogging using UFRAMEs On the Virtual Teach Pendant or the pop up Coord system toolbar you can select what jog coordinates with which to jog. If UFRAME is selected the robot will jog in the UFRAME that the currently selected for the robot in the cell browser. Jogging using UTOOL On the On the Virtual Teach Pendant or the pop up coord system toolbar you can select what jog coordinates with which to jog. If Tool is selected the robot will jog in the UTOOL coordinate system that is currently selected in the cell browser / Robot Controllers / Robot / GP:1 <robot type> / Tooling category. The currently selected Tooling can be set in multiple ways: • When a program is selected from the cell browser, Roboguide sets the Utool to the value defined by the programs UTool Used property • When a Tooling EOAT is selected from the cell browser, Roboguide sets the Utool to the EOAT Tool Center Point defined on the EOAT Property Page / Tool Center Point tab. Jogging the robot 91 Selecting the teach tool To select the teach tool using the toolbar or 3D World Select the teach tool by either clicking on the end of arm tooling or clicking on the teach tool icon on the toolbar (). Note: when you use the teach tool select toolbar button the teach tool ball is locked with a jog coordinate system. This makes it less easy to select other objects in the workcell. To release the lock: • Double click on some other object in the workcell • Release the lock by pressing the teach tool toolbar button Move Retry - Automatic tool orientation adjust while jogging When jogging the robot with the teach tool it is common to move the teach ball to an unreachable position. The position can be unreachable for several reasons. Two common reasons include: • Location is out of the reach of the robot • Orientation is not reachable by the robot Roboguide provides a move to retry function that is applied when Roboguide is in MoveTo retry mode. When the mode is enabled, Roboguide will re-calculate the position orientation that it is attempting to move to and retry the move. A search is continued until either the position can be moved to or no reachable position is found. When enabled, Move To retry is used for the following types of moves: • Teach ball jog • Surface moves • Virtual TP current position tab moves To enable / disable move retry mode 1. Press the Move Retry Toggle button on the toolbar () When in this mode and the Move Retry functionality is activated the teach ball will turn yellow when it reaches the new modified position. 92 Jogging the robot Jogging using the teach tool For translation Along a teach tool coordinate axis: 1. Select the teach tool 2. Put the mouse cursor over the coordinate of the teach tool that you want to move the robot. The cursor will change to a hand ( ). 3. Click the left mouse button and drag the coordinate system triad. 4. Release the mouse button where you want the robot to move to. 5. The robot will move to the position if possible. Show me an AVI Along the CHUIWorld view plane 1. Select the teach tool 2. Put the mouse cursor over any coordinate of the teach tool. The cursor will change to a hand ( ). 3. Press and hold down the CTRL Key on the keyboard. 4. Click the left mouse button and drag the coordinate system triad. 5. Release the mouse button where you want the robot to move to. 6. The robot will move to the position if possible. Show me an AVI For rotation 1. Select the teach tool 93 Jogging the robot 2. Put the mouse cursor over the coordinate of the teach tool that you want the robot to move about.. The cursor will change to a hand ( ). 3. Press and hold down the shift key. 4. Click the left mouse button and drag mouse. The tool will rotate about the selected axis. 5. Release the mouse button where you want the robot to move to. 6. The robot will move to the position if possible. Show me an AVI Notes: If the robot cannot physically move to the selected position it will not. The sphere at the center of the coordinate triad will turn to red. The motion type used when the teach ball is dragged to move the robot can be set to linear or joint motion. See About the teach pendant jog panel for more information. Jogging in a Remote TCP frame Roboguide provides tools that make jogging in a Remote TCP frame easier. There are features that make RTCP jogging simpler in Roboguide’s 3D CHUIWorld. It is important to understand how to jog the robot in the RTCP frame. If there is intent to use CAD to Path for Remote TCP program generation it is important to understand jogging to help define CAD to Path properties. For additional information out Remote TCP application see the robot operations manuals. Remote TCP Jog Mode The robot controller provides a remote TCP jogging mode. When enabled, the robot can be jogged in the remote TCP frame in any Cartesian jog frame. There are two ways to enable RTCP jog mode: 1. Roboguide’s jog coordinate quickbar ( - on toolbar) The jog coordinate can be selected. If a non-joint jog mode is selected the robot RTCP jog modifier is activated. When pressed the RTCP jog mode is enabled Jogging the robot 94 2. Virtual TP Fctn Menu. The jog modifier can be selected by pressing the Fctn key on the teach pendant. When the robot is put into RTCP jog mode, the teach ball available in Roboguide will move to the remote TCP and be displayed in the selected coordinate jog frame. You can move the teach ball to jog the robot. The teach ball snaps back to the RTCP when released since the RTCP is fixed in space. Jogging the robot in Remote TCP Jog Mode Jogging in RTCP with the teach ball may seem different at first. You will notice that you often have to drag the teach ball in the opposite direction of the part to get the part relative to RTCP as desired. Figures to show example: Figure of the Remote TCP frame (UFRAME 1): Figures that show the teach ball for different settings of jog frame. It is recommended to view the RTCP jog frame at the RTCP in the UFRAME coord system for RTCP CAD to Path. Moving to a CAD surface in Remote TCP Jog Mode If Remote TCP jog mode is enabled, a surface click move moves the surface point to the Remote TCP location. This is very useful to move the part on the end of the tooling to the remote TCP. Before Ctrl - Shift click: After Ctrl – Shift Click: The surface point on the part is moved to the Remote TCP. Alignment is as defined on the EOAT property page UTOOL Tab except that the defined normal to surface setting on the UTOOL tab aligns the normal to the surface with the UFRAME axis assigned on the UTOOL tab. Jogging the robot Changing the teach tool size The size of the teach tool (the green sphere at the robot TCP) can be modified. To change the teach tool size 1. Open the Virtual TP 2. Select the current position tab at the bottom of the virtual TP 3. Change the teach tool size by changing the value on the slider bar. As you zoom in and out in the workcell, the teach tool size automatically scales. Turning the teach tool on and off The teach tool (ball at the end of the robot arm) can be made visible and not visible. To toggle the visibility of the teach ball 1. Open the property page for the robot 2. Toggle the teach tool visible field 3. Select OK or Apply Detecting collisions while jogging While jogging, if the robot moves into an object the object and the robot change color to signal a collision. Collision detection can be turned on/ off for any object on its property pages. 95 Jogging the robot 96 Moving to a point on a surface It is very easy to move to a point on a surface. Each End of Arm Tool can be setup to make moving to a surface simple. To move to a position that is normal on a surface 1. Position the mouse cursor at the point on the object that you want to move to. 2. Hold down Shift and Ctrl keys on your keyboard. An arrow appears that shows the normal vector on the object. 3. Press the left mouse button while holding the keys and the robot moves to the position. To move to a position that is normal on an edge 1. Position the mouse cursor at the point on the object that you want to move to. 2. Hold down Shift and Alt keys on your keyboard. An arrow appears that shows the normal vector on the object along the edge the mouse is currently over. 3. Press the left mouse button while holding the keys and the robot moves to the position. To move to a position that is normal on a vertex 1. Position the mouse cursor at the point on the object that you want to move to. 2. Hold down Shift, Alt, and Ctrl keys on your keyboard. An arrow appears that shows the normal vector on the object at the closest vertex to which the mouse is over.. 3. Press the left mouse button while holding the keys and the robot moves to the position. To move to a position that is the center of an arc or circle 1. Position the mouse cursor on the edge of the arc or circle on the object that you want to move to the center of 2. Hold down Shift and Alt keys on your keyboard. An cross appears that shows the center of the arc on the object that the mouse is over.. 3. Press the left mouse button while holding the keys and the robot moves to the Jogging the robot 97 position. All of these move functions are available from the Move Quickbar menu Roboguide provides a move to retry function that is applied when Roboguide is in MoveTo retry mode. When the mode is enabled, Roboguide will re-calculate the position orientation that it is attempting to move to and retry the move. A search is continued until either the position can be moved to or no reachable position is found. The move created has a position value, but it is not guaranteed that you can move to this position because of orientation. If the move can not be made the Teach Tool sphere turns red. Re-orient the end of arm tool, and try the move again. Using the Move To Quickbar menu Roboguide has the ability to make move the robot to CAD locations on CAD data or selected robot program.TP program positions. The robot is moved to the normal on a surface on specific CAD entities. Entities include: • Surface Face • Surface Edge • Surface Vertex • Center of an arc Additionally the move menu provides the ability to move to a position in the currently selected .TP program. To move to a surface entity with the Move To quickbar 1. Open the quickbar by pressing the Toolbar button for selecting from the View / Quickbars main menu item. 2. Select the desired entity by pressing the entity button on the quickbar 3. Drag the mouse over the CAD entity desired. 4. Press the left mouse button and the robot will move to the selected entity if possible. If the robot can not move to the generated position an error should be generated on the virtual TP. To move to a position in the selected TP program from the Move To quickbar: Jogging the robot 98 1. In the TP Point frame on the Move To quickbar select the desired .TP position from the drobdown list. 2. Press the MoveTo button. Creating, Opening and Working with Workcells 99 6 Creating, Opening and Working with Workcells 6.1 Adding and modifying cell components Adding a workcell object To add an object using the cell browser 1. Right mouse click the type of element you want to add to your workcell A popup menu will appear with selections. The popup menu will have items based upon the PRO Software plug-in and the options loaded on robots in the workcell. For example, if line tracking is enabled, you would see "add line" under the fixtures menu. 2. Select the source of the object from which it should be added. Roboguide supports a CAD Library, importing of IGES files, and primitive objects. 3. If you select CAD File a dialog is opened in which you can select the CAD File desired. You may select multiple CAD files if you want to import multiple CAD images into the workcell as a single object. Note: the origin of the combined object will be the origin of the CAD files overlaid. If you select CAD Library a dialog is opened where you can browse the CAD library and select an object If you select one of the primitives, a primitive object is loaded into your workcell with default parameters. To add an object using the main menu 1. From the main menu select Cell. And then select the type of object to add. 2. Select from the popup menu (if applicable) the source of the object from which it should be added. Roboguide supports a CAD Library, importing of IGES files, and primitive objects. 3. If you select CAD File a dialog is opened in which you can select the CAD File desired. You may select multiple CAD files if you want to import multiple CAD images into the workcell as a single object. Note: the origin of the combined object will be the origin of the CAD files overlaid. If you select CAD Library a dialog is opened where you can browse the CAD library and select an object If you select one of the primitives, a primitive object is loaded into your workcell with default parameters. If you select Robot, the robot serialize wizard is opened. Creating, Opening and Working with Workcells 100 Selecting objects in the workcell Objects in the workcell include the robot, the robot’s end of arm tooling, obstacles, fixtures, and parts. You can select them by clicking the mouse while the mouse cursor is over the object, or clicking on the objects name in the cell browser. A triad coordinate system will appear at the objects origin. Opening an objects property page To open an objects property page using the cell browser 1. Right click on the desired object from the cell browser 2. Select <object name> Properties from the menu The property page for the selected object is shown. To open an objects property page using the mouse 1. Double left click on the desired object from the cell browser OR Double left click on the desired object in the workcell. The objects property page is opened.. To open an objects property page using the main menu 1. Left click on the object in the 3D World view. The objects coordinate reference frame is shown. 2. From the main menu select Cell / <object name> Properties. The property page for the selected object is shown. Creating, Opening and Working with Workcells 101 About property page visibility Roboguide manages the visibility of object property pages. The following general rules apply. • If a property page is visible for an object selecting another object will bring the new selected objects properties into the property page window • If a property page is not visible on the screen selecting another object will not automatically show the new selected objects property page. Deleting a workcell object To delete an object using the cell browser 1. Right click on the desired object from the cell browser. 2. Select Delete <object name> from the menu. The object is deleted from the workcell. To delete an object using the keyboard 1. Left click on the desired object in the 3D World view,. or select the object with the left mouse button in the cell browser. The objects coordinate reference frame is shown. 2. Press the delete key on the keyboard. The object is deleted from the workcell. Cut, Copy, or Paste an object To cut, copy, or paste an object using the cell browser 1. Right click on the desired object 2. Select Cut, Copy, or Paste <object name> from the menu To cut, copy, or paste an object using menus 1. Select the object by clicking on it. A triad coordinate system will appear at the Creating, Opening and Working with Workcells 102 objects origin. 2. Select from the menus Edit / Cut, Copy, or Paste <object name> Copy and Paste of Location data for objects An objects Location data (X, Y, Z, W, P, R) can be copied and pasted to another objects Location data. To copy or paste an objects location data: 1. Open the desired object’s property page and select the tab that has the location information that you desire to copy. 2. Press down the CTRL keyboard key 3. Right mouse click in any location box A popup menu is shown that shows Copy All or Paste All. 4. Select: o Copy All to copy all the Location data into the Copy buffer o Paste All to paste the information in the Copy buffer into the selected location fields. Creating, Opening and Working with Workcells 103 6.2 Placing/moving objects in the 3D world Moving objects in the workcell Objects in the workcell can all be translated and rotated in the workcell. There are different methods to move objects. • With the mouse for translation or rotation • With direct entry for translation or rotation by directly setting their position values in the objects property page. Moving an object in the workcell using the mouse There are multiple ways to move objects in CHUIWorld. Movement can be translation of the object or rotation of the object. To translate an object in space along an objects coordinate axis using the: mouse 1. Select the object by clicking on it. A triad coordinate system will appear at the objects origin. 2. Move the mouse cursor over the axis that defines the direction in which you want to move. The cursor will change to a hand 3. Press the left mouse button, and drag the part. 4. Release the mouse button where you want the part to be. Show me an AVI to translate an object in space along the current view plane of CHUIWorld using the mouse: 1. Select the object by clicking on it. A triad coordinate system will appear at the objects origin. 2. Move the mouse cursor over any of the triad axes. The cursor will change to a hand 3. Press the Ctrl key and the left mouse button, and drag the part in the view plane Creating, Opening and Working with Workcells 104 4. Release the mouse button where you want the part to be. Show me an AVI Moving an object in the workcell using direct entry To locate an object in space using direct entry: 1. Select the object by clicking on it. A triad coordinate system will appear at the objects origin. 2. Open the property page for the object. 3. Enter the location for the object in the Location fields on the property page and select apply. Rotating an object in the workcell using the mouse To rotate an object in space using the mouse Select the object by clicking on it. A triad coordinate system will appear at the objects origin. Move the mouse cursor over the axis that defines the axis which you want to rotate about. The cursor will change to a hand Press the Shift key and then the left mouse button, and drag the mouse. You will see the object rotate. Release the mouse key when complete. Rotating an object in workcell using direct entry To rotate an object in space using direct entry Select the object by clicking on it. A triad coordinate system will appear at the objects origin. Open the property page for the object. Enter the rotation for the object in the W,P,R fields in the Location area on the property page and select apply. Creating, Opening and Working with Workcells 105 Grouping objects Objects in the workcell can be grouped. Groups have the following properties: • The group may be moved together as a single object. • The group can be selected by selecting any member in the group. The selected object in the group origin triad is shown. Any movement of the selected object will effectively move all other objects in the group with the selected object. • Items are grouped by selecting desired objects to be grouped while holding down the CTRL keyboard key. • When an item in the group is selected all objects in the group are highlighted in the cell browser • The group can be made persistent by right mouse clicking on any object in the cell browser and selecting lump objects from the menu • A group can be un-grouped by right mouse clicking on an item in the group in the cell browser, and selecting an ungroup / unlump action. Procedure to group objects Objects in the workcell can be grouped. Procedure to group objects: 1. Select an object in the workcell that you want to include in the group. The objects origin triad should show. 2. Hold down the CTRL key and select another object to be grouped. The object is highlighted in the cell browser. 3. Continue selecting objects until you have selected all objects you want to group. 4. Right mouse click in the cell browser on any object that will be in the group and select Lump Objects from the popup menu. Objects should be in a group. When any object in the group is selected, all objects in the group should be highlighted in the cell browser. Creating, Opening and Working with Workcells 106 Procedure to ungroup objects Procedure to ungroup objects: 1. Right mouse click in the cell browser on any object in the group. Select UnLump objects. The objects should no longer be grouped. Moving an object using measurement and dimension property page The measurement and dialog property page can be used to move objects relative to other objects. When the measurement is created the X, Y, and Z components are shown in the measurement dialog. The component value can be modified and the location value for the To object will be modified calculated by the changed distance. To move an object relative to another object 1. Create a measurement between the 2 desired objects. Ensure that the From and To objects are as desired. Changes to the values on measurement and dimension property pages affect the location of the To object. 2. Modify the D, X, Y, Z components of the measurement or dimension. The To object will move If the To object has its locations locked, the measurement or dimension property page will have the D, X, Y, Z components grayed out and they are not editable. Creating, Opening and Working with Workcells 107 6.3 Opening a workcell Opening an existing workcell To open an existing workcell using the recent workcells list: 1. Select File from the main menu 2. Select the desired workcell from the list at the bottom of the menu To open an existing workcell using the main menu 1. Select File from the main menu 2. Select the Open menu item 3. If you want to open a document that was saved in a different folder, locate and open the folder. 4. Double-click the document you want to open. To open an existing workcell using the toolbar 1. Click Open. 2. If you want to open a document that was saved in a different folder, locate and open the folder. 3. Double-click the document you want to open. Creating, Opening and Working with Workcells 108 6.4 Saving a workcell Saving a workcell When a save is performed, many actions take place. • The workcell file is saved in the workcell directory • All simulation programs are saved in the workcell file and .TP versions are loaded on the virtual robot controller • A backup of the workcell file is saved in the workcell directory To save a workcell using the toolbar 1. Click Save on the toolbar To save a workcell using the main menu 1. Select File from the main menu 2. Select the Save Cell menu item Save a copy of a workcell To save a copy of a workcell 1. Select File from the main menu 2. Select the Save Cell As menu item 3. A dialog is shown to enter the workcell name. Enter the name and press OK A new copied workcell is created. Roboguide starts a new workcell virtual robot. Creating, Opening and Working with Workcells 109 6.5 Managing Roboguide data Locating where my workcell files are saved The default directory is based upon your user profile in Windows. Roboguide uses the following path to save your workcells. Drive: /Documents and Settings /"USERNAME" / My Workcells / "workcell name" • Drive: is the local drive that has Windows local and network PC information • Documents and Settings: is the folder name that contains user account information • "USERNAME": is the login name of the person currently logged into the PC • My Workcells: is the folder that Roboguide adds to the logged in users account information • "workcell name": is the cell name given to a workcell in SimPRO To change this working directory, change the default settings on the options page. Contained under the "workcell name" folder are all of the folders and information required for a Roboguide workcell. Within the "workcell name" directory • The workcell extension is based upon which FANUC Robotics plugin is being used. o "workcell name".frw – your workcell structure data for Roboguide workcells o "Workcell name".ppw – your PalletPRO workcell o "Workcell name".ptw – your PaintPRO workcell o "Workcell name".wpw – your WeldPRO workcell • chui_cache.xml: contains data about the graphics settings that were defined when the workcell was last exited. Creating, Opening and Working with Workcells 110 • Multisync.bin: contains Roboguide IO management information • *.csb. When an IGES part is imported to the workcell, Roboguide converts the file to a .CSB graphics filetype. The .CSB file is FANUC Proprietary. When re-opening a workcell Roboguide uses this graphics file and not the IGES file used for import. Within the "workcell name" directory are sub directories: Within the layout directory: workcell layout data Within the object directory : workcell object data Within the AVI directory: • *.AVI – any .AVI files created in Roboguide for this workcell Within the Exports directory • Any IGES, Bitmap, or CSV exports from the workcell Within the TCPTrace directory • TCP Traces for runs SavePoints directory: under the SavePoints directory are backups of your workcell. See Workcell Backups and Restores for more information. Robot Backups: Roboguide makes backup directories of your workcell data. "workcell name" / Robot_* : workcell virtual robot configuration data where star references the robot in your workcell. Sharing a workcell with others It is common to share a workcell with others. There are multiple methods to do this. • Copy the workcell directory to the target PC. If the target PC has virtual robot versions that are required to run the workcell, the workcell should load. • Use the Package a workcell function or the Share a Savepoint function. A key difference between using the share function versus copying the entire workcell is that the virtual robot core files are not included. The result is a much smaller memory size that is copied to the PC that will use the copy of the workcell data. When the workcell is Creating, Opening and Working with Workcells 111 opened from a share or save function the virtual robot is restored and re-load at generation time. o Share a workcell: copies necessary files from the current workcell state to a directory of your choice. The target directory is specified. o Share a savepoint: copies Savepoint data from a previous state of the current workcell to a directory of your choice. The savepoint directory and target directory can be specified. To share the current workcell using the current workcell directory files 1. Copy the entire workcell directory to the target PC. Ensure that the target PC has virtual robot versions that match the virtual robots in the copied workcell. To share the current workcell using Package a Workcell function 1. Select main menu item File / Package / Cell <workcell Name>. A prompt is provided to define where the shared workcell will be saved. 2. Select a target directory 3. Press OK A Savepoint is created with the current workcell data in the directory specified. To share a previous version of the current workcell 1. Select main menu item File / Package./ other cell savepoint A dialog is provide to define which savepoint to share 2. Browse to the desired Savepoint directory and select the workcell file. A dialog is provided to define where the shared savepoint will be saved 3. Press OK Creating, Opening and Working with Workcells Restoring a workcell file from a savepoint A workcell saved in a Savepoint can be restored. To restore a workcell from a Savepoint Open the workcell from the File Main Menu – Open a workcell 1. Browse to the workcell. 2. Select the workcell file 3. Press Open A prompt is provided asking if you want to recover from the Savepoint To restore a workcell from the File Main Menu – Recover a Savepoint 1. Select File Main Menu – Recover a Savepoint 2. Browse to the workcell. 3. Select the workcell file 4. Press Open 112 Creating, Opening and Working with Workcells 113 6.6 Measurement and Dimensions About measurement and dimensions Roboguide has a measurement function. The measurement system is enabled by pressing the measurement toolbar button. The measurement function is used to create a distance line between two points. A measurement has several important characteristics. A measurement line: • Is measured FROM one point TO another point. • Has direction. • Is displayed as the line (D) and the X, Y, Z components of the measurement line. • Is not saved. Measurement information can be saved when it is converted to a dimension. Measurements can be saved as dimensions. To create a dimension line from a measurement see topic Procedure to create a dimension line Dimensions are shown in the cell browser under the Dimensions element. You can create an extrusion of a dimension line. The following figure details different components. An extrusion of a dimension line is owned by the dimension it is created from. The properties of an extrusion are found on the extrusions tab of the dimension. For more information on how to use the measurement dialog see Using the measurement dialog Using the measurement dialog The measure dialog has fields to modify and define measurement functions. The measurement function is not saved and is used to measure between to points. A measure can be saved as a dimension line. Dimensions are organized in the cell browser. The measurement system can be enabled by pressing the measurement toolbar button. () Once a measurement has been made, you can create dimension lines with extrusions. See topic Procedure to create a dimension line and topic Extruding dimension lines. Creating, Opening and Working with Workcells 114 Fields include: Measurement frame: fields are used to create the measurement starting and ending point. • FROM button: when pressed the FROM point can be selected in the workcell. As you move the mouse the cursor highlights entities in the workcell. When the left mouse button is clicked the position anchors. • FROM Entity name: is shown and not changeable. As you select different FROM entities the name of the object in the workcell that the FROM point is associated with shows in the box. • FROM Snap to: when an entity is selected, you can change which object attribute can be used to anchor the FROM point. o If a non robot object is selected you can choose between: Entity: the point on the entity clicked on. Origin: the origin of the object that contains the entity is automatically selected. o If a robot is selected you can choose between: Entity: the point on the entity clicked on. Origin: the origin of the robot CAD Robot Zero: the world zero position of the robot. Robot TCP: the robots Tool Center point • TO button: when pressed the FROM point can be selected in the workcell. As you move the mouse the cursor highlights entities in the workcell. When the left mouse button is clicked the position anchors • TO Entity name: is shown and not changeable. As you select different FROM entities the name of the object in the workcell that the FROM point is associated with shows in the box. • TO Snap to: when an entity is selected, you can change which object attribute can be used to anchor the FROM point. Creating, Opening and Working with Workcells 115 o If a non robot object is selected you can choose between: Entity: the point on the entity clicked on. Origin: the origin of the object that contains the entity is automatically selected. o If a robot is selected you can choose between: Entity: the point on the entity clicked on. Origin: the origin of the robot CAD Robot Zero: the world zero position of the robot. Robot TCP: the robots Tool Center point Distance Frame: fields are used to set desired display options for components of the dimension line. Fields include: • Distance enabled checkbox: when enabled the D line is shown. • D value: textbox that shows the distance value • X, Y, Z enabled checkbox: when enabled the respective line is shown. When not selected the lines are not drawn. • X, Y, Z, W, P, R value: textbox that shows the respective x, y, z, w, p, r value of the distance line. The values are shown with the FROM point being the origin and the TO point being the endpoint. To move the TO entity relative to the FROM entity, you may edit the value. If the TO entity is locked, the values are not editable. • Relative to (FROM): when selected the distance values are shown in the coordinate system of the FROM object. • Relative to Workcell: when selected the distance values are shown relative to the workcell coordinate from (Workcell Zero). Note: if the selected To and FROM origins have the same orientation as workcell zero, relative to FROM and relative to Workcell are the same. Creating, Opening and Working with Workcells 116 • All components visible: when checked all components (x,y,z,d) are shown. • Color property: allows you to modify the color of the dimension line (D) • Camera center: centers the camera in the current view. • Create dimension button: when pressed the measurement information is copied and a dimension line is created. Using the dimensions property page The dimensions property page has fields to modify and define dimensions. Dimensions are created in multiple ways. For more information see topic Procedure to create a dimension line . The dimension property page has multiple tabs. • General Tab: used to define the dimensions endpoints. The dialog also shows measurement values. For more information see Using the dimensions general property page tab. • Extrusion Tab: shows the properties of extrusions that have been generated from the dimension components. Extrusions can be easily generated from any of the component lines. For more information on using the tab see Using the dimensions extrusion property page tab. For more information on how to generate extrusion lines see Extruding dimension lines. Using the dimensions general property page tab The dimensions general property page has fields to modify and define dimensions. A dimension is saved with the workcell and a dimension is accessed through the cell browser under the dimensions node. The measurement system can be enabled by pressing the measurement toolbar button. () Fields include: Dimension frame: fields are used to create the dimension starting and ending point. • Name: the name for the dimension. The default name given by Roboguide is the Creating, Opening and Working with Workcells 117 point on the dimension that represents the starting point of the dimension (FROM) concatenated with the point on the dimension that represents the ending point of the dimension (TO). The FROM and the TO default names use the object name in the Roboguide workcell • Visible: when enabled the dimension is visible in the workcell. • FROM button: when pressed the FROM point can be selected in the workcell. As you move the mouse the cursor highlights entities in the workcell. When the left mouse button is clicked the position anchors. • FROM Entity name: is shown and not changeable. As you select different FROM entities the name of the object in the workcell that the FROM point is associated with shows in the box. • FROM Snap to: when an entity is selected, you can change which object attribute can be used to anchor the FROM point. o If a non robot object is selected you can choose between: Entity: the point on the entity clicked on. Origin: the origin of the object that contains the entity is automatically selected. o If a robot is selected you can choose between: Entity: the point on the entity clicked on. Origin: the origin of the robot CAD Robot Zero: the world zero position of the robot. Robot TCP: the robots Tool Center point • TO button: when pressed the FROM point can be selected in the workcell. As you move the mouse the cursor highlights entities in the workcell. When the left mouse button is clicked the position anchors • TO Entity name: is shown and not changeable. As you select different FROM entities the name of the object in the workcell that the FROM point is associated with shows in the box. Creating, Opening and Working with Workcells 118 • TO Snap to: when an entity is selected, you can change which object attribute can be used to anchor the FROM point. o If a non robot object is selected you can choose between: Entity: the point on the entity clicked on. Origin: the origin of the object that contains the entity is automatically selected. o If a robot is selected you can choose between: Entity: the point on the entity clicked on. Origin: the origin of the robot CAD Robot Zero: the world zero position of the robot. Robot TCP: the robots Tool Center point Distance Frame: fields are used to set desired display options for components of the dimension line. Fields include: • Distance enabled checkbox: when enabled the D line is shown. • D value: textbox that shows the distance value • X, Y, Z enabled checkbox: when enabled the respective line is shown. When not selected the lines are not drawn. • X, Y, Z, W, P,R value: textbox that shows the respective x, y, z, w, p, r value of the distance line. The values are shown with the FROM point being the origin and the TO point being the endpoint. To move the TO entity relative to the FROM entity, you may edit the value. If the TO entity is locked, the values are not editable. • Relative to (FROM): when selected the distance values are shown in the coordinate system of the FROM object. • Relative to Workcell: when selected the distance values are shown relative to the workcell coordinate from (Workcell Zero). Note: if the selected To and FROM origins Creating, Opening and Working with Workcells 119 have the same orientation as workcell zero, relative to FROM and relative to Workcell are the same. • All components visible: when checked all components (x,y,z,d) are shown. • Color property: allows you to modify the color of the dimension line (D) Using the dimensions extrusion property page tab The extrusion property page tab has fields to modify an extrusion line. For more information on measurement and dimension see topic About measurement and dimensions. Fields include: • Extrusion listbox: lists the dimension’s currently defined extrusion lines. Left mouse select the desired extrusion line to show the properties. • Extrusion: L text box: defines the distance from the dimension line to draw the dimension. • Angle text box: defines the angle to draw the dimension line. • Delete: deletes the extrusion line. • Visible: when enabled the extrusion line shows. • Color: allows modification of the extrusion line color. Procedure to create a dimension line A dimension line is created from the measurement dialog with multiple methods. • Press the Create dimension button on the measurement dialog. A dimension is created and is added to the cell browser dimensions category. • Extrude a D, X, Y, Z component of the measurement line. If a dimension does not already exist that has extrusions from the same FROM / TO objects, a new dimension is automatically created. If a dimension does exist, the extrusion is added to the existing dimension. Creating, Opening and Working with Workcells 120 • Right mouse click on the root dimensions node in the cell browser. A new dimension is added with the measurement objects used as the FROM and TO components. The dimension can be modified on the dimension property page. Extruding dimension lines An extruded dimension line can be shown for any of the components of a dimension (D, X, Y, Z). An extruded dimension line is owned by the dimension it is created from, and can be found on the Extrusions tab for the dimension it is created from. Roboguide makes it easy to create a dimension line extrusion that can be viewed from a desired direction. It is common to want to view dimensions in of the workcells orthogonal view planes (Top, left, right, bottom, front, back), or to view dimensions relative to an object in the workcell. There are multiple methods to create an extruded dimension line (light blue line in picture). To create an extruded line of a measured component (D, X, Y, Z) from the measurement dialog 1. Create a measurement 2. Move the mouse over the distance text displayed on the desired component of the measurement (D, X, Y, or Z). 3. Hold down the left mouse button and drag the mouse. The way the extrusion is created depends on which component is being created: o Distance (D) component: the dragging of the mouse extrudes a line of the component in the 3D CHUIWorld view plane. o X, Y, Z components: the dragging of the mouse extrudes a line in a logical plane of the box that forms the dimensions components. For example, dragging the X component draws the extrusion in the X – Y, or X-Z plane of the box. The plane chosen depends on how the mouse is dragged. By dragging the mouse, extrusions can be drawn above or Creating, Opening and Working with Workcells 121 below the component line in either plane. 4. Release the mouse button when the extrusion is as desired. When the mouse is released an extrusion of the selected component line is created. If a dimension exists that contain the objects that define the FROM and TO objects, the extrusion is added to the dimensions extrusions. If a dimension does not exist that contain the objects that define the FROM and TO objects a new dimension is automatically created with an extrusion for the dimension. Extrusions can be viewed and modified on the dimension's extrusion tab. To create an extruded line of a dimension line component (D, X, Y, Z) from the dimension property page 1. Open the desired dimension in the cell browser dimensions category 2. Move the mouse over the distance text displayed on the desired component of the dimension line (D, X, Y, or Z). 3. Hold down the left mouse button and drag the mouse. The way the extrusion is created depends on which component is being created: o Distance (D) component: the dragging of the mouse extrudes a line of the component in the 3D CHUIWorld view plane o X, Y, Z components: the dragging of the mouse extrudes a line in a logical plane of the box that forms the dimensions components. For example, dragging the X component draws the extrusion in the X – Y, or X-Z plane of the box. The plane chosen depends on how the mouse is dragged. By dragging the mouse, extrusions can be drawn above or below the component line in either plane. 4. Release the mouse button when the extrusion is as desired. When the mouse is released an extrusion of the selected component line is created. Extrusions can be viewed and modified on the dimension's extrusion tab.. To create an extruded dimension line as a projection in the current 3D view This can be very useful to draw the X, Y, Z component as a dimension. The procedure can Creating, Opening and Working with Workcells 122 be used from either the measurement dialog or from a dimensions property page. 1. Move the mouse over the distance text displayed on the dimension / measurement line (thick blue line in picture). 2. Hold down the left mouse button and the CTRL keyboard button, and drag the mouse. The extrusion will move with the mouse movement. Release the mouse button when the extrusion is as desired. Note that the dimension is drawn as a projection from the current field of view When the mouse is released an extrusion of the selected component line is created. If a dimension exists that contain the objects that define the FROM and TO objects, the extrusion is added to the dimensions extrusions. If a dimension does not exist that contain the objects that define the FROM and TO objects a new dimension is automatically created with an extrusion for the dimension. Extrusions can be viewed and modified on the dimension's extrusion tab. Modifying a dimension extrusion line A dimension’s extrusion properties can be modified. • The length of the extrusion (distance of the side bars from the original dimension line) • The angle of the extrusion from the original creation of the dimension. • The color of the extrusion line To modify the extrusion length 1. Open the property page for the dimension that has the extrusion line. 2. Select the extrusion tab 3. Select the desired extrusion line by left mouse clicking on the extrusion line in the Extrusion list. 4. Modify the extrusion length field on the property page, or drag the extrusion line with the mouse while left mouse clicking Creating, Opening and Working with Workcells 123 To modify the extrusion angle 1. Open the property page for the dimension that has the extrusion line 2. Select the extrusion tab 3. Select the desired extrusion line by left mouse clicking on the extrusion line in the Extrusion list. 4. Modify the extrusion angle on the property page. Deleting an extrusion line Extrusion lines of a dimension can be deleted on the extrusion tab for the dimension that has the extrusion line. To delete an extrusion line 1. Open the property page for the dimension that has the extrusion line. 2. Select the extrusion tab 3. Select the desired extrusion line by left mouse clicking on the extrusion line in the Extrusion list. 4. Press the delete button Working with Robot Controllers 124 7 Working with Robot Controllers 7.1 Working with a robot 7.1.1 Working with robot variable files Using the robot variable file property page A robot controller has variables that are logically grouped. Variable groupings contain information about the robot. Robot variables can be viewed in the cell browser under a robot controller node. The Variables category under a robot controller is visible if the Roboguide option to view development tools is enabled. Enable the Show the development tools field on the Main Menu \Tools\ Options dialog General tab if you want to see the Variables node in the cell browser. A robot Variables grouping has a name property that can not be edited. Using the variable file editor A variable grouping can be edited from a dialog. To edit variables 1. Under the Robot controller / Variables category select the desired set of variables. 2. Right mouse click or double click on the set of variables 3. An editor opens variables are show in a tree format 4. Navigate the tree to the variable desired 5. Edit the value field 6. Press OK or Apply NOTE: changing system variables can effect the performance of the robot. 125 Working with Robot Controllers 7.1.2 PalletPRO Configuration 7.1.2.1 PalletPRO Pallet System Tab Use the Pallet System Tab The Pallet System property page allows modifications of all the settings with the exception of pallet picking. You can choose Part ID method, Cycle Start Control, Part Drop Recovery, End of Batch, etc Fields include: • Pallet System Setup • Pallet Switch • Pallet System options Each is described below. Pallet System Setup: PalletPRO shows the configuration for the pallet system. This item specifies the number of infeed conveyors in your application. Number of infeeds Number of pallets This item specifies the number of pallets in the workcell. This item specifies how PalletTool knows which unit loads to run at CYCLE START. o • TP means that you will identify unit loads manually, through PalletTool teach pendant menus. Part ID method o • PLC means you will use a cell controller to identify parts. Cycle start control This item specifies the device from which to issue a start signal. You can issue a start signal only from one device. o • SOP means that you will signal to start production from the standard operator panel cycle start 126 Working with Robot Controllers button. o • UOP means that you will signal to start production from the cell controller. This item specifies where to control part drop recovery. Recovery Control o • TP means that you will do part drop recovery and cycle stop using teach pendant menus. o • PLC means that you will use a cell controller to do part drop recovery and cycle stop. This item controls how data files will be received on the controller. File Download Method o • Serial allows data file transfers from serial communication only. o • Ethernet allows data file transfers from serial or Ethernet communication. Pallet Switch: Production Control - the following items control production related functions. This item specifies when the robot will switch pallets. Pallet switch Per pick means the robot will switch pallets after each pick-andplace cycle. Per layer means the robot will switch pallets after each layer, unless parts are not present at the infeed. Per Unit Ld means that the robot will switch pallets after each unit load unless parts are not present at the infeed No switch means the robot will not switch pallets. This is used for systems with only one infeed station and only one pallet station. Alt layer means the robot will switch pallets after each layer. It will not switch pallets unless the layer is done, even if parts are not at the infeed. Alt unitld means the robot will switch pallets after each unit load. It will not switch pallets unless the unit load is done, even if parts are 127 Working with Robot Controllers not at the infeed. Pallet System Options: Production Control - the following items control production related functions. Not all options are available in PalletPRO. PalletPRO configures the system to enable running of simulations. This item changes the return path to the infeed: o • NO Specifies the normal return path Diagonal return enable o • YES Enables the robot to move to a taught position before returning to the infeed. This item changes the return path to the infeed: o • NO Specifies the robot to retreat to the infeed approach height when returning to the infeed Clear return enable o • YES Enables the robot to retreat to the infeed retreat height when returning to the infeed. This item controls whether checking for dropped parts is performed during production: Part drop Recovery Enable o • NO disables checking for dropped parts during production. o • YES enables checking for dropped parts during production. This item is used to enable pallet handling when a pallet is needed at a pallet station. Pallet Placement Enable o • NO disables this function. o • YES enables PKPLPAL.TP whenever a pallet is required at 128 Working with Robot Controllers any pallet station. This item controls whether to use the end of batch option: End of Batch Enable o • NO disables the end of batch option. o • YES enables the end of batch option. When a partial pallet is indexed, any remaining boxes will be picked up from the infeed before indexing the pallet. Control how pallets are processed The pallet switch options on the pallet system tab for the robot system defines how pallets are processed. This item specifies when the robot will switch pallets. • Per pick means the robot will switch pallets after each pick-and-place cycle. • Per layer means the robot will switch pallets after each layer, unless parts are not present at the infeed. • Per Unit Ld means that the robot will switch pallets after each unit load unless parts are not present at the infeed • No switch means the robot will not switch pallets. This is used for systems with only one infeed station and only one pallet station. • Alt layer means the robot will switch pallets after each layer. It will not switch pallets unless the layer is done, even if parts are not at the infeed. • Alt unitld means the robot will switch pallets after each unit load. It will not switch pallets unless the unit load is done, even if parts are not at the infeed Working with Robot Controllers 129 To define how the robot should switch pallets: 1. Open the robot system property page 2. Select the Pallet System tab 3. Select the desired pallet switch option 4. Press OK or Apply to save changes 7.1.2.2 PalletPRO PalletTool Positions Tab Use the Pallet Positions Tab The pallet positions tab is used to teach commonly used positions in the Palletizing process. You can teach the perch position and the maintenance position. Teach the pallet system perch position To teach the pallet system perch position. 1. Select the robot 2. If the robots property page is not visible, open the robots property page. 3. On the General Tab ensure that the Lock All Location Values checkbox is unchecked. If it is checked, uncheck the box and press Apply to UnLock location value editing. 4. Select the PalletTool Positions Tab 5. Move the robot to the desired position. 6. You may record the position or directly enter the position. o Record: Press Record and then press Apply to save the position. o Direct enter: enter the position value into the location fields and press Apply to save the new values Working with Robot Controllers 130 Teach the pallet system maintenance position To teach the pallet system maintenance position. 1. Select the robot 2. If the robots property page is not visible, open the robots property page 3. On the General Tab ensure that the Lock All Location Values checkbox is unchecked. If it is checked, uncheck the box and press Apply to UnLock location value editing. 4. Select the PalletTool Positions Tab 5. Move the robot to the desired position. 6. You may record the position or directly enter the position. o Record: Press Record and then press Apply to save the position. o Direct enter: enter the position value into the location fields and press Apply to save the new values Loading a TPP Program onto the robot Typically, you load a file from the default device when • You want to modify a program (teach pendant program file, .TP) that is not currently in controller memory Loading programs using the cell browser 1. Open the cell browser 2. Right mouse click on the Programs element under the desired robot controller 3. Select Load TP program A dialog box is presented. Browse to the desired directory. Select what programs you want to load. 4. Press Open Working with Robot Controllers 131 Loading Files using the File Menu Steps 1. Set the default device to the device you want: o Press MENUS. o Select FILE. o Press F1, [TYPE]. o Select File. o Press F5, [UTIL]. o Select Set Device. o Move the cursor to the device you want and press ENTER. 5. Press MENUS. 6. Select FILE. 7. Press F1, [TYPE]. 8. Select File. o To load a single file: o Generate a directory of the default device that contains the file you want to load. o Move the cursor to the name of the file you want to load and press F3, LOAD. 9. Load the file(s): o To load the file(s) you selected, press F4, YES. o If you do not want to load the file(s) you selected, press F5, NO. Working with Robot Controllers 132 10. If the program already exists: o To overwrite, press F3, OVERWRITE. o To skip the file, press F4, SKIP. o To cancel , press F5, CANCEL. 7.2 Robot arm dressout About adding objects to links of the robot Roboguide version V6.40 adds the ability to attach objects to links of the robot. It is common to have additional hardware attached to the robot arm in many applications. Objects may be attached to any of the links of a robot arm. Add an object to a link of the robot arm Roboguide version V6.40 adds the ability to attach objects to links of the robot. It is common to have additional hardware attached to the robot arm in many applications. Objects may be attached to any of the links of a robot arm. To add an object to a link of the robot arm 1. Right mouse click on the Robot group in the cell browser, drag the mouse over the Dressout selection, drag the mouse over the desired robot joint, and select the desired method to add an object. After the object is added it should appear on the joint selected, and the machine general property page should appear. 2. Set the properties as desired. Using the dressout property page tab The dressout property page tab works the same as the machine base property page tab. Object properties for a dressout object can be modified through the properties on the tab. Working with Robot Controllers 133 7.3 Working with multiple robots Roboguide simulation software supports multiple robot workcell creation. Robots in the workcell can synchronize though shared IO. When running simulations the robot motion system for each robot and the shared IO is synchronized to provide accurate motion and IO interactions. Note: only robots that have Virtual Robot V6.31 and above are supported and allowed in multiple robot workcells. Add a robot to the workcell A robot can be added to the workcell from the cell browser robot controllers item and the main menu Cell category. Delete a robot from the workcell If more than one robot is available in the workcell, robots can be deleted. Working with IO Interconnections between robots in the workcell When multiple robots are present in a workcell, IO can be mapped between robots. When and Output is set on one robot, it is sent to all robots defined in the robot interconnections. Any input on a robot can have only one output mapped into the input. A robot output can be mapped to an input on the same controller. When simulations are executed, IO is synchronized with all virtual robots. This allows for highly accurate and repeatable IO timing in the virtual robot Roboguide environment. Using the IO interconnections setup property page The IO interconnect property page provides IO mapping capability. IO can be mapped in groups of 8 or as single IO points. Any input on a robot can have only one output mapped into the input. A robot output can be mapped to an input on the same controller. Fields on the property page include: • Current IO configuration table: the table shown displays and allows entry of IO mapping information. Note that you must double click on the table entry to modify the contents. Columns in the table include: o Output Device: the device in the workcell for which outputs will be mapped. o IO Tag: the output type and number to be mapped. o Input Device: the device in the workcell for which inputs will be mapped. Working with Robot Controllers 134 o IO Tag: the input type and number to be mapped • Commands: are used to add and delete lines from the IO connections table. o Add 1: adds a single IO mapping to the table. o Add 8: adds a group of contiguous 8 IO mapping to the table. NOTE: Double click on each entry in the table to change the contents. o Delete: deletes the selected line from the table. Procedure to add an IO Interconnection between robots IO can be defined between 2 robots in a workcell. To add an IO interconnection between 2 robots: 1. Open the IO Interconnections property page. o Using the mouse, right mouse click on the Workcell root in the cell browser and select Properties. When the workcell property page opens select the IO interconnections tab. o Using the main menu, select the Cell Main menu item. Select IO Interconnections. 2. Select Add 1 or Add 8 from the commands frame. Add 1 will add one IO entry and 1 IO mapping. Add 8 will add one IO entry that maps 8 contiguous IO points. 3. Double left mouse click on the Output Dev item. A dropdown list is presented. All available IO devices are displayed in the list. Select the desired device. 4. Double mouse click on the IO Tag for the output device selected. A dropdown list is presented. Select the desired IO type and enter the starting IO number and press Enter. 5. Double left mouse click on the Input Dev item. A dropdown list is presented. All available IO devices are displayed in the list. Select the desired device. 6. Double mouse click on the IO Tag for the input device selected. A dropdown list is presented. Select the desired IO type and enter the starting IO number and press Working with Robot Controllers 135 Enter. 7. Press OK or Apply. 8. Add additional definitions as desired. The IO interconnection should now be defined and functioning. 7.4 Working with KAREL Programs Working with KAREL Programs KAREL programs can be loaded into Roboguide virtual robots. The method to do this is exactly like working with an actual robot. P-Code (.PC) files are loaded onto the robot from the teach pendant for from a KAREL command file. Programs can then be executed using Shift-FWD or from KCL. To Load .PC files onto the virtual robot 1. Copy .PC files into the flpy directory of the virtual robot for your workcell. Virtual robot directory is found under the Robot_x directory of your workcell. The options page shows the directory settings. 2. Two methods to load the programs: o From the TP: press Menus/ File on the TP. Do a DIR command, select the program and press Load softkey. o From KCL window: type Load Prog <devicename><filename>. Where device name is FLPY or the device where the files exist. To Run the KAREL Programs. • From KCL: o Serialize your robot with the KCL option selected. Do this when creating a workcell on the options screen of the wizard. After doing this the KCL option will be enabled under the Robot main menu item o Open the KCL window by selecting Robot/KCL Working with Robot Controllers 136 o Set var $rmt_master = 1 o Open the virtual TP o you must set the Remote/Local Setup to Remote - Select Menus/System (on the second page). Select Type[F1] and select Config - Go to Remote/Local setup item (~37 in the list) and set it to Remote o you should now be able to go to the KCL window and issue a RUN command on your program • From the TP: o Select the .PC file from the select screen o Press Enter o Press Shift/ FWD on the Virtual TP. 7.5 Working with robot end of arm tooling 7.5.1 Using End of Arm Tolling with PalletPRO Use the end of tooling with PalletPRO The end of arm tooling/ gripper property page has fields used to define the tooling on the workcell robot. Multiple tabs are used on the End of Arm Tooling property page. • General Tab: used to define tooling name, location and other general properties. • Palletizing Tab: used to define the gripper type and the gripper IO. Working with Robot Controllers 137 Use the End of Arm Tooling Palletizing tab The end of arm tooling palletizing tab has fields to define gripper type, tool definition, and tooling IO. Fields include: • Gripper type: defines the end of arm gripper type. The list provides grippers that are supported by PalletPRO. Standard single, double, and triple case vacuum grippers are symmetrical about the robot tool center point (TCP). With standard grippers, PalletTool automatically calculates the UTOOL x and y offset values. You must enter only the UTOOL z offset value. Custom 1 – 4 grippers are available in the dropdown list for user definable grippers. These custom grippers - all vacuum type - will be used by the robot exactly as described in the PalletTool Setup and Operations manual. The Unitload setup menu in PalletPRO will also allow the selection of the custom grippers • No. of cases: the number of cases the gripper supports • Gripper tool definition settings: o Pick Delay and Place Delay: the delay used at pick and place, respectively. o Tooling definiton: faceplace to bottom of cups: this is the distance measured from the faceplate of the robot to the bottom of the cups. The number of rows available for setup matches the number of cases defined. Standard grippers used with PalletTool constrain tooling definitions as required by PalletTool which is primarily only in the tooling Z direction. Custom grippers allow for modifications of X, Y, Z, and R. • Gripper IO: You must set up I/O for all kinds of grippers. PalletPRO will set up default I/O automatically as defined for PalletTool. If your application uses a standard PalletTool gripper, you do not need to set up any additional information Note: the values set in this menu for I/O will only be used to download to a real robot. PalletPRO itself uses its own internal default I/O values. 138 Working with Robot Controllers Setup Item Single Case Gripper Double ICC or Triple Case Gripper Case 1 Close Open Part presence UTOOL RO[1] on RO[2] off RO[1] off, pulse RO[2] for 0.1 second RO[1] on RO[2] off RO[1] off, pulse RO[2] for 0.1 second RI[1] RI[1] 0,0,300,0,0 0,0,300,0,0 Case 2 Case 3 RO[3] on RO[4] off RO[5] on RO[6] off RO[3] off, pulse RO[4] for 0.1 second RI[2] 0,0,300,0,0 RO[5] off, pulse RO[6] for 0.1 second RI[3] 0,0,300,0,0 7.6 Working with Coordinate Frames (CD Pairs) Using the Coordinate Frames (CD_Pair) Property Page Coordinated motion between a robot group and another robot group requires definition of the relationship between the follower group and the leader group. When robot arms are the motion groups that are coordinated, the CD_Pair frame is a transformation position value that defines the relationship between origins of the follower group robot and the leader group robot. For details on coordinated motion, see the robot controller manual for coordinated motion. Roboguide provides property pages that enable you to view and define coordinated frames (CD_Pair frames). The process of defining the CD_Pair relationship is called calibration of the CD_Pair frame. The CD_Pair property page provides methods to enable setting the CD_Pair relationship. These include: 1. Define the leader group and follower group of a coordinated motion pair 2. Calibrate a coordinated motion pair. Modifies the location of robot groups in the Roboguide workcell to match the controller system variable value. The location of either the follower group or the leader group in the CHUIWorld can be modified. 3. Define a CD_Pair to use coordinated handling motion. Coordinate handling motion is a specific coordinated motion type where multiple arms are used to hold a fixed object. The follower robot moves relative to the leader so that the relationship is maintained between the leader and follower. See the coordinated motion documentation for a more complete explanation. Working with Robot Controllers 139 4. Set the follower robot UFRAME to match the CD_Pair. This is very useful when teach robot positions. If coordinated motion is enabled and multiple groups exist on the controller, the CDPair Frames show in the cell browser under a robot controller. NOTE: Roboguide currently only provides functions for defining the relationship between multiple robot arms. Specifically, the CD_Pair property page does not support setup of a robot arm and positioner device. Fields available on the CD_Pair property page include: • CD Pair Definition Frame o Leader combo box: defines the leader group o Follower combo box: defines the follower group o Handling Coordinated Motion checkbox: when enabled the robots defined for the CD_Pair will use coordinated handling motion. The $CD_PARAM.$MH_ROB_GMSK is set. When the leader and follower are defined fields are shown to define the CD_Pair value. • $CD_PAIR Frame: o X, Y, Z, W, P, and R values of the current $CD_PAIR o Copy to Follower’s UF combo box: when set, the X, Y, Z, W, P, R of the $CD_PAIR is copied to the selected user frame of the follower • $CD_PAIR Calibration frame: o Status icon: The exclamation icon and the warning message are displayed when there is a difference between the $CD_PAIR and the Roboguide workcell relationship. When the icon is displayed, the user can select a calibration method by the Combo box. o Calibration method combo box: presents choices for calibration: "No calibrate": When the item is selected, the calibrate button is not enabled. "Update $CD_PAIR": the CD_Pair frame is changed to the Working with Robot Controllers 140 coordinate transformation from the CHUIWorld robot origin of the follower group to the robot origin of the leader group. "Locate Follower": the Roboguide location of the follower group is modified relative to the leader group to match the $CD_PAIR value. "Locate Leader": the Roboguide location of the leader group is modified relative to the follower group to match the $CD_PAIR value o Calibrate button: After the method of the calibration is selected, pushing the button "Calibrate" executes the calibration. After calibration, the status icon and the warning message are changed to indicate successful calibration." 7.7 Working with Robot Machines - positioners, aux axes 7.7.1 Working with extended axes/integrated axes Building an aux axis system example The following example shows the process required to build an auxiliary axis system. The example creates a new workcell, configures a virtual robot with extended axis, and builds the auxiliary axis from PRO CAD primitives. The auxiliary axis system built is a 2 auxiliary axis X-Y systems where a Robot is mounted on the X rail. The workcell can be found in <install drive> \Program Files\FANUC\PRO\SimPRO\Sample Workcells\ aux_system_example Building an aux axis system example Step 1 Create a new workcell A new workcell is created with the name Aux_System_example. Several steps are required and this step describes each procedurally. Step 1: Create a new workcell 1. Start a new workcell by selecting File / New from the main menu The workcell creation wizard is opened. 2. Select which Roboguide plugin you desire and press Next. This example uses Working with Robot Controllers 141 HandlingPRO. 3. Name the workcell and press Next. This example uses the workcell name Aux_System_Example. 4. Select the desired robot from the list and press Next. This example uses the R2000iA/165F. 5. On the Additional Motion Groups Page select Next. 6. Select options to be loaded on the robot. Check the box next to the Extended Axis Control option in the list and press Next. See Configuring a virtual robot for an aux axis system form a more detailed description of this wizard step. 7. The final step of the wizard shows the configuration of the robot that will be serialized. Press Finish to start the creation of the virtual robot. After pressing finish the virtual robot is serialized. The process can be seen on the virtual TP screen. PRO should initialize with a 3D ChuiWorld. Defining the auxiliary axis hardware information. After serializing the virtual robot the configuration has extended axis capability. Axes must be added to the robot group 1 before the axes can be used. 8. Start the virtual robot in controlled start mode by selecting Robot / Restart Controller / Controlled Start from the main menu. The robot will restart in controlled start. 9. Press Menu button, and then select Maintenance 10. Down Arrow to the extended axis item and press enter 11. Press Manual 12. A menu is presented which allows you to select the motion group to modify extended axis information. Select Group 1 and press enter. 13. Enter the hardware start number for the extended axes. Select 7 and press enter. 14. A menu is presented which allows you to modify extended axis configurations. Select the Add Ext Axis item and press Enter. 15. The Virtual TP screen shows question that must be answered to define the hardware selected. When the questions appear left click the mouse on the virtual TP Working with Robot Controllers 142 window, and answer the questions as detailed below (the answers provided may not be correct for the hardware on an actual auxiliary axis hardware. See the Robot manuals for more information). 16. Aux axis 1 Initialization o Enter the axis to add: 1 o Motor Size: Aca6 o Motor Type Setting: /2000 o Amplifier Current Limit Setting: 40A o Extended axis type: Integrated Rail (Linear axis) o Direction: Select Y – this makes joint 7 perform in the robot Y direction. o Enter Gear Ratio: 120 o Maximum Joint Speed Setting: No Change o Motion Sign Setting: False o Upper Limit Setting: 5000 o Lower Limit Setting: -5000 (Press the – key on the numeric keypad) o Master Position Setting: 0 o Accel Time 1 Setting: No Change o Accel Time 2 Setting: No Change o Minimum Accel Time Setting: No Change o Load Ration Setting: 2 o Amplifier Number Setting: 1 o Select Amp Type: Alpha amp - 2 Working with Robot Controllers 143 o Brake Number Setting: 2 o Servo Timeout: Disable 17. After answering the last question, the Ext Axis Setting program menu is shown again. Select the Add Ext Axis item and press Enter 18. Aux axis 2 Initialization o Enter the axis to add: 2 o Motor Size: Aca6 o Motor Type Setting: /2000 o Amplifier Current Limit Setting: 40A o Extended axis type: Integrated Rail (Linear axis) o Direction: Select X – this makes joint 8 perform in the robot X direction. o Enter Gear Ratio: 120 o Maximum Joint Speed Setting: No Change o Motion Sign Setting: False o Upper Limit Setting: 4000 o Lower Limit Setting: -4000 (Press the – key on the numeric keypad) o Master Position Setting: 0 o Accel Time 1 Setting: No Change o Accel Time 2 Setting: No Change o Minimum Accel Time Setting: No Change o Load Ration Setting: 2 Working with Robot Controllers 144 o Amplifier Number Setting: 1 o Select Amp Type: Alpha amp - 2 o Brake Number Setting: 2 o Servo Timeout: Disable 19. The axes have been defined and setup. The Ext Axis Setting program menu is shown. Select Exit and press Enter. 20. The select group menu is shown. Select Exit and press enter. 21. Press Fctn / Start (Cold) Roboguide opens with a robot in a workcell with no other devices. Expand the Robot Controllers / Robot 1 tree in the cell browser. The axes exist but a machine needs to be defined that use the auxiliary axes. To validate that the extended axes have been defined, the additional joints should be available on the Current Position tab of the virtual Teach Pendant. Next Step Building an aux axis system example Step 2 Build the auxiliary axes system Step 1 created a new workcell, and configured a virtual robot with extended axes on the virtual robot. Step 2 uses these extended axes to build a Roboguide machine / auxiliary axis system. A machine is defined that has a base that defines the 10 meter Y rail. An additional joint is added to define the 8 meter X rail. The robot is then attached to the X rail. The following procedure defines this relationship within the workcell. Build the base of the auxiliary axis system 1. Open the cell browser if it is not open. There should be a Machines element in the tree under the workcell. 2. Right Click on the Machines Element and select Add Machine / Box menu selection. A box is added to the workcell and the property page for the machine is shown. 3. Change the Name Property to X-Y Rail and press Apply. 4. Locate the Box. Enter Size in X = 1000, Y= 10000, Size in Z = 300 and 0, 0, 300, 0, Working with Robot Controllers 145 0, 0 for the CAD Location, and press Apply. The box should move to the floor and be 10 meters in the Y direction. 5. Select Lock All Location Values and press Apply to lock the base in the workcell. 6. The base now exists for the robot Y rail of travel. The next step is to add the Y rail control such that when axis 7 (Y direction) is jogged or moved the X rail moves in the Y direction (joint 7). Build the dependent X rail axis. 7. Right Click on the X-Y Rail Machine root node under Machines and select Add Link > Box. A box for the X rail axis of the machine should be loaded into the workcell, and the property page for the control of joint 7 should be open. The motion control axis must be defined, the motor must attached to the motion control axis, and the CAD box must be located correctly for the machine. 8. Change the Name Property to X Rail and press Apply. 9. On the General property page press the Select 3D Axis button. This highlights the coordinate system that moves when the axis is jogged or moved. For more information regarding the 3D axis and Link CAD reference frames see Working with machines. 10. Roboguide constrains that the 3D axis origin of the axis link defines the origin of motion with the Z axis of the axis link defining the direction of travel. The Z axis of the axis link must be rotated to align with the Y rail base Box created in an earlier step. In the Axis Origin fields enter 0, 0, 0, 90, 0, 0 and press Apply. Note that the 3D axis reference frame now is in the direction of travel along the rail. 11. Locate the Box relative to the Joint 7 Axis Origin of motion. Select the Link CAD tab on the X Rail Property page. Enter Size in X= 8000, Size in Z = 300 and 0, 0, 300, 90, 0, 0 for the CAD Location, and press Apply. The box should be on the floor and be 8 meters in the X direction. 12. Define the robot axis that controls this axis. On the X Rail Motion Property page select Group = GP:1 R-2000iA. In the Joint field, select Joint 7. Press Apply. 13. Open the virtual Teach Pendant and jog Joint 7. The box just attached to joint 7 moves in the World Y direction relative to the base CAD box. If the teach ball at the end of the robot moves in the opposite direction of the axis, it means that the motor direction is opposite of the CAD link Axis direction defined. Working with Robot Controllers 146 To quickly change this association, open the property page for the X Rail and select the Negative checkbox on the General property page. The robot teach ball should now move with the rail as it is jogged. Attach the robot to the X rail Axis 14. Right Click on the G:1, J:7 - X Rail Machine node under Machines and select Attach Robot -> GP:1 – R-2000iA/165f. This attaches the robot to J:7 X- Rail so that when the X Rail is jogged the robot moves on the rail. 15. Change the Name Property to Robot R2000 and press Apply. 16. Press the Select 3D Axis button. This highlights the coordinate system that moves when the axis is jogged or moved. 17. Roboguide constrains that the origin of the axis link defines the origin of motion with the Z axis of the axis link defining the direction of travel. The Z axis of the axis link must be rotated to align with the X rail Box created in an earlier step. In the Axis Origin fields enter 0, 0, 0, 0, 90, 0 and press Apply. The Z axis is now aligned with the direction of travel. The robot rotates because the Link CAD is relative to the 3D Axis origin. 18. Locate the Robot relative to the Axis Origin of motion. Select the Link CAD tab on the Robot R2000 property page. Enter 0, 0, 0, 0, -90, 0 for the CAD Location, and press Apply. The box should be on the floor and be 8 meters in the X direction. 19. Define the robot axis that controls this axis. On the Motion Tab of the Property page select the Servo radio button and then select Group = GP:1 R-2000iA. In the Joint field, select Joint 8. Press Apply. An aux axis system should now be defined. Validation can be done by jogging both joints 7 and 8. Working with Robot Controllers 147 Working with extended axes and integrated axes Auxiliary axes systems are mechanical devices that are controlled by the robot controller. Auxiliary axes systems are used in several applications and are generally used to move the robot to different locations in a workcell. Auxiliary axes can be defined on the robot controller to control the devices. Robots on aux axes can have different configurations: • Integrated axis: the robot world coordinate system is on the aux axis. The position on the rail (linear) or on the arm (rotary) is added to the robot position. • Extended axis: the robot world coordinate system is at the robot base. The aux axis device is a joint value and does not participate in defining the robot tool center point location. The position on the rail (linear) or on the arm (rotary) is not added to the robot position. Auxiliary axes define a set of motors and axes that are combined to accomplish a motion task. The robot and the auxiliary axes can be controlled using extended axes on the controller, and appear as additional joints on the motion group to which they are assigned. Extended axes and integrated axes definitions and layout within FANUC Roboguide Roboguide models auxiliary axis systems from the base of the aux device out to the last axis of the device. You can see this representation in the cell browser. Note: starting in release V6.40 Roboguide changes and additional functionality have been made regarding machines. • Non end of arm machines are defined at the workcell level. In previous versions, machines were under each robot controller. Moving machines to the workcell level provides additional flexibility. Any robot controller in the workcell can control a link of the machine. Multiple robot controllers can be attached to a rail. • Links can be driven by IO on a robot controller. This allows IO programming to control clamps and other IO driven devices in the workcell. See Use the machine axis Motion tab for more information. You could build an IO driven slide with this capability. An aux axis device represents 1 or more joints added to the robot controller. Generally, an aux axis is used to carry the robot or to carry objects to the robot. Auxiliary axes systems can be either integrated or extended. Some examples: Working with Robot Controllers 148 • Robot on a rail. • Robot on a rail doing rail tracking. (Integrated axes) • Robot on an RTU. • Robot controlling a conveyor motor. • Aux axis on the end of the robot arm When building auxiliary axis devices in Roboguide the virtual robot has to be configured for auxiliary axis by loading the controller option, and the Roboguide environment has to be defined to link 3D ChuiWorld entities to the virtual robot axes. Cell Browser representation of multiple auxiliary axes external to the robot arm The cell browser shows Robots under the Robot Controllers category. A robot can have multiple additional extended joints. The additional axes definitions are defined by what has been setup at controlled start for the virtual robot. See Configuring a virtual robot for an aux axis system for more information on setting up the virtual robot. Auxiliary axis machines are built from the additional axes defined for the robot. An auxiliary axis is modeled in the cell browser as a machine controlled by the robot. A machine is a series of axes that are configured to represent an aux axis configuration. The machine is the root of an auxiliary axis system definition and represents the base of the device. Each dependent link is listed under the machine as a group and a joint. If a link is dependent on a different link it is listed under the link it is dependent on. These dependencies can be edited to define an overall auxiliary axis function. Examples: A robot on an RTU. The above picture of the cell browser shows single integrated axes – Joint 7 system. G:1:J:7 Slide is the root of the device and the robot is attached to it. A robot on a X – Y slide. The above picture of the cell browser shows 2 integrated axes – Joint 7 and 8 system. The components of the tree define the following: • X-Y Rail: the root of the auxiliary axis machine, and defines the base. • G:1:J:7 X-Rail is the rail that moves when joint 7 is moved. • G:1, J8 – Robot R2000 moves perpendicular along the X Rail and the robot is attached to J8. Working with Robot Controllers 149 Cell Browser representation of auxiliary axes on the robot arm Extended auxiliary axes can be added to the end of the robot arm. The axes are added to the end of arm tooling on the robot. Auxiliary axis devices are built from the additional axes defined for the robot. An auxiliary axis is modeled in the cell browser as a machine controlled by the robot on the end of arm tooling. A machine is a series of axes that are configured to represent an aux axis configuration. The machine is the root of an auxiliary axis system definition and represents the base of the device. Each dependent link is listed under the machine as a group and a joint. If a link is dependent on a different link it is listed under the link it is dependent on. These dependencies can be edited to define an overall positioner function. The following figure shows the cell browser tree for a robot controller configured with and external axis on the end of the arm. Components of an auxiliary axis definition within Roboguide A machine / auxiliary axes system has a base with joints relative to the base and other joints. Roboguide software defines each component with the following properties regarding joint positions and CAD. Machines: defines machines that are connected to the robot <Machine>: represented at the root of a machine. • CAD Location: the location of the base in the workcell. This is the CAD origin relative to the 3D world zero. • CAD File: defines the CAD to be used for the base Axis joints: the joint links relative to the base is modeled in a tree. A joint link is another group’s joint. Each joint is built relative to what it is dependent upon. If a joint is dependent on a different joint then it is added underneath the joint that it is dependent upon. • Axis Link Origin: this is the location of the joints link axis relative to the previous link CAD. The axis link is the link that moves when the joint is jogged. When defining the axis link Roboguide requires that the +Z axis be along the axis of rotation (rotary) or translation (linear). • Link CAD: defines the CAD to be used for the joint and the location of the CAD origin relative to the axis link The following figure shows the relationship between Axis origin and the Link CAD. When the axis moves the CAD Origin moves along the Z axis of the axis link origin. Working with Robot Controllers 150 Process to configure virtual robot and PRO 3D world for an aux axis system This topic provides a high level procedure to configure a Roboguide workcell that supports an auxiliary axis system. Several procedures are required to build a working auxiliary axis workcell. For more information regarding Roboguide use of auxiliary axis systems see the help topic Extended axes and integrated axes definitions and layout within FANUC Roboguide. Steps in the process may reference other procedures. Process to configure virtual robot and 3D CHUIworld for auxiliary axis. 1. Open a New Workcell! 2. When you encounter the setup robot options step in the wizard, you configure the options for the virtual robot being built. Select the Extended Axis control option to be configured on the virtual robot. This initializes the virtual robot with the option to use auxiliary axes. 3. After your selection of options you can finish the wizard and initialize the virtual robot. 4. The virtual robot is initialized with additional axes, but need to have axes added to match the actual hardware configuration. This is done at robot controlled start. Follow the procedure Adding an Extended or Integrated axis to the virtual robot for each additional axis required. 5. The auxiliary axis machine can now be built, located, and calibrated in the workcell. Build or modify an aux axis system An aux axis system is modeled as a series of joints in the cell browser under the Robot / Machines category. The machine is the root of a auxiliary axis device definition and represents the base of the auxiliary axis device. Each dependent link is listed under the machine. If a link is dependent on a different link it is listed under the link it is dependent on These dependencies can be built and modified to define an overall auxiliary axis device function. See Extended axes and integrated axes definitions and layout within FANUC Roboguide for more background information. Procedure to build a auxiliary axis device This process assumes the virtual robot has been configured for Extended axes, and the axes have been added to the virtual robot When PRO is running, the virtual should have the extra axes defined, but the graphics portion must be linked into the virtual robot. Roboguide detects if the virtual robot has been configured with additional extended axes. Create a new auxiliary axis machine, set the base location, and set the base CAD. Working with Robot Controllers 151 1. Select and Right click on the Machines category under the robot, and select how the base CAD should be created. Generally this is from an IGES file. If file is chosen, select the file that will be used for the base CAD. The base should be loaded into Roboguide and seen on the screen. 2. Locate the base where desired Associate and locate axes for the positioner 1. Expand the cell browser tree under the desired machine. 2. In the cell browser right click on the element that will have an additional joint added. Select Add Link. You may add CAD from: o CAD Library – CAD elements available from Roboguide library o CAD File – IGES CAD information o Box, Cylinder, Sphere – Basic shapes that can be used to model many simple machines The link should show and is placed relative to the previous links CAD position. 3. Select the group and the joint that drives the axis by selecting the Group and Joint from the dropdown box shown on the general property page, and press Apply. 4. Locate the axis link relative to the previous axis link . Often times locating the axis link of motion changes the location and orientation of the CAD that defines the link (Link CAD). The next step is to move the CAD relative to this link axis of motion. 5. Modify the Link CAD for the axis and modify the location of the link CAD relative to the axis link. 6. On the General Page for the positioner axis set the Clockwise / Direction checkbox to reflect how the motor should move when the +X jog key is pressed. The effects of this can be seen when actually jogging the robot in CHUIWorld. If the value is incorrect the robot moves opposite of the teach tool triad on the screen. 7. Repeat steps 4-8 until all axes are added. Joints are added relative to dependent joints. Working with Robot Controllers 152 NOTE: it is possible to add "dummy" links that have no servo axis control. This is useful to build a machine out of many parts, even if they have no motion characteristics. The added links will move with whatever links they are associated (links above it in the tree) Build or modify an aux axis on the end of arm An aux axis system is modeled as a series of joints in the cell browser under the Robot / Tooling category. The UTOOL is the root of a auxiliary axis device definition and represents the base of the auxiliary axis device on the end of the arm. Each dependent link is listed under the UTOOL. If a link is dependent on a different link it is listed under the link it is dependent on. These dependencies can be built and modified to define an overall auxiliary axis device function. See Extended axes and integrated axes definitions and layout within FANUC Roboguide for more background information. Procedure to build a auxiliary axis device on the end of arm This process assumes the virtual robot has been configured for Extended axes, and the axes have been added to the virtual robot When PRO is running, the virtual should have the extra axes defined, but the graphics portion must be linked into the virtual robot. Roboguide detects if the virtual robot has been configured with additional extended axes. Associate and locate axes for the end of arm machine 1. Expand the cell browser tree under the Robot / Tooling and select the UTOOL where you want to add the end of arm tooling machine. 2. In the cell browser right click on the element (root UTOOL node or a axis below it) that will have an additional joint added. Select Add Link. You may add CAD from: o CAD Library – CAD elements available from Roboguide library o CAD File – IGES CAD information o Box, Cylinder, Sphere – Basic shapes that can be used to model many simple machines 3. The link should show and is placed relative to the previous links CAD position. For the initial link on the end of arm this is the faceplate of the robot. 4. Locate the axis link relative to the previous axis link . Often times locating the axis link of motion changes the location and orientation of the CAD that defines the link (Link CAD). The next step is to move the CAD relative to this link axis of motion. Working with Robot Controllers 153 5. Modify the Link CAD for the axis and modify the location of the link CAD relative to the axis link. 6. Select the Motion Tab. 7. Select the group and the joint that drives the axis by selecting the Group and Joint from the dropdown box shown on the general property page. The motion type should be set to Servo. Press Apply. 8. On the General Page for the axis set the Clockwise / Direction checkbox to reflect how the motor should move when the +X jog key is pressed. The effects of this can be seen when actually jogging the robot in CHUIWorld. If the value is incorrect the robot moves opposite of the teach tool triad on the screen. 9. Repeat steps 4-8 until all axes are added. Joints are added relative to dependant joints. NOTE: it is possible to add "dummy" links that have no servo axis control. This is useful to build a machine out of many parts, even if they have no motion characteristics. The added links will move with whatever links they are associated (links above it in the tree) Locating a machine in the workcell A machine is located in a workcell by placing its base in the workcell location that is desired. Procedure to locate a machine in the workcell 1. Select from the cell browser the machine that represents the device you want to modify 2. Open its property page. 3. Locate the machine base where desired Working with Robot Controllers 154 Configuring a virtual robot for an aux axis system The virtual robot in the workcell must have the Extended Axis control before axes can be added to the robot. To configure a virtual robot for an aux axis system If the workcell is already created and the option needs to be added to the existing virtual robot 1. Open the robots property page 2. Select Serialize Robot button the workcell wizard is opened. Press next until the Robot Options selection page is available. 3. Select Extended Axis control from the list 4. Press Next until the summary page is displayed 5. Press Finish. 6. Press Apply from the Robot Property Page dialog If a new workcell is being created the option needs to be added to the virtual robot. 1. When stepping through the Workcell creation wizard one of the pages allows selection of robot options. Stop on the robot options selection page. 2. Select Extended Axis control from the list 3. Press Next until the summary page is displayed 4. Press Finish. 5. The robot will be initialized with the extended axis option. The robot will have the option enabled, but additional axes must be defined. See Adding an axis to the aux axis system in PRO for more information. Working with Robot Controllers 155 Adding an extended or integrated axis to the virtual robot An axis can be added to the virtual robot in the same way that you add an axis to a robot on an actual robot. The axis is added to the robot group from controlled start. Procedure to add an axis to a group on the virtual robot State: PRO is running and the virtual robot Extended axis motion option was selected when the robot was started from the serialize wizard. 1. Start the virtual robot in controlled start mode by selecting Robot / Restart Controller / Controlled Start from the main menu. The robot will restart in controlled start. 2. Press Menu button, and then select Maintenance 3. Down Arrow to the Extended Axis Control item and press the Manual Softkey. A menu is presented which allows you to work with the motion group axis setup. 4. Select the group that will have an additional axes added and press Enter A menu is shown. Select Add Ext axes. 5. Questions are presented to configure the hardware. When the questions are answered the menu for the Extended Axis will be presented. 6. Select Exit and press Enter. 7. The select group menu is shown. Select Exit and press Enter. 8. Press FCTN and then select START (Cold) so that the new settings can take effect. When the robot returns to Cold Start, the new axes are added to the robot. To verify that the axis has been added, go to the Current Position Tab of the Virtual Teach Pendant to see that the axis shows in the current position. Changing an aux axis configuration on the virtual robot An axis configuration can be modified on the virtual robot in the same way that you modify an axis to a robot on an actual robot. Procedure to add an axis to a group on the virtual robot State: PRO is running and the virtual robot Extended axis motion option was selected when the robot was started from the serialize wizard. 1. Start the virtual robot in controlled start mode by selecting Robot / Restart Controller / Controlled Start from the main menu. Working with Robot Controllers 156 The robot will restart in controlled start. 2. Press Menu button, and then select Maintenance 3. Down Arrow to the Extended Axis Control item and press the Manual Softkey. A menu is presented which allows you to work with the motion group axis setup. 4. Select the group that will have an additional axes added and press Enter A menu is shown. Select Modify Ext axes. 5. Select the axis that needs to be modified and press enter. 6. Questions are presented to configure the hardware. When the questions are answered the menu for the Extended Axis will be presented. 7. Select Exit and press Enter. 8. The select group menu is shown. Select Exit and press Enter. 9. Press FCTN and then select START (Cold) so that the new settings can take effect. When the robot returns to Cold Start, the new axes are modified on the robot. Change the link axis of motion origin value for a machine axis The link axis of motion origin represents the origin point where a joint axis moves. It is the location of the joints link axis relative to the previous link CAD. The axis link is the link that moves when the joint is jogged. For more information about the relationship between machine axes see Working with machines. When defining the axis link Roboguide requires that the +Z axis be along the axis of rotation (rotary) or translation (linear). Procedure to change the link axis of motion origin location 1. Open the property page for the joint axis desired. 2. Press the select 3D axis button to activate the coordinate triad for the link. 3. Move the coordinate triad to the correct location relative to the link it is dependant upon. The origin of the link axis is the origin of the virtual motor. The link axis of motion must align the coordinate triad’s +Z axis along the axis of rotation rotary) or translation Working with Robot Controllers 157 (linear). A links axis is dependant upon the previous link’s Link CAD origin. Changing the CAD used for a machine axis Objects can be defined from IGES CAD or PRO primitives. CAD used for the machine axis can be changed on the property page that defines the machine axis. To change the CAD used for a machine axis 1. Open the property page for the joint axis desired 2. Select the Link CAD page. 3. Click on the CAD field. If CAD is to be used, browse by selecting the folder icon. A PRO primitive may be selecting the type from the CAD type field. 4. Click OK or Apply Changing the CAD location relative to axis link for a machine axis Link CAD: defines the CAD to be used for the joint and the location of the CAD origin relative to the axis link. It is common that after the axis link has been setup that the CAD location and orientation may not be desirable. This procedure explains the steps to change the CAD location relative to the axis link. For general information about the relationship between machine axes see Working with machines. For more information on the relationship between Axis Link origin and CAD location for extended axis systems see Extended axes and integrated axes definitions and layout within FANUC Roboguide . For more information on the relationship between Axis Link origin and CAD location for positioner systems see Positioner definitions and layout within FANUC Roboguide. Changing the CAD location relative to axis link for a positioner axis 1. Open the property page for the joint axis desired 2. Select the Link CAD page. 3. Click on the CAD in the workcell being used for the axis. 4. Move the object to the desired offset. Working with Robot Controllers 158 5. Click OK or Apply Loading a previously defined machine A previously defined machine can be loaded into a workcell. There are multiple ways a .DEF file can be loaded: • After the workcell has been generated, and the virtual robot has been configured for additional groups and/or axes, a machine definition file can be loaded from the cell browser. • During workcell generation: o Auxiliary axis DEF files are seen in the robot list, and can be selected. o Positioner DEF files (multiple groups) are shown on the Add groups workcell wizard page. Loading a previously defined machine after a workcell has been created If the workcell has been defined, and the virtual robot has been configured for the machine axes, a saved machine definition can be loaded. 1. From the cell browser, right click on the Machines Category and select Add Machine / Positioner Library. Select the .DEF file you desire, and press Open. The selected machine will be loaded into the workcell. Loading a previously defined auxiliary axis machine from the workcell wizard The .DEF file must be saved in the image library directory structure of Roboguide in order for the DEF file to appear in the robot list. <Install Drive> Program Files\FANUC\PRO\SimPRO\Image Library\Positioners 1. Create a new workcell 2. Select the saved DEF file from the Select Robot list 3. Step to the end of the wizard and select Finish Loading a previously defined positioner (multi group) machine from the workcell wizard The .DEF file must be saved in the image library directory structure of Roboguide in order Working with Robot Controllers 159 for the DEF file to appear in the robot list. <Install Drive> Program Files\FANUC\PRO\SimPRO\Image Library\Positioners 1. Create a new workcell 2. Select the saved DEF file from the group list on the Add Group wizard step 3. Add the def file to the robot by pressing the Hand icon in the list 4. Step to the end of the wizard and select Finish Loading a previously defined end of arm machine after a workcell has been created If the workcell has been defined, and the virtual robot has been configured for the machine axes, a saved machine definition can be loaded. 1. From the cell browser, right click on the Robot / Tooling / Desired UTOOL and select Load Tooling. Select the .DEF file you desire, and press Open. The selected machine will be loaded into the workcell onto the end of arm. Calibrating an aux axis system An aux axis system is calibrated using the same procedures for calibration as all objects within Roboguide. See Using the Calibration Tab for more information on using the Calibration tab from within Roboguide. Working with Robot Controllers 160 7.7.2 Working with positioners Robot positioners are mechanical devices that are controlled by the robot controller. Positioners are used in several applications and are generally used to manipulate parts and tooling. Motion groups can be defined on the robot controller to control positioners. A motion group defines a set of motors and axes that are combined to accomplish a motion task. FANUC Robotics robots are an example of a motion group, typically Group 1. Additional motion groups are defined to control axes on a piece of equipment other than the robot. The maximum number of groups that can be supported by a controller is five. Up to four positioner devices can be added as motion groups to the system. Each additional motion group can have • Up to six motors • Up to three extended axes The robot and the positioners can be controlled using coordinated motion. When you use coordinated motion, the "coordination" that is performed is between two motion groups. Positioner definitions and layout within FANUC Roboguide Roboguide models positioners from the base of the positioner out to the last axis of the positioner. You can see this representation in the cell browser. A positioner represents 1 or more motion groups on the robot controller. Generally, a group is assigned to positioner axes that perform a task. Some examples: • A single axis rotating table would be a group with 1 joint. • A multi axis rotating table (spin and tilt) would be a group with 2 joints • An H style Ferris wheel (headstock/tailstock) could be represented as a group for the center of the H which rotates, and a separate single joint axis for rotation of each arm of the H. This is a 3 group positioner with the H arms dependent on the center of the H. When building positioners in Roboguide software the virtual robot has to be configured for motion groups and group axes, and the Roboguide environment has to be defined to link 3D CHUIWorld entities to the virtual robot groups and axes. Cell Browser representation of multiple groups and positioners The cell browser shows Robots under the Robot Controllers category. A robot can have multiple groups, which are listed under the specific robot. The group definitions are defined by what has been initialized during create a workcell wizard process. Working with Robot Controllers 161 Positioners are built from the groups defined for the robot. A group is a series of joints. A positioner is modeled in the cell browser as a machine controlled by the robot. A machine is a series of groups that are configured to represent a positioner’s configuration. The machine is the root of a positioner’s definition and represents the base of the positioner. Each dependent link is listed under the machine as a group and a joint. If a link is dependent on a different link it is listed under the link it is dependent on. These dependencies can be edited to define an overall positioner function. Examples: A 3 group positioner. The above picture of the cell browser shows a 3 group system. Group 1 (GP:1) is the robot, GP:2 and GP:3 are the additional groups. Each group shows the number of axes defined for the group by indicating J1:Jx in each groups expanded tree. These groups are used to define Machine 1 under Machines. GP: 2 and GP:3 each has a 1 joint axis. A 3 group Ferris wheel positioner that is shaped like an H. The center turns with each arm of the H able to turn. Group 1 is the robot. Under machines is the Versa3M3 which has a center turn group G:4 with a single joint J:1. Groups 2 and 3 are each dependent on Group 4, and each have 1 joint (J:1). Components of a positioner definition within Roboguide A machine/ positioner has a base with joints relative to the base and other joints. FANUC Roboguide defines each component with the following properties regarding joint positions and CAD. Machines: defines machines that are connected to the robot • <Machine>: represented at the root /base of a machine. o CAD Location: the location of the base in the workcell. This is the CAD origin relative to the 3D world zero. o CAD File: defines the CAD to be used for the base • Axis joints: the joint links relative to the base is modeled in a tree. A joint link is another group’s joint. Each joint is built relative to what it is dependent upon. If a group is dependent on a different group’s joint then it is added underneath the group’s joint that it is dependent upon. o 3D Axis Origin: this is the location of the joints link axis relative to the previous link CAD. The axis link is the link that moves when the joint is jogged. When defining the axis link Roboguide requires that the +Z axis be Working with Robot Controllers 162 along the axis of rotation (rotary) or translation (linear). o Link CAD: defines the CAD to be used for the joint and the location of the CAD origin relative to the axis link Process to configure virtual robot and PRO 3D world for positioners This topic provides a high level procedure to configure a Roboguide workcell that supports positioners. Several procedures are required to build a working positioner workcell. Steps in the process may reference other procedures. Process to configure virtual robot and 3D CHUIworld for positioners 1. Open a New Workcell 2. When you encounter the Robot Models for additional motion groups step in the wizard, you configure the groups for the positioner being built. There are different types of devices that can be chosen from the list and are differentiated by the icon that shows in front of each item. See Configuring a virtual robot for multigroup positioners for more detail. 3. After your selection of group and positioner type you can select desired controller options and initialize the virtual robot. . 4. If Basic Positioner or General Positioner was selected, the positioner groups have to be setup at controlled start. After the workcell is started, a 3D CHUIWorld with a robot that supports groups is shown. What is available depends on what was selected during the Workcell Creation Wizard. Xxx Positioner was selected: the xxx positioner selected should be in the workcell and configured into the system with the parameters that were previously saved. Basic Positioner was selected: no positioner exists in the workcell. The robot has the multi group option, the axes for each group have to be defined at robot controlled start before it can be built. 5. If you selected a defined positioner that had previously been defined it should be fully configured and only needs to be located in your workcell. The cell browser / Robot category shows the positioner as additional motion groups. You may change the positioner configuration through the cell browser and property pages. If you want to change the motor configuration you do this at robot controlled start. Working with Robot Controllers 163 6. If you chose Basic Positioner when defining additional motion groups the virtual robot is initialized with additional groups, but need to have axes added to each group to match the actual hardware configuration. This is done at robot controlled start. Follow the procedure Adding a positioner axes to the virtual robot for each additional axis required. 7. The positioner can now be built, located, and calibrated in the workcell. Build or modify a positioner A positioner is modeled as a series of joints in the cell browser. The machine / positioner is the root of a positioner’s definition and represents the base of the positioner. Each dependent link is listed under the group. If a link is dependent on a different link it is listed under the link it is dependent on. If a group is dependent on a different group it is listed under the group it is dependent on. These dependencies can be built and modified to define an overall positioner function. See Positioner definitions and layout within FANUC Roboguide for more background information. Procedure to build a positioner This process assumes the virtual robot has been configured for multigroup support, and the axes have been added for each group. When PRO is running, the virtual should have the extra groups and axes defined, but the graphics portion must be linked into the virtual robot. Roboguide detects if the virtual robot has been configured with multiple groups. Create a new machine / positioner, set the base location, and set the base CAD. 1. Select and Right click on the Machines category under the robot, and select from where the base CAD should be created. Generally this is from an IGES file. If file is chosen, select the file that will be used for the base CAD. The base should be loaded into Roboguide and seen on the screen. 2. Locate the base where desired Associate and locate axes for the positioner 3. Expand the cell browser tree under the desired machine. 4. In the cell browser right click on the element that will have an additional joint added. Select Add Link. You may add CAD from: o CAD Library – CAD elements available from Roboguide library o CAD File – Iges CAD information Working with Robot Controllers 164 o Box, Cylinder, Sphere – Basic shapes that can be used to model many simple machines 5. The link should show and is placed relative to the previous links CAD position. 6. Select the group and the joint that drives the axis by selecting the Group and Joint from the dropdown box shown on the general property page. 7. Locate the axis link relative to the previous axis link . An axis link can be defined to be a different group axis or and additional joint on a group. Often times locating the axis link of motion changes the location and orientation of the CAD that defines the link (Link CAD). This is because the CAD link is dependent on the 3D axis origin link. The next step is to move the CAD relative to this link axis of motion. 8. Modify the Link CAD for the axis and modify the location of the link CAD relative to the axis link. 9. On the General Page for the positioner axis set the Clockwise / Direction checkbox to reflect how the motor should move when the +X jog key is pressed. You generally know when to change this setting if when you jog the joint, the joint moves in the opposite direction of desired. Changing this will move the motor opposite of the current setting. 10. Repeat steps 4-8 until all axes are added. Joints are added relative to dependant joints. Groups can be added to depend on other groups. Configuring a virtual robot for multigroup positioners The additional motion groups step in the serialize wizard is where motion groups are defined for the virtual robots. The Additional Motion Groups wizard step shows two tables. Table 1: Available axis devices: lists available devices for additional motion groups. Additional devices include: • -Robot: robot CAD. This includes the information required to operate the robot. Robots listed in the table can be added as a second group in dual arm configurations. • Positioner with no definition: enables multi-group motion of the stated type. Includes no definition (.DT) file definitions for the group device. When a group is set to a positioner with no definitions the axes will have to be defined during the virtual robot serialization process. This process is the same as on an actual robot. This is the desired setting if a positioner is being defined for the first time. Working with Robot Controllers 165 • Positioner with definitions: enables group motion of the stated type. Includes definition files for the positioner. After a positioner is built the first time, it can be saved to a Positioner with definitions, and would show up in the list as a Positioner with definitions. Definitions include: Positioner joint CAD: this is the geometry that shows the joint in the 3D CHUIWorld. Positioner group relationships: the positioner is built from multiple groups. When the positioner is built it is defined as a machine in PRO. The definition file contains the machine definition and the relationships of the robot motion groups to build the machine. For example, a ferris wheel positioner has a central axis which spins to arms of an H where each arm of the H represents a group with a single joint axis. The definition file describes how the machine is built where the 2 arms of the positioner are dependent on the center of the positioner. Table 2: Group mapping: provides capability to map devices from table 1 to virtual robot groups. When a device is selected from table one and inserted into table 2 the configuration is shown in Table 2. The type of device selected in Table 1 effects how Table 2 is populated. • -Robot: robot CAD: Inserts a the robot selected onto the group selected • Positioner with no definition: Defines a positioner group with no default joint and positioner motor information. This is the basic starting selection when constructing a positioner from nothing. This selecting will result in having to answer the positioner setup questions during virtual robot serialization at controlled start. • Positioner with definitions: defines a positioner that has been previously configured. The hardware setup for the joints is included as well as the properties that were saved when the definition file was created. These two tables work to define the group information for the virtual robot. Group device types are selected in Table 1 and linked to virtual robot groups in Table 2. Procedure to configure a virtual robot for multigroup positioners 1. Select the available axis device desired from the first table. 2. Press the hand button next to the group you want to be associated with the selected axis device. When you select the hand button, PRO inserts the group information as appropriate. 3. Press Next to proceed Working with Robot Controllers 166 Multiple devices can be selected until the group information table is populated. Adding a positioner group to the virtual robot A group can be added to a virtual robot in the same way that you add a group to an actual robot. The group is added from controlled start. Procedure to add a group to a virtual robot State: PRO is running and the virtual robot multigroup motion option was selected when the robot was started from the serialize wizard. 1. Start the virtual robot in controlled start mode by selecting Robot / Restart Controller / Controlled Start from the main menu. The robot will restart in controlled start. 2. Press Menu button, and then select S/W Install 3. Down Arrow to the Robot Library item and press enter 4. Down arrow to Basic Positioner 5. Press F5, ADD GRP. 6. Press F1, INSTALL. 7. Answer the questions as it relates to your hardware setup. 8. Select the positioner you want to install from the list of robots. 9. When you have finished, press FCTN and then select START (Cold) so that the new settings can take effect. Adding a positioner axis to the virtual robot An axis can be added to a group on the virtual robot in the same way that you add an axis to a group on an actual robot. The axis is added to the group from controlled start. Procedure to add an axis to a group on the virtual robot State: PRO is running and the virtual robot multigroup motion option was selected when the robot was started from the serialize wizard. 1. Start the virtual robot in controlled start mode by selecting Robot / Restart Controller / Controlled Start from the main menu. Working with Robot Controllers 167 The robot will restart in controlled start. 2. Press Menu button, and then select Maintenance 3. Down Arrow to the desired group and press enter 4. Press Manual A menu is presented which allows you to work with the motion group. 5. Select the Add Axis item and press Enter An axis is added, and you must answer questions to configure the hardware. When the questions are answered the menu for the group will be presented. 6. Select Exit and press Enter. 7. Press FCTN and then select START (Cold) so that the new settings can take effect. After cold start the group should show the added axis in the cell browser. Changing a positioner configuration on the virtual robot A positioner and its axis information must be correctly defined on the virtual robot. The configuration is the same as the configuration on the actual robot. This includes item such as amp number, axis number, motor type, mosign direction, motion limits, etc. Using the controlled start menus on the robot controller can change the configuration. The controlled start menus operate the same on the virtual robot as on the actual robot. State: PRO is running and the virtual robot multigroup motion option was selected when the robot was started from the serialize wizard. 1. Start the virtual robot in controlled start mode by selecting Robot / Restart Controller / Controlled Start from the main menu. The robot will restart in controlled start. 2. Press Menu button, and then select Maintenance 3. Down Arrow to the desired group and press enter 4. Press Manual A menu is presented which allows you to work with the motion group. 5. Select the Display / Modify item and press Enter 6. Enter the Axis to Display / Modify Working with Robot Controllers 168 You can step through the items by following the menus. 7. After changing the desired item, finish stepping through the settings until you return to the top level menu. 8. Select Exit and press Enter. 9. Press Fctn -> Start (Cold) The robot will restart. Using the Coord Tab to define a coordinated pair The Coord tab is used primarily for setting up coordinated motion for positioners. When defining a coordinated motion pair, the positioner group and robot are taught 3 different locations. These locations are used to calculate the coordinated motion frame. The Coord tab provides a mechanism to quickly move the robot and positioner to 3 unique locations. The tab is used along with the coordinated motion setup screens on the virtual TP. This tab provides a simple mechanism to quickly move the devices. After each move, the unique coordinated pair setup positions can be recorded from the virtual TP. To define a Coordinated Pair using the Coord Tab This procedure assumes that the positioner has been built and that the groups and their joints can be jogged from the Teach Pendant. 1. Select the group axis for which a coordinated pair will be created. 2. Open the machine axis property page for the group 3. Select the Coord Tab. 4. Enable the Has Calibration Point checkbox. 5. Press the Select 3D Calibration Point button. This selects the calibration point with a position triad. 6. A calibration point must be defined. When the MoveTo button is pressed the positioner axis is moved to the position defined in Positioner Angle and the robot is moved to the calibration point. Locate the calibration point by either: o Direct entering numbers o Dragging the Calibration point Working with Robot Controllers 169 Note: makes sure that the Z, X, and Y settings fot he calibration point are such that the robot can move to the position. 7. Open the Coord Motion setup screen on the virtual teach pendant. Open the Virtual TP and select Menus / Setup/ Type (F1)/ Coord (may be under the second page). 8. On the Virtual Teach Pendant Coord motion setup screen enter the coordinated pair information. This includes Coord Pair Number, Leader Group Number (the positioner group), and the Follower Group (the robot). 9. On the Virtual Teach Pendant select the softkey C_TYP and select Unknown PT. 10. Ensure that the robot is the active motion group for jogging. 11. Three positions with unique positioner axis locations are taught to define the coordinated motion frame. The PRO interface Coord Tab is used to quickly move the robot and the positioner axes to three locations. The Virtual Teach Pendant Coord Setup screen is used to record the required 3 positions. 12. Enter a positioner Angle on the Coord Tab from within PRO and press MoveTo. The robot and positioner should move to the Angle entered with the robot TCP at the calibration point. Note: it is not uncommon to have position not reachable errors when trying to do the MoveTo. Ensure that the positioner rotation does not make the position unreachable, and that the Z, X, and Y settings of the calibration point are oriented such that the robot can reach the position. 13. Enable the Virtual TP and down arrow to Point 1 and Press Shift – Record. 14. Enter a new positioner Angle on the Coord Tab from within PRO and press MoveTo. The robot and positioner should move to the Angle entered with the robot TCP at the calibration point. It is best to use the largest angles between points that the robot can reach. 15. Enable the Virtual TP and down arrow to Point 2 and Press Shift – Record. 16. Enter a third positioner Angle on the Coord Tab from within PRO and press MoveTo. The robot and positioner should move to the Angle entered with the robot TCP at the calibration point. Working with Robot Controllers 170 17. Enable the Virtual TP and down arrow to Point 3 and Press Shift – Record. 18. Press Shift – and the EXEC softkey. The coordinated pair is now defined. The controller must be cold started for the pair to be initialized. 19. From the Main Menu select Robot / Restart Controller / Cold Start. When the controller is restarted the coordinated pair is defined. To validate that the coordinated pair is defined correctly jog the robot close to an edge on the positioner axis. Select the group to be jogged. Press Fctn – Toggle Coord Jog. When the group joint is jogged the robot should track with the moving joint. 7.7.2.1 Building a positioner example Building a positioner example The following example shows the process required to build a positioner. Required to build the positioner is CAD information for the positioner joints. The example creates a new workcell, configures a virtual robot with multiple groups, and builds the positioner from CAD elements in the Roboguide interface. The positioner built is a 3 group Genesis Versa 3M3 which includes an axis (Group) to rotate a ferris wheel that has an axis on each side of an H with each arm of the H being a single axis group. (headstock/ tailstock) The workcell can be found in <install drive> \Program Files\FANUC\PRO\WeldPRO\Sample Workcells\ positioner example Step 1: Create a new workcell Step 2: Build the positioner Building a positioner example Step 1 Create a new workcell A new workcell is created with the name Positioner_Example. Several steps are required and this step describes each procedurally. Step 1: Create a new workcell 1. Start a new workcell by selecting File / New from the main menu The workcell creation wizard is opened. 2. Select which PRO plugin you desire and press Next. This example uses WeldPRO. You should be able to use the same procedure in other PRO software. 3. Name the workcell and press Next. This example uses the workcell name Positioner_Example. Working with Robot Controllers 171 4. Select the desired robot from the list and press Next. This example uses the M6iB/ARCMate100iB robot. 5. If a list of software versions is presented, select the highest support virtual robot version. 6. Select the positioner type for each group used by the positioner. This example places a Basic positioner with no definitions for each of 3 groups. Select Basic Positioner and press the hand icon () next to group 2. Select Basic Positioner and press the hand icon () next to group 3. Select Basic Positioner and press the hand icon () next to group 4. A 3 group positioner system is now configured for the virtual robot. When the virtual robot is started the 3 group systems is defined and motor definitions will have to be made. This is common with serializing an actual robot. See Configuring a virtual robot for multigroup positioners for a more detailed description of this wizard step. Press Next when complete. 7. Select options to be loaded on the robot. When selecting additional groups in the earlier step, Roboguide automatically enabled the multi group option. This example also enables the Coordinated Motion option. Check the box next to the Coordinated Motion option in the list and press Next. 8. The final step of the wizard shows the configuration of the robot that will be serialized. Press Finish to start the creation of the virtual robot. After pressing finish the virtual robot is serialized. The process can be seen on the virtual TP screen. Roboguide should initialize with a 3D CHUIWorld. Defining the positioner axis hardware information. After serializing the virtual robot the configuration has 3 additional motion groups defined with each group having 0 axes. Axes must be added to these groups before the group can be used. 9. Start the virtual robot in controlled start mode by selecting Robot / Restart Controller / Controlled Start from the main menu. The robot will restart in controlled start. 10. Press Menu button, and then select Maintenance 11. Down Arrow to the desired group 12. Press Manual A menu is presented which allows you to work with the motion group. Working with Robot Controllers 172 If asked the hardware start axis, enter 7 for Axis 7. 13. If asked for the Kinematics Type Setting, select Unknown Kinematics. 14. A menu is then presented. Select the Add Positioner Axis item and press Enter 15. The Virtual TP screen shows question that must be answered to define the hardware selected. When the questions appear left click the mouse on the virtual TP window, and answer the questions as detailed below (the answers provided may not be correct for the hardware on an actual positioner. See the FANUC Robotics North America manuals for more information). 16. Group 2 Positioner Initialization o Enter hardware start axis (if not already answered): 7 o Kinematics Type Setting(if not already answered): Unknown Kinematics o Motor Size: Aca6 o Motor Type Setting: /2000 o Amplifier Current Limit Setting: 40A o Amplifier Number Setting: 2 o Amp type : Alpha o Axis Type: Rotary Axis o Direction Setting: +Y o Gear Ratio Setting: 161 o Maximum Speed Setting: No Change o Motion Sign Setting: True o Upper Limit Setting: 450 o Lower Limit Setting: -450 (Press the – key on the numeric keypad) Working with Robot Controllers o Master Position Setting: 0 o Accel Time 1 Setting: No Change o Accel Time 2 Setting: No Change o Exponential Filter Setting: False o Minimum Accel Time Setting: No Change o Load Ratio Setting: 2 o Brake Number Setting: 0’ o Servo Off Setting: False o Group 2 Total Positioner Axes = 1: Exit 17. Cursor down to Group 3 and press Manual 18. Group 3 Positioner Initialization o Enter hardware start axis: 8 o Kinematics Type Setting: Unknown Kinematics o Group 3 Total Positioner Axes = 0: Add Positioner Axis o Motor Size: ACa6 o Motor Type Setting: /2000 o Amplifier Current Limit Setting: 40A o Amplifier Number Setting: 3 o o Amp type : Alpha o Axis Type: Rotary Axis 173 Working with Robot Controllers o Direction Setting: +Y o Gear Ratio Setting: 161 o Maximum Speed Setting: No Change o Motion Sign Setting: True o Upper Limit Setting: 450 o Lower Limit Setting: -450 (Press the – key on the numeric keypad) o Master Position Setting: 0 o Accel Time 1 Setting: No Change o Accel Time 2 Setting: No Change o Exponential Filter Setting: False o Minimum Accel Time Setting: No Change o Load Ration Setting: 2 o Brake Number Setting: 0’ o Servo Off Setting: False o Group 3 Total Positioner Axes = 1: Exit 19. Cursor down to Group 4 and press Manual 20. Group 4 Positioner Initialization o Enter hardware start axis: 9 o Kinematics Type Setting: Unknown Kinematics o Group 4 Total Positioner Axes = 0: Add Positioner Axis o Motor Size: Aca6 174 Working with Robot Controllers o Motor Type Setting: /2000 o Amplifier Current Limit Setting: 40A o Amplifier Number Setting: 4 o Amp type : Alpha o Axis Type: Rotary Axis o Direction Setting: +X o Gear Ratio Setting: 161 o Maximum Speed Setting: No Change o Motion Sign Setting: True o Upper Limit Setting: 450 o Lower Limit Setting: -450 (Press the – key on the numeric keypad) o Master Position Setting: 0 o Accel Time 1 Setting: No Change o Accel Time 2 Setting: No Change o Exponential Filter Setting: False o Minimum Accel Time Setting: No Change o Load Ratio Setting: 2 o Brake Number Setting: 0’ o Servo Off Setting: False o Group 4 Total Positioner Axes = 1: Exit 21. Press Fctn / Start (Cold) 175 Working with Robot Controllers 176 The PRO package opens with a robot in a workcell with no other devices. Expand the Robot Controllers / Robot 1 tree in the cell browser. Under the Robot 1 tree are GP:1 through GP:4. Each group has a single joint axis. The axes exist, but a positioner needs to be defined that use the groups. Next Step Building a positioner example Step 2 Build the positioner Step 1 created a new workcell, and configured a virtual robot with 4 groups with groups 2-4 having a single joint axis. Step 2 uses these groups to build a PRO machine / positioner. A machine is defined that has a base that holds the positioner axes. Group 4 is defined as the center axis of the two arms of H/ ferris wheel positioner. Each arm of the positioner is defined as group 2 and 3 respectively. Since each arm of the H/ ferris wheel positioner moves when group 4 (center) moves the machine must have this relationship defined in the Roboguide. The following procedure defines this relationship within the workcell. Build the base of the positioner 1. Open the cell browser if it is not open 2. Expand the Robot Controllers/ Robot1 Category where GP:1 through GP:4 are shown. Each group has a single joint axis. The axes exist but a positioner needs to be defined that use the groups. 3. Right Click on the Machines Element and select Add Machine / CAD File menu selection. A dialog appears to select a CAD file. Browse <install drive> \Program Files\FANUC\PRO\WeldPRO\SampleWorkcells\ positioner example and select SimPro_V3M3_Base.csb, and press Open. The base CAD for the positioner should be loaded into the workcell. 4. Change the Name Property to Versa 3M3 and press apply. 5. Locate the Base CAD. Enter -300,0,0, 90, 0, 180 for the CAD Location, and press Apply. The Base should move to where the robot is located. 6. Select Lock All Location Values and press Apply to lock the base in the workcell. Locate the robot on the base of the positioner 7. Open the property page for the robot Working with Robot Controllers 177 8. Set the location value to 0, 0, 170, 0, 0, 0 and press Apply 9. Set the check box for Lock all Location Values and press Apply Build the center of rotation axis – Group 4, Joint 1. 10. Right Click on the Versa3M3 Machine root node under Machines and select Add Link -> CAD File. A dialog appears to select a CAD file. Browse to <install drive> \Program Files\FANUC\PRO\WeldPRO\SampleWorkcells\ positioner example and select SimPro_V3M3_major.csb, and press Open. The CAD for the major axis of the positioner should be loaded into the workcell. The origin of the Major axis CAD loaded is placed relative to the origin of the base (Versa3M3 node). 11. Change the Name Property to Versa3M3_Major and press apply. 12. The axis of rotation must now be defined. PRO defines the axis of rotation to be the +Z axis of the Axis origin for the Joint being defined. See Positioner definitions and layout within FANUC Roboguide for more description. Press Select 3D Axis. The 3D joint axis is highlighted. The +Z axis must now be aligned along the axis of rotation and placed at the correct location where the motor will rotate. Change the Axis Origin Values to –1763.598, 354.787, 0, -90, 0, 0 and press Apply. The center rotation of axis should now be located correctly (in front of the robot). The positioner axis origin of rotation information is now correct in the workcell. The CAD may be incorrect in the workcell, but this is adjusted in a later step. The key is that the Z axis of the 3D axis is aligned and located where the motor will rotate. 13. The CAD location must now be adjusted relative to the axis origin. Select the Link CAD tab for Versa3M3_Major. Change the CAD Location values to 0,0,0,90,0,0 and press Apply. The CAD should now be properly located. When jogged the CAD rotates about the axis defined in a previous step. A virtual robot group must now be assigned to the CAD. 14. In the group dropdown on the Motion Tab for the Versa3M3_Major node select GP:4 – Basic Positioner. In the Joint dropdown select Joint 1 (should already be selected by default). Press Apply The major axis should now move if Group 4 is jogged from the virtual TP. 15. Save the workcell. Build Group 2 side of the positioner axis – Group 2, Joint 1. 16. Since each side of the positioner moves when the center axis (Group 4) is jogged, Working with Robot Controllers 178 this dependency must be defined when building the positioner. This is done by adding a link relative to the G:4, J:1 – Versa3M3_Major node in the cell browser. Right Click on the G:4, J:1 – Versa3M3_Major node under Machines / Versa3M3 and select Add Link -> CAD File. A dialog appears to select a CAD file. Browse to <install drive> \Program Files\FANUC\PRO\WeldPRO\SampleWorkcells\ positioner example and select SimPro_V3M3_minor.IGS, and press Open. The CAD for the minor axis of the positioner should be loaded into the workcell. The origin of the minor axis CAD loaded is placed relative to the link CAD of the Versa3M3_Major axis link (G:4, J:1 - Versa3M3_Major node). 17. Change the Name Property to Versa3M3_Minor_Side_A and press Apply. 18. The axis of rotation must now be defined. PRO defines the axis of rotation to be the +Z axis of the Axis origin for the Joint being defined. See Positioner definitions and layout within FANUC Roboguide for more description. Press Select 3D Axis. The 3D joint axis is highlighted. The +Z axis must now be aligned along the axis of rotation and placed at the correct location where the motor will rotate. Change the Axis Origin Values to 512.775, 445.211, 718.033, 0, 180, 0 and press Apply. The center rotation of axis should now be located correctly (at the correct arm of the center major axis). . The CAD is correct in this example so it does not have to be adjusted. A virtual robot group must now be assigned to the CAD. 19. Select the Motion Tab. 20. Select the Servo Radio button (set by default). 21. In the group dropdown on the Motion Tab for the Versa3M3_Minor_Side_A node select GP:2 – Basic Positioner. In the Joint dropdown select Joint 1. Press Apply The minor axis should now move if Group 2 is jogged from the virtual TP. Build Group 3 side of the positioner axis – Group 3, Joint 1. 22. Since each side of the positioner moves when the center axis (Group 4) is jogged, this dependency must be defined when building the positioner. This is done by adding a link relative to the G:4, J:1 – Versa3M3_Major node in the cell browser. Like the previous steps, right Click on the G:4, J:1 – Versa3M3_Major node under Machines / Versa3M3 and select Add Link -> CAD File. A dialog appears to select a CAD file. Browse to <install drive> \Program Files\FANUC\PRO\WeldPRO\Sample Workcells\ positioner example and select SimPro_V3M3_minor.csb, and press Open. The CAD for the minor axis of the positioner should be loaded into the workcell. The origin of the minor axis CAD loaded is placed relative to the link CAD of the Working with Robot Controllers 179 Versa3M3_Major axis link (G:4, J:1 - Versa3M3_Major node). 23. Change the Name Property to Versa3M3_Minor_Side_B and press Apply. 24. The axis of rotation must now be defined. PRO defines the axis of rotation to be the +Z axis of the Axis origin for the Joint being defined. See Positioner definitions and layout within FANUC Roboguide for more description. On the General tab Press Select 3D Axis. The 3D joint axis is highlighted. The +Z axis must now be aligned along the axis of rotation. Change the Axis Origin Values to -512.775, 445.211, 718.033, 0, 180, 0 and press Apply. The center rotation of axis should now be located correctly (at the correct arm of the center major axis). . The CAD is correct in this example so it does not have to be adjusted. A virtual robot group must now be assigned to the CAD. 25. Select the Motion Tab. 26. Select the Servo Radio button (set by default). 27. In the group dropdown on the Motion Tab for the Versa3M3_Minor_Side_B node select GP:3 – Basic Positioner. In the Joint dropdown select Joint 1. Press Apply The minor axis should now move if Group 3 is jogged from the virtual TP. Add group 2 fixture to hold parts: a static box will be added to group 2 to fixture parts 28. Right mouse click on the G:2,J:1 – Versa3M3_Minor_Side_A node of the machine and select Add Link. Select Box. A box is attached to the G:2 Link and the property page for the new link should be open. 29. Name the link. On the General tab, rename the link to Side_A fixture and press Apply. 30. Disable any motion axes for the link. On the Motion property page for the new link select "none" in the Group dropdown list box. Click Apply. 31. Select the Link Cad Tab 32. Change the scale / size values to 300, 50, 1500 and press Apply. The box size should change. 33. Change the CAD Location values to 0,0, 1500, 0, 0, 0. The box should be centered in the positioner. Working with Robot Controllers 180 Now when group 2 is jogged the box / fixture should move with the group. Add group 3 fixture to hold parts: a static box will be added to group 2 to fixture parts 34. Right mouse click on the Side_A fixture you just created and select Copy Side_A fixture The link is copied into the clipboard. 35. Right mouse click on the G:3, J:1 – Versa3M3_Minor_Side_B ode of the machine and select Paste Side_A fixture. A new Side_A fixture1 should be created 36. Rename the Side_A fixture 1 to Side_B fixture and press apply Now when group 3 is jogged the box / fixture should move with the group. After building a positioner, the positioner information may be saved for future use. When saved for future use, the positioner can be loaded during the Workcell Creation Wizard process.. Parts can be attached to any of the positioner fixture links using the Parts tab on each respective link. 7.7.3 Working with IO driven machines Working with IO driven machines It is common to have devices in a workcell that are moved to a state based upon a state of robot or other device IO. Robots on IO driven slides, clamps, gates are only a few examples. Machine links can be defined to be driven by robot servo motors defined on the virtual robot or by IO. An IO driven device is created using the same procedures as building a machine the only difference is that the motion type is set to IO on the Motion tab for the machine link. For more information: • Regarding building machines: Working with machines • Regarding the details of assigning IO to a machine link: Use the machine axis Motion tab Working with Robot Controllers 181 Configure a machine link to be driven by robot IO To define a link to be driven by the state of robot IO: 1. Build a machine When defining the motion type for a machine on the Machine Link Motion Tab, select IO as the type. 2. Define the outputs and state of the link in the outputs grid. 3. If desired, define the inputs based upon the state of the link in the inputs grid. 7.8 Working with Jobs Working with robot controller jobs Processing a part may require several different robot TP programs to obtain desired results. Roboguide has a Jobs category under a robot controller where jobs can be created, edited and auto-generated. Several robot Application Tool packages support programs with the type Job. Roboguide plug-ins support jobs as intended by the robot application Tool. • HandlingPRO: HandlingTool does not have a Job program type. Roboguide uses Jobs as a tool for the robot programmer to auto generate a TP program that calls several other TP programs. Higher level programs can be generated by using a Roboguide Job. • WeldPRO: ArcTool does not have a Job program type. WeldPRO uses Jobs as a tool for the robot programmer to auto generate a TP program that calls several other TP programs. The Job capability could be very useful to create an overall process program that calls several TP programs that were generated using automatic path generation CAD to path programs. • PaintPRO: PaintTool supports the concept of Jobs and Processes. PaintPRO fully supports Job types available in PaintTool. For more information regarding PaintPRO jobs see About PaintPRO Jobs. Working with Robot Controllers 182 Using the Roboguide Job property page The Job property page enables you to quickly create a TP program that CALLs other TP programs. This may be very desirable when you have several separate TP programs that need to be called in a defined order. The Job property page has Tabs that enable the configuration and build of a Job. Tabs include: General Tab: Has fields that define how the .TP program should be generated. Fields include: • Name: o Name: Defines the name of the Job in the Roboguide o TP Program Name: defines the name of the output TP program. • Generation Parameters: o Group Mask: defines what robot group mask property to give the output .TP program. Note: if the option to generate a Job program that combines all TP lines into a single Job program is selected, the group mask for all processes being combined must be the same as the group mask chosen. o Call the process TPs from the job TP radio button: if enabled, selected process TPs are combined by creating a the Job.TP program that has Calls to selected processes on the Processes tab. Generate all assigned CAD-To-Path features first: If enabled, Job TP program and any feature (CAD to PATH) processes defined on the Processes Tab are generated. If not enabled, only the Job TP program is generated, which calls the programs as defined on the Processes Tab. o Insert all process TP lines into the job: if enabled, selected process TPs on the processes tab are combined into the generated Job.TP program. The resulting program combines all process TP lines into the Job.TP program. Include process comment lines: when checked, comment lines are also include in the resulting TP program. Working with Robot Controllers 183 • Generate: when pressed, programs are generated as defined on the property page tabs. Processes Tab: • Process Selection Frame: items in the box on the left can be snapped to the box on the right. The contents of the box on the right defines what programs should be called when the job is generated. o Available items: define the CAD features and robot controller programs available to be generated into a job Show Part feature, Show TP, and Show MR are switches to define what is viewed in the Available Items box. o Items in Job box: defines the processes and TP programs that will be auto generated into the Job program when Generate is selected. o Action keys: allow for items to be added and deleted from the Items in Job box. - when pressed, moves the selected item on the left into the box on the right. - when pressed, moves all the items on the left into the box on the right. - when pressed, removes the selected item on the right. - when pressed, removes all the items in the box on the right. After processes have been added to the job, switch to the General tab to generate. Working with Robot Controllers 184 Adding a Job To add a new Job 1. Right mouse click on the Jobs Category in the Cell Browser 2. Select Add Job A new Job is created, and the Job property page should show. 7.8.1 Working with PaintPRO Jobs About PaintPRO Jobs PaintPRO supports the generation of Job program types that are supported on PaintTool. The PaintPRO Job Property page has fields that provide automatic generation of PaintTool jobs, and have settings to generate the TP programs that are called by a job. Job programs call / execute process TP programs in order to perform the paint process. Job programs generally CALL process TP programs that combine to perform the processing task required. For more information regarding jobs and paint zones see Background information on PaintPRO workcells Jobs are used uniquely on different types of Paint Booths. There are specific structures and guidelines that must be utilized so that PaintTool can properly playback workcell programs. PaintPRO supports P-500 booths and basic PaintTool configurations. The Job editor is uniquely customized for the different configurations. • P-500 jobs: • Basic PaintTool jobs: for PaintTool / PaintPRO workcells that utilize non P-500 configurations the job editor creates a paint job program type. About P500 jobs P-500 robot controllers generally have dual arm configurations. Group 1 defines the left hand robot, and group 2 defines the right hand robot. PaintTool conventions are followed when creating Job programs. Conventions include: • To execute a style on a robot controller, the PLC initiates the robot Job. In general, PaintTool accepts the initiated Style number and option bits, runs the left hand job, and looks in the header information of the left hand job to find out what right hand job to execute. Working with Robot Controllers 185 PaintPRO automatically sets up the header information for the left hand job to follow this procedure. • PaintTool uses the multitasking capability of the robot controller. When the right hand (group 2) Job program is executed it runs simultaneously with the left hand Job program. Generating Job Programs The techniques utilized to generate job programs vary depending upon how you choose to create programs to process a part. The PaintPRO job property page is flexible and can be used to generate desired job programs from different configuration of processes. It is common to utilize the Job property page multiple times with different settings to obtain desired Job and Process program outputs. General techniques include: Generate opposite arm jobs and processes from selected arm: • Define paint zones on a single side (right or left) and duplicate (mirror image) the programs to the opposite side. This is very common since it is often desired to have the right and left robots execute the same trajectory relative to the part on opposite sides. The PaintPRO Job property page has functions to "mirror" image a paint zone to the robot on the opposite side using group mask exchange. The Job property page is configured to generate Job TP’s from one arm’s assignments, and then to generate the opposite arm’s assignment based upon the initial arms Job. The general process has the following steps. 1. Define the processes for the desired arm on the respective Left or Right processes tab,. 2. Define, on the Job general tab, the appropriate setting for the desired right or left side that the Job is generated from. The setting is to Generate the Job program from defined processes from the one side defined in step 1 3. Change settings for the opposite side job to use the group mask exchange option to generate a job from the job just generated. This essentially mirrors the initial Job by using Group Mask Exchange capability of the robot controller. A job is created automatically based upon the step 1 defined job. The following figure shows an example of where processes are defined on the left side of the part. The Job is defined for the left side of the part. The job’s Left Processes Tab is used to build a Job from assigned paint zones. The job’s General property page tab defines: • That the LEFT Job TP to be created using the left paint zone job assignments. Working with Robot Controllers 186 • That the RIGHT Job TP be generated using Group Mask exchange from LEFT processes to RIGHT then to Generate the Job TP After generation, the right hand Job and TP programs are created as a mirror image of the left side using group mask exchange. The result is an entire job that run mirrored programs on each side of the part. Generate Jobs and processes from defined zones for each arm: • Define paint zones uniquely for both right and left sides. Projection templates and their associated process programs can be created where desired on a part. The PaintPRO Job property page has functions to have Job and Process programs be generated uniquely from defined paint zones. Processes are defined on the left and right processes tabs and then generated. The general process has the following steps: 1. Define the LEFT processes for the Job program from defined processes from the LEFT side on the Left Processes Tab. 2. Define the RIGHT processes for the Job program from defined processes from the RIGHT side on the Right Processes Tab. 3. Define, on the Job general tab, to generate the Job TP from LEFT Assignments, and to generate JOB TP from RIGHT Assignments. The following figure shows and example of where processes are defined on the left side of the part. The Job is defined for the left side of the part on the Left Processes Tab. A single paint zone is defined on the right side of the part. The Job is defined for the right side of the part on the Right Processes Tab. The job’s General property page tab defines: • That the LEFT Job TP to be created using the left paint zone job assignments. • That the RIGHT Job TP to be created using the Right paint zone job assignments After generation programs are created for both sides based upon the assignments on the Left and Right processes tabs. Programs for the left side can be shown. The program for the right side can be shown. The result is a left and right job that each call unique paint zone processes (Shown in Working with Robot Controllers 187 figure). The Job editor provides the capability to create Jobs uniquely for each arm, or to create Jobs for on arm from the opposite arms process definitions. Using the PaintPRO Job Property Page The Job editor provides fields to create PaintTool jobs from processes. Fields on the Job editor depend on the configuration of the PaintPRO workcell. It is recommended that you understand PaintTool jobs and how PaintPRO supports PaintTool jobs before using the Job Property pages. For information regarding PaintTool jobs see the PaintTool operations documentation. For detailed information regarding PaintPRO jobs see About PaintPRO Jobs. The Job property page has multiple tabs: not all tabs are always available as the configuration of the workcell effects desired definition for Jobs. P-500 workcells have left and right process tabs as each robot controller has a right and left arm associated. Non P500 configurations, where each controller has a single arm, will have a single process tab on the Job property page. The General tab is used to define what to generate. The Process tabs define what programs / processes to execute during the job. Job definition is done using the processes tabs, and the general tab is used to generate based upon the definitions on the processes tabs. How the property pages are used is driven by how you have defined paint zones. The following items describe different use methods. Links to procedures to use these methods are provided. P500 Jobs: Methods to use the Job property pages: the following cases are common. • CASE 1: Dual arm / right and left arm configuration and paint zones have been uniquely defined on each side of the part. Step 1: Assign processes on the Left and Right Processes tabs. Step 2: Generate Jobs from their assigned zones on the General tab: this procedure is used with dual arm applications when paint zones have been defined uniquely for both left and right processes. See Create unique jobs and processes for each arm for procedures. • CASE 2: Dual arm / right and left arm configuration and paint zones have been uniquely defined on the left arm side of the part. You want to create mirrored paint zones of the left arm to the right side because the robot should run the same program Working with Robot Controllers 188 motions as the left on the opposite side of the part. Step 1: Assign processes on the Left Processes tabs. Step 2: On the General tab, select Generate Job TP from LEFT Assignments for the LEFT Job TP. Step 3: On the General tab, select Group Mask Exchange LEFT process to RIGHT, then Generate Job TP for the RIGHT Job TP If the Generate all assigned paint zone TPs before the job TP is enabled, robot process TP programs are also generated. See Create opposite arm jobs and processes from a defined job for procedures. • CASE 3: Dual arm / right and left arm configuration and paint zones have been uniquely defined on the right arm side of the part. You want to create mirrored paint zones of the right arm to the left side because the robot should run the same program motions as the right on the opposite side of the part. Step 1: Assign processes on the Right Processes tabs. Step 2: On the General tab, select Generate Job TP from Right Assignments for the RIGHT Job TP. Step 3: On the General tab, select Group Mask Exchange RIGHT process to LEFT, then Generate Job TP for the LEFT Job TP. If the Generate all assigned paint zone TPs before the job TP is enabled, robot process TP programs are also generated. See Create opposite arm jobs and processes from a defined job for procedures. Non P-500 workcells: Utilize the basic job editor. Tabs on the Job property page include: • General Tab: provides fields to define Job names, and job generation parameters. • Left Processes Tab: provides fields to build a job for left processes. Working with Robot Controllers 189 • Right Processes Tab: provides fields to build a job for left processes. Using the PaintPRO Job Property Page General Tab The Job general property page tab provides fields to define Job names, and job generation parameters. It is recommended that you understand PaintTool jobs and how PaintPRO supports PaintTool jobs before using the Job Property pages. For detailed information regarding PaintPRO jobs see About PaintPRO Jobs. The General tab is used to define what to generate. The Process tabs define what programs / processes to execute during the job. Job definition is done using the processes tabs, and the general tab is used to generate based upon the definitions on the processes tabs. The general property page tab is used in multiple ways to create Job programs. The method that you use settings on the General tab depends on how you have defined paint zones on the part CAD data. First the fields are described, and then different methods to use the general property page tab are described in Using the PaintPRO Job Property Page. For more information see PaintPRO Jobs. Field descriptions: P-500 Workcell Job editor • Job Settings Frame: fields to define properties that effect the naming and selection of desired job and style. o Name: The name for the Job program that is displayed in the Cell Browser. o Paint Preset: if not zero, a standalone preset instruction with the number entered used as a parameter is added to the Job program. o Style combo box: the desired PaintPRO style to be used. The available styles are listed in the dropdown combo box. The selected style defines what process can be chosen to build the job. o New Option Button: generates a new Job with the option fields of the Job TP Names modified. Note: PaintPRO creates new Job TP Names using PaintTool conventions. If your controls system requires a different naming convention, you must modify the names appropriately. o New Repair Button: generates a new Job with the repair fields of the Job TP Names modified. Note: PaintPRO creates new Job TP Names using PaintTool conventions. If your controls system requires a different naming Working with Robot Controllers 190 convention, you must modify the names appropriately. • LEFT Job TP frame: o Left TP Name: defines the name of the Job TP to create. Note: PaintPRO creates new Job TP Names using PaintTool conventions. If your controls system requires a different naming convention, you must modify the names appropriately. o Auto Name enabled: when checked PaintPRO creates the name automatically. When unchecked you may enter a desired Job name. o Generate Job TP from LEFT Assignments selection: when chosen, and the job is generated, PaintPRO auto generates the Job TP program as defined on the Left Processes tab. o Group Mask Exchange RIGHT process to LEFT, then Generate Job TP: is used if you want to generate the left Job from the right arm process definitions. This is used when the left Job execution is the same or similar to the right arm Job execution. When generate is pressed a Left Job is generated using the right arms Job definition as a template. The new Job process definition can be seen on the Left Processes tab If the Generate all assigned paint zone TP’s before the job TP option is enabled, PaintPRO generates process TP programs from the right arm program by modifying the generated TP program to use the left arm configuration and left arm tracking schedules. After the TP programs are generated the Job program is generated. NOTE: if generate all assigned paint zone TPs before the job TP is not enabled, there may not be any process TP available to create the left process TP. PaintPRO generates a error, and selections can be made how to proceed. o Don’t Generate Job TP: when enabled, and the program is generated, no action is taken to generate a LEFT Job TP. • RIGHT Job TP frame: o RIGHT TP Name: defines the name of the Job TP to create. Note: PaintPRO creates new Job TP Names using PaintTool conventions. If your controls system requires a different naming convention, you must modify the names appropriately. Working with Robot Controllers 191 o Auto Name enabled: when checked PaintPRO creates the name automatically. When unchecked you may enter a desired Job name. o Generate Job TP from RIGHT Assignments selection: when chosen, and the job is generated, PaintPRO auto generates the Job TP program as defined on the Right Processes tab. o Group Mask Exchange LEFT process to RIGHT, then Generate Job TP: is used if you want to generate the right Job from the left arm process definitions. This is used when the right Job execution is the same or similar to the left arm Job execution. When generate is pressed a Right Job is generated using the left arms Job definition as a template. The new Job process definition can be seen on the Right Processes tab If the Generate all assigned paint zone TP’s before the job TP option is enabled, PaintPRO generates process TP programs from the left arm program by modifying the generated TP program to use the right arm configuration and right arm tracking schedules. After the TP programs are generated the Job program is generated. NOTE: if generate all assigned paint zone TPs before the job TP is not enabled, there may not be any process TP available to create the right process TP. PaintPRO generates a error, and selections can be made how to proceed. o Don’t Generate Job TP: when enabled, and the program is generated, no action is taken to generate a RIGHT Job TP. • Generate all assigned paint zone TPs before the job TP: if enabled, PaintPRO generates all process TP’s before generating the Job TP program. • Generate: when pressed, Job programs are generated based upon the settings on the property page. NOTE: if generate all assigned paint zone TPs before the job TP is not enabled process programs may not be available on the robot controller unless they were generated at some other time. Different methods to use these settings with P-500 configurations is discussed in Using the PaintPRO Job Property Page Procedures to use the property page tabs include: Working with Robot Controllers 192 o Build a job program for the right or left robot o Procedure to create opposite arm jobs and processes from a defined job o Create unique jobs and processes for each arm Non P-500 Workcell Job editor: The job editor for non P-500 workcells has less fields. • Job Settings Frame: fields to define properties that effect the naming and selection of desired job and style. o Name: The name for the Job program that is displayed in the Cell Browser. o Style combo box: the desired PaintPRO style to be used. The available styles are listed in the dropdown combo box. The selected style defines what process can be chosen to build the job. o New Option Button: generates a new Job with the option fields of the Job TP Names modified. Note: PaintPRO creates new Job TP Names using PaintTool conventions. If your controls system requires a different naming convention, you must modify the names appropriately. o New Repair Button: generates a new Job with the repair fields of the Job TP Names modified. Note: PaintPRO creates new Job TP Names using PaintTool conventions. If your controls system requires a different naming convention, you must modify the names appropriately. • Job TP frame: o TP Name: defines the name of the Job TP to create. Note: PaintPRO creates new Job TP Names using PaintTool conventions. If your controls system requires a different naming convention, you must modify the names appropriately. o Auto Name enabled: when checked PaintPRO creates the name automatically. When unchecked you may enter a desired Job name. • Generate all assigned paint zone TPs before the job TP: if enabled, PaintPRO generates all process TP’s before generating the Job TP program. • Generate: when pressed, Job programs are generated based upon the settings on Working with Robot Controllers 193 the property page. NOTE: if generate all assigned paint zone TPs before the job TP is not enabled process programs may not be available on the robot controller unless they were generated at some other time. Using the PaintPRO Job Property Page Processes Tabs The Job property page has tabs for Left and Right processes with P-500 workcells, and a single processes tab for other single arm controller PaintTool configurations. These tabs provide the ability to build a job definition from: • paint zones defined for the style • Robot programs on the robot controller: the PaintTool has process TPs, regular TPs, and macros. With P-500 workcells, each process tab defines the processes that should execute on the corresponding robot. After populating the fields on the tab, the job program can be autogenerated on the Job general property page. For a procedure on how to use the processes tab to build a job see Build a job program for the right or left robot Fields on the processes tabs include: • Processes Frame: o Available Processes Listbox: provides a list of processes available for the style selected on the Job general property tab. Additional robot programs available on the robot controller are shown based upon the program type selection below the Available processes selection listbox. o Assigned Processes Listbox: displays the list of processes assigned to the job. o Program display type selection: when each individual program type is checked, programs of that type shows in the available processes listbox. Types include: Show Paint Zones: zones created for that style Show PR: process type TP programs on the robot controller. Show TP: TP program type on the robot controller Working with Robot Controllers 194 Show MR: Macro program type on the robot controller. o Arrow move controls: are used to move processes between Available and Assigned processes list boxes. Controls work as follows: : moves the selected process on the left to the right : moves all processes on the left to the right : moves the selected process on the right from the right list box : removes all processes on the right from the listbox. NOTE: items in the list boxes can be selected using standard Windows selection techniques: • Single left click: selects the item • Ctrl-Single left click: keeps current selected items and adds the clicked item • Shift-Single left click: selects all the items between a highlighted item and the left clicked on item. After defining processes, the job program can be generated on the General property page. Specific P-500 procedures to use the property page tabs include: • Build a job program for the right or left robot • Procedure to create opposite arm jobs and processes from a defined job • Create unique jobs and processes for each arm Working with Robot Controllers 195 Build a job program for the right or left robot The following procedure describes how to use the Left and Right Processes Tabs of the Job Property page for P-500 workcells, and the Processes Tab for single arm PaintTool configurations. This procedure assumes a job has been created and defines how to use the Processes Tabs. To Build a job program for the right or left robot 1. Select the Job in the cell browser 2. Open the Job property page 3. Select the desired Processes tab 4. Select the robot program types that should show in the Available Processes listbox 5. Use the arrow buttons to move desired processes into the Assigned Processes listbox. 6. When finished press OK or Apply The Job program is not generated until settings are defined on the General Tab and Generate is pressed on the General Tab. V6.31 Rev H. and higher of PaintPRO adds the ability to Cross-Controller Job exchange. See Build a job program from a controller to a different controller arm Using the Cross Controller Job Exchange Property Page V6.31 Rev H. and higher of PaintPRO adds the ability to Cross-Controller Job exchange. This utility is used to create an opposite arm Job program on a different controller in the booth. For example, Robot controller 1: Left arm Job 1 executes Process1 and Process2. For processing reasons, the opposite side of the style (Right arm) Process1 and Process 2 need to be executed by Robot controller 2. Fields include: Source Controller: • Source controller selection box: defines the source controller that Job programs are generated from. Working with Robot Controllers 196 • Left to Right, Right to Left selector radio buttons: defines the source arm for the selected controller. • Source Job TP List box: When selected the Source Job TP list box shows available source Job TP programs for the selected source arm. Destination controller • Destination controller selection box: defines the destination controller that Job programs are generated To • Home macro name: This name is used to generate the call to home macro on the destination controller. • Do Exchange execute button: Executes the job exchange. When a cross controller process is created the correct tracking boundaries are used when building the process program. Build a job program from a controller to a different controller opposite arm V6.31 Rev H. and higher of PaintPRO adds the ability to Cross-Controller Job exchange. This utility is used to create an opposite arm Job program on a different controller in the booth. For example, Robot controller 1: Left arm Job 1 executes Process1 and Process2. For processing reasons, the opposite side of the style (Right arm) Process1 and Process 2 need to be executed by Robot controller 2. When a cross controller process is created the correct tracking boundaries are used when building the process program. Procedure to build a job program from a controller to a different controller opposite side arm using the cross controller Job exchange property page: 1. Open the Cross controller job exchange dialog from the Tools menu 2. Select the source controller 3. Select Left to Right or Right to Left. When a selection is made a list is presented that allows selection of the desired source Working with Robot Controllers 197 Job programs. 4. Select the destination controller. 5. Define the home macro name. This name is used to generate the call to home macro on the destination controller. 6. Press Do Exchange to build the opposite arm job program. Procedure to build a job program from a controller to a different controller opposite side arm using the cell browser: 1. Right mouse click on the desired process 2. Move the mouse over the Group Mask exchange menu item 3. Select the desired To: robot arm from the fly out menu item Create Jobs for both arms when all paint zones are defined on a single side of the part This procedure is used to handle the following cases: • CASE 1: Dual arm / right and left arm configuration and paint zones have been uniquely defined on the left arm side of the part. You want to create mirrored paint zones of the left arm to the right side because the robot should run the same program motions as the left on the opposite side of the part. Step 1: Assign processes on the Left Processes tabs. Step 2: On the General tab, select Generate Job TP from LEFT Assignments for the LEFT Job TP. Step 3: On the General tab, select Group Mask Exchange LEFT process to RIGHT, then Generate Job TP for the RIGHT Job TP If the Generate all assigned paint zone TPs before the job TP is enabled, robot process TP programs are also generated. • CASE 2: Dual arm / right and left arm configuration and paint zones have been uniquely defined on the right arm side of the part. You want to create mirrored paint Working with Robot Controllers 198 zones of the right arm to the left side because the robot should run the same program motions as the right on the opposite side of the part. Step 1: Assign processes on the Right Processes tabs. Step 2: On the General tab, select Generate Job TP from Right Assignments for the RIGHT Job TP. Step 3: On the General tab, select Group Mask Exchange RIGHT process to LEFT, then Generate Job TP for the LEFT Job TP. If the Generate all assigned paint zone TPs before the job TP is enabled, robot process TP programs are also generated. CASE 1: To create a job when all paint zones have been defined on the left side of the part 1. Create a style with paint zones as desired. Paint Zones should be defined on only the left side of the part 2. Select the job in the cell browser. If a job does not exist Add a job. 3. Open the Job property page 4. Select the Left Processes Tab 5. Build the job using processes for the style 6. Press Apply when finished 7. Select the General Tab 8. In the LEFT Job TP frame, select Generate Job TP from LEFT assignments. 9. In the RIGHT Job TP frame, select Group Mask Exchange LEFT procs to RIGHT, then Generate Job TP 10. Enable (check) Generate all assigned paint zone TPs before the job TP 11. Press the Generate button. PaintPRO then: o generates the process TPs for the left side assigned processes because Working with Robot Controllers 199 Generate all assigned paint zone TPs before the job TP is enabled. o generates the process TPs for the right side processes by using group mask exchange o generates the Job program for the Left side. o Generates the Job program for the Right side based upon the left side. CASE 1: To create a job when all paint zones have been defined on the right side of the part 1. Create a style with paint zones as desired. Paint Zones should be defined on only the right side of the part 2. Select the job in the cell browser. If a job does not exist Add a job. 3. Open the Job property page 4. Select the Right Processes Tab 5. Build the job using processes for the style 6. Press Apply when finished 7. Select the General Tab 8. In the RIGHT Job TP frame, select Generate Job TP from RIGHT assignments. 9. In the LEFT Job TP frame, select Group Mask Exchange RIGHT procs to LEFT, then Generate Job TP 10. Enable (check) Generate all assigned paint zone TPs before the job TP 11. Press the Generate button. PaintPRO then: o generates the process TPs for the right side assigned processes because Generate all assigned paint zone TPs before the job TP is enabled. o generates the process TPs for the left side processes by using group Working with Robot Controllers 200 mask exchange o generates the Job program for the right side. o Generates the Job program for the left side based upon the right side. Create unique jobs and processes for each arm This procedure is used to handle the following case: CASE 1: Dual arm / right and left arm configuration and paint zones have been uniquely defined on each side of the part. Steps: Step 1: Assign processes on the Left and Right Processes tabs. Step 2: Generate Jobs from their assigned zones on the General tab: this procedure is used with dual arm applications when paint zones have been defined uniquely for both left and right processes. To create unique jobs and processes for each arm 1. Create a style with paint zones as desired. Paint Zones should be uniquely defined on both sides of the part. 2. Select the Job in the cell browser. If a Job does not exist Add a job 3. Open the Job property page!JumpID(`SimPRO_Creating_Workcells.hlp',`Opening_an_objects_property_page') 4. Select the Left Processes tab 5. Build a left robot job 6. Press Apply when finished 7. Select the Right Processes tab 8. Build a right robot job 9. Press Apply when finished 10. Select the General tab 11. In the LEFT Job TP frame, select Generate Job TP from LEFT assignments. Working with Robot Controllers 201 12. In the RIGHT Job TP frame, select Generate Job TP from RIGHT assignments. 13. Select Generate Jobs from their assigned zones 14. Press the Generate button NOTE: if generate all assigned paint zone TPs before the job TP is not enabled, process programs may not be available on the robot controller unless they were generated at some other time. 7.9 Working with the robot virtual Teach Pendant (TP) About the virtual robot TP The virtual Teach Pendant (TP) provides the same Teach Pendant User Interface as an actual robot. The virtual TP operates like the actual TP operates on a real robot. For additional information on how to use the Virtual TP interface, reference the Setup and Operations Manuals for your robot. The virtual TP window has 3 tabs available. • TP Keypad: is the TP interface to the virtual robot. The TP Keypad operates like the TP on a real robot. • Current Position: provides the ability to move to a position and to adjust the size of the sphere used for the teach tool. • Virtual Settings: provides the ability to define your default PC directories for the virtual robots MC: and FLPY: devices. Roboguide supports both the traditional teach pendant and the iPendant. The selection of what kind of teach pendant will be displayed depends on the setting of the pendant type option on the main menu Tools / Options property page. Regardless of what type of teach pendant interface chosen there are buttons available to control the use of the virtual TP. • : When pressed the TP keypad is hidden. • : When pressed the PC keyboard keys are mapped onto the teach pendant keys. The mapping can be determined by dragging the mouse pointer over the desired key. A popup mapping box is shown. Working with Robot Controllers 202 • : available only with iPendant. When pressed the iPendant is shown in compressed mode. Note that the top line of the Pendant is not shown. Alarms will show on the bottom of the Roboguide screen. Opening the Virtual TP To open the virtual robot TP from the Toolbar 1. Press the Virtual TP toolbar button To open the virtual robot TP from the main menu 1. Select Teach Pendant from the Robot main menu item. The Virtual TP is opened. Using the TP Keypad Tab of the Virtual TP The virtual TP operates like the actual TP operates on a real robot. For additional information on how to use the Virtual TP interface, reference the Setup and Operations Manuals for your robot Using the Current Position Tab of the Virtual TP The current position tab provides the following functions: • Group: Dropdown list provides selections for available groups on the selected robot. • Robot Current Position: displays the current position of the robot in Robot world, joint. Or user frame. To move to a desired position enter the value into the appropriate field and press MoveTo. • Relative Button: when pressed additional options are presented that allow entry for moving relative to the current position of the robot. o Tool, Joint, XYZ, USER radio buttons: defines with what frame of reference the robot will move. Working with Robot Controllers 203 o X, Y, Z, W, P, R: defines the values for the relative move. o Move To: initiates the move. o Move Back: initiates a move back to the position of the robot before the current relative move. o Clear: clears the relative values NOTE: Teach Tool Sphere Radius: In V6.40 Roboguide and higher the teach tool sphere radius is controlled on the robot property page. Using the Virtual Settings Tab of the Virtual TP The virtual settings tab have settings for the MC: and FLPY: directories of you workcells robot. By default, these directories are set under the workcells virtual robot directories. It may be convenient to set these to a directory path where you are copying files to transfer between the real robot / Roboguide workcell. 7.10 Estimating Robot Duty Cycle About Duty Cycle Estimation The Duty Cycle plugin for Roboguide provides offline duty cycle estimation. This is a very useful function to determine if the robot is capable of running the application. Overview The duty diagnosis option provides servomotor duty cycle information. Duty is the physical load on the robot servomotor. You look at duty cycle information: • To check whether there is a high load on a servomotor • To diagnose a servomotor overheating problem Note: Duty diagnosis is available only if the option is supported on the robot. Duty diagnosis is available only for specific robots. Duty Value The duty value of a servomotor is displayed as a percentage value. The percentage is the ratio of the root mean square current of the motor to the allowable root mean square current, at a defined temperature. Duty Value Less than 100% A duty value less than 100% means that the servomotor is working within an acceptable Working with Robot Controllers 204 load for the defined temperature. The ideal operating conditions are when the duty values displayed for all joint axes are less than 100%. Duty Value Greater than 100% A duty value greater than 100% means that the load on the servomotor is above the recommended range. A value greater than 100% does not necessarily mean that the motor will overheat. It does mean that the servomotor is working hard for the conditions and has the potential to overheat. When a servomotor has a duty value greater than 100%, you should adjust the program to reduce the load on the servomotor. For example, you could add an ACC instruction to increase the acceleration time, or a WAIT instruction to slow the execution of the program. In addition, you could touchup certain positions to minimize duty, if possible. Note: If the servomotor for an axis overheats, the message, "SRVO-046 SERVO OVC alarm," will be displayed on the teach pendant screen. This message is displayed before damage has been done to the servomotor. When you see this message, you should take actions to reduce the load on the servomotor to eliminate the overheating condition. Refer to the FANUC Robotics Controller Maintenance Manual for more information on recovery from an overheated servomotor. Duty Cycle estimation is only an approximation. While offline estimation is a high quality approximation of real motor characteristics, the output should be evaluated as being an estimate. If the output of the estimate is close to duty cycle limits please contact FANUC Robotics for more information. Using the Duty Cycle Estimation Dialog The Duty Cycle Estimation dialog is used to analyze duty cycle. As you run programs duty information is collected and information is displayed in the Duty Cycle Dialog. Duty information is collected to support two viewing functions: • Live Update: shows the duty dialog screen dynamically as a program is running. The dialog update rate is controlled by the sampling rate shown on the Run Panel dialog. Note: data is collected at a very high rate regardless of what the Run Panel setting is for sampling rate. • Static Data View: after a program is executed, the data that was collected during the run can be viewed in detail. The display rate from the data file can be controlled in the Display Options field on the dialog. NOTE: in multi robot workcells, duty cycle estimation is provided on the selected robot when the duty estimation dialog is opened. To change the desired robot for duty estimation, you must close the duty estimation dialog, select the desired robot, and then re-open the Working with Robot Controllers 205 duty estimation dialog. Fields on the Duty Cycle Estimation dialog include: • Program Analyzed: Displays the program for which data has been collected and analyzed. • Status: Displays the current status of the analysis. • Plot New Data: Plots / Re-Plots the data in the duty cycle estimate buffer. The data will be plotted at the Display Rate chosen in the Display options frame. • OVC% Duty Analysis Summary by Joint: displays the maximum duty value for each axis during the running of the program. • Analysis Results information box: provides information regarding the analysis of duty cycle. • Duty Analysis Detail Data: this frame presents detail data on the duty information. Detail includes: OVC Simulation Chart: provides a graphical view of OVC value vs. Time. As you mouse left click on points on the lines in the chart, detail data is updated in the Current Cursor Data frame. Current Cursor Data: shows detail data for each value in the Duty Analysis Detail Data Chart. Select points on lines in the OVC Simulation Chart to change data. Series: OVC% Line No.: Prog Name: Duty Plot Types: shows options for display in the graph. • Display Rate: controls the detail of the graph plot in Samples/ Sec. Working with Robot Controllers 206 Procedure to perform a duty cycle estimation Duty Cycle information can be provided using the Duty Cycle estimation PRO Plug-In. NOTE: in multi robot workcells, duty cycle estimation is provided on the selected robot when the duty estimation dialog is opened. To change the desired robot for duty estimation, you must close the duty estimation dialog, select the desired robot, and then re-open the duty estimation dialog. Procedure to perform duty cycle estimation 1. Select the program that you want to check duty cycle. 2. Open the Duty Cycle Estimate dialog by selecting Duty Cycle Estimate under the Test-Run Main Menu category. 3. Run the program. As the program runs, data is collected and displayed. The sampling rate for dynamic display is controlled by the sampling rate selected on the PRO Run Panel. When the program is complete, the Plot New Data button is activated. Analysis and plotting of the data could take time based upon the length of the program and how many times it executed (Large amounts of data). 4. Press the Plot New Data button The maximum duty value for each axis during the running of the program is shown by joint. Detail data is plotted in the Duty Analysis Detail Data chart. Points on the chart can be clicked upon to see detail data. Peak value charts and separate joint value charts can be generated by selecting them in the Duty Plot Types frame. By default data is plotted at 125 samples / sec. Roboguide’s Virtual Robot 207 8 Roboguide's Virtual Robot Roboguide's Virtual Robot Roboguide contains the FANUC Robotics North America virtual robot, which is the actual robot controller software running on a PC. Included within Roboguide are several controller features that you can utilize. These include: • Virtual TP • Robot Web Server • KCL Window • Robot Alarm Window Each of these functions can be accessed from the main menu selections under Robot. About the virtual robot TP The virtual Teach Pendant (TP) provides the same Teach Pendant User Interface as an actual robot. The virtual TP operates like the actual TP operates on a real robot. For additional information on how to use the Virtual TP interface, reference the Setup and Operations Manuals for your robot. The virtual TP window has 3 tabs available. • TP Keypad: is the TP interface to the virtual robot. The TP Keypad operates like the TP on a real robot. • Current Position: provides the ability to move to a position and to adjust the size of the sphere used for the teach tool. • Virtual Settings: provides the ability to define your default PC directories for the virtual robots MC: and FLPY: devices. Roboguide supports both the traditional teach pendant and the iPendant. The selection of what kind of teach pendant will be displayed depends on the setting of the pendant type option on the main menu Tools / Options property page. Regardless of what type of teach pendant interface chosen there are buttons available to Roboguide’s Virtual Robot 208 control the use of the virtual TP. • : When pressed the TP keypad is hidden. • : When pressed the PC keyboard keys are mapped onto the teach pendant keys. The mapping can be determined by dragging the mouse pointer over the desired key. A popup mapping box is shown. • : available only with iPendant. When pressed the iPendant is shown in compressed mode. Note that the top line of the Pendant is not shown. Alarms will show on the bottom of the Roboguide screen. Opening the virtual TP To open the virtual TP from the toolbar 1. Press the Virtual TP icon ()on the toolbar. To open the virtual TP from the main menu 1. Select the Virtual TP under the Robot category on the main menu Opening the Robot Web Server Window To open the Robot Web browser from the toolbar 1. Press the Robot Browser icon ()on the toolbar. To open the Robot Web Browser from the main menu 1. Select the Robot Web Browser under the Robot category on the main menu Opening the KCL Window The KCL option must be loaded on the virtual robot to use the KCL window. You can add this option when you configure your robot in your workcell. To open the KCL Window from the main menu 1. Select the KCL Window under the Robot category on the main menu Roboguide’s Virtual Robot 209 Opening the Robot Alarm Window To open the Robot Alarms window from the toolbar 1. Press the Robot Alarms icon ()on the toolbar. To open the Robot Alarms window from the main menu 1. Select the Robot Alarms window under the Robot category on the main menu Using the TP Keypad Tab of the Virtual TP The virtual TP operates like the actual TP operates on a real robot. For additional information on how to use the Virtual TP interface, reference the Setup and Operations Manuals for your robot Using the Current Position Tab of the Virtual TP The current position tab provides the following functions: • Group: Dropdown list provides selections for available groups on the selected robot. • Robot Current Position: displays the current position of the robot in Robot world, joint. Or user frame. To move to a desired position enter the value into the appropriate field and press MoveTo. • Relative Button: when pressed additional options are presented that allow entry for moving relative to the current position of the robot. o Tool, Joint, XYZ, USER radio buttons: defines with what frame of reference the robot will move. o X, Y, Z, W, P, R: defines the values for the relative move. o Move To: initiates the move. o Move Back: initiates a move back to the position of the robot before the current relative move. Roboguide’s Virtual Robot 210 o Clear: clears the relative values NOTE: Teach Tool Sphere Radius: In V6.40 Roboguide and higher the teach tool sphere radius is controlled on the robot property page. Using the Virtual Settings Tab of the Virtual TP The virtual settings tab have settings for the MC: and FLPY: directories of you workcells robot. By default, these directories are set under the workcells virtual robot directories. It may be convenient to set these to a directory path where you are copying files to transfer between the real robot / Roboguide workcell. 8.1 Using the iPendant Requirements for hardware and software To allow you to connect an iPendant to your PC and use it with RoboGuide you will need the following: Note: in multiple robot cells, the iPendant connected through and interface box will only work with the first robot controller started in the workcell. Hardware: • An iPendant with V6.31xx firmware or greater • An iPendant Interface Cable w/ power Supply o Part Number: EE-4707-150-001 (1.5m kit) EE-4707-150-002 (3.0m kit) Roboguide’s Virtual Robot 211 Procedure to connect a iPendant device to Roboguide Configuring your PC and iPendant for use with RoboGuide The following instructions assume that you are running Windows 2000 and Windows XP. All the screens are taken from Windows XP Professional. The instructions and/or screens for other versions and operating systems may be slightly different but the fundamental procedures are the same. Perform the Setting up your PC first and then the Setting up the Network Connection on your PC. Setting up your PC 1. Go to your Control Panel and Select "Phone and Modem Options" 2. Select the MODEMS tab 3. Click the ADD button. 4. Select the "Don’t Detect My Modem; I will select it from a list and then click NEXT. It will take several seconds before the next screen pops-up. 5. From the lists select (Standard Modem Types) on the left and "Communications cable between two Computers" on the right. Then click NEXT. 6. Select an available COM port and Click NEXT Note: Roboguide requires the use of a serial port. Many new computers only have a single serial port. If you have a PDA docking cradle attached to this Port then you will not see any available ports listed. You will have to disable the PDA connection to make this serial port available. 7. If you successfully set up the modem, you will get the following. Click FINISH 8. You will be returned to the Phone and Modem Screen. Select the MODEM Tab and then select "Communications Cable Between two Computers" modem you just installed. Then click the PROPERTIES button. Roboguide’s Virtual Robot 212 9. Select the MODEM tab and then set the "Maximum Port Speed " to 115200 and Click OK. 10. Click OK on the Phone and Modem Panel to Exit. Setting up the Network Connection on your PC 1. In the Control Panel Select "Network Connections" 2. Select "Create a new connection" or the "New Connection Wizard" 3. On the "Network Connection Type" Panel, select "Set up and advanced connection" and click NEXT. 4. On the "Advanced Connection Option" Panel, select "Accept incoming connections", and click NEXT. 5. On the "Devices for Incoming Connections" Panel, select "Communications cable between…", and click NEXT. 6. On the "Incoming Virtual Private Network (VPN) Connection" Panel, select "Do no allow virtual private connections" and click NEXT. 7. Do not make any selections on the "User Permissions" Panel just click NEXT. 8. On the "Networking Software" Panel, select "Internet Protocol (TCP/IP) and click on PROPERTIES. 9. Select "Specify TCP/IP Addresses. In the "From:" box enter; 1.1.1.10 in the "To:" Box enter 1.1.1.11. Select the "Allow calling computer to specify its own IP address", then click OK. 10. Click NEXT when you are returned to the "Networking Software" Panel. 11. On the "Completing the New Connection Wizard" Screen, click Finish Note: The name of your new connection is "Incoming Connections" 12. Your new connection called Incoming Connections will now appear in the Network and Connections Window. Right Click on this new connection and select PROPERTIES. 213 Roboguide’s Virtual Robot 13. Select the "General" Tab and at the bottom, check the "Show icons on taskbar when connected" box. 14. Select the "Users" Tab and at the bottom, check the "Always allow directly connected devices…" then click OK. Your PC setup is now complete. 15. Your iPendant now needs to be setup. Setting up your iPendant Connect your iPendant interface cable to the PC, iPendant and Power. Leave the power off. Hold down the application Hard Key next to the DIAG/HELP key and turn power on When SETUP iPENDANT PARAMETER menu appears, PRESS the NEXT Key Press F3 (SPECIAL START MODE) Press 2 (Connect to RoboGuide). DO NOT PRESS ENTER AFTER ENTERING THE NUMBER Press the PREV key Press F5 (SAVE PARAMETER) Wait until the screen flashes and returns to the first page Power down the interface power supply. Note: If you are going to use the iPendant with an actual robot then you must go back through this same procedure and set the SPECIAL START MODE to NORMAL. This can be done either using the PC Interface or while you are connected to the robot. Note if you do it while connected to the robot, you will have to power off and on the robot after resetting the start mode on the iPendant. Roboguide’s Virtual Robot 214 16. To test your setup o Make sure your PC (Laptop) is running on AC Power o Attach the iPendant and interface cable to the COM port that you selected in Step 6 o Turn the interface power supply on, you should see a new icon appear in your system tray that will flash as communications are sent back and forth to the iPendant. If this does not occur, go back and check all the setting for the Modem and Network Connection. 17. Turn off the interface power supply, and right Click on the Network Connections icon in the system tray and select "Disconnect" Which will cause the icon to disappear. Using the iPendant with Roboguide Running with the actual iPendant 1. Make sure that you have done all the setup in Section 0 2. Make sure that your PC (Laptop) is running on AC Power 3. Make sure that the iPendant is connected to the PC. The Power Supply should be powered off or disconnected from the adapter cable. 4. Start your workcell in Roboguide 5. When robot is up and running open the Virtual Teach Pendant by going to the ROBOT menu and select the Teach Pendant or Click the icon on the Roboguide Tool Bar. 6. When the virtual iPendant is displayed, Make sure that it is in "Large" (iPendant) Mode. Roboguide’s Virtual Robot 215 The Virtual Teach Pendant should look like the following: If it does then go to step 7 If the virtual Teach Pendant looks like the following Then Click the Small/Large Button in the upper right corner of the Virtual Teach Pendant to change it to the Large (iPendant) mode. 7. Dismiss the Virtual Teach Pendant by going to the ROBOT menu and unselect the Teach Pendant or Click the icon on the RoboGuide Tool Bar. 8. Power up the iPendant/Power Supply and the iPendant should automatically connect to RoboGuide (After several seconds). You should now be able to operate the iPendant as you would on any Tips and Tricks • The serial connection/converter requires that your PC be connected to an AC Power source. If you are using a Laptop, make sure that it is running on AC power, not batteries. If you are running on batteries the connection may not be made or will be unreliable. • The iPendant will take several seconds to connect once the power is turned on. If the iPendant does not connect then you should check the MODEM Settings and the INCOMING CONNECTIONS Properties on your PC, and/or Restart ROBOGUIDE and try to connect again. • Whenever you power off the iPendant, you must "Disconnect" the Network Connection by, righting Click on the Network Connections icon in the system tray and select "Disconnect" Which will cause the icon to disappear. • If you have to Restart RoboGuide or restart the Virtual Robot in RoboGuide, you must power off the iPendant and then "Disconnect" the Network Connection as shown above before restarting the Virtual Robot or RoboGuide. • Sometimes the iPendant will look like it is properly connected (i.e. the iPendant screen is displayed correctly) but none of the keys will function. To correct this, power off the iPendant, "Disconnect" the Network Connection as shown above, wait for 5-10 Roboguide’s Virtual Robot 216 seconds after the icon disappears and try to connect again. If this does not work you will need to restart RoboGuide. • If you always want to use the real teach pendant with Roboguide, see the About Roboguide Options Page section of the help. Using UFRAMES 217 9 Using UFRAMES About Frames A frame is a set of three planes at right angles to each other. The point where all three planes intersect is the origin of the frame. This set of planes is called a Cartesian coordinate system . In the robot system, the intersecting edges of the planes are the x, y, and z axes of the frame. Frames are used to describe the location and orientation of a position. The location is the distance in the x, y, and z directions from the origin of the reference frame. The orientation is the rotation about the x, y, and z axes of the reference frame. When you record a position, its location and orientation are automatically recorded as x, y, z, w, p, and r relative to the origin of the frame it uses as a reference. The location of a position is expressed as three dimensions, which are measured in millimeters from the origin in the x, y, and z directions. For example, 300,425,25 means the position is 300mm in the x direction, 425mm in the y direction, and 25mm in the z direction from the origin. The orientation of a position is expressed as three dimensions, which are measured in degrees of rotation about the x, y, and z axes. For example, 0,-90,0 means that the position is rotated -90 degrees about the y axis and is not rotated about the x or z axes. Kinds of Frames The robot uses four kinds of frames. The different kinds of frames make it easier to perform certain tasks. The kinds of frames are • World frame - the default frame of the robot and generally at the base of the robot for non aux axis systems. • Tool frame - a user-defined frame. The tool frame is a Cartesian coordinate system that has the position of the tool center point (TCP) at its origin. You must set the tool frame to define the point on the applicator, gun, torch, or tool at which the painting, welding, sealing, handling, or other application work is to be done. • User frame - a user-defined frame. The user frame is the reference frame for all recorded positional data in a program. You can modify the user frame to offset the positions in the program easily. You can define this frame anywhere and it is relative to the world frame of the robot. • Jog frame - a user-defined frame. The jog frame is a frame in which to jog easily. It allows you to align the x, y, z coordinate system about a fixture or workpiece that is rotated with respect to the world frame of the robot • Remote TCP (RTCP) Frame- The remote TCP (RTCP) frame is a kind of user frame Using UFRAMES 218 you must define in order to use remote TCP jogging and the remote TCP motion option. You define this frame using the location of the remote TCP as the origin of the frame. Why use UFRAMEs with workcells It is common in real world workcells to not use UFRAMEs and to teach all robot programs relative to the robot world zero position. This method is OK for Roboguide, but there are benefits to utilize the robot controllers UFRAME capability when generating workcells offline in Roboguide. These benefits include. • Using frames makes it easy to move a group of positions around the workcell. This provides the ability to find the location for an object where all the positions recorded relative to it are reachable. When positions are recorded relative to a UFRAME you can drag the positions in a program very easily in your workcell by simply moving the UFRAME. If you object is fixed you can also move the robot to detect if the positions in a program are reachable. Roboguide has the ability to link a robot UFRAME to an object in the workcell. When the object is moved the UFRAME is automatically moved with it and updated on the virtual robot. See Using UFRAMEs to move programs with fixtures for more information. • Using frames makes it easier to take a program created in Roboguide to a physical robot. Roboguide provides the ability to calibrate objects in the Roboguide environment with objects in the real physical workcell. To do this UFRAME’s can be used. What Frames does Roboguide use Roboguide uses or has the capability to use several different frames of reference for workcell objects, robot tooling, and programs. Frames include: • Object reference frame: this is the frame that defines the objects zero point of reference. You see an objects reference frame when you select it, and usually defined by the CAD program that created it. You can not edit this frame. • Object location frame: this is the location of the object in the 3D CHUIWorld. This value is the one you change on an objects General Tab in the location fields. • Object UFRAME: you can define a UFRAME for an object. This allows you to define robot positions relative to the object. See About UFRAME's and workcell objects • Part Frame: this is the location of the part relative to another object. With Roboguide Using UFRAMES 219 you define the part frame in the Part Offset fields on the object’s property page Parts Tab of the object that will hold the part. • Tool Frame: this is the UTOOL value for end of arm tooling. The Tool frame defines the end of arm tooling Tool Center Point relative to the face plate of the robot. You set this value on the Tool Center-Point Tab of the end of arm tooling property page. About UFRAME's and workcell objects UFRAME is a specific type of Frame in the robot world. The user frame is the reference frame for all recorded positional data in a program. User frame is a frame that you can set up in any location, with any orientation. User frames are used so that positions in a program can be recorded relative to the origin of the frame. All positions in a program are automatically recorded in user frame. You can modify the user frame to offset the positions in the program easily. You can define this frame relative to various objects in SimPRO. Associate a workcell object with a UFRAME when you want to create robot positions relative to the object itself and not relative to the robot’s world coordinate system. A UFRAME can be very useful if you want to move an object in the workcell and have the positions taught move with the part. This would be done when you are trying to find a workcell position for the object where the robot can reach all of the points. Positions are taught relative to the defined UFRAME. You then move the object and check whether the robot can reach the points. Alternatively, you could move the robot and leave the fixture in place, and check whether the robot can reach the points. By default, when you create a workcell object, the object is not assigned to a UFRAME value. It is an object in the workcell that does not support teaching positions relative to it. With Roboguide you assign fixtures in your workcell to a robot UFRAME if desired. Therefore, any points taught on this object will be relative to the robot’s UFRAME that has the fixture association. If you have a part associated with a fixture that has a defined UFRAME, and teach points on this part you can move the points in the workcell by simply moving the fixture. Any given robot UFRAME can have only one object in your workcell associated with it. Generally, this is done on the robots UFRAME Property page. When using a UFRAME with an object you associate the object with a robot’s UFRAME. You can view the UFRAME in Roboguide relative to the robot world or the objects coordinate system on the UFRAME property page. What happens and what are the benefits when you make this UFRAME / workcell object association? • If the UFRAME is associated with the robot, programs taught with this frame move when the robot is given a new location in the workcell 220 Using UFRAMES • If the UFRAME is associated with a workcell object, programs taught with this frame do not move when the robot is given a new location in the workcell. This is desirable if positions taught interact with the fixture and associated part. An example is when a pick and/or place action is taking place with the fixture. • If the UFRAME is associated with a workcell object, programs taught with this frame move when the workcell object is given a new location in the workcell. Using UFRAMEs to move programs with fixtures The ability to reposition an entire program by moving a fixture you must attach the program to a fixture through the robots UFRAME capability, and move the UFRAME to be defined relative to the objects coordinate system. To have a program move when you move a fixture: 1. Determine a robot UFRAME that can be used. 2. Select the UFRAME in the Cell Browser 3. Open the UFRAME Property Page 4. In the Attached field select the object in the workcell that you want to associate with this UFRAME. Show me an AVI. 5. Modify the robot's UFRAME as desired. 6. Create a program and teach the program with this UFRAME as the selected UFRAME. How to utilize the functionality varies based upon whether you are teaching a simulation program in the Roboguide simple editor vs. creating the program with the virtual TP editor. o Roboguide animation programs: set the UFRAME used field on the program property page to the UFRAME defined above. o Virtual TP Editor programs: Roboguide automatically sets the virtual robot to use the user frame selected in the Cell Browser. When creating the program use the "UFRAMENUM = " instruction to set the UFRAME to the desired UFRAME. When you move the fixture / Uframe positions taught relative to this frame move appropriately. 221 Using UFRAMES Using UFRAMEs to move programs when the robot location is moved The ability to reposition an entire program when moving the robot is accomplished by teaching positions relative to the robots world frame (UFRAME0) To have a program move when you move the location of the robot in the workcell: 1. Decide which UFRAME to use: o UFRAME 0 in the cell browser o Or, chose a UFRAME that can be used 2. Select the UFRAME in the Cell Browser 3. Open the UFRAME Property Page 4. If a UFRAME other than 0 is chosen, select the robot (default) in the Attached field. 5. Create a program and teach the program with this UFRAME as the selected UFRAME. How to utilize the functionality varies based upon whether you are teaching a simulation program in the Roboguide simple editor vs. creating the program with the virtual TP editor. o Roboguide animation programs: set the UFRAME used field on the program property page to the UFRAME defined above. o Virtual TP Editor programs: Roboguide automatically sets the virtual robot to use the user frame selected in the Cell Browser. When creating the program use the "UFRAMENUM = " instruction to set the UFRAME to the desired UFRAME. When you move robot, positions taught relative to this frame move appropriately. Using UFRAMES 222 Using the UFRAME property page The UFRAME property page is used to define controller UFRAME information. When you modify a UFRAME on the property page it is automatically updated on the virtual robot. Available on the UFRAME property page are the following fields: • Name: the controller name for the UFRAME. This is the comment field for UFRAME on the robot. • Attached: defines the object in the workcell that is associated with the UFRAME. The default associates the UFRAME with the robot which means moving the robot moves the frame and points taught in world coordinates. If you associate the UFRAME with an object the frame and points taught relative to this frame moves when you move the object. The following picture shows UFRAME 1 associated with a fixture. The UFRAME data is 0,0,0,0,0,0, or at the world zero position for the picture. The following picture shows UFRAME 1 located at 0,0,0,0,0,0 relative to the fixture. Accomplished by showing the reference relative to the fixture, and zeroing out the location values. • Uframe Data: defines the X, Y, Z, W, P, R for the UFRAME. The numbers shown here are relative to either the robot or the assigned object in the attached field. • Show Reference: provides a visual reference to modify the UFRAME. If robot relative is chosen you move the UFRAME with a visual reference frame of the robot. If fixture relative is chosen you move the UFRAME with a visual reference frame of the chose object in the attached field. Changing this only changes the numerical reference point for the UFRAME data and does not change UFRAME the UFRAME data must be modified to make changes to the UFRAME values on the virtual robot. • Edit Frame: when checked you see the UFRAME and can either direct enter numbers in the UFRAME fields for drag the coordinate system. • Use Current TCP Location: when pressed the UFRAME value will be recorded at the robots current TCP location into the correct X, Y, Z, W, P, R Uframe Data fields. It becomes active only when the Edit UFrame Check Box is enabled. • Invert Z Around: it is common to want to UFRAME Z direction to be opposite of the approach vector of the end of arm tooling. Select which tool axis vector you want to invert the UFRAME Z axis vector about when the Use Current TCP location button is pressed. 223 Using UFRAMES Opening a UFRAME's property page A UFRAME’s property page is found in the Robot Controllers / Robot1 / GP.1 / UserFrames category on the cell browser. The property page is opened as others are. Modify a robot UFRAME You can modify a robot UFRAME from SimPRO’s UserFrames property page or from the virtual TP. To modify a UFRAME from the Roboguide User Frames property page 1. Open the UFRAME Property Page from the cell browser 2. Select the Edit Uframe checkbox. The UFRAME will show as a triad ( ) in the location where the UFRAME is defined. 3. There are two ways to define the UFRAME value. o Direct Entry: enter the UFRAME values into the , Y, Z, W, P, R UFrame Data fields and press Apply. o Move with the mouse: Check the Edit UFrame check box, and move the UFrame triad to the desired location. Press Record Frame button, and the values are copied into the X, Y, Z, W, P, R fields. Press Use Current Triad Location when you are done and then press Apply when done. To modify a UFRAME from the Virtual TP 1. Open the virtual TP 2. Press Menus 3. Select Setup 4. Press Type 5. Select Frames 224 Using UFRAMES Edit the UFRAME data. If UFRAME is not showing on the screen, select choice and select user frames from the list. Assigning a UFRAME to a workcell object To assign a UFRAME to a workcell object 1. Select the UFRAME you want to assign to a workcell object 2. If the UFRAME’s property page is not visible, open the UFRAME property page. 3. On the General Tab, select the object in the workcell that you want to associate with the UFRAME from the Attached field and press Apply. 7. There are two ways to define the UFRAME value: o Direct Entry: enter the UFRAME values into the , Y, Z, W, P, R UFrame Data fields and press Apply. o Move with the mouse: Check the Edit UFrame check box, and move the UFrame triad to the desired location. Press Record Frame button, and the values are copied into the X, Y, Z, W, P, R fields. Press Use Current Triad Location when you are done and then press Apply when done. You may now use this UFRAME with your program. See Teaching Using Uframe's for more information. Working with Fixtures 225 10 Working with Fixtures Working with Fixtures Roboguide uses fixtures as workcell objects that can be used for the following: • Used to hold parts. Before a part can be used it must be assigned to a fixture. You can think of a fixture as workcell tooling that holds parts. It is this association of part to fixture that allows Roboguide to animate the part process in the workcell. You can move a fixture in your workcell and the part moves with the fixture. This allows you to easily locate workcell fixtures and parts associated with them. • Define an entity in the workcell to teach positions. You may want to teach points on a part assigned to a fixture so that you can then move the fixture to ensure that the points taught are reachable by the robot. Fixtures support UFRAMEs. If you teach relative to a UFRAME then you can move the fixture and its associated points to determine optimum robot and object locations. • Define a conveyor: this is a smart fixture that supports line tracking operations in Roboguide. Adding a workcell object To add an object using the cell browser 1. Right mouse click the type of element you want to add to your workcell A popup menu will appear with selections. The popup menu will have items based upon the PRO Software plug-in and the options loaded on robots in the workcell. For example, if line tracking is enabled, you would see "add line" under the fixtures menu. 2. Select the source of the object from which it should be added. Roboguide supports a CAD Library, importing of IGES files, and primitive objects. 3. If you select CAD File a dialog is opened in which you can select the CAD File desired. You may select multiple CAD files if you want to import multiple CAD images into the workcell as a single object. Note: the origin of the combined object will be the origin of the CAD files overlaid. If you select CAD Library a dialog is opened where you can browse the CAD library and select an object If you select one of the primitives, a primitive object is loaded into your workcell with default parameters. Working with Fixtures 226 To add an object using the main menu 1. From the main menu select Cell. And then select the type of object to add. 2. Select from the popup menu (if applicable) the source of the object from which it should be added. Roboguide supports a CAD Library, importing of IGES files, and primitive objects. 3. If you select CAD File a dialog is opened in which you can select the CAD File desired. You may select multiple CAD files if you want to import multiple CAD images into the workcell as a single object. Note: the origin of the combined object will be the origin of the CAD files overlaid. If you select CAD Library a dialog is opened where you can browse the CAD library and select an object If you select one of the primitives, a primitive object is loaded into your workcell with default parameters. If you select Robot, the robot serialize wizard is opened. Deleting a workcell object To delete an object using the cell browser 1. Right click on the desired object from the cell browser. 2. Select Delete <object name> from the menu. The object is deleted from the workcell. To delete an object using the keyboard 1. Left click on the desired object in the 3D World view,. or select the object with the left mouse button in the cell browser. The objects coordinate reference frame is shown. 2. Press the delete key on the keyboard. The object is deleted from the workcell. Working with Fixtures 227 Working with the Fixture property page The fixture property page is used to define properties of fixtures in the workcell. • Fixture General Tab: is used to define basic fixtures properties such as name, location, color • Fixture Calibration Tab: is used to calibrate the virtual Roboguide environment with an actual robot workcell. • Fixture Parts Tab: is used to define parts used in the fixture and the parts location relative to the fixture frame. • Fixture Simulation Tab: is used to define simulation parameters such as creation and destruction times for simulations. Using the Fixture General tab The General Tab of the Fixture Properties page provides fields to edit general obstacle properties. These fields include: • Name: enter the name you want for the fixture. • CAD File: defines the CAD file used for this fixture. • Visible: if checked you can see the fixture. When you change the state of the field, you must press Apply for the action to take place. • Type: set by Roboguide. This is a primitive entity of Box, Cylinder, Sphere, or CAD image. • Color: allows you to change the color of primitive objects. • Wire Frame: when enabled the object is shown as wireframe • Transparency slider bar: controls the transparency of the object. • Location: defines the location of the fixture relative to the 3D ChuiWORLD zero reference position. • Size: defines the parametric values for primitive objects. Working with Fixtures 228 • Scale: defines the scale parameters for CAD type objects. • Show robot collisions: when checked this fixture is checked for collisions with robots in the workcell. • Lock All Location Values: when checked, locks all of the location values for the fixture. Using the Parts Property Page Tab The Parts Property Page Tab provides the interface to assign parts to the selected object. Parts can be added to different types of objects in Roboguide including fixtures, machines, end of arm tooling, etc. The property page effectively works the same way when assigning parts to an object. A very useful feature of the Parts property page is the ability to move the robot to the part. Roboguide understands what parts are assigned where and uses the UTOOL values and the Part location values to automatically move the robot to the desired part location. This can be done and the part offset can be "recorded" directly into the values. Fields on this tab include: • Parts list: shows the parts available in the workcell. The checkbox next to each box can be selected to assign the part to the current object. • Part Offset: is used to define the part offset in the current object. Use of the MoveTo and Record buttons can ease the accurate teaching of the part offset values. o X, Y, Z, W, P, R: defines the offset relative to the object’s origing that holds the part. o Object selection combo box:this box is used in conjunction with the MoveTo and Record buttons. With these buttons Roboguide provides efficient capability to move the robot to a part position on fixtures, and to record part offsets in EOAT and fixtures. The combo box contains all objects that have reference to the part selected in the Parts list. If the EOAT property pages are active, the list is populated with fixtures that reference the selected part. If a fixture property page is active, the list is populated with EOAT’s that reference the selected part. The detail is defined on how the information is used in the MoveTo and Record field descriptions. o MoveTo: Works in conjunction with the Object selection combo box. Working with Fixtures 229 When pressed the robot is moved to a position that matches the part offset coordinate value for the selected property page object with the part offset coordinate value for the object selected in the Object selection combo box. After moving, the robot should have the part offsets for the two objects aligned exactly. This could be very useful when creating programs. If part offsets are all taught accurately, the robot can be moved very quickly and accurately to desired part positions. For more detail see Automatic MoveTo of robot to part in a fixture. o Record: is active when the Edit Part Offset item is selected. The record button is used to define the part offset for the selected part in the Parts field. The part offset position can be automatically generated if the robot tooling is located at the desired pick / place point in a fixture. For more detail see Automatically generate part offsets in tooling and fixtures. o Edit Part Offset: when checked you can move the part to define the part location relative to the selected object. o Visible Teach: if enabled the part is visible when not running a program. o Visible Run: defines the initial state of the part when a program is run. If enabled the part is visible when the program starts. If disabled, the part does not show at the start of a run. Using the fixture Simulation Tab The fixture simulation tab has settings to control the simulation parameters for parts in fixtures. When doing simulations it is desirable to be able control when parts re-appear / disappear in fixtures after picking and placing. For example, if you are placing a part into a fixture and then the process takes the robot to pick another part, you may want the part to remain in the place fixture for some period of time before disappearing. The setting on this tab and fixture Parts tab allow you to control how parts are managed during simulation run. The fixture Parts tab has settings for the initial states of parts on fixtures when a simulation is run. A key setting for parts is dependant on how a part will be processed: • Part is placed and then picked from a fixture: when the place destroy delay is set to 0, the part is not automatically removed from the fixture. The part remains so that it can by picked using a Pickup simulation instruction. • Part is placed and then destroyed: if a part will not be acted upon after it is placed, a delay time that is non zero will force the part to be destroyed from the fixture at the Working with Fixtures 230 delay time entered. Fields include: • Parts frame: shows the parts available in the workcell. Simulation settings can be defined for each part in the list. • Part Simulation frame: Defines how the part may be used with the fixture. When a part is selected in the Parts Frame these selections become active. o Allow part to be picked: when enabled the part is available for picking. When using the Pick instruction in the simple editor, the fixture and part will show up in the list of possible fixtures/parts. o Create delay: the time before a new instance of the part will be created after the pick instruction. o Allow part to be placed: when enabled the part is available for placing. When using the Place instruction in the simple editor, the fixture and part will show up in the list of possible fixtures/parts. o Destroy delay: the time before the part will be destroyed after it is placed. NOTE: if the value is set to 0 the part is not destroyed. This is useful for operations that require a part to be placed and then picked back out of the fixture. To have a part remain in a fixture after the place instruction For processes that require a part to be placed into a machine and then picked back out it is desirable to have the part remain in the place position so that the robot can pick it back out of the fixture. To have a part remain in a fixture after the place instruction 1. Open the fixture property page that holds the part 2. Select the Simulation tab 3. Select the part in the Parts frame 4. Enable the Allow part to be placed field 231 Working with Fixtures 5. Enter a value of 0 for the Destroy delay time 6. Press Apply Using the Calibration Tab You can calibrate fixture, obstacle, and machine objects in your workcell. Since parts are associated with fixtures you calibrate the part within the fixture on the fixture property page calibration tab. The calibration process matches the location of the 3D object to its real world counterpart by calculating the difference between points taught in the 3D world and the same points touched-up in the real world. Calibration of a workcell object moves the Roboguide workcell object to match the real world object. When doing a workcell calibration you teach a program touching 3 points in the Roboguide workcell and then touch the same 3 points in your real workcell. Roboguide objects are then moved based upon the least squares difference between these points Fields included on the Calibration Tab include: • Object to be calibrated: this selection appears for fixtures and machines. Since fixtures can hold parts, you can calibrate the fixture and any parts that the fixture can hold. Select the object to be calibrated from the drop down list box. • General: fields include: o TPP Name: calibration TP name. o When calibrating EOAT or Parts in an EOAT: Touchup method: defines what UFRAME to use for the calibration. o When calibrating other objects in the workcell Controller: defines which robot controller in the workcell will be used for calibration Group: The target group on the selected controller. • Step 1: Teach in 3D World: when pressed you see the message: Calibration program xxx has been created for object. Teach at least 3 points in the 3D World at unique locations on the object. Whey you have finished, return to the Calibration tab and press the ‘Store Points button. Working with Fixtures 232 NOTE: if you are calibrating a part that is on a line tracking link, Roboguide creates a TPP tracking program to do the calibration. This provides the ability to use the same tracking program on the actual workcell that is line tracking. Since with conveyor tracking systems it is difficult to duplicate the location of the part carrier on a conveyor the tracking system, the line tracking system is used to compensate for variability in the location of the conveyor on the moving line. The key is to ensure that the part is synchronized with the conveyor before doing any teaching. It is important to choose features that can be taught in both Roboguide and the real world. • Step 2: Copy & Touch-Up in Real World: when pressed you get the message: Calibration positions stored in memory – now would be a good time to save the workcell. The calibration program CAL00049 was copied to: < directory >. You must now load it onto the real controller and touch up each point at the corresponding location in the real world. When this is done, save the touched up TPP and copy it back to the same directory, overwriting the original. • Step 3: Calibrate from Touch-Up. When pressed, Roboguide loads the new calibration information and compares the original Roboguide taught calibration positions with the points taught in the physical real workcell. A least squares fit algorithm is applied. You see the following message describing the differences. The calibration process has compared the TP positions and determined that the object needs to be shifted in the following ways (relative to the robot): X, Y, Z, W, P, R offsets, Least squares fit = xxx Would you like to accept these results and shift the 3D object? If you press OK the object is adjusted to reflect these changes. Check the preview box to see the shift and OK to accept the shift. Check the adjust TPP programs selection if you want to select TPP programs for which to have positions shifted. Make a part visible or invisible in a fixture To make a part visible or invisible in a fixture 1. Select the desired fixture that has the part associated 2. Open the property page for the fixture 3. Select the Parts Tab on the fixture property page Working with Fixtures 233 4. Select the desired part in the Parts frame. 5. Visibility for a part is controlled by two settings: o Visible at Teach Time: when enabled the part will show during teach o Visible at Run Time: when enabled the initial state of the part in the fixture is on. When disabled the part will not initially show when the simulation is run. 6. Press Apply Defining the delay time used for part creation and removal during simulation To change the delay time used for part creation and removal during simulation: 1. Select the desired fixture that has the part associated 2. Open the property page for the fixture 3. Select the Simulation Tab on the fixture property page 4. Enter the desired delay time in the Create field to control the time before a new instance of a part is created. Enter the desired delay time in the destroy field to control when the part is removed from the fixture. NOTE: if the value is set to 0 the part is not destroyed. This is useful for operations that require a part to be placed and then picked back out of the fixture. 5. Press Apply Define the part location in a fixture To define the part location in a fixture 1. Select the desired fixture that has the part associated 2. Open the property page for the fixture 3. Select the Parts tab Working with Fixtures 234 4. There are multiple ways to define the part location value: o Direct Entry: enter the part location values into the , Y, Z, W, P, R Part Offset fields and press Apply. o Move with the mouse: Check the Edit Part Offset check box, and move the part triad to the desired location. Press Record Part Offset button, and the values are copied into the X, Y, Z, W, P, R fields. Press Apply when done. o Automatically generate part offset using the Record button. For more detail see Automatically generate part offsets in tooling and fixtures . 5. Press Apply. When done 10.1 Working with PalletPRO fixtures 10.1.1 PalletPRO Infeed Fixture Property Tabs Using the Infeed Fixture Property Tabs Infeed fixtures have general Roboguide fixture properties and Palletizing Infeed unique properties. General properties include location, CAD file, and color. Palletizing properties include defining orientation, simulation parameters, and other pallet specific properties. Using the Fixture General tab The General Tab of the Fixture Properties page provides fields to edit general obstacle properties. These fields include: • Name: enter the name you want for the fixture. • CAD File: defines the CAD file used for this fixture. • Visible: if checked you can see the fixture. When you change the state of the field, you must press Apply for the action to take place. • Type: set by Roboguide. This is a primitive entity of Box, Cylinder, Sphere, or CAD image. Working with Fixtures 235 • Color: allows you to change the color of primitive objects. • Wire Frame: when enabled the object is shown as wireframe • Transparency slider bar: controls the transparency of the object. • Location: defines the location of the fixture relative to the 3D ChuiWORLD zero reference position. • Size: defines the parametric values for primitive objects. • Scale: defines the scale parameters for CAD type objects. • Show robot collisions: when checked this fixture is checked for collisions with robots in the workcell. • Lock All Location Values: when checked, locks all of the location values for the fixture. Working with the Infeed Fixture Infeed Property tab The infeed fixture Infeed property tab has fields to define various infeed properties. • Infeed Properties o Number: defines the infeed number that PalletPRO uses when running a simulation. You should not have to change this number. o Transit delay: defines the delay time PalletPRO uses before releasing a unit from the infeed queue to the robot. For more detail on how PalletPRO controls unit flow click here. • Teach Aid o Orientation defines what side of the conveyor that parts are presented to the robot, and is also known as the origin of the infeed. It also defines how the X direction of the UTOOL lines up with the infeed. When you select an orientation a flat box with an arrow appears on the infeed (). , the station origin must be in the corner of the conveyor where the unit will be when it is picked up. The conveyor will place the units in a specific corner of the conveyor. Locate the station origin in the corner where 236 Working with Fixtures the robot will find the units PalletTool uses a standard teach plate to define the origin. PalletPRO can automatically determine the proper station origin since it has knowledge of the workcell and where objects are located. You must select which side of the conveyor you want the origin to be on which defines the origin to PalletPRO and PalletTool. For infeed stations, the station origin must be in the corner of the conveyor where the unit will be when it is picked up. The conveyor will place the units in a specific corner of the conveyor. Locate the station origin in the corner where the robot will find the units Length on length:.Parts are received on the right side of the conveyor. Called length on length because the arrow on the PalletTool teach plate is along the length of the conveyor. The X direction of the UTOOL is along the length infeed. Width on length: Parts are received on the left side of the conveyor. Called width on length because the arrow on the PalletTool teach plate is along the width of the conveyor. The X direction of the UTOOL is along the width of the infeed. For further information on origins and orientation click here. o X offset, Y offset: specifies the distance to shift the origin of the infeed along the length of the infeed station. Infeed offset (length) and (width) are typically used when the robot cannot reach the corner of the infeed in order to teach the origin. Since PalletPRO has knowledge of the workcell and automatically determines the origin, it may not be necessary to set the offset values. o Move To: select this to move the robot to the origin position created by PalletPRO. • Infeed IO o Maximum Parts: defines the maximum number of units that can be queued on the conveyor. o Part Orientation DO: signals PalletTool what orientation the next unit will be. Not used by PalletPRO. o Part Present DI : signals if a part is present Working with Fixtures 237 o Part Request DO: requests a part from the conveyor About defining and teaching stations When you set up PalletTool/ PalletPRO you must teach/ define the stations for your application. A station is the area where the robot picks up or places units. When you teach a station you determine where the pallet or conveyor will be by locating it in your workcell, and then define on the station property page information that PalletPRO uses to calculate the location of each station and the position of each unit. When you teach the stations you • Decide the station location by locating it in your workcell • Locate the station origin by defining the orientation on the respective stations property pages. PalletTool/ PalletPRO uses two kinds of stations: • Pallet station, which is the area where the unit load is located. • Infeed station, which is the area at the end of the conveyor where the robot picks up units for palletizing or places units for depalletizing. The figure below shows standard layouts for single infeed, single pallet station workcell configurations with recommended locations for infeed stations and pallet stations, and example fixture plate locations. These workcells could use a single slip sheet station. Standard Workcell Layouts - Single Infeed, Single Pallet The figure below shows a standard layout for a double infeed, double pallet station workcell configuration. This workcell could use two slip sheet stations. Standard Workcell Layout - Double Infeed, Double Pallet Station Location and Origin The location of the infeed and pallet stations is determined by the requirements of your installation. If your unit loads require slip sheets or pallet handling , you must also plan where to locate the slip sheets and pallets so that the robot can reach them, and they do not Working with Fixtures 238 interfere with the application. Station Origin The station origin is the corner of the station closest to where you teach P1 using the fixture plate. PalletPRO automatically determines location based upon how properties are set. For infeed stations, the station origin must be in the corner of the conveyor where the unit will be when it is picked up. The conveyor will place the units in a specific corner of the conveyor. Locate the station origin in the corner where the robot will find the units. Fixture Plate Orientation for Infeed Stations Infeed offset (length/width) specifies the distance to shift the origin of the infeed along the length of the infeed station. Infeed offset (length) and (width) are typically used when the robot cannot reach the corner of the infeed in order to teach the origin. Since PalletPRO has knowledge of the workcell and automatically determines the origin, it may not be necessary to set the offset values. For pallet stations, FANUC Robotics recommends that you select the station origin to optimize cycle time and prevent collision of the units during palletizing. This will generally be at one of the two corners farthest from the infeed. If the robot cannot reach the corner, you can place the origin somewhere other than the corner of the pallet, then use pallet offset information under Pallet Station setup. When the fixture plate is positioned correctly for pallet stations, P1 will be in the corner where PalletTool will place the first unit. P2 will lie along the build direction of the pallet station (or the arrow of the fixture plate). The build direction is the direction in which PalletTool will build the unit load. It is also the direction in which the arrow of the fixture plate points. The orientation of the fixture plate also determines the positive and negative directions for the pallet approach length and the pallet approach width. The pallet approach length and width are values that can be adjusted to optimize how the robot places units on the pallet. See the following figure for examples of how the positive and negative values are affected by the fixture plate orientation. Fixture Plate Orientation for Pallet Stations Pallet offset (length/width) specifies the distance to shift the origin of the pallet, along the length/width of the pallet station. Pallet offset (Length) and (Width) are typically used when the robot cannot reach the corner of the pallet in order to teach the origin. In this case, teach the station origin on the pallet, in a location where the robot can reach it. . Since PalletPRO has knowledge of the workcell and automatically determines the origin, it may not be necessary to set the offset values. Working with Fixtures 239 Defining the origin of the infeed To define the origin / orientation of the infeed. 1. Select the desired infeed 2. Select the Infeed tab On the tab, you see the Teach Aid frame of selections. You may specify if you want the origin (where you pick boxes) to be on the right of the conveyor or the left of the conveyor. 3. Select the Length on Width picture to put the infeed origin on the right side of the infeed Select eh Width on Length picture to put the infeed origin on the left side of the infeed 4. Press Apply or OK to save the selection You may use the MoveTo button to move to the infeed to ensure the results are satisfactory. About controlling infeed rates with PalletPRO The rate at which units are delivered to the robot on an infeed is controlled with several parameters within PalletPRO. The factors that control this include: • Infeed Transit Delay (found on the Infeed's Infeed property tab): defines the delay time PalletPRO uses before releasing a unit from the infeed queue to the robot. This assumes there are boxes in the queue to be released. Boxes in the queue are controlled by the case rate of the unit load. • Maximum Parts: (found on the Infeed’s Infeed property tab). defines the maximum number of units that can be queued on the conveyor. • Case Rate: (found on the unit load dialog under palletizing parameters): controls the rate at which units are fed to the infeed queue. This is the key value to calculate throughput during simulation. You adjust these parameters for multiple purposes: Quality of throughput calculations: the key parameter is the Case Rate defined as part of the unit load. This value provides the throughput assumptions from the real system Quality of visualization: setting the Infeed transit delay to a low value will allow for the Working with Fixtures 240 boxes to stack up on the conveyor. This may or may not be desirable. Increasing this value can make the visualization appear as more of a "flow" of units on the conveyor. Too high a number and you may "starve" the infeed at the pickup point. For proper throughput calculations you must make sure that setting this value does not "starve" the conveyor at the pickup point. Maximum parts value can be adjusted to show "stackup" on the infeed queue. If the value is one then you see little part queuing. If the number is 6 (max) you can see up to 6 parts queued on the infeed. Controlling the rate at which units are delivered to the robot To control the case rate the case rate is determined for each unit load and is set on the unit load setup screens. 1. Open the property pages for the desired unit load. 2. Select the Palletizing Parameters button 3. In the Process Parameters frame, there is an area to enter Case Rate 4. Enter the desired Case Rate 5. Select OK or Apply To control the transit rate 1. Open the Infeed property page 2. Select the Infeed tab 3. Enter the Infeed Transit Delay 4. Select OK or Apply. Working with Fixtures 241 Controlling the number of units that can be queued on an infeed To control the number of units that can backup on the infeed 1. Open the Infeed property page 1. Select the Infeed tab 2. Enter the desired number of parts in the Maximum Parts field 3. Select OK or Apply 10.1.2 PalletPRO Pallet Fixture Property tabs Using the Pallet Fixture Property tabs Pallet fixtures have general Roboguide fixture properties and Palletizing pallet unique properties. General properties include location, CAD file, and color. Palletizing properties include defining orientation, simulation parameters (pallet index time), pallet positions, and other pallet specific properties. It is critical to correctly configure your pallet for proper Palletizing simulation. Related Topics: Working with the Infeed Fixture General Property tab Working with the Pallet Fixture Pallet Property Page Working with the Pallet Fixture Pallet Positions Property Page Using the Fixture General tab The General Tab of the Fixture Properties page provides fields to edit general obstacle properties. These fields include: • Name: enter the name you want for the fixture. • CAD File: defines the CAD file used for this fixture. • Visible: if checked you can see the fixture. When you change the state of the field, you must press Apply for the action to take place. • Type: set by Roboguide. This is a primitive entity of Box, Cylinder, Sphere, or CAD image. Working with Fixtures 242 • Color: allows you to change the color of primitive objects. • Wire Frame: when enabled the object is shown as wireframe • Transparency slider bar: controls the transparency of the object. • Location: defines the location of the fixture relative to the 3D ChuiWORLD zero reference position. • Size: defines the parametric values for primitive objects. • Scale: defines the scale parameters for CAD type objects. • Show robot collisions: when checked this fixture is checked for collisions with robots in the workcell. • Lock All Location Values: when checked, locks all of the location values for the fixture. Working with the Pallet Fixture Pallet Property Page The Pallet fixture pallet property page has fields to configure the pallet in your PalletPRO workcell. Fields include: • Pallet properties o Number: is the Pallet ID number used by PalletTool. o Index Time: is the time used to determine the delay between when a Pallet is full to when a new pallet is put into the workcell. This delay is used for simulation purposes. • Teach Aid o Orientation: defines the origin of the pallet for palletizing. It also defines how the X direction of the UTOOL lines up with the pallet. FANUC Robotics recommends that you select the station origin to optimize cycle time and prevent collision of the units during palletizing. This will generally be at one of the two corners farthest from the infeed. If the robot cannot reach the corner, you can place the origin somewhere other than the corner of the pallet, then use pallet offset information under Pallet Station setup. 243 Working with Fixtures When you select an orientation a flat box with an arrow appears on the pallet (). The arrow lies along the build direction of the pallet station (or the arrow of the fixture plate). The build direction is the direction in which PalletTool will build the unit load. It is also the direction in which the arrow of the fixture plate points. The orientation of the fixture plate also determines the positive and negative directions for the pallet approach length and the pallet approach width. The pallet approach length and width are values that can be adjusted to optimize how the robot places units on the pallet. The orientation selection on the Pallet Tab provide the following definitions for the pallet. Length on Length. The arrow is along the length of the pallet and defines the X direction of the UTOOL to be along the length of the pallet. Width on Length. The arrow is along the width of the pallet and defines the X direction of the UTOOL to be along the length of the pallet. o X offset, Y offset: specifies the distance to shift the origin of the pallet station along the length of the pallet station. Pallet offset (length) and (width) are typically used when the robot cannot reach the corner of the infeed in order to teach the origin. Since PalletPRO has knowledge of the workcell and automatically determines the origin, it may not be necessary to set the offset values. o Move To: select this to move the robot to the origin position created by PalletPRO. • Pallet IO o Pallet Present DI: Is the IO point used to detect that a pallet is present. o Pallet Index DO: Is the IO point used to signal a pallet index. Working with Fixtures 244 Working with the Pallet Fixture Pallet Positions Property Page The Pallet Fixture pallet positions property page is used to teach special positions specific to a pallet. Positions include: • Slip Sheet Position: the slip sheet position is the initial drop location for a slip sheet. Generally, for PalletPRO, this is the surface of the pallet at the center of the pallet. PalletPRO automatically generates this position when the pallet is put in the workcell. o If you move the pallet, PalletPRO automatically updates the position to be the center of the pallet. o If you move the robot and record a new position this would be the new slip sheet position. o If you record a new slip sheet position and then move the pallet, PalletPRO will move the slip sheet position to center of the pallet at the new location, and maintain the recorded slip sheets z height. • Diagonal Return position: can be used to decrease cycle time. A diagonal retreat path can be used when the pallet retreat position is higher than the infeed perch position. Defining the origin of the pallet station The origin of the pallet station defines where the robot will start the unit load processing. To define the origin of the pallet station 1. Open the pallet station property page for the desired pallet station 2. Select the Pallet Tab 3. In the Teach Aid / Orientation part of the page you can select the desired origin point. 4. Select the desired origin. 5. Press OK or Apply to save the changes. Working with Fixtures 245 Teach the Pallet Slip Sheet Position Since PalletPRO has knowledge of the pallet, it automatically initializes the pallet position to the center of the pallet station at the surface of the pallet station. You may modify the position with the following procedure. To teach the pallet slip sheet position 1. Open the pallet station property page for the desired pallet station 2. Select the Pallet Positions Tab 3. Move the robot to the desired position 4. Press Record for the Slip Sheet position 5. Press Apply or OK to save changes Teach the Pallet Diagonal Return position Since PalletPRO has knowledge of the pallet, it automatically initializes the pallet position to a logical height above the infeed. You may modify the position with the following procedure. To teach the pallet Diagonal Return position 1. Open the pallet station property page 2. Select the Pallet Positions Tab 3. Move the robot to the desired position 4. Press Record for the diagonal return position. 5. Press Apply or OK to save changes Working with Fixtures 246 Reducing cycle time when the pallet retreat position is lower than the infeed clear position PalletTool / PalletPRO supports a clear enable path. This can be used when the pallet retreat position is lower than the infeed clear position. Using this path, you can direct the robot arm to go only up to the height of P3 by passing infeed perch position P2, and then move horizontally to P3. To use this option, you must make sure that there are no obstacles in the path and that the other infeed will not interfere with the path. PalletTool Optional Path To enable this feature, you must set the "Clear return enable" item on the SETUP Pallet System tab on the robot property page. This feature will take effect for all pallets Reducing cycle time when the pallet retreat position is higher than the infeed perch position PalletTool / PalletPRO supports a Diagonal Return path to reduce cycle time. This can be used when the pallet retreat position is higher than the infeed perch position. The robot arm will move from the pallet retreat position horizontally to a user-taught pallet clear position. The robot will then move to the next infeed's clear position and then continue the pick and place cycle as usual. When you record this position the diagonal return position is used to shorten the distance traveled by the robot. The following figure shows how the position is used. The dashed line is the default path used by PalletTool. The solid line shows how the robot moves to diag return pos before moving to the infeed. The diagonal return position is only used by PalletTool / PalletPRO if the position is above the infeed. Only the x and y coordinates are used, and PalletTool / PalletPRO automatically calculate the height. PalletTool Diagonal Retreat Path To enable this feature, you must set the "Diagonal return enable" item on the SETUP Pallet System tab on the robot property page. You must also teach the pallet clear positions for all of your pallets. The height of the pallet clear is determined during execution. You must make sure that this position is taught with the whole gripper clear of the pallet. Working with Fixtures 247 10.1.3 PalletPRO Slip Sheet Dispenser Fixture Property Tabs Using the Slip Sheet Dispenser Fixture property tabs A slip sheet or tier sheet is a sheet of heavy paper or cardboard that is placed between the layers of a unit load. Slip sheets provide added load stability, particularly when columnar patterns are used. Some unit loads are built directly on a slip sheet or tier sheet, instead of on a pallet. Slip Sheet Dispenser property pages are provided to define general fixture properties and slip sheet specific properties. Tabs include: • General Tab • Slip Sheet Dispenser Tab PalletPRO provides slip sheet dispenser fixtures to enable slip sheet simulation. PalletPRO automatically calculates key Slip sheet positions (search start and search end) because it has knowledge of the slip sheet dispenser in the workcell. If your unit loads require slip sheets, you must • Enter complete layer spacing information during Unit Load Setup, for each unit load that uses slip sheets. • Position the slip sheet magazine (container holding slip sheets) properly in the workcell. • Record the position registers used by the slip sheet program. Slip sheet search attempt information will automatically be calculated from the position register information PalletPRO initializes this value, but you can change it. Using the Fixture General tab The General Tab of the Fixture Properties page provides fields to edit general obstacle properties. These fields include: • Name: enter the name you want for the fixture. • CAD File: defines the CAD file used for this fixture. • Visible: if checked you can see the fixture. When you change the state of the field, you must press Apply for the action to take place. • Type: set by Roboguide. This is a primitive entity of Box, Cylinder, Sphere, or CAD Working with Fixtures 248 image. • Color: allows you to change the color of primitive objects. • Wire Frame: when enabled the object is shown as wireframe • Transparency slider bar: controls the transparency of the object. • Location: defines the location of the fixture relative to the 3D ChuiWORLD zero reference position. • Size: defines the parametric values for primitive objects. • Scale: defines the scale parameters for CAD type objects. • Show robot collisions: when checked this fixture is checked for collisions with robots in the workcell. • Lock All Location Values: when checked, locks all of the location values for the fixture. Working with the Slip Sheet Dispenser Tab The slip sheet dispenser tab provides fields to define and record the search start and end positions for a slip sheet dispenser. PalletPRO provides slip sheet dispenser fixtures to enable slip sheet simulation. PalletPRO automatically calculates key Slip sheet positions (search start and search end) because it has knowledge of the slip sheet dispenser in the workcell. If your unit loads require slip sheets, you must • Enter complete layer spacing information during Unit Load Setup, for each unit load that uses slip sheets. • Position the slip sheet magazine (container holding slip sheets) properly in the workcell. • Record the position registers used by the slip sheet program. Slip sheet search attempt information will automatically be calculated from the position register information PalletPRO initializes this value, but you can change it. Working with Fixtures 249 10.1.4 PalletPRO Pallet Dispenser Fixture Property Tabs Working with Pallet Dispensers Simulation of Pallet Picking PalletPRO 6.31 Rev E supports the simulation of picking a pallet from a pallet dispenser and placing it at the pallet station with a vacuum gripper, bag gripper or fork gripper. Conversely, during depalletizing, the robot picks up the pallet and places it in the pallet dispenser. Steps to Setup Pallet Picking and Placement 1. Create a workcell. In the workcell wizard, select a version higher than 6.3148 or 6.4047. If any version lower than these is chosen, pallet picking is automatically disabled. 2. In the cell browser, right click on Fixtures and choose "Add Fixture" -> "Pallet Dispenser". You can only add one pallet dispenser to a workcell. Move the pallet dispenser to the location you wish to place it in the workcell. 3. When you add the pallet dispenser, you will see the Pallet Dispenser Property page. You may verify the default "Search Start" and "Search End" position at the Pallet Dispenser calculated by PalletPRO. 4. To verify the pallet placement position calculated by PalletPRO, go to the Pallet property page (you may double click on the pallet of interest), and select the "Pallet Positions 2" tab. 5. From the Cell Browser, right click on Robot Controller properties (you can also invoke this by double clicking on the robot in the workcell), and click on the PalletSystem tab. 6. Check the "Pallet Placement" checkbox in the robot pallet system property page. Click on Apply or OK. 7. Run the simulation. 8. The Pallet dispenser will get filled with 8 pallets. If you are running Palletizing, the robot will pick the topmost pallet from the pallet dispenser and place it at the appropriate pallet station. If a slip sheet is needed, it will place it next. Then, it will place the boxes from the infeed for the first cycle. It will then switch pallets based on the "Pallet switch type" selected in the PalletSystem property page. When all 8 pallets have been used in the pallet dispenser, the pallet dispenser gets refilled automatically with 8 more pallets. Working with Fixtures 250 If you are running Depalletizing, the robot will pick slip sheets and boxes and place them on the slip sheet stand and the infeed conveyor respectively. Finally, it will pick up the pallet and place it in the dispenser. Notes & Limitations 1. Pallet picking is available only with virtual robot versions 6.31.49 and higher. It is also available with virtual robot versions 6.4047 and higher. 2. A workcell can have only 1 pallet dispenser. 3. Presently, you cannot use any CAD other than the one shipped with PalletPRO for pallet picking. 4. "PalletTool Turbo" supports pallet picking with Vacuum and Bag grippers. "PalletTool" supports pallet picking with Vacuum and Fork grippers. When you depalletize, presently, when the robot arrives at the pallet dispenser to drop the pallet, the pallet in the gripper will simply disappear. It is not added to the existing pallets in the dispenser. This limitation will be removed in a future version. 5. When you depalletize, presently, when the robot arrives at the slip sheet dispenser to drop the slip sheet, the slip sheet in the gripper will simply disappear. It is not added to the existing slip sheets in the dispenser. This limitation will be removed in a future version. 6. Presently, during depalletizing, the pallet dispenser always contains 8 pallet dispensers. 7. The PalletTool and PalletTool Turbo pallet picking and slip sheet handling programs have been modified to calculate the pallet and slip sheet placement positions automatically through KAREL programs (PMPALCTR.KL, PMSLPCTR.KL), only in simulation mode. In all previous versions, the user was required to teach these positions in Position Registers. Without using these programs, there is no flexibility to pick and place pallets of different sizes at the same pallet station. 8. When you change a gripper in the EOAT property page – for example from "Vacuum –single" to "Bag", the "Search Start", "Search End" positions of the Pallet Dispenser and the "pallet" position at the appropriate pallet station are recomputed automatically. 9. Presently, simulation will be incorrect when you attempt to modify the default positions calculated by PalletPRO in the Pallet -> Pallet Positions 2 property page or the Pallet Dispenser -> Search Start and End positions. This limitation will be removed in a future version. Working with Fixtures 251 Using the Pallet Dispenser Fixture Property Tabs Simulation of Pallet Picking PalletPRO 6.31 Rev E supports the simulation of picking a pallet from a pallet dispenser and placing it at the pallet station with a vacuum gripper, bag gripper or fork gripper. Conversely, during depalletizing, the robot picks up the pallet and places it in the pallet dispenser. Pallet Dispenser property pages are provided to define general fixture properties and pallet dispenser specific properties. Tabs include: • General Tab • Pallet Dispenser Tab The pallet dispenser tab provides fields to define and record the search start and end positions for a pallet dispenser. PalletPRO provides pallet dispenser fixtures to enable simulation. PalletPRO automatically calculates key pallet positions (search start and search end) because it has knowledge of the dispenser in the workcell. Working with Obstacles 252 11 Working with Obstacles Working with Obstacles Roboguide uses obstacles as basic workcell objects that can be used for the following: · Used as basic workcell building blocks to get a more realistic visualization of the components of the workcell (fences, "things" that are just present in the environment). · Define an entity in the workcell that the robot should not enter (fences, poles, walls, etc.) In the event that you jog into an obstacle a collision is signaled. · Define an entity in the workcell to teach positions. You may want to teach points on an obstacle so that you can then move the obstacle to ensure that the points taught are reachable by the robot. Obstacles support UFRAMEs. If you teach relative to a UFRAME then you can move the obstacle and its associated points to determine optimum robot and object locations. Adding a workcell object To add an object using the cell browser 1. Right mouse click the type of element you want to add to your workcell A popup menu will appear with selections. The popup menu will have items based upon the PRO Software plug-in and the options loaded on robots in the workcell. For example, if line tracking is enabled, you would see "add line" under the fixtures menu. 2. Select the source of the object from which it should be added. Roboguide supports a CAD Library, importing of IGES files, and primitive objects. 3. If you select CAD File a dialog is opened in which you can select the CAD File desired. You may select multiple CAD files if you want to import multiple CAD images into the workcell as a single object. Note: the origin of the combined object will be the origin of the CAD files overlaid. If you select CAD Library a dialog is opened where you can browse the CAD library and select an object If you select one of the primitives, a primitive object is loaded into your workcell with default parameters. To add an object using the main menu Working with Obstacles 253 1. From the main menu select Cell. And then select the type of object to add. 2. Select from the popup menu (if applicable) the source of the object from which it should be added. Roboguide supports a CAD Library, importing of IGES files, and primitive objects. 3. If you select CAD File a dialog is opened in which you can select the CAD File desired. You may select multiple CAD files if you want to import multiple CAD images into the workcell as a single object. Note: the origin of the combined object will be the origin of the CAD files overlaid. If you select CAD Library a dialog is opened where you can browse the CAD library and select an object If you select one of the primitives, a primitive object is loaded into your workcell with default parameters. If you select Robot, the robot serialize wizard is opened. Deleting a workcell object To delete an object using the cell browser 1. Right click on the desired object from the cell browser. 2. Select Delete <object name> from the menu. The object is deleted from the workcell. To delete an object using the keyboard 1. Left click on the desired object in the 3D World view,. or select the object with the left mouse button in the cell browser. The objects coordinate reference frame is shown. 2. Press the delete key on the keyboard. The object is deleted from the workcell. Working with Obstacles 254 Working with the Obstacle property page The obstacle property page has fields used to define obstacles in the workcell robot. Multiple tabs are used on the obstacle property page. • General Tab: is used to define basic obstacle properties such as name, location, color. • Calibration Tab: is used to calibrate the real world obstacle with the Roboguide obstacle.. Use the Obstacle General tab The General Tab of the Obstacle Properties page provides fields to edit general obstacle properties. These fields include: • Name: enter the name you want for the obstacle. • CAD File: defines the CAD file used for this obstacle. • Visible: if checked you can see the obstacle. When you change the state of the field, you must press Apply for the action to take place. • Type: set by Roboguide. This is a primitive entity of Box, Cylinder, Sphere, or CAD image. • Color: allows you to change the color of primitive objects. • Wire Frame: when enabled the object is shown as wireframe • Transparency slider bar: controls the transparency of the object. • Location: defines the location of the obstacle relative to the 3D CHUIWorld zero reference position. • Size: defines the parametric values for primitive objects. • Scale: defines the scale parameters for CAD type objects. • Show Robot collisions: when checked this obstacle is checked for collisions with robots in the workcell. 255 Working with Obstacles • Lock All Location Values: when checked locks all of the location values for the obstacle. Using the Calibration Tab You can calibrate fixture, obstacle, and machine objects in your workcell. Since parts are associated with fixtures you calibrate the part within the fixture on the fixture property page calibration tab. The calibration process matches the location of the 3D object to its real world counterpart by calculating the difference between points taught in the 3D world and the same points touched-up in the real world. Calibration of a workcell object moves the Roboguide workcell object to match the real world object. When doing a workcell calibration you teach a program touching 3 points in the Roboguide workcell and then touch the same 3 points in your real workcell. Roboguide objects are then moved based upon the least squares difference between these points Fields included on the Calibration Tab include: • Object to be calibrated: this selection appears for fixtures and machines. Since fixtures can hold parts, you can calibrate the fixture and any parts that the fixture can hold. Select the object to be calibrated from the drop down list box. • General: fields include: o TPP Name: calibration TP name. o When calibrating EOAT or Parts in an EOAT: Touchup method: defines what UFRAME to use for the calibration. o When calibrating other objects in the workcell Controller: defines which robot controller in the workcell will be used for calibration Group: The target group on the selected controller. • Step 1: Teach in 3D World: when pressed you see the message: Calibration program xxx has been created for object. Teach at least 3 points in the 3D World at unique locations on the object. Whey you have finished, return to the Calibration tab and press the ‘Store Points button. Working with Obstacles 256 NOTE: if you are calibrating a part that is on a line tracking link, Roboguide creates a TPP tracking program to do the calibration. This provides the ability to use the same tracking program on the actual workcell that is line tracking. Since with conveyor tracking systems it is difficult to duplicate the location of the part carrier on a conveyor the tracking system, the line tracking system is used to compensate for variability in the location of the conveyor on the moving line. The key is to ensure that the part is synchronized with the conveyor before doing any teaching. It is important to choose features that can be taught in both Roboguide and the real world. • Step 2: Copy & Touch-Up in Real World: when pressed you get the message: Calibration positions stored in memory – now would be a good time to save the workcell. The calibration program CAL00049 was copied to: < directory >. You must now load it onto the real controller and touch up each point at the corresponding location in the real world. When this is done, save the touched up TPP and copy it back to the same directory, overwriting the original. • Step 3: Calibrate from Touch-Up. When pressed, Roboguide loads the new calibration information and compares the original Roboguide taught calibration positions with the points taught in the physical real workcell. A least squares fit algorithm is applied. You see the following message describing the differences. The calibration process has compared the TP positions and determined that the object needs to be shifted in the following ways (relative to the robot): X, Y, Z, W, P, R offsets, Least squares fit = xxx Would you like to accept these results and shift the 3D object? If you press OK the object is adjusted to reflect these changes. Check the preview box to see the shift and OK to accept the shift. Check the adjust TPP programs selection if you want to select TPP programs for which to have positions shifted. Working with Parts 257 12 Working with Parts Working with Parts Parts are objects that the robot can take actions with. There is a direct relationship between fixtures and parts in the workcell. Parts are used in fixtures. Parts must be associated with a fixture and/ or with end of arm tooling before they can be used. When using Roboguide you will see a part fixture in your workcell. When a part is created it is added to the part fixture. The part fixture is only for visual confirmation. The part can not be used until it is assigned to a fixture. The general sequence for using parts is as follows: • Add a part to the workcell. After adding a part you see it on the part rack. • Associate the part with a fixture. This is done on the Parts tab for a fixture. • Define the location of the part in a fixture. This is done on the Parts tab for a fixture. • Associate the part with an End of Arm Tool. This is done on the Parts tab for an End of Arm Tool. • Define the location of the part in the End of Arm Tool. This is done on the Parts tab for an End of Arm Tool. Adding a part To add a part to the workcell 1. Use the add a workcell object procedure to add a part object. After adding the part you see the part appear on a part fixture in your workcell. The part only appears with other objects in your workcell after you associate it with another object. Parts can be associated with fixtures and tooling. Working with Parts 258 Deleting a workcell object To delete an object using the cell browser 1. Right click on the desired object from the cell browser. 2. Select Delete <object name> from the menu. The object is deleted from the workcell. To delete an object using the keyboard 1. Left click on the desired object in the 3D World view,. or select the object with the left mouse button in the cell browser. The objects coordinate reference frame is shown. 2. Press the delete key on the keyboard. The object is deleted from the workcell. Using the Part property page The part property page is used to define part properties. Fields include: • Name: enter the name you want for the part • CAD File: defines the CAD file used for this part. • Type: set by Roboguide. This is a primitive entity of Box, Cylinder, Sphere, or CAD image. • Color: allows you to change the color of primitive objects. • Mass: defines the mass of the part object. This mass value is used for motion during simulation. • Size: defines the parametric values for primitive objects. • Scale: defines the scale parameters for CAD type objects. Working with Parts 259 Using the Parts Property Page Tab The Parts Property Page Tab provides the interface to assign parts to the selected object. Parts can be added to different types of objects in Roboguide including fixtures, machines, end of arm tooling, etc. The property page effectively works the same way when assigning parts to an object. A very useful feature of the Parts property page is the ability to move the robot to the part. Roboguide understands what parts are assigned where and uses the UTOOL values and the Part location values to automatically move the robot to the desired part location. This can be done and the part offset can be "recorded" directly into the values. Fields on this tab include: • Parts list: shows the parts available in the workcell. The checkbox next to each box can be selected to assign the part to the current object. • Part Offset: is used to define the part offset in the current object. Use of the MoveTo and Record buttons can ease the accurate teaching of the part offset values. o X, Y, Z, W, P, R: defines the offset relative to the object’s origing that holds the part. o Object selection combo box:this box is used in conjunction with the MoveTo and Record buttons. With these buttons Roboguide provides efficient capability to move the robot to a part position on fixtures, and to record part offsets in EOAT and fixtures. The combo box contains all objects that have reference to the part selected in the Parts list. If the EOAT property pages are active, the list is populated with fixtures that reference the selected part. If a fixture property page is active, the list is populated with EOAT’s that reference the selected part. The detail is defined on how the information is used in the MoveTo and Record field descriptions. o MoveTo: Works in conjunction with the Object selection combo box. When pressed the robot is moved to a position that matches the part offset coordinate value for the selected property page object with the part offset coordinate value for the object selected in the Object selection combo box. After moving, the robot should have the part offsets for the two objects aligned exactly. This could be very useful when creating programs. If part offsets are all taught accurately, the robot can be moved very quickly and accurately to desired part positions. For more detail see Automatic MoveTo of robot to part in a fixture. o Record: is active when the Edit Part Offset item is selected. The record Working with Parts 260 button is used to define the part offset for the selected part in the Parts field. The part offset position can be automatically generated if the robot tooling is located at the desired pick / place point in a fixture. For more detail see Automatically generate part offsets in tooling and fixtures. o Edit Part Offset: when checked you can move the part to define the part location relative to the selected object. o Visible Teach: if enabled the part is visible when not running a program. o Visible Run: defines the initial state of the part when a program is run. If enabled the part is visible when the program starts. If disabled, the part does not show at the start of a run. Automatic MoveTo of robot to part in a fixture Roboguide provides the ability to quickly move the robot to pick and place locations in fixtures. This capability requires that the part offsets have been defined for the desired EOAT and the desired fixture. This capability is very useful when teaching pick and place workcells. Once the offsets are defined for EOAT’s and fixtures, you can program each fixtures positions very efficiently. To MoveTo the robot to a fixture part from a fixtures property pages 1. Open the desired fixtures property page 2. Select the Parts tab 3. Select the desired part from the Parts frame. The enable check box next to the part name must be enabled to make the part available with the fixture. 4. Select the robot EOAT from the Object selection combo box. All robots with EOATs that have the part associated should show in the list. 5. Press MoveTo. The robot moves so that the part in the EOAT is exactly aligned with the part in the fixture. To MoveTo the robot to a fixture part from EOAT property pages 1. Open the desired EOAT property page Working with Parts 261 2. Select the Parts tab 3. Select the desired part from the Parts frame. The enable check box next to the part name must be enabled to make the part available with the fixture. 4. Select the fixture that you want to move the robot to from the Object selection combo box. All fixtures that have the part assigned should show in the list. 5. Press MoveTo. The robot moves so that the part in the EOAT is exactly aligned with the part in the fixture. Note: if the orientation for the part location in the fixture and the orientation for the part location in the tooling is not correct the robot may not be able to move to the position. Automatically generate part offsets in tooling and fixtures PRO software provides the capability to auto generate part offsets in tooling and fixtures. After one part offset has been defined in either the tooling or a fixture, remaining part offsets can be generated using the Record button on the Parts tab for a fixture or EOAT. To auto calculate the part offset in end of arm tooling, the part offset must be defined in a fixture. To auto calculate the part offset in a fixture, the part offset must be defined in an end of arm tool. Therefore, if you have defined a part offset in either a fixture or an EOAT, you can propagate through the workcell using auto calculate capability. For example, if the part offset is defined for an EOAT, this offset can be used to define the offset for fixtures. If the part offset has been defined for a fixture, this offset can be used to define the offset for an EOAT. This offset can then be used for other fixture part offset definition. To Automatically generate part offsets in fixtures 1. Assumes that the part offset has been defined for an EOAT that uses the same part as the one that will be defined in the fixture. Use the procedure Define the part location in an EOAT to define the initial part offset in the desired EOAT. 2. Jog the robot with desired EOAT active (click on the EOAT in the Cell Browser) so that the robot positions the part in the fixture as desired. Make sure the gripper is closed. 3. Open the fixture property page for the desired fixture object. 4. Click on the Parts tab Working with Parts 262 5. Select the desired part in the Parts frame by left clicking on the name. The enable check box next to the part name must be enabled to make the part available with the fixture. 6. Enable the Edit Part Offset field. 7. Select the robot EOAT from the Object selection combo box. The Record button should become active. 8. Press the Record button. The part offset should be auto calculated and loaded in the Offset fields. 9. Press OK or Apply to make the change permanent. To Automatically generate part offsets in tooling 1. Assumes that the part offset has been defined for a fixture that uses the same part as the one that will be defined in the EOAT. Use the procedure Define the part location in a fixture to define the initial part offset in the desired fixture. 2. Jog the robot with desired EOAT active (click on the EOAT in the Cell Browser) so that the robot is positioned as desired to pick or place the part in the fixture.. 3. Open the property page for the desired EOAT. 4. Click on the Parts tab 5. Select the desired part in the Parts frame by left clicking on the name. The enable check box next to the part name must be enabled to make the part available with the EOAT. 6. Enable the Edit Part Offset field 7. Select the desired fixture from the Object selection combo box. The Record button should become active. 8. Press the Record button. The part offset should be auto calculated and loaded in the Offset fields. 9. Press OK or Apply to make the change permanent. Working with Parts 263 Make a part visible or invisible in a fixture It is possible to control the visibility of a part at teach time and the initial visibility of a part when running a program. To make a part visible or invisible in a fixture 1. Select the desired fixture that has the part associated 2. Open the property page for the fixture 3. Select the Parts Tab on the fixture property page 4. Select the desired part in the Parts frame. 5. Check Visible at Teach time field to make visible or Uncheck Visible at teach time field to make invisible at teach time. Check visible at run time if you want the initial state of the part in the fixture to be visible when a simulation is started, or uncheck visible at run time if you want the initial state of the part in the fixture to be not visible. 6. Press Apply Set the initial state of a part for program run You may initialize the visibility for a run of a program for a part in the end of arm tooling or a part in a fixture. To set the initial state of a part for program run: 1. Open the property page for the object that contains the part desired (EOAT, fixture, machine, etc.) 2. Select the Parts tab 3. Select the desired part from the Parts frame 4. To make the part initialize visible when running a program enable the Visible at Run Time field. To make the part initialize not visible when running a program disable the Visible at Run Time field 5. Press Apply Working with Parts 264 Define the part location in a fixture To define the part location in a fixture 1. Select the desired fixture that has the part associated 2. Open the property page for the fixture 3. Select the Parts Tab 4. Select the desired part from the Parts frame 5. Check the Edit Part Offset check box 6. There are multiple ways to define the part location value: o Direct Entry: enter the part location values into the , Y, Z, W, P, R Part Offset fields. o Move with the mouse: move the part triad to the desired location. Press Record Part Offset button, and the values are copied into the X, Y, Z, W, P, R fields. o Automatically generate part offset using the Record button. For more detail see Automatically generate part offsets in tooling and fixtures . 7. Press Apply when done. Define the part location in the End of Arm Tooling To define the part location in the End of Arm Tooling 1. Open the EOAT property page 2. Select the Parts Tab 3. Select the desired part from the Parts frame 4. Check the Edit Part Offset check box Working with Parts 265 5. There are multiple ways to define the part location value: o Direct Entry: enter the part location values into the , Y, Z, W, P, R Part-inTool Offset fields and press Apply. o Move with the mouse: Check the Edit Part Offset check box, and move the part triad to the desired location. Press Record Part Offset button, and the values are copied into the X, Y, Z, W, P, R fields. Press Apply when done. o Automatically generate part offset using the Record button. For more detail see Automatically generate part offsets in tooling and fixtures . 6. Press Apply when done Using the Part Rack property page The part rack is shown in workcells in order to show parts that have been added into the workcell. The part rack is for visualization only and should not be used to build the workcell simulation. When the workcell is run, the part rack is automatically hidden. Fields on the property page include: • Name: PartRack and cannot be changed. • Visible: if enabled the part rack will show in the workcell • Location: is the location of the part rack in the workcell. Teaching a Program 266 13 Teaching a Program Teaching a program Roboguide provides the capability to create robot programs. As you edit in PRO Software, you record and adjust robot program lines. Key features that Roboguide provides include: • Reach validation: when you record a robot position it is checked for reachability. If the robot can reach the position the position triad is green. If the robot can not reach the position the position triad is red. • Real robot programming: you are teaching a real robot. Roboguide uses a virtual robot controller that executes the same robot checks as a physical robot controller. As you jog the robot, errors are created when you have motion issues such as limit errors and singularity. • Stepping through program motion: as you step programs in PRO Software, motion reach problems between points are found. Roboguide uses the same motion system as the actual robot controller to run TP programs. Roboguide has two methods to teach robot programs. • Roboguide Simulation Programs and editor. Roboguide provides a limited but simple robot program editor. This editor is used to quickly create programs that can animate workcells and validate cycle time. • Roboguide Virtual Teach Pendant Editor: Roboguide provides a virtual Teach pendant that has a fully functioning teach pendant interface to the robot. The teach pendant is the same software that executes on a physical robot. The Virtual TP Editor is used to create fully instruction set robot TP programs. Teaching robot programs for simulation Roboguide offers the ability to run programs offline and to animate the attachment of objects to the end of arm tooling. Roboguide adds a new type of TP program called Simulation Program. Simulation Programs exist in Roboguide and provide an easy interface to build programs that animate the pick and place of objects onto and off the end of arm tooling. The limitations of the Simulation Programs are taught using the simple Roboguide teach pendant editor which has limited TP program statements, but provides a quick and easy interface to create simulation programs. Roboguide also includes the FANUC Robotics Virtual Teach Pendant, which is an emulated teach pendant similar to the actual teach pendant used on a FANUC Robotics controller. Teaching a Program 267 With this TP you can create .TP programs directly from the TP just like you create programs on a physical robot and TP. The limitations of using this to create programs are that there is no direct support for animating the pick and place of objects onto and off the end of arm tooling. These limitations can be overcome by combining simulation programs and TP programs together. Combining simulation and TP programs into a single animation program You may desire having TP programs on the virtual TP that provide animation when run within PRO Software. For example, you want to use the full instruction editing provided by the virtual TP and you want to see objects attached and detached from the end of arm tooling on the robot. There are multiple ways of achieving this result, and they all involve creating a master program with Calls to sub programs. Roboguide animates by using the Pick and Place Macros provided by PRO Software. These macros contain information that Roboguide uses to notify the system when to attach CAD objects to virtual objects within the workcell. The procedures defined below are keyed off the use of these macros. To animate a program with a Simulation Program as the master 1. Create an animation program that attaches and detaches graphics from the end of arm tooling. 2. Create a new simulation program. 3. Using the call instruction in the Instruction menu pulldown insert calls for each program that you want to run 4. Insert the Call to the Close Program you defined in step 1 when you want to attach a graphic to the end of arm. 5. Insert the Call to the Open Program you defined in step 1 when you want to detach a graphic from the end of arm. To animate a program with a virtual TP Program as the master 1. Create an animation program that attaches and detaches graphics from the end of arm tooling. 2. Create a new simulation program. 3. Using the call instruction in the Instruction menu pulldown insert calls for each Teaching a Program 268 program that you want to run 4. Insert the Call to the Close Program you defined in step 1 when you want to attach a graphic to the end of arm. 5. Insert the Call to the Open Program you defined in step 1 when you want to detach a graphic from the end of arm. Creating Roboguide macros that attach and detach graphics from the end of arm To create a macro that attaches a graphic to the end of arm tool 1. Create a new Simulation program . 2. Give it a meaningful name to your application. For this procedure we call the program Close 3. Open the program for edit in the Roboguide Simple TP Editor 4. Select Pick from the Instruction pull down menu item 5. Enter the fixture/ part that you want to attach from the drop down list in the instruction 6. Select Wait 0.5 from the instruction pull down menu item. 7. Save the workcell. When the save is executed Roboguide puts a TPP program version on the virtual controller. To animate from a TPP program use the Call instruction from the TPP program to this program. When the program is executed the simulation will occur. You can now use this TP program in other programs to animate the attachment of objects to the end of arm tooling. To create a macro that detaches a graphic from the end of arm tool 1. Create a new Simulation program. 2. Give it a meaningful name to your application. For this procedure we call the program Open 3. Open the program for edit in the Roboguide Simple TP Editor Teaching a Program 269 4. Select Pick from the Instruction pull down menu item 5. Enter the fixture/ part that you want to detach from the drop down list in the instruction 6. Select Wait 0.5 from the instruction pull down menu item. 7. Save the workcell. When the save is executed Roboguide puts a TPP program version on the virtual controller. To animate from a TPP program use the Call instruction from the TPP program to this program. When the program is executed the simulation will occur. You can now use this TP program in other programs to animate the detachment of objects from the end of arm tooling. Robot program types Roboguide uses programs directly on the virtual robot controller. Roboguide adds an additional type of program which exists so that Roboguide can aid in creating programs quickly that animate (attach graphic CAD images to the robot). Robot program types include: • Simulation: simulation programs are ones that Roboguide uses to animate workcells. Use a simulation type if you want to attach objects to the end of arm and move them in your workcell. When the type is Simulation you can specify what UFRAME and UTOOL to use. • None: is the basic .TP program type that the controller uses. If you select none the program will be created as a .TP program, which can include any instructions in your teach pendant program. • Macro: A macro program created as a .MR program can contain any instruction and function as a normal .TP program. However, only macro programs can be set up to be executed in a variety of ways including from operator panel buttons, teach pendant keys, and the Manual Functions menu. They can also be assigned a name in the macro table and be called with this name in a macro program. Macro programs can also be called by a program when the MACRO instruction is used. • Condition: A "ch" program has a Cond (Condition Handler) sub type. Refer to the "Advanced Functions" chapter of the robot operations manual for more information on the condition monitor function NOTE: when you change a program type from simulation type to any other robot Teaching a Program 270 controller based type you lose the ability to modify the UFRAME and UTOOL used for the program. Roboguide does this because there is no way of ensuring that the setting is correct. TP programs can use multiple UTOOL’s and UFRAME’s. To use multiple UFRAME’s and UTOOL’s in a TP program you program them from the TP editor on the virtual robot teach pendant. Using the teach quick toolbar The teach toolbar provides buttons to record, touchup and move to positions. When you are editing a program in the simulation or Teach Pendant editor, and you are on a motion line you can touchup and moveto the currently selected position. Note: in the virtual TP the currently selected position is not necessarily the highlighted position in the TP editor. It is the selected position in 3D CHUIWorld.’ In the simulation editor, you can use the record button to record points. The record button is disabled if you editing in the virtual teach pendant editor. 13.1 Adding and deleting a TP Program Adding a TP Program A program can be added in various ways. Programs can be added from the Cell Browser, Process Navigator, and main menu To Add a TP Program from the Process Navigator 1. Select the Teach TP Programs category on the Process Navigator 2. Select the Add a TP Program item To Add a TP Program from the Cell Browser 1. If the Cell Browser is not visible, open the Cell Browser 2. Right click on the Programs category. The programs category is found under Robot Controllers / Robot categories. 3. You see a menu that allows you to add a TP program or simulation program. Select Add TP Program if you want to teach the program from the virtual TP with full access to the TP programming language Select Add Simulation Program if you want to teach the program from the Roboguide simple TP Editor. 271 Teaching a Program To Add a TP Program from the main menu From the main menu, select Teach / Add TP Program To Add a TP Program from the Virtual TP The following is a summary from the robot setup and operations manual. For additional detail see your robot documentation. 1. Open the Virtual TP 2. Set the User frame number: a. Press MENUS. b. Select SETUP. c. Press F1, [TYPE]. d. Select Frames. e. If user frames are not displayed press F3, [OTHER], and select User Frame. If F3, [OTHER], is not displayed, press PREV. f. To select the user frame to use, press F5, SETIND, type the number of the user frame you want, and press ENTER. This sets the active user frame ($MNUFRAMNUM[1]) to the number of the frame you specify. 3. Name the program: . Press SELECT. a. If F2, CREATE, is not displayed, press NEXT, >. Press F2, CREATE. b. Move the cursor to a method of naming the program. The function key labels will change depending on the naming method you choose. c. Type the program name: 4. To view and modify program header information: . Press F2, DETAIL. You will see a screen similar to the following. 272 Teaching a Program a. Review the settings on the screen. If you like the settings that are displayed on the screen and want to skip setting program header information and begin editing the program. press F1, END, and skip to Defining Default Motion Instructions in this procedure. 5. To change the sub type: . Move the cursor to the sub type and press F4, [CHOICE ]. You will see a screen similar to the following. Sub Type 1 None 2 Macro 3 Cond a. Select a sub type and press ENTER. 6. To type a comment: . Move the cursor to Comment and press ENTER. a. Select a method of naming the comment. b. Press the appropriate function keys to add the comment. c. When you are finished, press ENTER. A TP Program is added to PRO Software, and a Program Property Page is shown. A program entry is made in the Cell Browser under the Programs category. Selecting a TP Program To select a TP Program from the Cell Browser 1. Left click on the program in the Cell Browser The selected program becomes visible in the 3D CHUIWorld and in the Program Teach TPP Edit window if it is already open. 273 Teaching a Program To Select a TP Program from the Virtual TP The select method is the same as the robot TP. For detailed information see the setup and operations manual for the robot. 1. Press SELECT. 2. Press F1, [TYPE]. Select from the following list (NOTE: the list might vary depending on your software configuration): All displays all programs. Jobs displays all job programs. Processes displays all process programs. TP Programs displays all teach pendant programs. KAREL Progs displays all KAREL programs. Macro displays all macro programs. Cond displays all condition monitor programs. 3. Select the name of the program you want and press ENTER. The selected program becomes visible in the 3D CHUIWorld and in the Program Teach TPP Edit window if it is already open. Opening a TP Program for edit Editing a program can be done with the Roboguide simple editor or the virtual TP editor. Roboguide simulation programs are edited with the simple editor while .TP, .MR, .CH programs are edited with the virtual TP editor. Therefore, depending on which type of program you open for edit decides which editor is used. To open a TP Program for edit using the cell browser 1. Double click the left mouse button on the desired program element in the Cell Browser or right click on the desired program element and select Teach <program name> from the drop down list. To open a TP Program for edit using the main menu 1. Select the TP program in the Cell Browser by left clicking on the program name. 2. Select from the main menu Teach / Teach <program name>. Teaching a Program 274 The program will be opened in the appropriate editor. Removing Programs To delete a program 1. Select the program to delete under the Robot Controllers / Robot/ Programs category from the cell browser by left clicking on the program name 2. Press the keyboard delete or right click on the program name and select delete from the drop down menu To delete a program from the virtual TP. 1. Press the Select button 2. Cursor to the program you want to delete 3. Press Shift-Delete 4. Select OK The program will be deleted 13.2 Using the TP Program property page Using the TP Program property page The TP Program property page provides fields to edit TP Program properties. Roboguide supports simulation programs which enable you to animate workcells (move objects in 3D ChuiWorld), and standard robot programs which run directly on a robot. Properties on the TP Program property page include: • Name: the TP Program name. You can edit the name in the provided text box. • Description: you add a text description for the program • Sub Type: this is the basic application type loaded into PRO Software. There are 4 types that Roboguide uses: Teaching a Program 275 Simulation: simulation programs are ones that Roboguide uses to animate workcells. Use a simulation type if you want to attach objects to the end of arm and move them in your workcell. When the type is Simulation you can specify what UFRAME and UTOOL to use. None: is the basic .TP program type that the controller uses. If you select none the program will be created as a .TP program, which can include any instructions in your teach pendant program. Macro: A macro program created as a .MR program can contain any instruction and function as a normal .TP program. However, only macro programs can be set up to be executed in a variety of ways including from operator panel buttons, teach pendant keys, and the Manual Functions menu. They can also be assigned a name in the macro table and be called with this name in a macro program. Macro programs can also be called by a program when the MACRO instruction is used. Condition: A "ch" program has a Cond (Condition Handler) sub type. Refer to the "Advanced Functions" chapter of the robot operations manual for more information on the condition monitor function NOTE: when you change a program type from simulation type to any other robot controller based type you lose the ability to modify the UFRAME and UTOOL used for the program. Roboguide does this because there is no way of ensuring that the setting is correct. TP programs can use multiple UTOOL’s and UFRAME’s. To use multiple UFRAME’s and UTOOL’s in a TP program you program them from the TP editor on the virtual robot teach pendant. • Utool Used: defines the UTOOL number used with this program. When teaching and running a program, positions are referenced in this UTOOL. This is a direct reference to the Tooling values specified in the Robot Controllers / Robot/ GP:1 (Robot Type)) / Tooling category in the Cell Browser. • Uframe used: defines the UFRAME number used with this program. When teaching and running a program, positions are referenced in this UFRAME. • Group mask: see the robot operations manual for more information on Group Mask. When you create a program, you define the group mask that identifies the group of axes, or motion group , that the program will control. Motion groups define different groups of axes that can be used for independent pieces of equipment, positioning tables, and other axes. There are up five motion groups available. The controller can operate a maximum of 16 axes, however, only nine axes can belong to a single motion group. Note: Multiple motion-groups must be set up before it can be used. Refer to the FANUC Robotics SYSTEM R-J3iB Controller Software Installation Manual . If a system has only one motion group, the default motion group is 1. An asterisk indicates the group is not used. You can specify a program to use all five motion groups, but only two motion groups can perform Cartesian interpolated motion within a Teaching a Program 276 single program. If you disable all groups, you cannot add motion instructions to your program. You can enable available groups by enabling the check box for the group. • Options: Ignore pause: If the program type has been set to NONE, you can use ignore pause to specify whether the program will continue to run even when an error occurs, a command is issued (such as pushing EMERGENCY STOP or HOLD), or the teach pendant is enabled. Ignore pause is allowed only in programs that do not have motion groups specified such as an I/O monitoring program. This means that programs that use ignore pause cannot contain any motion instructions. Warning: If ignore pause is set to ON, the program MUST NOT issue any motion instructions; otherwise, you could injure personnel or damage equipment. When ignore pause is set to ON , the program continues to run even when an error occurs, a command is issued, or the teach pendant is enabled. This allows the program to continue any monitoring function, such as monitoring I/O. When ignore pause is set to OFF , the program pauses when an error occurs, a command is issued, or the teach pendant is enabled. Write Protect: Write protection allows you to specify whether the program can be modified. When write protection is set to ON, you cannot add or modify any element in the program. When you have finished creating a program and are satisfied with how it works, you should set write protection to ON so that you or someone else does not modify it. When write protection is set to OFF, you can create the program and add or modify any element in the program. By default, write protection is set to OFF. This information can be displayed using the [ATTR] function key on the SELECT menu. Caution: When write protection is set to ON, you cannot modify any program header information (program name, sub type, program comment, group mask, ignore pause) except write protection. Refer to the FANUC Robotics SYSTEM R-J3iB Controller Software Installation Manual for more information. 277 Teaching a Program Using the TP Program Selected Motion Line Property page An individual TP position can be modified. • The Motion line can be modified • The position data can be modified directly or by using position "bumpbox" functionality. Fields included on the Property page include: • Motion Line Data frame: when the property page tab is initially opened the currently selected motion line is shown. o Line Increment arrows (): when pressed, increments the active TP line forward (down) and backward (up). o Line expand button(): when pressed, detailed information regarding the selected TP line is shown. TP line information and position data can be edited. Pressing the expand button on the Config string allows the configuration of the position to be edited. • Bump Box frame: provides interface to move the selected TP position incrementally relative to a selected frame of reference. o Relative To: selections for the frame in which a position can be shifted. World: position will move relative to Robot world frame Utool: position will move relative to robots utool frame. This is the frame that the position is displayed in a nodemap. Tracking schedule: if tracking is used in the system the position can be moved relative to the programs selected tracking frame. o Bump buttons: buttons for +/- X, Y, Z, RX, RY, RZ are provided. Pressing a button moves the position relative to the selected frame by the step value. o Step: move amount for translation and rotation. Teaching a Program 278 Specify the TP Program UTOOL Simulation programs allow you to specify what UTOOL to use for the program. Roboguide inserts UFRAME and UTOOL setting TP statements into the animation program. When using standard TP programs on the virtual robot you cannot modify the UTOOL and UFRAME globally for the program on the Program property pages. You must use the UTOOL and UFRAME program statements in the virtual TP editor to modify UFRAME’s and UTOOL’s in a program. To specify the UTOOL used with your simulation program 1. Open the desired programs property page. 2. Select the desired UTool from the drop down list field UTool used To Specify the UTOOL used with your TP Program in the virtual TP Editor 1. Use the UFRAME_NUM =, and UTOOL_NUM = statements in your TP program Specify the TP Program UFRAME Simulation programs allow you to specify what UFRAME to use for the program Roboguide inserts UFRAME and UTOOL setting TP statements into the animation program. When using standard TP programs on the virtual robot you can not modify the UTOOL and UFRAME globally for the program on the Program property pages. You must use the UTOOL and UFRAME program statements in the virtual TP editor to modify UFRAME’s and UTOOL’s in a program. To specify the UFRAME used with your program for a Roboguide Simulation program 1. Open the desired programs property!JumpID(`SimPRO_Creating_Workcells.hlp',`Opening_an_objects_property_page') 2. Select the desired UFrame from the drop down list field UFrame used To Specify the UFRAME used with your TP Program in the virtual TP Editor 1. Use the UFRAME_NUM =, and UTOOL_NUM = statements in your TP program 2. Ensure that the UFRAME being used while teaching is set to the same value as you Teaching a Program 279 used when setting UFRAME_NUM = in your TP program. You can set this by pressing Shift and Coord on the virtual TP. Changing a simulation program to a TP Program on the virtual robot You can convert a simulation program created with the Roboguide simple editor to a .TP program. When you convert the program you loose the ability to set the UFRAME and UTOOL globally for the program. Simulation programs allow you to specify what UFRAME to use for the program Roboguide inserts UFRAME and UTOOL setting TP statements into the animation program. When using standard TP programs on the virtual robot you cannot modify the UTOOL and UFRAME globally for the program on the Program property pages. You must use the UTOOL and UFRAME program statements in the virtual TP editor to modify UFRAME’s and UTOOL’s in a program. To change a simulation program to a TP program on the virtual robot 1. Open the property page for the desired simulation program 2. Change the subtype for the program to a robot type of NONE (.TP), MACRO (.MR) The program is converted from a simulation program and can now be selected from the virtual TP. Once you have converted the program, you can no longer edit the program in the simple editor. Adding additional TP statements to a simulation program The simple editor in Roboguide has a limited instruction set. To add additional statements to a simulation program you must convert the program to a TP program on the virtual robot. After conversion you use the virtual TP editor to edit the program. Teaching a Program 280 13.3 Jogging the robot while teaching Jogging the robot In PRO Software, the robot acts like a real robot. If you try to jog to an unreachable position it gives the same errors as a real robot. You can jog the robot with traditional Teach Pendant buttons using the Virtual Teach Pendant. PRO Software also provides a teach/ jog tool which allows you to "drag" the robot around the work envelope There are multiple ways to jog the robot. • Jogging using the teach tool • Jog using the virtual teach pendant Jogging using the teach tool For translation Along a teach tool coordinate axis: 1. Select the teach tool 2. Put the mouse cursor over the coordinate of the teach tool that you want to move the robot. The cursor will change to a hand. 3. Click the left mouse button and drag the coordinate system triad. 4. Release the mouse button where you want the robot to move to. 5. The robot will move to the position if possible. Along the CHUIWorld view plane 1. Select the teach tool 2. Put the mouse cursor over any coordinate of the teach tool. The cursor will change to a hand . 3. Press and hold down the CTRL Key on the keyboard. 4. Click the left mouse button and drag the coordinate system triad. 5. Release the mouse button where you want the robot to move to. Teaching a Program 281 6. The robot will move to the position if possible. For rotation 1. Select the teach tool 2. Put the mouse cursor over the coordinate of the teach tool that you want the robot to move about.. The cursor will change to a hand. 3. Press and hold down the shift key. 4. Click the left mouse button and drag mouse. The tool will rotate about the selected axis. 5. Release the mouse button where you want the robot to move to. 6. The robot will move to the position if possible. Show me an AVI Notes: If the robot cannot physically move to the selected position it will not. The sphere at the center of the coordinate triad will turn to red. The motion type used when the teach ball is dragged to move the robot can be set to linear or joint motion. See About the teach pendant jog panel for more information. Jogging using UFRAMEs On the Virtual Teach Pendant or the pop up Coord system toolbar you can select what jog coordinates with which to jog. If UFRAME is selected the robot will jog in the UFRAME that the currently selected for the robot in the cell browser. Jogging using the teach tool For translation Along a teach tool coordinate axis: 1. Select the teach tool Teaching a Program 282 2. Put the mouse cursor over the coordinate of the teach tool that you want to move the robot. The cursor will change to a hand. 3. Click the left mouse button and drag the coordinate system triad. 4. Release the mouse button where you want the robot to move to. 5. The robot will move to the position if possible. Along the CHUIWorld view plane 1. Select the teach tool 2. Put the mouse cursor over any coordinate of the teach tool. The cursor will change to a hand . 3. Press and hold down the CTRL Key on the keyboard. 4. Click the left mouse button and drag the coordinate system triad. 5. Release the mouse button where you want the robot to move to. 6. The robot will move to the position if possible. For rotation 1. Select the teach tool 2. Put the mouse cursor over the coordinate of the teach tool that you want the robot to move about.. The cursor will change to a hand. 3. Press and hold down the shift key. 4. Click the left mouse button and drag mouse. The tool will rotate about the selected axis. 5. Release the mouse button where you want the robot to move to. 6. The robot will move to the position if possible. Teaching a Program 283 Notes: If the robot cannot physically move to the selected position it will not. The sphere at the center of the coordinate triad will turn to red. The motion type used when the teach ball is dragged to move the robot can be set to linear or joint motion. See About the teach pendant jog panel for more information. 13.4 Using the Roboguide Simulation Editor Using the Roboguide Simple Editor Basic TP Program statements can be taught with the Roboguide TP Editor. PRO Software’s TP Editor provides the capability to add motion statements and other key program statements that are required in simulation. Statements include: • Motion statements • Close/ Drop statements • Wait statements • Call statements V6.40 Roboguide added the capability to create simulation programs for robots with auxiliary axes and for multiple group configured robots. Extended axes will be recorded automatically with simulation programs. Multiple groups are recorded like the actual robot controller. The groups recorded are dependent on the group mask of a program. What is the default motion statement The default motion statement type is defined as the last motion statement type entered in a program, unless you have not taught a new line in your current Roboguide session. In this case, it is the motion instruction type defined as the first default motion type on the Roboguide main menu Tools / Options / Teach page. If no motion statements have been recorded in your Roboguide session, the default is the first default motion instruction on the Tools / Options / Teach property page. Teaching a Program 284 Changing TP editor record defaults To change the TP Editor record defaults – for simulation editor 1. Open the main menu Tools / Options / Teach page 2. Edit the 4 Record Templates listed on the Tab 3. These defaults now show up on the Record Dropdown of the Program Teach page. Recording points at the robots current position To record a position at the robots current position 1. Jog the robot to the desired position to teach a position. 2. Press the Record Button on the Program Teach menu to record the default motion line, OR, Press the down arrow button to the right of the Record Button () and select from the list of possible motion instructions. Recording points on a surface To record a position on the surface of an object in the workcell 1. Position the mouse cursor at the point on the object that you want to record a position. 2. Use the move robot to surface shortcut keys to move the robot to the surface position. An arrow appears that shows the normal vector on the object. 3. Press the left mouse button while holding the keys and the robot moves to the position. 4. Press record in the editor. Teaching a Program 285 Moving to a point on a surface It is very easy to move to a point on a surface. Each End of Arm Tool can be setup to make moving to a surface simple. To move to a position that is normal on a surface 1. Position the mouse cursor at the point on the object that you want to move to. 2. Hold down Shift and Ctrl keys on your keyboard. An arrow appears that shows the normal vector on the object. 3. Press the left mouse button while holding the keys and the robot moves to the position. To move to a position that is normal on an edge 1. Position the mouse cursor at the point on the object that you want to move to. 2. Hold down Shift and Alt keys on your keyboard. An arrow appears that shows the normal vector on the object along the edge the mouse is currently over. 3. Press the left mouse button while holding the keys and the robot moves to the position. To move to a position that is normal on a vertex 1. Position the mouse cursor at the point on the object that you want to move to. 2. Hold down Shift, Alt, and Ctrl keys on your keyboard. An arrow appears that shows the normal vector on the object at the closest vertex to which the mouse is over.. 3. Press the left mouse button while holding the keys and the robot moves to the position. To move to a position that is the center of an arc or circle 1. Position the mouse cursor on the edge of the arc or circle on the object that you want to move to the center of 2. Hold down Shift and Alt keys on your keyboard. An cross appears that shows the center of the arc on the object that the mouse is over.. 3. Press the left mouse button while holding the keys and the robot moves to the Teaching a Program 286 position. All of these move functions are available from the Move Quickbar menu Roboguide provides a move to retry function that is applied when Roboguide is in MoveTo retry mode. When the mode is enabled, Roboguide will re-calculate the position orientation that it is attempting to move to and retry the move. A search is continued until either the position can be moved to or no reachable position is found. The move created has a position value, but it is not guaranteed that you can move to this position because of orientation. If the move can not be made the Teach Tool sphere turns red. Re-orient the end of arm tool, and try the move again. Recording Pickup and Place points automatically Roboguide provides a capability to automatically create pick and place locations based upon how parts are defined in tooling and fixtures.. Key to this capability is accurately defining the part location in the end of arm tooling and in the fixture that holds the part. Roboguide auto-aligns the robot such that the position defining the part in gripper and position defining the part in the fixture are aligned. Roboguide enables the position statement that comes directly before a Pick or Drop instruction for this capability. For this feature to work well you must define the part in tooling and define the part in the fixture. . This feature is only available in the Roboguide simple editor. To record pickup and Drop points automatically 1. Record a motion line in the TP Program. 2. Insert a Pick or Drop instruction into the TP Program, and associate the instruction with a fixture in the instruction drop down list box. 3. Select the motion line immediately preceding the Close or Drop Instruction (the one created in step 1) 4. Select the Drop down list arrow next to the Touchup button on Program Teach menu bar, and select Touchup to Pick/Drop Point from the list. Roboguide automatically calculates the position value that aligns the part in the tooling with the part in the fixture. Teaching a Program 287 Automatic MoveTo of robot to part in a fixture Roboguide provides the ability to quickly move the robot to pick and place locations in fixtures. This capability requires that the part offsets have been defined for the desired EOAT and the desired fixture. This capability is very useful when teaching pick and place workcells. Once the offsets are defined for EOAT’s and fixtures, you can program each fixtures positions very efficiently. To MoveTo the robot to a fixture part from a fixtures property pages 1. Open the desired fixtures property page 2. Select the Parts tab 3. Select the desired part from the Parts frame. The enable check box next to the part name must be enabled to make the part available with the fixture. 4. Select the robot EOAT from the Object selection combo box. All robots with EOATs that have the part associated should show in the list. 5. Press MoveTo. The robot moves so that the part in the EOAT is exactly aligned with the part in the fixture. To MoveTo the robot to a fixture part from EOAT property pages 1. Open the desired EOAT property page 2. Select the Parts tab 3. Select the desired part from the Parts frame. The enable check box next to the part name must be enabled to make the part available with the fixture. 4. Select the fixture that you want to move the robot to from the Object selection combo box. All fixtures that have the part assigned should show in the list. 5. Press MoveTo. The robot moves so that the part in the EOAT is exactly aligned with the part in the fixture. Note: if the orientation for the part location in the fixture and the orientation for the part location in the tooling is not correct the robot may not be able to move to the position. Teaching a Program 288 Modifying TP Program Statement Elements To modify TP Program Statement Elements 1. Select the desired TP Line by left clicking on the line in the Program Teach Window 2. Associated with each instruction field is a drop down box. Select the desired line element by clicking on the drop down box. A list of choices is shown. 3. Select from the list Changing TP editor record defaults To change the TP Editor record defaults – for simulation editor 1. Open the main menu Tools / Options / Teach page 2. Edit the 4 Record Templates listed on the Tab 3. These defaults now show up on the Record Dropdown of the Program Teach page. Touchup points To touchup the position associated with an already created TP Program line 1. Select the desired TP Line by left clicking on the line in the Program Teach Window 2. Jog the robot to the desired location 3. Press Touchup from the Program Teach menu 4. The position associated with the TP Program line is recorded as the current position of the robot. Teaching a Program 289 Move to points To move to a position recorded in a TP Program 1. Select the desired TP Line in the Program Teach editor by left clicking on the line. 2. Press MoveTo on the Program Teach menu 3. If possible, the robot moves to the position recorded with the TP Line. Open and Close the tooling in the program Roboguide uses the Drop and Pick instructions for simulation purposes. These instructions tell Roboguide when to actuate the gripper and when to open the gripper. A Pick Instruction is used to tell Roboguide to use the Actuated Gripper CAD, and to display the part in the gripper. The Drop Instruction tells Roboguide to use the default CAD, and to show the part in the associated fixture. To Open / Close the tooling in your program 1. Select Drop / Pick from the Inst menu item in the Program Teach Window 2. Select the desired part from the drop down box included with the Drop / Pick instruction inserted into the program 3. Select the desired fixture from the drop down box included with the Drop / Pick instruction inserted into the program 4. Select the desired EOAT from the drop down box included with the Drop / Pick instruction inserted into the program. The list provides the UTOOL selected in the Program properties page. 5. A Drop / Pick instruction is in the program. Roboguide will use this instruction during simulation. Teaching a Program 290 Adding Wait statements To add a Wait statement to your program 1. Select Wait (desired time) from the Inst menu item in the Program Teach Window 2. A Wait instruction is added to the program. If desired, edit the field within the Wait instruction to change the time. Deleting program lines To delete a program line 1. Select the line to delete 2. Press the keyboard delete key Stepping programs To step a program 1. Left click on the desired start line in the Program Teach window. 2. Left click on the Forward () or Backward () on the Program Teach menu The robot will single step from the selected line. Teaching a Program 291 13.5 Multiple Node Edit About multiple node edit Multiple node edit provides functions to graphically edit multiple TP program positions. The interface shows the TP program and selections to modify single and multiple line position data of a program. Using the Node Editing dialog The node editing dialog is used modify location data of program positions. Positions can be selected either in 3D CHUIworld or program display grid included in the dialog. Fields included in the dialog include: • Program grid: displays a listing of the selected program from which TP lines can be selected. • Show motion lines only checkbox: when checked the Program grid displays only motion lines contained in the selected TP program. • Select Multiple Points button: when selected, the mouse can be used to select nodes. To create a selection box, hold the left button mouse at the start point and drag the mouse to the end point of the box. TP nodes are highlighted as they are selected inside the box. • Position component boxes: boxes are shown for X, Y, Z, W, P, R. The value shown in the box is the amount selected positions will be bumped when an arrow button is pressed . Positions are bumped in the frame selected in the bump relative combo box. • Direct Entry: when selected, data entered into the position component boxes is absolute (ie. The information represents the position component value). • Bump Relative: when selected a position is moved relative to the current position in the frame of reference selected in the bump relative combo box. Teaching a Program 292 Node selection Procedure to use the Program grid to select nodes 1. Left mouse click on a TP line in the Program grid to start the selection. 2. While holding the CTRL key, select additional TP lines by left mouse clicking on the TP line in the Program grid. While holding the SHIFT key, select another line in the Program grid. All lines between the start selection and the finish selection are highlighted. As TP Positions are selected, they are highlighted in CHUIWorld, and in the Program grid. Procedure to use CHUIWorld to select nodes 1. In the Node Editing dialog, press the Select Multiple Points button 2. To create a selection box, hold the left button mouse at the start point and drag the mouse to the end point of the box. TP nodes are highlighted as they are selected inside the box. 13.6 Viewing a TP Program About viewing TP Programs TP programs are viewed as node maps in CHUIWorld. Nodemaps have the following characteristics: • Positions are shown with triad’s. • Node triad colors are defined by the UFRAME reference in which they are taught. • Line tracking programs triads are colored based upon the tracking schedule they use. • Coordinated motion nodes are drawn in the reference of the coordinated frame from which they are taught. Teaching a Program 293 • Remote TCP nodes are drawn in reference to the remote TPC frame in which they are taught. • TP positions are drawn with connecting lines between TP Program lines in the program. o The color of joint, linear, and circular are designated with unique colors • The fields that display as part of the Nodemap can be controlled. See Changing viewing options for TP Program Nodemap for more information. Selecting a TP line and position A TP line and its position are selected using one of multiple methods: From The Virtual TP: • The virtual Teach Pendant functions like a physical robot teach pendant. Select the program for the Teach Pendant editor and use the arrow keys to chose the desired TP line. From CHUIWorld: • Single left mouse click on the desired position: the TP line is selected in the Teach Pendant editor and on the Program Selected Motion Line property page tab. • Double left mouse clicking on a TP program node has different effects depending on how the TP node multi mouse click option is set: o Option to open the Virtual TP editor chosen: the Virtual Teach Pendant is opened, and the selected line is displayed on the TP. o Option to open the Virtual TP editor chosen not set: Open the program Selected Motion Line property page: The program Selected Motion Line property page tab is shown. The Tools Options Teach property page has settings that control how the double mouse click should act on the interface. Teaching a Program 294 Changing viewing options for TP Program Nodemap Viewing Nodemaps and the EOAT’s associated with positions in a program can be controlled. Different line information can be enabled and disabled for display as part of a nodemap. The EOAT can be shown at all TP positions or at the selected TP position. To set display options for Nodemap 1. From the main menu select View / Program Details 2. Left click on the option that you want to modify. If there is a check mark next to the option, the viewing option is enabled. To set the EOAT display option for program positions 3. From the main menu select View / Program Details 4. To view the EOAT at all positions select EOAT CAD at all positions. To view the EOAT at the selected positions select EOAT CAD at selected position. For PaintPRO, connector line colors can be modified. Additional menu options are provided. To modify connector line colors see Paint TP line color setup property page tab 13.7 Validating a Program Validating a Paint Job or Process program There are several characteristics that can effect the execution of motion and process statements for programs. Characteristics include: • Distance between consecutive positions: as programmed speed increases the minimum distance between positions increases if you want to reach and maintain programmed speed. • Gun On and Gun Off sequence: PaintTool requires that Gun ON process statements have a Gun OFF process statement before the next Gun On process statements. PaintPRO provides a paint Job and Process validation tool. The validation tool provides diagnostic information for Jobs and Processes. Teaching a Program 295 To run the validation tool on a job or process 1. Right mouse click on the job or process in the cell browser. Selection Validate from the popup menu After selection the selected job or process is analyzed. Process programs that are defined in a Job are analyzed. When complete a dialog is shown that has information about the program or programs (job). A grid is shown with each line of the grid having detailed information for a program line in the job or program. Detailed information includes: o TP Program line o Distance: this is the distance of the position for the program line from the previous position. o TCP Extreme: for GunON program lines the TCP Extremen value is shown. o Status: displays the status of the line. If the validator finds an issue the issue is displayed in the Status line. To re-validate the selected Job or Process when the dialog is open, press the Re-Validate button. Teaching a Program 296 13.8 Teaching using UFRAMEs About Frames A frame is a set of three planes at right angles to each other. The point where all three planes intersect is the origin of the frame. This set of planes is called a Cartesian coordinate system . In the robot system, the intersecting edges of the planes are the x, y, and z axes of the frame. Frames are used to describe the location and orientation of a position. The location is the distance in the x, y, and z directions from the origin of the reference frame. The orientation is the rotation about the x, y, and z axes of the reference frame. When you record a position, its location and orientation are automatically recorded as x, y, z, w, p, and r relative to the origin of the frame it uses as a reference. The location of a position is expressed as three dimensions, which are measured in millimeters from the origin in the x, y, and z directions. For example, 300,425,25 means the position is 300mm in the x direction, 425mm in the y direction, and 25mm in the z direction from the origin. The orientation of a position is expressed as three dimensions, which are measured in degrees of rotation about the x, y, and z axes. For example, 0,-90,0 means that the position is rotated -90 degrees about the y axis and is not rotated about the x or z axes. Kinds of Frames The robot uses four kinds of frames. The different kinds of frames make it easier to perform certain tasks. The kinds of frames are • World frame - the default frame of the robot and generally at the base of the robot for non aux axis systems. • Tool frame - a user-defined frame. The tool frame is a Cartesian coordinate system that has the position of the tool center point (TCP) at its origin. You must set the tool frame to define the point on the applicator, gun, torch, or tool at which the painting, welding, sealing, handling, or other application work is to be done. • User frame - a user-defined frame. The user frame is the reference frame for all recorded positional data in a program. You can modify the user frame to offset the positions in the program easily. You can define this frame anywhere and it is relative to the world frame of the robot. • Jog frame - a user-defined frame. The jog frame is a frame in which to jog easily. It allows you to align the x, y, z coordinate system about a fixture or workpiece that is rotated with respect to the world frame of the robot • Remote TCP (RTCP) Frame- The remote TCP (RTCP) frame is a kind of user frame Teaching a Program 297 you must define in order to use remote TCP jogging and the remote TCP motion option. You define this frame using the location of the remote TCP as the origin of the frame. Teaching using UFRAMEs UFRAME’s provide a very useful way to localize taught points relative to a frame of reference in the workcell. With Roboguide you associate UFRAME’s with workcell objects. This is done on UFRAME property page. For example, if you are picking a part from a "pick" fixture, you may want to teach positions taught for this pick fixture with a UFRAME that is associated with the "pick" fixture. If you want to move the fixture around the workcell to relocate where the part is "picked" from, you simply move the fixture and points move with it. If you do not associate the fixture with a UFRAME all points are taught relative to robot world. If you move the fixture, the points do not move. If a UFRAME is not assigned to a program, you can move the robot and points move with the robot. If you assign a UFRAME to the program, you move the object with the defined UFRAME and the points move. If the UFRAME is assigned, moving the robot, does not move the points. Roboguide allows you to change position references very easily. This can be done before or after positions are taught. Create a program using UFRAME The general method to use UFRAME’s with PRO Software: 1. Assign a UFRAME to the object that you want to teach points relative to. This is generally a fixture or an obstacle. 2. Assign the same UFRAME to the program that you create. All positions are taught relative to the UFRAME. See Assigning a UFRAME to a program for a procedure. When you record robot positions for this program, they are recorded relative to this UFRAME, which is attached to the workcell object. If you move the workcell object you will see the points move. Teaching a Program 298 Changing taught positions from World (no UFRAME) reference to a UFRAME reference Roboguide programs, by default, use robot World coordinate system (UFRAME0) to record positions. If no UFRAME is assigned to a program, positions are recorded relative to the robot world coordinates. The benefit of defining positions this way is the simplicity of definition. The drawback is that if you want to move positions taught on an object (part, fixture, obstacle) you must adjust the positions relative to the robot and not the desired object. Roboguide provides a mechanism that makes it easy to change points taught relative to robot world to points relative to a UFRAME. The robot has multiple UFRAMEs. To change the taught positions, you can simply assign a workcell object to one of the robots UFRAME’s. When the object is moved the points will move with it. To change points taught with respect to robot world to points taught relative to an objects UFRAME: 1. Assign a UFRAME to the desired workcell object that you want points to be recorded relative to. 2. Assign the same UFRAME defined for the desired workcell object to the program that has the robot positions of interest. The recorded positions in the program are now defined relative to the UFRAME just assigned to both the workcell object and the program. When you move the workcell object the points will move with it. It is possible to make the new UFRAME assigned to be the same as the Robot World frame, by making the UFRAME relative to robot be all zeroes. Specify the TP Program UFRAME Simulation programs allow you to specify what UFRAME to use for the program Roboguide inserts UFRAME and UTOOL setting TP statements into the animation program. When using standard TP programs on the virtual robot you can not modify the UTOOL and UFRAME globally for the program on the Program property pages. You must use the UTOOL and UFRAME program statements in the virtual TP editor to modify UFRAME’s and UTOOL’s in a program. To specify the UFRAME used with your program for a Roboguide Simulation program 1. Open the desired programs property!JumpID(`SimPRO_Creating_Workcells.hlp',`Opening_an_objects_property_page') Teaching a Program 299 2. Select the desired UFrame from the drop down list field UFrame used To Specify the UFRAME used with your TP Program in the virtual TP Editor 1. Use the UFRAME_NUM =, and UTOOL_NUM = statements in your TP program 2. Ensure that the UFRAME being used while teaching is set to the same value as you used when setting UFRAME_NUM = in your TP program. You can set this by pressing Shift and Coord on the virtual TP. 13.9 Using UTOOL's with Roboguide programs About using end of arm tooling End of arm tooling serves multiple purposes in Roboguide. It is used for teaching as well as for simulation. Roboguide supports the ability to use multiple images for your end of arm tooling so that animations can be accomplished. Through the setup of these images and special programming instructions you can create animations of your robot process. Like an actual robot, you have multiple end of arm tooling selections, and you can follow a general process for defining end of arm tooling in Roboguide. Roboguide supports definition of multiple Tooling. In the cell browser you can see that a robot has multiple UT elements under the Tooling category for a robot. Each of these elements can have associated tooling properties. To change the end of arm tooling on the robot, left click on the desired tooling from the EOAT elements in the cell browser. Roboguide automatically changes the end of arm tool on the robot. By default, Roboguide uses UT:1 when creating a new program. On the property page for a created program you can define what UTOOL the program should use. By defining multiple tooling, you can change UTool definitions for your program to quickly check reachability of different end of arm tooling. To use UTOOL’s with your TP Program you first define Tool properties for each UTool and assign a UTool used value in the Program property page. The simulation manager that runs when you execute programs automatically changes the EOAT cad displayed based upon the UTOOL number assigned to the executing position. Teaching a Program 300 Checking reach with multiple tooling It is very easy to change the end of arm tooling on the robot. There are multiple situations where you would want to check reach. • Check general reach within the workcell: by selecting multiple tool definitions and jogging the robot in the workcell, you can quickly determine the robots reach for different tooling. When left click on an EOAT in the Tooling category for a robot in the cell browser the tooling definition is automatically loaded. • Check different tooling settings for a program. Different tools can be checked for a program cycle by first defining the tool configurations for each EOAT on the robot. On the desired programs property page you define what Tool the program should use. Change the tooling used on the program property page, and then move to program lines or run the program. Specify the TP Program UTOOL Simulation programs allow you to specify what UTOOL to use for the program. Roboguide inserts UFRAME and UTOOL setting TP statements into the animation program. When using standard TP programs on the virtual robot you cannot modify the UTOOL and UFRAME globally for the program on the Program property pages. You must use the UTOOL and UFRAME program statements in the virtual TP editor to modify UFRAME’s and UTOOL’s in a program. To specify the UTOOL used with your simulation program 1. Open the desired programs property page. 2. Select the desired UTool from the drop down list field UTool used To Specify the UTOOL used with your TP Program in the virtual TP Editor 1. Use the UFRAME_NUM =, and UTOOL_NUM = statements in your TP program Teaching a Program 301 13.10 Coordinating multiple robot workcells Control issues with multiple robot workcells Multiple robot workcells require may require coordination between robots in the workcell. In workcells where robots must work in the same workspace, communication between robots is required in order for each robot to know when it can enter the workspace without colliding with another robot. For example, a robot may place a part on a fixture, and a different robot may pick the robot from the fixture to process the part through a system. Coordination is required for the place robot not to enter the fixture until the pick robot is clear, and the pick robot not to enter the fixture until the place robot is clear. Roboguide multiple robot workcells can have IO interconnections defined between robots. With shared IO between robots, IO signals can be utilized to handshake between robots. A robot can wait for clear to enter signals from other robots. Coordinating processes with IO between multiple robots IO can be used to coordinate actions between 2 robots in a workcell. This topic presents 2 methods to coordinate robots and handshake signals between 2 robots. An example is presented to illustrate the methods. Roboguide example workcells <install drive>\Program Files\FANUC\PRO\SimPRO\Sample Workcells\HandlingPRO_multi_robot_handshake_example is a workcell that has the concepts presented. To use the workcell, you will have to open the workcell and load the programs in the example workcell directory. To load the programs after the workcell has been opened, right mouse click on the programs node for robot 1 and select Load TP programs. Browse to the sample workcell directory and open the Robot_1_TP_Programs subdirectory. Select all the programs and press open. Repeat for Robot 2. The 2 methods utilized include: • Signal handshaking utilizing the controller multitasking capability. • Signal handshaking utilizing the controller multitasking and TP condition instructions Either method can be used. The multitasking method may be straightforward, but requires a separate controller task for each signal handshake. The TP condition method utilizes the TP condition handlers, and requires a single extra task that can have multiple condition handlers defined. This method may be more efficient overall. Which method should be used? It really depends on how many signals must be Teaching a Program 302 coordinated. If many signals must be coordinated, the TP Condition method may have less overhead. The example workcell has 2 robots. Robot 1 picks a part from a fixture and places the part on a work fixture. Robot 2 picks the part from the work fixture and places the part on an outgoing place fixture. Robot 1 cannot enter the work fixture if robot 2 is in the work zone. Robot 2 can not pick from the work fixture if robot 1 is in the work fixture. 8 IO points are defined between robots. Robot 1 DO 1-8 are defined as Robot 2 DI 1-8. Robot 2 DO 1-8 are defined as Robot 1 DI 1-8. For more information regarding setting up IO interconnections between robots. See Working with IO Interconnections between robots in the workcell. Robot 1 must wait for a clear to enter signal (DI[1]) from robot 2 (DO[1]). When robot 1 gets the signal robot 1 (DO[1]) must signal to robot 2 (DI[1]) that it is ok for robot 2 to drop the clear to enter signal. It is very important to coordinate the handshake signal in both directions or race conditions can be created. If robot 2 does not drop the clear to enter signal, robot 1 could potentially enter the work fixture multiple times if robot 1’s cycle time is lower. This method provides a good method to properly sequence a workcell. When robot 1 is clear of the work fixture it signals (DO[2]) robot 2 (DI[2]) that it is OK to enter. When robot 2 receives the signal robot 2 (DO[2]) signals robot 1 (DI[2]) that it is ok for robot 1 to drop the clear to enter signal. Signal handshaking utilizing the controller multitasking capability This method spawns tasks to do synchronization. A task is created for each handshake signal. This method works well when there are not a high number of signals to be controlled. Control on robot 1 The robot 1 Main program: Robot 1: Main2 1: DO[1]=OFF ; 2: DO[2]=OFF ; 3: WAIT 2.00(sec) ; 4: RUN HNDSHAK1 ; 5: RUN HNDSHAK2 ; 6: LBL[1] ; 7:J P[1] 100% CNT100 ; 8:L P[2] 300mm/sec FINE ; 9: CALL PICK ; 10:L P[3] 1000mm/sec CNT100 ; 11: WAIT DI[1]=ON ; 12: DO[1]=ON ; 13:L P[4] 1000mm/sec CNT100 ; 14:L P[5] 300mm/sec FINE ; 15: CALL DROP ; Teaching a Program 303 16:L P[6] 1000mm/sec CNT100 ; 17: DO[2]=ON ; 18: JMP LBL[1] ; To coordinate the robot 2 to robot 1 clear to enter signal, the Main2 TP program does a RUN HNDSHAK1. On Robot 1, MAIN2 starts a task (RUN HNDSHAK1) to control the handshake signal that tells robot 2 that robot 1 has received the clear to enter signal (HNDSHAK1.TP). HNDSHAK1.TP waits for the robot 1 signal (DO[1]) and then waits for the response from robot 2 (DI[1]) at which time robot 1 knows that robot 2 has received (and dropped) the clear to enter signal. Robot 1 can then stop telling robot 2 that it has received and acted on the signal by lowing DO[1]. To coordinate Robot 1 to robot 2 clear to enter signal, the Main2 TP program does a RUN HNDSHAK2. Robot 1 uses DO[2] to signal to robot 2 that it is ok for robot 2 to enter the work fixture and pick the part. Robot 1 must wait for an acknowledgement that robot 2 has seen the signal (DI[2]). Robot 1 can then lower the signal (DO[2]), and wait for acknowledgement that robot 2 has lowered the signal (DI[2]). Control on robot 2 The robot 2 Main program: Robot 2: Main2 1: DO[1]=ON ; 2: DO[2]=OFF ; 3: WAIT 2.00(sec) ; 4: RUN HNDSHAK1 ; 5: RUN HNDSHAK2 ; 6: LBL[1] ; 7:J P[1] 100% FINE ; 8: WAIT DI[2]=ON ; 9: DO[2]=ON ; 10:L P[2] 1000mm/sec CNT100 ; 11:L P[3] 300mm/sec FINE ; 12: CALL PICK ; 13:L P[4] 1000mm/sec CNT100 ; 14:L P[5] 1000mm/sec CNT100 ; 15: DO[1]=ON ; 16:L P[6] 300mm/sec FINE ; Teaching a Program 304 17: CALL PLACE ; 18:L P[7] 1000mm/sec CNT100 ; 19: JMP LBL[1] ; To coordinate robot 2 to robot 1 clear to enter signal, the Main2 TP program does a RUN HNDSHAK1. Robot 2 uses DO[1] to signal to robot 1 that it is ok for robot 1 to enter the work fixture and place the part. Robot 2 must wait for an acknowledgement that robot 2 has seen the signal (DI[1]). Robot 2 can then lower the signal (DO[1]), and wait for acknowledgement that robot 1 has lowered the signal (DI[1]). To coordinate the robot 2 to robot 1 clear to enter signal, the Main2 TP program does a RUN HNDSHAK2. On Robot 2, MAIN2 starts a task (RUN HNDSHAK2) to control the handshake signal that tells robot 1 that robot 2 has received the clear to enter signal (HNDSHAK2.TP). HNDSHAK2.TP waits for the robot 2 signal (DO[2]) and then waits for the response from robot 1 (DI[2]) at which time robot 2 knows that robot 1 has received (and dropped) the clear to enter signal. Robot 2 can then stop telling robot 1 that it has received and acted on the signal by lowing DO[2]. Signal handshaking utilizing the controller multitasking and TP condition instructions This method utilizes the controller condition handler capability (MONITOR instruction). A condition (CH program) is created for each handshake signal. This method works well when there are several signals to be controlled since it only requires one additional background task. Control on robot 1 The robot 1 Main program: Robot 1: Main 1: DO[1]=OFF ; 2: DO[2]=OFF ; 3: WAIT 2.00(sec) ; 4: RUN HNDSHAKE ; 5: LBL[1] ; 6:J P[1] 100% CNT100 ; 7:L P[2] 300mm/sec FINE ; 8: CALL PICK ; 9:L P[3] 1000mm/sec CNT100 ; 10: WAIT DI[1]=ON ; 11: DO[1]=ON ; 12:L P[4] 1000mm/sec CNT100 ; Teaching a Program 305 13:L P[5] 300mm/sec FINE ; 14: CALL DROP ; 15:L P[6] 1000mm/sec CNT100 ; 16: DO[2]=ON ; 17: JMP LBL[1] ; Two condition handler programs (CHDROP.TP and CHR2PCK.TP) are defined to handle handshakes. Each TP has a subtype of condition. The RUN HNDSHAKE instruction starts and additional task the enables the condition monitoring. This task now runs in the background and does not affect the motion of the main running program. The Wait DI instruction at the end is used to keep the task from terminating. CHDROP.TP is used to define a monitor for the handshake of the robot 2 to robot 1 clear to enter signal. When the signal is activated the condition is met and HSKDROP.TP is called. HSKDROP.TP waits for acknowledgement from robot 2 (DI[1]) that robot 2 has received the ok to lower the permission to enter the work fixture. Robot 1 can then lower the handshake (DO[1]) and re-enable the monitor.. CH2PCK.TP is used to define a monitor for the handshake of the robot 1 to robot 2 clear to enter signal. When the signal is activated the condition is met and HSKR2PCK.TP is called. HSKR2PCK.TP waits for acknowledgement from robot 2 (DI[2]) that robot 2 has received the ok to lower the permission handshake signal. Robot 1 can then lower the handshake (DO[2]) and re-enable the monitor.. Control on robot 2 The robot 2 Main program: Robot 2: Main 1: DO[1]=ON ; 2: DO[2]=OFF ; 3: WAIT 2.00(sec) ; 4: RUN HNDSHAKE ; 5: LBL[1] ; 6:J P[1] 100% FINE ; 7: WAIT DI[2]=ON ; 8: DO[2]=ON ; 9:L P[2] 1000mm/sec CNT100 ; 10:L P[3] 300mm/sec FINE ; 11: CALL PICK ; 12:L P[4] 1000mm/sec CNT100 ; 13:L P[5] 1000mm/sec CNT100 ; 14: DO[1]=ON ; Teaching a Program 306 15:L P[6] 300mm/sec FINE ; 16: CALL PLACE ; 17:L P[7] 1000mm/sec CNT100 ; 18: JMP LBL[1] ; Two condition handler programs (CHR1DROP.TP and CHPICK.TP) are defined to handle handshakes. Each TP has a subtype of condition. The RUN HNDSHAKE instruction starts and additional task the enables the condition monitoring. This task now runs in the background and does not affect the motion of the main running program. The Wait DI instruction at the end is used to keep the task from terminating. CHR1DROP.TP is used to define a monitor for the handshake of the robot 2 to robot 1 clear to enter signal. When the signal is activated the condition is met and HSKR1DRP.TP is called. HSKR1DRP.TP waits for acknowledgement from robot 1 (DI[1]) that robot 1 has received the ok to lower the permission to enter the work fixture. Robot 2 can then lower the handshake (DO[1]) and re-enable the monitor.. CHPICK.TP is used to define a monitor for the handshake of the robot 2 to robot 1 clear to enter signal. When the signal is activated the condition is met and HSKPICK.TP is called. HSKPICK.TP waits for acknowledgement from robot 1 (DI[2]) that robot 1 has received the ok to lower the permission handshake signal. Robot 2 can then lower the handshake (DO[2]) and re-enable the monitor.. Other methods: Create a single robot cell controller that controls signals to all robots. A workcell could be created that has a single controller that monitors all robot interactions and controls what each robot will do. Teaching a Program 307 13.11 Workcell level positions - Targets About Targets Targets are workcell level positions. A target position provides a level of indirection for robot positions. .TP positions are directly owned by a robot within the program that it is taught in. Targets can be assigned to a robot at generation time, and can be used by multiple robots. It simply represents a position in the workcell that can be used to move a robot to. Targets provide great flexibility in sharing workcell positions between robots. If a desire is to determine which of multiple robots should process certain positions in a workcell, targets are a efficient way to try different scenarios of position distribution between robots. A workcell has points of interest where the user will want a robot to move, have UFRAME assigned, or potentially some other function. For workcells with multiple robots, it is not always known which robot will process a defined point of interest. Targets can be used for multiple functions: • If it is not known the best way to process positions in a workcell, target functionality provides a mechanism to create different programming scenarios to test in order to realize a desired result. For example, if a workcell with 2 robots has several positions of processing interest (such as Spot Welding), it is not known the best distribution of positions to which robot in order to achieve desired results (such as cycle time or sequencing). Using targets, you can define groups of targets and then generate TP programs to either robot and run the resulting programs to view results. Targets have the following characteristics: • Targets are workcell level positions. • Targets can be attached to an object in the workcell. When the object moves the target will move with it. A target can be attached on the targets property page or in the Target Group Edit dialog. • Targets can be assigned to a robot, and then a TP program can be generated for the robot using the Target information. The generated program is taught relative to defined robot frame and utool. Targets are assigned to a robot in the workcell using a Target Group. Teaching a Program 308 • Targets can be reused on different robots in the workcell. This allows for a common position (such as pickup) to be reused for different robots. • Programs cannot be generated from targets until they have been assigned to a Target Group. Target representation in the workcell / cell browser: Targets are shown in the workcell under the object that the target is attached to. When a target is initially created is attached relative to the workcell origin. If the attachment is changed to a different object the target is shown under the object that the target defines as is attachment. When the object that a target is attached to moves, the target moves with the object. Target Groups Targets are created in a workcell and then assigned to a Target Group. Target groups have the following characteristics: • A Target Group is a collection of targets that are grouped together. • Targets in a target group can be edited using the Target Group Editor. Target Naming in a Target Group: When a target is added to a target group, the name is shown as the same name as the parent target. The parent target represents the individual target and its reference in the workcell, and, specifically, not the representation in the target group. The same target can be used multiple times in a Target Group. Changing the name of the parent target in the workcell, changes the name in all Target Groups that have the target assigned. Getting started with targets Targets provide great flexibility in sharing workcell positions between robots. If a desire is to determine which of multiple robots should process certain positions in a workcell, targets are a efficient way to try different scenarios of position distribution between robots. When using targets you should consider how targets will be utilized: • Do you really want to use targets for the task? If positions of interest will always be for a specific robot, it may be best to teach a TP program. • Will targets be used by multiple robots? If yes, targets are very flexible since you can generate positions for different robots easily. • Will targets be attached to an object in the workcell? If you want the target to move Teaching a Program 309 when an object moves, you will want to attach the target to the object. • Will the targets be attached with a robot? If you want the target to move when a robot is moved in the workcell, you will want to attach the target to the desired robot. • Will groups of targets be used together? Targets that will be used together should be generated into a Target group. General steps in using targets: 1. Generate targets using the Target quickbar. Group targets logically together when generating. Targets can always be added to or deleted from a group later. 2. Edit the target group by opening the Target Group edit dialog 3. Define the generation parameters for TP programs generated. Consider if a UFRAME should be used. UFRAMEs provide good flexibility in moving groups of TP positions. See About UFRAME's and workcell objects for more information. 4. Define the order of the targets by pressing the Members button under the group modify frame, or press Order to sort the targets for minimum distance. 5. Define the motion parameters and whether an approach and retreat position should be generated. 6. Use the Orientation settings to obtain desired orientations for targets. 7. Generate the TP program and test run. Using the Target Quickbar The Target quickbar is displayed by pressing the Target quickbar toolbar icon (). There are buttons/ modes for: • Air Target: when depressed an air target is created with each left mouse click at the mouse cursor. The target is added under the Targets category of the cell browser. • Surface Target: when depressed a target is generated with each left mouse click at the normal of the surface that mouse cursor is over. The target is added under the Targets category of the cell browser. Teaching a Program 310 To create a target at the center of an arc, the SHIFT and Alt key must be depressed to show a crosshair at the center of the arc. When the left mouse button is clicked a target is generated at the center of the arc. • At robot TCP: when depressed a target is generated at the active / selected robots TCP. • To Group: when depressed, a new target is added to the Targets category and the current cell browser selected Target group. If not Target group is selected a message is posted. Creating Targets Targets are created using the Target Quickbar. The Target quickbar is displayed by pressing the Target quickbar toolbar icon (). There are buttons/ modes for: • Air Target: when depressed an air target is created with each left mouse click at the mouse cursor. The target is added under the Targets category of the cell browser. • Surface Target: when depressed a target is generated with each left mouse click at the normal of the surface that mouse cursor is over. The target is added under the Targets category of the cell browser. To create a target at the center of an arc, the SHIFT and Alt key must be depressed to show a crosshair at the center of the arc. When the left mouse button is clicked a target is generated at the center of the arc. • At robot TCP: when depressed a target is generated at the active / selected robots TCP. • To Group: when depressed, a new target is added to the Targets category and the current cell browser selected Target group. If no Target group is selected a message is posted. To create a Target in the Air (not at the surface of an object): 1. Open the Target Quickbar by pressing the Target Toolbar Button() 2. Select Air Target button Teaching a Program 311 3. When the left mouse button is pressed and released, a Target is generated at the location of the mouse cursor. For more detail on the location of the generated Air Target see the Additional background information on Target creation further on in this topic. To create a Target on a surface: 1. Open the Target Quickbar by pressing the Target Toolbar Button() 8. Select Surface Target button 9. When the left mouse button is pressed and released, a Target is generated at the normal to the surface where the mouse cursor is located Roboguide displays surface normal line at the surface where the mouse cursor is located. For more detail on the location of the generated surface Target see the Additional background information on Target creation further on in this topic To add a surface or air target to a target group during creation: 1. Select the desired Target Group in the cell browser. 10. On the Target quickbar select ToGroup. When Targets are generated they will be added to the selected Target Group. Additional Background information on Target creation: Creating Air Targets: Roboguide generates Air Targets based upon the current field of view, and the current location of the selected robot TCP or the selected Target. When creating a Target in space, Roboguide applies constraints to define the depth of field of view. When the mouse is clicked in a location, there are infinite positions that define the location where the mouse was clicked. There are positions that are through the position of the mouse cursor that extend the depth of the workcell. Roboguide uses an imaginary plane for the depth that is parallel to the current field of view that bisects: • The currently selected Target or, • The selected robot TCP if a Target is not selected. The following figures illustrate: The light purple plane shown in the figure attempts to show the imaginary plane used to define the target depth in the field of view. (note that the plane is not used in the actual Teaching a Program 312 implementation. It is only presented to attempt to explain the target creation technique): The following figure shows the creation of a target relative to a selected target. The light purple plane shown in the figure attempts to show the imaginary plane used to define the target depth in the field of view. (note that the plane is not used in the actual implementation. It is only presented to attempt to explain the target creation technique): Orientation of created Targets: When a target is created it takes on the orientation of the • The currently selected Target or, • The selected robot TCP if a Target is not selected. Creating Surface Targets: When the Surface Targets button is depressed, Roboguide shows a normal vector as you drag the mouse over objects. The normal will take on different characteristics as you drag the mouse. • Drag over a surface: as the mouse cursor is dragged over a surface a normal is shown. • Drag over an edge: the edge highlights and the normal is shown on the edge as you move over the edge. • Drag over a vertex: a vertex highlights as you move the mouse cursor close to a vertex. • Hold the Shift and Alt key and drag over an arc (hole): if the Shift and Alt Key are depressed a cross will show at the center of an arc. When the left mouse is clicked a target is created is created at the surface where the mouse is clicked with the orientation set by the following definition: • The normal shown at the mouse is aligned with the currently selected robot’s EOAT surface to normal definition on the EOAT UTOOL tab. • The other target coordinates are determined to be the minimum rotation from: o The currently selected Target or, o The selected robot TCP if a Target is not selected. Teaching a Program 313 Import point data to targets Targets can be created from .CSV format. To import CSV data into targets: 1. Right mouse click in the cell browser on the object in the workcell that you want the point data to be relative to. If you want the target to be workcell relative right mouse click on the Targets category of the cell browser. A popup menu is opened. Select Create targets from point data in the menu. An import dialog is displayed. 2. Select the Prefix for targets imported. All targets imported will get the prefix and a number for a target name. Select the file. Select the reference that imported targets should be relative to. If imported targets should be added to a Target Group enable the Create Target Group selection. 3. Press OK on the dialog Targets should be created from the CSV data. The csv file from which target data is imported must: 1. use '.' as decimal symbols, 11. use ',' as field separators, and 12. have each record in each new line This is a sample csv file of 3 targets with x, y and z values: 1. 1,100.1,200.1 13. 2,200.2,400.2 Teaching a Program 314 14. 3,300.3,500.6 This is a sample csv file of 3 targets with x, y, z, w, p and r values: 1. 1,100.1,200.1,0,90,180 15. 2,200.2,400.2,0,90,90 16. 3,300.3,500.6,-90,0,0 Creating Target Groups Target groups are collections of Targets that are grouped to create robot programs. Targets assigned to a Target Group can be edited using the Target Group Edit dialog. You have control of members of the Target Group. Target groups are created using different methods: • Add a Target Group from the cell browser • Add a Target Group from the Target Quickbar From the cell browser: 1. Right mouse click on the Target Groups category and select Add Target Group. A new Target group is added. From the Target Quickbar: 1. Open the Target Quickbar by pressing the Target Quickbar toolbar button (). 17. Press the ToGroup button: if a Target Group is not currently selected in the cell browser, a prompt is provide that allows you to automatically add a new Target group. When a Target Group is created and is the actively selected object in the Cell Browser, created targets are added to the selected Target Group. Teaching a Program 315 Using the Target Property Page The target property page has fields that define the properties of a target. Fields include: • Name: the name of the target. • Visible: when enabled, the target is visible. When disabled, the target is not visible. • Attached: defines the object in the workcell that is associated with the target. The default associates the target with the workcell. If you associate the target with an object the target will move when the object is moved. Targets can be attached on a Targets property page or on the Target group edit dialog. When a target has been attached to an object it is moved under the object in the cell browser. • Location: defines the X, Y, Z, W, P, R for the target. The numbers shown here are relative to either the robot or the assigned object in the attached field. • Show Reference: if workcell relative is selected the location data is shown relative to the workcell zero. If the target is attached to an object in the workcell, the second option in the show reference frame should show a selection for selected object relative. If selected, the location values are displayed relative to the selected object. • Move Robot: pressing MoveTo will move the robot to the target. • Lock all Location values: hen checked, locks all of the location values for the target. Open the Target Group Edit Dialog Open the Target Group Edit Dialog: 1. Right mouse click on the Target Group entry in the cell browser. 18. Select Edit Target group from the popup menu The Target Group Edit Dialog is opened Teaching a Program 316 Edit a target group Targets in a target group can be modified using the Target Group Edit Dialog. The Target Group Edit dialog has fields to edit single targets or multiple targets. General information on Edit Target Group dialog: • Open the dialog by right mouse clicking on the desired Target Group and select Edit Target Group. • Use the Target / Motion Grid to select desired targets. Individual lines or multiple lines can be selected. Multiple lines are selected using the shift and ctrl keys. • All fields are "hot". Making a change immediately changes data. • Undo button works were appropriate. General procedure to edit Targets: Define the target generation parameters: 1. On the generation parameters tab define the generated TP program name, target controller, group mask, uframe and utool that Roboguide should use when generating a TP program from Target group data. Edit the detailed Target motion line data 1. Select the desired target lines using the Target Group Frame 19. Modify locations and orientations to meet process requirements 20. Generate the program on the Generation Parameters tab. The following describes each field on the Target Group Edit dialog Fields on the Target Group Edit Dialog include: Target Group Frame: • Target / Motion Grid: displays each target member as a line in a grid. Information on each line is organized in columns: o Target: Name of the target o Motion: the generated TP line information 317 Teaching a Program o Option: the optional Motion information o Approach: Yes/No: defines if approach point should be added o Retreat: Yes/No: defines if retreat point should be added The grid works as a target selector. Individual lines or multiple lines can be selected. Multiple lines are selected using the shift and ctrl keys. Changes made to fields on the dialog effect selected / highlighted target lines. • Group Modify frame: o Members: when pressed a dialog is presented where target members in the group can be modified. o Order: when pressed, the order of the targets is changed. The order is sorted to minimize the distance of travel of the robot. o Reverse: reverses the order of targets in the list. o Reference combo box: a dropdown list is presented. Select the desired object that member targets should be attached to. Notes: Targets will show under the attached object in the cell browser. All targets in all target groups will receive this new attachment. • Target Creation frame: o Insert: when pressed a target is inserted before the currently selected target. The location value of the new target is a copy of the target that was highlighted when insert was pressed. The location value can be modified in the motion line data detail. o Delete: deletes the selected targets from the target group Note: the target is not deleted from the workcell. It is only deleted from the Target Group. Teaching a Program 318 • Motion frame: o Preview: when pressed the robot moves to each target in the group. The robot is not actually moved to the position. Only the joint angles are checked and shown for reachability. When complete the robot will return to the position it was in before Preview was selected. Generation Parameters Tab: • Target Group Frame: o Target Group Name: the name for the Target Group o TP Program Name: the name of the generated TP Program • TP Generation Targets Frame: o Controller: lists the robot controllers in the workcell. Select the desired controller for program generation. o Group: target robot group that the program is generated for. o Group Mask: for a multiple group systems, the output program groups that will be included when positions are created. o Uframe: the target UFRAME can be defined. If a program is generated relative to a UFRAME all positions are generated relative to the selected UFRAME. For more information on UFRAMEs click here. If the output program should use a Remote TCP frame, the UFRAME that is defined for the remote TCP should be selected If Remote TCP is loaded as an option on the virtual robot, the RTCP option checkbox shows. When selected, the program is generated with positions located using the Remote TCP, and all motion statements along the segment include the RTCP motion option. . o Utool: the target UTOOL can be defined. • Generate Feature TP Program: when this button is pressed the TP program is generated for the Target Group. 319 Teaching a Program Target Edit Tab: Motion Line Data frame: fields in this frame are adjusted to control target position (location and orientation), teach pendant motion line, and approach/ retreat motion enable disable and location information. When a field is changed in the frame all selected targets in the Target / Motion Grid are acted upon. Fields in this frame include: • Target Motion Line Data: the motion line data defined for the target is displayed similar to the following: Pressing the button expands the interface so that motion and position information can be modified. When expanded o use the motion edit combo boxes to modify the fields for the motion line o Use the position and configuration fields to modify the information for the position data. The configuration defined will be the configuration defined for generated positions in the TP program. There are two modes that the position edit operate: Direct Entry: location and orientation values are define the location and orientation for selected targets Bump Relative: when enabled, the values for location and orientation define how much a the position should be translated or rotated when the respective arrow keys are pressed. o Approach checkbox: when enabled, an approach position in enabled for the target. When a program is generated from targets, an approach position will be created with the displayed motion line information. Pressing the button expands the interface so that motion and position information can be modified. Position information entered defines an approach position relative to the target for which the approach is being generated. o Retreat checkbox: when enabled, a retreat position in enabled for the target. When a program is generated from targets, a retreat position will be 320 Teaching a Program created with the displayed motion line information. Pressing the button expands the interface so that motion and position information can be modified. Position information entered defines a retreat position relative to the target for which the retreat is being generated. • Orientation Frame: functions in the orientation frame are used to modify the orientation of target data. Orientations can be modified using Auto adjustment or Manual Adjustment. o Auto Adjust: applications require different alignment of positions relative to other positions. . Adjustments are done relative to the settings in the Axis Assignments expand button. When the Axis Assignments button is pressed, the axis assignments are expanded and displayed. Settings include: Normal to surface: defines which target axis to align with the normal to the selected surface. Along the path: defines which target axis to align from one target to the next / or along the robots path trajectory. Across the path: automatically set dependent upon Normal to surface, and Along the path settings. Several options are provided to modify the orientations of selected targets: Change the tool spin orientation along the targets: option is used to smooth orientations along a group of targets. Before Adjust After Adjust Change tool spin orientation along the next target: A targets vector is aligned to point at the next target. Before Adjust After Adjust Blend orientation from first to last target: orientations are blended from the beginning to the end of the selected targets in the list. 321 Teaching a Program Set orientation to normal of closest surface: when selected Roboguide searches to find the closest object to the target and sets the target’s orientation to the normal of the surface found. Set the orientation same as Tx (where x is the first target selected in the Target Grid: orientations of selected nodes will get the same orientation as the first target in the selection It is common that target locations and orientations are not reachable by the selected robot. Roboguide can search for a reachable orientation for selected targets. Auto Search for reachable: when the Search button is pressed, Roboguide modifies each selected target to make it reachable. Roboguide searches by rotating about the selected Normal to surface setting the Axis Assignments expander. If Move Robot while searching is enabled, the robot is moved while the search takes place. o Manual Adjust: used to align all selected targets to a manually selected surface normal. When Start is pressed, and the mouse is dragged over surfaces a normal line is shown at the mouse pointer. When the left mouse button is pressed, all selected targets in the grid will have the Normal to surface Axis Assignment vector aligned with the normal line. Adding targets to a Target Group After a Target Group has been generated, it may be desirable to add additional Targets to the group. How you add targets to a Target Group depends on if the Targets are added to a group after creation or during creation of the target. Targets can be added to a target group at target generation time, or they can be added to a Target group from the Target Group Edit Dialog by pressing the Members button. To add Targets to a Target Group during Target creation: When a Target Group is the actively selected object in the Cell Browser, created targets are added to the selected Target Group 1. Ensure that the Target you want to add new targets to is selected in the cell browser 21. Open the Target Quickbar 22. Select the ToGroup button Teaching a Program 322 23. As targets are generated they are added to the selected Target Group. To add Targets to a Target Group after they have been created: Targets have been created, and you want to add them to a Target Group. 1. Open the Target Edit Dialog for the desired Target Group. Right mouse click on the Target Group and select Edit Target Group from the popup menu 24. Select the Members button. A dialog is displayed. Select the target or targets in the left list. Press the arrow buttons in the center of the dialog to move targets between the Available Targets list and the Used Targets list. Generating a program from a Target Group When a target group is defined, a TP program can be generated from the Target data in the Target Group. To generate a program from the Target Group Edit dialog 1. Open the Target Group Edit Dialog 25. Press Generate Feature TP Program button on the Generation Parameters tab To generate a program from a target group using the the cell browser 1. Right mouse click on the desired target group and select Generate TP Program from the popup menu. Using the Target Group Property Page The target group property page is similar to the CAD to Path feature general property page. The difference is that the name and TP program name refer to a target group and not to a feature and feature TP respectively. Teaching a Program 323 13.12 Automatic Path Generation About program generation Robot programs can be generated from defined features in PRO software. Features and parts Features are owned by the parts they are created on. Since parts can be used in multiple fixtures, a feature can be used to generate programs for a part in several locations. The fixture to generate a TPP part program on is a setting in the CAD to Path feature property pages. Features and segments defined: Features are 3 dimensional lines in PRO’s CHUIWorld. Robot programs can be generated from PRO’s features automatically. A feature can be generated from: • CAD Edges • Freehand drawn lines: mouse clicking on CAD surfaces to create a node by node line. Similar to a line creation tool in a drawing package. A feature can be broken into segments. A segment can be broken into multiple segments. The result is a feature that can contain many separate segments. When creating a program from the feature, different creation properties can be given to each segment in the feature to generate desirable robot process programs. For more information on CAD features click here. The following presents an example feature with 3 segments that was generated along a CAD Edge. Each segment has its own path generation properties. The yellow segment is the actively chosen segment. A feature is organized in the cell browser, and is owned by the part category in the cell browser. It is visualized as a tree with the feature being the root node. The feature and its segments represent the 3D line that should be used to generate robot programs. Creating features A feature is a "3D" line segment that can be generated in multiple ways in PRO Software. 1. From a CAD entity. Roboguide has tools to track the edges of CAD entities and create a feature. 26. Drawing a line on the CAD. This works like most drawing packages where you click and drag the mouse to create a line segment. As the line segment is drawn it is mapped to the CAD surface on which you are creating the line. There are multiple line drawing options: Teaching a Program 324 Once a feature is defined you can break the feature into segments that make up the feature. Each segment can then have a unique path taught for it. This allows multiple process changes to easily be handled when creating programs from features. As you define features, they are represented in the Cell Browser under the Part object that created the feature with. The feature stays with the part, even if you use the part in multiple locations in your workcell. When generating a program, you can select which instance of the part should have the program generated. The feature property pages provide settings to control the generation of TP programs. Once parameters are defined, TPP programs are generated automatically when Apply is pressed. For more detail on the types of features supported see What features are available in PRO Software. Programs generated from features and segments: A feature and its segments have properties for the program generation for the entire generated program. Each segment can set properties for the generation of the chosen segment. Each segment has properties that can be defined for the loaded PRO process plugin. This provides great flexibility in generating programs from a feature to meet desired process needs. Once a feature has been defined, the feature and its segments have property pages that define how robot programs should be generated from the feature. Properties can be adjusted and programs generated so that you can very quickly make changes to output programs to obtain desired robot programs. For more information on what features can be created see What features are available in SimPRO. Setting up defaults for program generation to optimize desired results When generating programs it is desirable to have the programs generated take into account the configuration of the end of arm tooling. For example, if the tool center point on the robot has a definition that has the TOOL Z vector defined into the tooling (as ARC does), the paths being generated should take this into account. A TOOL Z vector defined out of the tooling would require the Z vector of a created point to be opposite in direction in order to attain desired results. PRO allows you to setup the CAD to PATH generation properties on the Tooling property pages. Fields include approach and retract distance and speeds, and tooling orientation setup for program generation. For more information see Setting up a UTOOL for path generation . The tooling defines defaults, but many factors can influence the generation of the programs. The tooling defaults can be overridden on a features generation property pages. These include part location and orientation relative to the robot. Program generation methods: When generating a program, PRO uses the normal to the surface that was used to create the feature as its reference starting point for generation. Therefore, if a program is generated with no modifications to the generation parameters, the resulting program provides points with orientation normal to the surface that was used to generate the feature. Teaching a Program 325 PRO generates the number of positions based upon several factors including: • The specified speed: PRO optimizes the spacing between created positions by placing positions at a distance based upon the motion system capability at the specified speed. • Linearity between points: PRO minimizes the number of created positions by testing for linearity between positions. The determination of linearity can be adjusted on the feature to program generation property pages. • Circularity between points: PRO determines if three created positions define an arc that can be defined using circular motion. If PRO determines and arc exists it automatically creates the circular motion program lines to provide the desired arc. The determination of circularity can be adjusted on the feature to program generation property pages. • By default a feature has one segment when it is first created. Feature properties effect segments that make up the feature. When a segment is first created it inherits the properties of the feature. The first segment properties control the approach position and the last segment controls the retract position. If there is only one segment for the feature, the segment properties control the approach and retract positions. The approach point is generated using the orientation of the first point of the first segment in the feature. The retreat point is generated using the orientation of the last point of the last segment in the feature. The feature owns the approach/retract distance and speed properties. • Roboguide minimizes the number of points that meet the criteria defined on the property pages for linearity, circularity, and programmed speed. Roboguide uses these settings and automatically eliminates points such that the resulting program is within the parameters specified. Controlling output program parameters being generated When generating programs the output program name, robot group to generate with, UFRAME and UTOOL to be used can be defined on a property page. Controlling Program settings General program speed and program flow must be defined for programs. A program should include approach and retract distances with associated speeds and motion types. Motion parameters for generated positions along a feature must be defined to meet the process needs. Different robot processes require different process control capability, and the ability to call programs while generating programs must be allowed so that additional editing of generated programs can be minimized. Roboguide provides fields to control these parameters on the Feature and Segment Prog Settings property page. Default control of positions being generated There are several factors that effect how position location and orientation should be Teaching a Program 326 generated. • Tooling axis alignment to the feature and its segments: For example, it may be desirable to have the tooling +Y vector follow along the feature. • Orientation tracking along a feature and its segments. In some cases, it is desirable to have a tool vector track the feature . This is required when precise alignment of the tooling relative to the part is required (cutting). In some cases, the precise orientation of the end of arm tool relative to the feature is not as critical (deburring) . • Desired robot configuration: a robot can generally reach a position with different arm configurations. • Desired motion types: the types of motions being created is defined by the feature that is used to generate programs. If a feature has many linear pieces it is desirable to reduce the number of positions using linear motions. If arcs are present it is desirable to have circular motion control. The default position generation settings are defined on the Feature and Segment Pos Defaults property page. Fine control of positions being generated Once a feature and its programs have been generated it may be necessary to offset positions either by translation or rotation about the feature. Examples include, work angle for arc welding or deburring angle for a removal application. There are multiple references that may be desirable based upon the application and the parts being used: • Relative to a reference surface: the position is offset relative to the surface that was used to define the feature. Translations and rotations are relative the surface used to generated the feature.f • The normal relative to the normal itself: when this is chosen the position is offset relative to the normal itself. Translations are relative to the surface used to generate the feature and rotations are relative to the normal vector When performing both translation and rotation on positions it is important to specify whether the translation is done first or the rotation is done first. The results are different based upon is chosen. The Fine control generation settings are defined on the Feature and Segment Pos Offsets property page. 327 Teaching a Program Feature Definition Features are 3 dimensional lines in PRO’s CHUIWorld. Robot programs can be generated from PRO’s features automatically 13.12.1 Creating robot paths from CAD Features What features are available in PRO Software The following features are supported: 1. CAD Edges. Roboguide has tools to track the edge entities of CAD objects and to create a feature from the edge entities.. For a procedure on how to create a feature from a CAD Edge see Create a feature from a CAD edge topic. 2. Lines drawn on the CAD. This works like most drawing packages where you click and drag the mouse to create a line segment. As the line segment is drawn it is mapped to the CAD surface on which you are creating the line. There are multiple line drawing options: Straight line segments: Freehand Line: segments are connected with a straight line Surface Fit Line: segments are connected along the surface they are generated on. If your endpoints are on a curved surface the resulting line between the two endpoints follows the surface. Line segments with curves: Segments are connected along the surface they are generated on. If your endpoints are on a curved surface the resulting line between the two endpoints follows the surface. NOTE: when generating with a surface fit line across multiple CAD surface entites, PRO connects the last selected mouse click point on a surface and connects it directly to the first mouse click point on a the next surface. The reason for this is that there are infinite ways to connect along the surfaces at the intersection between surfaces. Teaching a Program 328 Setting up a UTOOL for path generation Default program generation parameters are defined by end of arm tooling. The robot supports multiple tool values and information. Program generation defaults can be defined for every tool available on the robot. Each tool that will be used in program generation should have its defaults set. The defaults are used as initial values whenever a feature is created while that tool is active on the robot. The defaults can be overridden on the feature generation property pages Selecting a feature or a segment Features are owned by the parts they are created on. Since parts can be used in multiple fixtures, a feature can be used to generate programs for a part in several locations. The fixture to generate a TPP part program on is a setting in the CAD to Path feature property pages. A feature is found in the cell browser under the part that was used to generate the feature To select a feature: Using the Cell Browser 1. Open the Cell Browser 2. Expand the Parts category in the tree view. 3. Select the part that has the desired feature. 4. Double left click on the feature or segment, or right click on the feature or segment and select Properties from the popup menu. Using the mouse in CHUIWorld 1. Double left click on the feature or segment in CHUIWorld. The property page should open for the segment that was clicked on. Teaching a Program 329 Using the Feature Property Pages The feature property pages are used to define program properties that are used when generating programs. Properties on the general tab are common to all segment programs generated. Some properties can be overridden on individual segment property pages. • The General property page tab are generalized settings that are used when generating programs. General program speed and program flow must be defined for programs. A program should include approach and retract distances with associated speeds and motion types. Motion parameters for generated positions along a feature must be defined to meet the process needs. Different robot processes require different process control capability, and the ability to call programs while generating programs is allowed so that additional editing of generated programs can be minimized. • Roboguide provides fields to control these parameters on the Feature and Segment Prog Settings property page. • The Pos Defaults tab provides settings to define how to generate the orientation values for positions, and how to optimize the generated programs for linearity and circularity. • The Pos Offsets tab provides settings to modify translations and orientations relative to feature defaults. • The Approach/Retreat property page is used to define approach and retreat positions for the feature. • The coordinated motion property page tab is used to define generation parameters for coordinated motion applications. Using the feature general property page tab The feature property page is used to define program properties that are used when generating programs. Properties on the general tab are common to all segment programs generated. Some properties can be overridden on individual segment property pages. Fields include: • Feature/ Segment Name: The name of the feature generated. • Visible property: if enabled the feature is visible on the part. • TP Program Name: the name of the generated TP Program. Roboguide assigns a Teaching a Program 330 name based upon the part, and the fixture the part is on. The name may be changed. TP Generation Targets • Parts: the desired fixture that is holding the part. Since parts can be assigned to multiple fixtures a desired fixture must be selected. • Controller: lists the robot controllers in the workcell. Select the desired controller for program generation. • Group: target robot group that the program is generated for. • Group Mask: for a multiple group systems, the output program groups that will be included when positions are created. • Uframe: the target UFRAME can be defined. If a program is generated relative to a UFRAME all positions are generated relative to the selected UFRAME. For more information on UFRAMEs click here. If Remote TCP is loaded as an option on the virtual robot, the RTCP option checkbox shows. When selected, the program is generated with positions located using the Remote TCP, and all motion statements along the segment include the RTCP motion option. For more information on generating programs at a Remote TCP see Remote TCP Automatic Path Generation • Utool: the target UTOOL can be defined. • Coord motion: when coordinated motion is present on the controller, an option checkbox is shown. When enabled, coordinated motion CAD to Path can be used on the Coordinate motion tab. • Reverse Generation: when checked the order of generation is reversed from that defined by the generated CAD to Path feature. Note that the axis settings on the Pos Defaults tab are not reversed. • Generate Feature TP Program: when this button is pressed the TP program is generated for the feature and its included segments. If the output program should use a Remote TCP frame, the UFRAME that is defined for the remote TCP should be selected. 331 Teaching a Program Using the feature Prog Settings property page tab The Program Settings tab is used to define: • Feature and segment motion settings • Feature and segment call programs Fields include: • Segment/ Feature Motion Settings o Feature First Point MoType: defines the motion type for the first point along the feature o Feature first point speed: defines the motion speed for the first point along the feature o Feature first term type: defines the motion termination type for the first point along the feature o Segment program settings: are motion parameters that are used when generating points along features and segments. Segment speed: speed for each move created for the generated program Term Type: termination type for each move created for the generated program. Values are Continuous xxx or Fine termination. o Feature last point term type: the termination type for the last motion of the feature / segment. • Feature CALL Program: a program can be called at the beginning and end of a feature. This is useful for cell and process control capability. o Beginning of Feature X: the entered program will be called at the beginning of the program o End of Feature X: the entered program will be called at the end of the program. Teaching a Program 332 • Segment CALL Program a program can be called at the beginning and end of a segment. This is useful for cell and process control capability. When set at the feature level all segments in the feature get the CALL defined. When set at the segment level, only the selected segment gets the entered call. o Beginning of Segment X: the entered program will be called at the beginning of the program o End of Segment X: the entered program will be called at the end of the program. Using the feature Pos Defaults Property page tab When generating programs from features, there are many factors that influence the desired resulting end of arm tooling motion as the robot moves through the program. Some factors include: • Desired orientation control through the program. Depending on the process it may be desirable to maintain the orientation relative to the feature line in order to keep the tooling constant relative to the feature. In other processes it may only be required to maintain the TCP location along the feature line. Settings on this tab provide control over the generation of the orientation relative to the feature. • Tooling axis alignment to the feature and its segments: For example, it may be desirable to have the tooling +Y vector follow along the feature. • Orientation tracking along a feature and its segments. In some cases, it is desirable to have a tool vector track the feature . This is required when precise alignment of the tooling relative to the part is required (cutting). In some cases, the precise orientation of the end of arm tool relative to the feature is not as critical (deburring) . • Desired robot configuration: a robot can generally reach a position with different arm configurations. • Desired motion types: the types of motions being created is defined by the feature that is used to generate programs. If a feature has many linear pieces it is desirable to reduce the number of positions using linear motions. If arcs are present it is desirable to have circular motion control. The feature Position Defaults tab provides settings to control how the tooling will track the feature, and whether the generation should find linearity and circularity through the feature. Fields on the Pos Defaults tab include: Teaching a Program 333 • Tool Frame Axis < = > Feature Axis Assignments: Defines how PRO will generate the orientations along the feature. This definition can be defined as defaults for end of arm tooling on the CAD to Path tab for the end of arm tooling. Settings here override the defaults, but work the same as on the end of arm tooling CAD to Path tab. When a feature is first generated the fields are set to the defaults as defined on the CAD to PATH tab of the tooling. o Normal to Surface: Manipulating this field controls the how the tool will be aligned with the normal to the surface. It defines what tool axis should be aligned with the normal to the surface when a program is generated. The normal to the surface is the normal vector pointing in the direction toward the surface that the mouse pointer is over. Example: Case where tool Z is into the tooling. The Normal to surface selection would be +Z because the +Z of the tool aligns with the normal to the surface. Example: Case where tool Z is out of the tooling. The Normal to surface selection would be -Z because the -Z of the tool aligns with the normal to the surface. o Along the segment: defines what tool axis should be aligned with the feature during program generation. For example, if +X is chosen, the +X tool axis is aligned with the feature. o Perpendicular to the segment: defines what tool axis is perpendicular to the feature during generation. The value is set automatically based upon the setting of the previous two fields. o Fixed normal rotation for the entire path: generates the orientation for the first position based upon the settings on the tab for Normal to surface, and Along the segment. The orientation is maintained throughout the generated program. o Change the normal rotation along the path: generates the orientation for each position in the program so that the tool vector defined on the tab for Along the segment tracks along the feature. • Feature Position Config: the field is defaulted to the current position of the robot. Modify this setting to get the arm and wrist configuration as desired. o Press on the icon () to expand the settings. • Straight Line Detection: defines how PRO determines linearity between generated Teaching a Program 334 points along the feature. Setting the value to Strict means that PRO must find close to exact linearity between generated points to determine that they lie on a line. The Straight Line Detection setting is defined as the threshold angle used by PRO to determine if two line segments are to be considered a single straight line. The range for the setting is 90 degrees to 180 degrees. The picture below shows how the angle is used where the arrow tips represent positions. o Consider robot speed: if checked, Roboguide generates positions a minimum distance apart calculated by the Program speed and robot acceleration and deceleration motion parameters. This generally results in points not being to close together in order to meet the programmed speed. If not checked, Roboguide creates positions based upon the feature characteristics. This results in a higher number of points. If points are placed close together, the robot may not reach programmed speeds. • Circular Move Detection: defines how PRO determines arcs and circles between generated points along a feature. Setting the value to Never means that PRO will never generate circular motion while setting the value to As often as possible means that PRO will convert all Arcs and circles to circular motion in the generated program. The Circular Move Line Detection setting is defined as the threshold angle used by the code to determine if an arc should be executed as a single circular move or many short linear moves. The picture below shows how the angle is used where the dots represent positions. Using the feature Pos Offsets Property Page tab The feature Pos Offsets tab has fields to control how program positions are generated. By default when a feature is first generated, positions are created relative to the normal to the part along the feature. Use settings on this tab to control position generation relative to the feature. Positions generation control is based: • upon the normal relative to a reference surface: when this is chosen the position is offset relative to the surface that was used to define the feature. When generating the feature, the surface used to generate the feature is shown. • upon the normal relative to the normal itself: when this is chosen the position is offset relative to the normal itself. Translations are relative to the surface used to generate the surface and rotations are relative to the normal vector. • Upon the current orientation of the robot: See About program generation for more detail on Controlling positions being generated Teaching a Program 335 Offsets and translations can be made. The text associated with each field is dependent upon which PRO plugin is active. Regardless of which plugin is used the effects are the same depending on which position coordinate triad parameter is used (X for WeldPRO is the same as X for SimPRO). The Translate Normal to Surface (Z) for Roboguide has the same result as Bias Normal to Surface (Z) as WeldPRO. Fields include: • Translation offsets: positions can be offset in two ways depending on process requirements. o Translations relative to default position: has the effect of shifting the positions. o Translation relative to the segment: has the effect of expanding or contracting the positions. This is commonly used in applications like routering where the end of arm tooling has an offset relative to the tool center point. The generated positions can be translated along the path, across the path, or normal to the surface. • Orientation offsets: positions can be rotated relative to the surface normals found when creating the CAD feature. Choices include: o Relative to reference surface: when this option is chosen, the generated position is offset relative to the surface that was used to define the feature. o Relative to normal: the generated positions are relative to the normal that was used to create the feature. o Use the robots current orientation: the generated positions use the current orientation of the robot. This option is helpful when it is difficult to get a generated orientation that the robot can reach. Jog the robot to an orientation that is desirable and select this option. PRO makes it very easy to move the robot tool center point to a point on a surface. o (RX): defines a X rotation offset when generating a program. o (RY): defines a Y rotation offset when generating a program. Teaching a Program 336 o (RZ): defines a Z rotation offset when generating a program. NOTE: for process plugins the PRO Plugin determines what process modification is done based upon how the Tool Frame Axis < = > Feature Axis Assignments is defined on the Pos Defaults property page. For example, if the Pos Defaults page defines X along the feature, it also defines the Work Angle to be relative to this axis. • When Applying the Offset: when applying rotations and translation the order is important. Translate X, and Rotate Z have different results than Rotate Z and Translate X. o Translate first, then rotate: Translation settings are applied first, and then the positions are rotated. o Rotate first, then translate: Rotations are applied first and then translations. Using the feature Approach/Retreat Property page tab The approach / retreat tab is used to modify approach and retreat positions for features. Roboguide automatically inserts approach positions based upon the settings on this property page tab. Fields include: Approach Point frame: • Add approach point: when enabled the automatic path generation software inserts an approach point. • Motype: the desired motion TO the approach point. • Speed: the speed for the move to the approach point • Term Type: the termination type for the move to the approach point • Offset from fist point values: define the offsets applied from the first point of the feature. The values are feature relative distances. Retreat Point frame: Teaching a Program 337 • Add retreat point: when enabled the automatic path generation software inserts a retreat point. • Motype: the desired motion to TO the retreat point. • Speed: the speed for the move to the approach point • Term Type: the termination type for the move to the approach point • Offset from last point values: define the offsets applied from the last point of the feature. The values are feature relative distances. Using the feature Raw Normals Property page tab The raw normals property page tab provides fields to modify the orientation of the raw normals of a feature. The raw normals are the normals to the surface where a feature is generated. CAD to Path generation uses the Raw Normal vectors defined in the feature to generate programs. Raw normals can be modified at the beginning and end of a segment. Roboguide will blend from start to end using the method defined by selections on the property page. Raw normals can be shown or hidden. The following figure shows a feature with Raw Normals displayed. The yellow raw normals are normal to the top surface which was used to generate the feature. Using the Raw Normals property page tab fields you can modify the raw normals. The following figure shows the raw normals with the orientation offsets applied at 45 degrees. The raw normals capability may appear to work as the Orientation Offsets on the Pos offsets tab of a feature. There are key differences: • Pos Offsets Orientation Offsets are applied at program generation time. • Pos Offsets Orientation offset values are offsets from the raw normals. If an orientation offset is present in the Pos Offsets tab and on the raw normals tab the offset will be the addition of the two offsets. • Raw normal offsets are blended between start and end normal offsets. Orientation offsets on the Pos Offsets tab have no blending and are simply applied to each generated position. Teaching a Program 338 The following figure shows the resulting program when an Orientation offset of 45 degrees is applied on the Pos Offsets tab. Note that the orientation change is constant at each generated position. The following figure shows the resulting program when a Start normal offset and end normal offset value of 45 degrees is applied (Pos Offsets orientation offset are set to 0). Note how positions are blended from start to end. Fields include: Orientation offsets: • Override and Blend raw normals: when enabled, raw normal triads are shown at the beginning and ending of the feature or selected feature segment. These normals show the orientation of the raw normal at that point. Normals are blended between the start raw normal and the end raw normal. To define the rotation along and across the segment, the raw normal triads at the beginning and end of the feature or selected segment can be dragged to the desired offset. Place the cursor over the normal triad, the cursor changes to a hand. When you hold the left mouse button and drag the orientation will be modified. When released, the raw normals are blended from start to end. • Start Normal Offset: o Rotate: Normal to the Surface: Changes the rotation of the start feature or selected segment raw normal triad about the approach vector (spin). Changes to the Normal to the surface rotation must be done by editing the value into the property page field. Using the Raw Normals normal to surface rotation provides control of the orientation at the beginning and end of a feature or segment. The results of setting this vary depending on how the Pos Defaults Tab: orientation settings are defined. An example is provided to describe results of settings: Simple Part with simple feature: a box is used to illustrate. Setting 1: Program generated with settings: Pos Defaults: Fixed tool spin for the entire path, Pos Offsets: no offsets, Raw Normal: no offsets Setting 2: Program generated with settings: Pos Defaults: Fixed tool spin for the entire path, Pos Offsets: 45 degree normal to surface, Raw Normal: no offsets Teaching a Program 339 Setting 3: Program generated with settings: Pos Defaults: Fixed tool spin for the entire path, Pos Offsets: no offsets, Raw Normal: 45 degree Start Normal to surface office and 135 degree End Normal to surface offset. NOTE: There is no difference in the outputs between setting 2 and 3. This is because the orientation control is set to use a fixed tool spin orientation for the entire path Setting 4: Program generated with settings: Pos Defaults: Change tool spin orientation along the entire path, Pos Offsets: no offsets, Raw Normal: 45 degree Start Normal to surface office and 135 degree End Normal to surface offset NOTE: Since Change tool spin orientation along the entire path is chosen on the Pos defaults tab, the orientations are blended from the Start Normal surface setting of 45 to the End Normal to surface offset of 135 degrees. o Rotate: Along the segment. Changes the rotation of the start feature or selected segment raw normal triad about the feature line. o Rotate: Across the segment: Changes the rotation of the start feature or selected segment raw normal triad about the normal across the feature line at the start of the feature. • End Normal Offset: o Rotate: Normal to the Surface: Changes the rotation of the end feature or selected segment raw normal triad about the approach vector (spin). The results of setting this vary depending on how the Pos Defaults Tab: orientation settings are defined. o Rotate: Along the segment. Changes the rotation of the end feature or selected segment raw normal triad about the feature line. o Rotate: Across the segment: Changes the rotation of the end feature or selected segment raw normal triad about the normal across the feature line at the start of the feature. • Blend with respect to each intermediate normal: each intermediate normal between Teaching a Program 340 the start and end normal are blended. • Blend with respect to only the start and end point normals. Each intermediate normal is ignored. Blending is applied from start to end of the feature or selected segment. Hiding and Showing feature Raw Normals Raw normals are the normals to the surface where a feature is generated using CAD to Path. The normal lines can be turned on and off. Raw normals ON: Raw Normals OFF: Raw normals can be turned on and off on the options dialog. To change the view of Raw normals 1. Open the Options dialog under the main menu Tools / Options selection 3. Go to the CAD to Path tab 4. Enable field Show raw normals in all features to view raw normals. Disable to hide raw normals. Using the feature Chamfer Motion Tab The motion tab is used with the ChamferPRO software. The tab contains fields to define the corner round parameters for converting intersecting corners to circular moves. When the automatic path generation generates a program, intersecting lines are checked. If the Insert circle motion to corner that two linear lines cross is enabled the corner will be converted to a circular move. The Round corner radius field is used as the circular move radius value. You may press the Confirm tool rotation button to validate the initial rotation of the tooling. Teaching a Program 341 Using the Segment Property Pages The segment property pages are used to define segment properties that are used when generating programs. By controlling motion and process properties on the segment property pages, features can be controlled at a very detailed level. In general, segment property pages provide the same control as the feature property pages, but settings take effect at the segment level. The Segment process tab is specific to which process plugin is active. Process parameters can be modified to control the PRO process application plugin. • Arc Welding Tab Property pages common with the feature property pages include: • The General property page tab are generalized settings that are used when generating programs, and the same as presented at the feature level with the exception of the addition of the Reset Segment values to feature defaults button. This button provides ability to reset the segment settings to the same as at the feature level. See Using the feature general property page tab for more information. • The Program Settings tab provides control of motion parameters at the segment level, and fields are the same as presented at the feature level. See Using the feature Prog Settings property page tab • The Pos Defaults tab fields are the same as presented at the feature level, but provide the control at the segment level. See Using the feature Pos Defaults Property page tab for more information. Changes only take place for the selected segment. • The Pos Offsets tab fields are the same as presented at the feature level, but provide the control at the segment level. See Using the feature Pos Offsets Property Page tab for more information. Changes only take place for the selected segment. Create a feature from a CAD edge Features can be generated from CAD edges. When using the feature creation tools, unique characteristic of the CAD entities can be utilized to create 3D line features. Programs can be generated automatically from these features. Procedure for creating a feature from a CAD edge 1. Open the Draw selection popup menu by pressing the Draw Features on Parts toolbar icon () or select Draw Features Parts under the Teach main menu item. Teaching a Program 342 2. Select the part to find and create a feature on. The Draw selection popup will highlight the Surface entities buttons that can be used to generate 3D features. 3. Select Edge line from the Draw selection popup. After the Edge line entity button is selected, and the mouse is dragged over the part, edges will become highlighted under the mouse pointer. A white line designating the normal to the surface is shown. Press the left mouse button once to start the feature. Single button click the left mouse button along the edge to build the feature line. When the end of the edge / feature line is reached, double click the left mouse button. A feature is created and the property page for the feature is opened. The feature is found in the cell browser under the part on which the feature was found. The following AVI shows the procedure. 4. After the edge has been found, a feature object is shown on the part (the feature line), and a program can be generated. The property page should now be showing for the new feature. A feature has been created and shows in the cell browser. A program can be generated from the feature. Create a feature with the line tool Features can be generated by drawing lines on CAD surfaces. When using the feature creation tools unique characteristic of the CAD entities can be utilized to create 3D line features. Programs can be generated automatically from these features. Procedure for creating a feature by drawing lines on CAD 1. Open the Draw selection popup menu by pressing the Draw Features on Parts toolbar icon () or select Draw Features Parts under the Teach main menu item. 2. Select the part to find and create a feature on. The Draw selection popup will highlight the Surface entities buttons that can be used to generate 3D features. 3. Select the desired line tool from the Draw selection popup. See What features are available in SimPRO for more information on line types. 4. Drag the mouse over the part. The surface the mouse cursor is over changes color, and the normal to the surface at the mouse cursor is shown. Single click the left mouse button to start drawing the line. Drag the mouse, and click where there should be a vertex. Finish the line by double clicking. Teaching a Program 343 Note: when using the surface fit line and curve tools, if it is desired to have the feature follow the contour of the part across a surface boundary you must click close to the boundary when you cross a boundary. The is required because it is not possible to know how to cross the boundary surfaces since there are infinite solutions. 5. After the line has been created, a feature object is shown on the part (the feature line), and a program can be generated. The property page should now be showing for the new feature. A feature has been created and shows in the cell browser. A program can be generated from the feature. Breaking a feature into segments A feature that has been defined initially has one segment. This feature can be broken into multiple segments. Each segment has its own property page. By breaking a feature into multiple segments, the motion and process can be modified to meet the needs of the process. By default a feature has one segment when it is first created. Feature properties effect segments that make up the feature. When a segment is first created it inherits the properties of the feature. The first segment properties control the approach position and the last segment controls the retract position. If there is only one segment for the feature, the segment properties control the approach and retract positions. The approach point is generated using the orientation of the first point of the first segment in the feature. The retreat point is generated using the orientation of the last point of the last segment in the feature. The feature owns the approach/retract distance and speed properties. To break a feature into segments. 1. Open the Draw selection popup menu by pressing the Draw Features on Parts toolbar icon () or select Draw Features Parts under the Teach main menu item. 2. Select the segment from the cell browser or by clicking on it in CHUIWorld. The Split Segment button should enable 3. Press the Split Segment button on the Draw Features on Parts toolbar or right click on the segment in the cell browser and select Split Segment from the popup menu. The segment should break with the new segment being selected in the cell browser and highlighted in CHUIWorld. The selected segment is highlighted and the endpoints can be dragged along the feature to adjust segment length. Teaching a Program 344 Segment properties can now be set for this segment in the segment property pages. The feature shows the new segment in the cell browser. A program can be generated from the feature. Creating a robot program from a feature Features and the segments that define the feature can be used to generate robot programs. Roboguide takes the feature properties and the segment properties to generate programs. For more information regarding the methods used in PRO to generate features and programs see About program generation topic. To create a robot program from a feature 1. Ensure that the UTOOL is setup for CAD to PATH. 2. Select the feature, and ensure that its property page is open. 3. Set the general parameters for program generation on the feature general property page. 4. Set the position generation parameters on the feature property pages.. 5. Press Generate Feature TP Program on the General Tab or right click on the feature/ segment in the cell browser and select Generate TP Program from the popup menu. A TP Program is generated from the feature. When PRO is done computing the program, the nodemap for the program is shown. Reachable points are shown in the UFRAME color chosen, and unreachable positions are shown in red. It is common to have positions generated that are unreachable. See Working with the segment to program generator to create runable programs topic for tips on resolving unreachable positions. Modify position orientation or location while generating programs Orientation can be modified while generating program positions. See Controlling positions being generated in the About Program Generation topic for more information on position generation control. Modification can be made at the feature or segment level. To change orientation while generating programs Teaching a Program 345 1. Select the feature or segment and ensure that its property page is open. 2. Select the Pos Offsets TabUsing_the_feature_Pos_Offsets_Property_Page_tab 3. Set the fields as desired 4. Press Ok or Apply to regenerate the program. To generate a program so that a tool vector tracks the feature line When generating programs from features, there are many factors that influence the desired resulting end of arm tooling motion as the robot moves through the program. Some factors include: • Desired orientation control through the program. Depending on the process it may be desirable to maintain the orientation relative to the feature line in order to keep the tooling constant relative to the feature. In other processes it may only be required to maintain the TCP location along the feature line. Settings on this tab provide control over the generation of the orientation relative to the feature. • Tooling axis alignment to the feature and its segments: For example, it may be desirable to have the tooling +Y vector follow along the feature. • Orientation tracking along a feature and its segments. In some cases, it is desirable to have a tool vector track the feature . This is required when precise alignment of the tooling relative to the part is required (cutting). In some cases, the precise orientation of the end of arm tool relative to the feature is not as critical (deburring) . To generate a program so that a tool vector tracks the feature line 1. Select the feature or segment and ensure that its property page is open. 2. Select the Pos Defaults tabUsing_the_feature_Pos_Defaults_Property_page_tab. 3. Select the Change the normal rotation along the path radio button on the property page. This defines that the Along the Segment selection in the Tool Frame Axis to be aligned with the feature / segment 3D line. 4. Press Ok or Apply to regenerate the program Teaching a Program 346 When the program is generated the tool orientation is set such that the Along the Segment selection in the Tool Frame Axis to be aligned with the feature / segment 3D line. Controlling line tolerance during program generation Roboguide minimizes the number of points that meet the criteria defined on the property pages for linearity, circularity, and programmed speed. Roboguide uses these settings and automatically eliminates points such that the resulting program is within the parameters specified. The Pos Defaults property page provides tolerance settings for linearity. The Straight Line Detecting adjustment defines how PRO determines linearity between generated points along the feature. Setting the value to Strict means that PRO must find close to exact linearity between generated points to determine that they lie on a line. The Straight Line Detection setting is defined as the threshold angle used by PRO to determine if two line segments are to be considered a single straight line. The range for the setting is 90 degrees to 180 degrees. The picture below shows how the angle is used where the arrow tips represent positions. To control line tolerance during program generation 1. Select the feature or segment and ensure that its property page is open. 2. Select the Pos Defaults tabUsing_the_feature_Pos_Defaults_Property_page_tab. 3. In the Straight Line Detection Frame set the desired number of degrees that determine a straight line. 4. Press Ok or Apply to regenerate the program When the program is generated the optimization algorithms use this value to determine whether adjacent positions lie on a straight line. Controlling circle tolerance during program generation Roboguide minimizes the number of points that meet the criteria defined on the property pages for linearity, circularity, and programmed speed. Roboguide uses these settings and automatically eliminates points such that the resulting program is within the parameters specified. The Pos Defaults property page provides tolerance settings for circularity. The Circular Move Detection field defines how PRO determines arcs and circles between generated points along a feature. Setting the value to Never means that PRO will never generate circular motion while setting the value to As often as possible means that PRO will convert all Arcs and circles to circular motion in the generated program. The Circular Teaching a Program 347 Move Line Detection setting is defined as the threshold angle used by the code to determine if an arc should be executed as a single circular move or many short linear moves. The picture below shows how the angle is used where the dots represent positions. To control circular tolerance during program generation 1. Select the feature or segment and ensure that its property page is open. 2. Select the Pos Defaults tabUsing_the_feature_Pos_Defaults_Property_page_tab. 3. In the Circular Move Line Detection Frame set the desired number of degrees that determine an arc. 4. Press Ok or Apply to regenerate the program When the program is generated the optimization algorithms use this value to determine whether adjacent positions lie in an arc. Resetting all segments to feature defaults Segments that define a feature can have properties defined uniquely. It may be desirable to reset all or individual segment program generation properties back to default values. To reset all segment properties to feature defaults 1. Select any feature that need segments to be reset to defaults. 2. Right mouse click on the item. 3. Select Reset to Defaults All properties in every segment are reset to defaults. To reset a single segment to feature defaults 1. Select a segment that needs to be reset to feature defaults. 2. Right mouse click on the segment in the workcell browser 3. Select reset to defaults. All properties in the segment are reset to feature defaults. Teaching a Program 348 Working with the path generation to create runable programs Automatic path generation does not necessarily create robot programs with reachable positions. Robot positions are generated mathematically from 3D lines in space. Roboguide generates the positions correctly, and then checks the generated positions for reachability. Unreachable positions are colored in red. Effective use of the automatic generation is enabled by: • Active use of the function to understand the parameters that can effect position reachability. Basically, learn by doing or learn from trial and error. After a few hours of learning, one can quickly take a new feature and create reachable robot positions. • Understanding of how the robot works and how orientations can be manipulated. • Understanding how to process the task. How end of arm tooling is orientated relative to the work piece is critical in achieving effective results. Some tips: • Setup the End of Arm Tooling CAD defaults appropriately. Understand the tool frame axes and which axis is generally used for direction of travel along a feature. • Create the feature as desired. • Auto generate the program, and see what the results give. • If points are reachable: o run or step the program to see if the wrist and tool orientation is appropriate for the process. o Modify orientations on the Pos Offsets tab to get the orientation as desired • If points are not reachable: o Often times reachability is due to wrist and tool orientation. o Jog the robot close to the starting point (with desired orientation) as if teaching with the teach pendant. Since you are teaching relative to a surface, use the Cntrl-Shift Click move to function to get to the surface. Teaching a Program 349 o Show the teach tool in tool coordinates o Look at how the tool axes line up with the feature and with the program points that were automatically generated. o Modify the generate along feature field on the Pos defaults tab to match what the "jogged to" robot looks like o Iterate on this • If a feature follows along a contour that would make the robot wrist wrap around consider breaking the feature into segments. Changing the along the feature setting on the Pos Defaults Tab for different segments can allow for changing orientations. • Touchup the position by modifying in CHUIWorld. Select the generated point with the mouse and drag the position triad to see what it takes to make it reachable. • Touchup within TP editor and virtual TP. Changes will be lost if you regenerate to the same TP program name, but unreachable positions can often be made reachable with slight modification in orientation and location. 13.12.1.1 Creating Arc Welding Programs Creating Arc Weld Process robot programs When WeldPRO is active the Automatic Path Generation user interface presents program properties using weld process concepts. • Position offsets are presented using work angle, push angle, etc. on the Pos Offsets property page. • An Arc Welding tab is added when modifying segments of a feature. Teaching a Program 13.12.1.2 350 Creating Remote TCP Programs Remote TCP Automatic Path Generation CAD to Path program generation can be used to generate Remote TCP programs. The purpose of this topic is to give information and techniques relevant to using CAD to Path programming with Remote TCP applications. Roboguide provides useful Remote TCP jogging capability. See Jogging in a Remote TCP frame RTCP frame relationship to CAD to Path Feature Pos Defaults Tool Axis settings When making a tool axis assignment in CAD-To-Path with RTCP, the axes on the pos defaults tab refer to the frame used as the RTCP – i.e. the Uframe. When the feature has +X as the "Along" axis, the feature will run along the Uframe’s X axis, from negative to positive The following figure shows the UTOOL jog frame. For Remote TCP applications, this is not the tooling definition to use for the Tool axis assignment on the Pos Defaults tab. The following figure shows the correct assignment. The feature line points in the –X direction of the Remote TCP frame. –X would be used in the tool axis assignment "Along the segment" field. The key issue is that the Feature should be aligned with the Remote TCP frame frame and not the EOAT UTOOL assignments. Procedures to set CAD to Path feature properties for RTCP programming For the purpose of this discussion, the following assumptions are made: • feature has been generated at the desired location of the part. • a part has been assigned to an EOAT • the remote TCP has been defined in UFRAME 1. • The simple method of assigning a RTCP axis to the Tool axis on the Pos Defaults tab of a feature does not give desired results. General outline of procedure The key step of procedures is understanding the RTCP frame orientation relative to the feature. It is common to be concerned about the orientation of the RTCP frame at the start of the feature. 1. Jog the robot so that the tooling (RTCP) is oriented as desired relative to the Teaching a Program 351 start of the feature. 2. Display the RTCP frame. 3. Select what axis of the RTCP aligns with the feature normals and the direction of travel along the feature. 4. Define Pos Offsets: If there is not exact alignment of the RTCP frame axis for the desired orientation of the part relative to the RTCP, you need to estimate the angle of rotation required for each tool (RTCP) axis. These angles of rotation are entered on the Pos Offsets tab. Jog the robot to orient the robot / Part to the remote TCP: It is helpful to jog the robot and orient the part and start of feature relative to the RTCP as required by your desired process. This helps to determine what axis to line up on in the Tool axis assignment fields on the Pos Defaults tab. Use the Remote TCP jog mode to jog the robot and part to an approximate desired starting point For the example provided the desire is to have the Remote TCP location to be oriented approximately 45 degrees relative to the part. The following figure gives an example. The feature line is oriented at an angle to the Remote TCP frame. Display the RTCP frame The RTCP frame should now be shown so that you can see the frame relative to the feature. The RTCP frame can be displayed several ways: • Use the jog coordinate quickbar. Open the quickbar, then select a Cartesian jog frame, then select the RTCP button mode. • Select remote TCP jog from the Fnct key menu on the virtual TP. • Display the UFRAME that is used for the remote TCP definition. For this example the Jog coordinate quickbar is used to put the green teach ball in UFRAME RTCP mode. Select what axis of the RTCP aligns with the feature normals and the direction of travel along the feature The direction that the RTCP should follow a feature is defined on the Pos Defaults tab for a feature. Teaching a Program 352 For the example shown, the (–X) of the Remote TCP frame most closely aligns with the feature line for the Along the segment setting. The –Z of the Remote TCP frame most closely aligns with the normal line of the feature. Note: it is very common for the Normal to Surface vector to NOT be + or –Z in Remote TCP applications. Define pos offsets The RTCP frame may not align with the feature exactly as desired. If there is not exact alignment of the RTCP frame axis for the desired orientation of the part relative to the RTCP, you need to estimate the angle of rotation required for each tool (RTCP) axis. To modify this, you use the pos offsets tab. For the example, an exploded view is shown. By looking at the Remote TCP frame and the feature line it can be estimated that we want the RTCP X axis to be rotated approximately 45 degrees. X is rotated by rotating about the Y remote TCP axis. v The Pos offsets tab is shown below. The resulting program is shown in the Remote TCP frame on the part. Additional comments: In summary, the key concepts to get correct when creating programs for Remote TCP cad to path include: • Determining correct Tool Axis assignments based upon the Remote TCP frame coordinates • Using Remote TCP jogging techniques to first align the tooling relative to the part as it will be processed. Doing this makes it much easier to determine tool axis assignments. • Use the Pos Defaults tab to make tool axis assignments. • Determine additional rotations are necessary to ensure Remote TCP tooling is correctly oriented relative to the part. Use the Pos Offsets to make rotational offsets. • Do not be afraid to try different settings. It is very easy to generate new programs. Trial and error is the key to learning how to best process the part. Teaching a Program 353 Creating a program at a Remote TCP Path generation can be used with a remote TCP reference. The remote TCP option must be available on the Virtual Robot controller. The option can be selected when creating the workcell using the options list in the Create Workcell Wizard. To create a program at a Remote TCP 1. Create a feature on the CAD part. The feature generation property page is visible. 2. On the General tab of the feature property page select the desired UFRAME that defines the Remote TCP frame. 3. Enable the Remote TCP check box. 4. Press the Generate TPP button. The program will be generated using the Remote TCP uframe. The positions are drawn relative to the robot world and will not appear on the part. 13.12.1.3 Automatic program generation for coordinated motion applications Using the feature Coordinated Motion property page tab Roboguide CAD to Path generation supports generating programs from CAD to Path features that utilize coordinated motion. The coordinated motion cad to path property page is used to define parameters for generation. Coordinated motion is a motion control method in which the tool center point (TCP) speed and position of a follower motion group is executed relative to a leader motion group. This method provides constant relative speed between the two motion groups, and provides for path execution by the follower in a moving frame of the leader. The following shows a positioner as a leader group and the robot as a follower group. Roboguide supports automatic generation for the following configurations: • Robot and a positioner • Dual arms and a positioner (leader) • Multiple arms where 1 arm is the leader and other arms are followers. Generally, where one robot holds the part. Conditions for automatic generation of a coordinated motion program: Teaching a Program 354 • Multiple group system • Coordinated pair is defined and calibrated between 2 groups that will have a program generated. The feature coordinated motion property page tab is used to determine key generation parameters including: • Leader group and what axis of the leader group will be used in coordinated motion • Method to optimize generated programs. Different applications have different robot motion requirements. These include: o Minimized tool rotation changes through the motion cycle. o Minimized tool location movement • Coordinated Motion start position: the start position is critical in CAD to Path generation. The start position defines the original constraint for the method used during generation. This function searches for a program start position. The EOAT is aligned with the normal of the feature at the start of the feature. Tool axis alignment definition on the Pos Defaults Tab and the changes on the Pos Offsets tab are used to define how the EOAT should align with the normal at the start of the feature. For example: o if minimize tool rotation is selected, CAD to Path will generate a program to maintain the orientation at the start position. o If minimize tool location change is selected, CAD to Path will generate a program to reduce the amount of EOAT location changes from the start position. • Feature processes for multiple robots: in multiple arm configurations it is desirable to generate programs for each follower arm relative to the leader device. If the configuration of the selected robot is multiple arm, an interface is provided to define TP program generation for each arm on a single robot controller. • Options settings based upon the configuration of the coordinated motion system: o Compensation: Teaching a Program 355 o Swing: o Range: o Option Using the Coordinated Motion tab to achieve desired results may be an iterative process. There are many solutions to generating a program that coordinates multiple motion devices because there are multiple solutions. Roboguide attempts to provide an interface that significantly reduces the time and effort to attempt different configurations. The help documentation provides procedures for different coordinated motion configurations: • Robot and positioner: See Creating programs for single arm robot and positioner application s for move details • Dual Arm and positioner Coordination: See Procedure to generate programs for Dual Arm coordinated motion for more information • Robot as leader with multiple robot follower groups: see Creating coordinated motion programs for multiple arm controllers Minimized tool location movement Minimized tool location movement: some applications may wish to minimize the amount the EOAT moves around a part. The goal is to keep the robot EOAT in the smallest envelope of motion. User does not require that he orientation be maintained. Leader frame motion should move such that the EOAT remains in the smallest work envelope possible A program will be generated from the follower group position. The leader group orientation change could large and the follower group rotation changing is minimized. If minimize tool location change is selected, CAD to Path will generate a program to reduce the amount of EOAT location changes from the start position. 356 Teaching a Program 13.12.1.3.1 Single arm robot and positioners applications Creating programs for single arm robot and positioner applications This topic addresses using the CAD to Path feature coordinated motion property page tab to define generation parameters for a robot and a basic positioner. To generate programs using coordinated motion the following is assumed: • User has read and understands the documentation for using coordinated motion with FANUC robots. • A workcell is defined that contains a Robot with a Basic positioner. A machine has been built. Coordinated motion option is present on the robot controller. • The Positioner has been correctly defined at controlled start of the robot. It is critical that the direction parameter be defined correctly. This defines the relationship between robot and positioner axes. If this value is incorrect, nodemap drawing may be incorrect. • A coordinated frame has been correctly defined between the Leader positioner group and the follower robot group. Fields included on the coordinated motion property page include: • Coordinated motion generation parameters frame: o Leader group selection combo box: defines the leader group for coordinated motion. The group selected on the General property page is a follower group. o Axis selection combo box: defines which leader group axes are included in coordinated motion. It is not always a requirement to change multiple axes of a positioner when using coordinated motion. o Method: Minimized tool rotation changes through the motion cycle. Minimized tool location movement: • Program Start Position frame: o Joint number selection combo box: defines which joint on the positioner to move when searching. Teaching a Program 357 o Step amount: defines how much the leader should move when forward or backward is pressed. o Forward/ Backward search buttons: when pressed the select joint number is incremented by the step amount. The robot then attempts to move to the Start position. When the robot is moved to the start position • Option button: o Single Circular Command checkbox: when enabled circular command ‘C’ will be changed to single circular command ‘A’ . This function can be used on V6.33 virtual robot. o Write TCP: For vision shift, active leader TCP is set to the center of the feature, when feature is nearly circle by this button o Rotation Limit Angle: maximum amount of rotation of the leader allowed when generating coordinated motion programs. • Apply Button: when pressed, a prompt is presented to Save the current search position. If saved, the Move To Recorded position button is active. To create a coordinated motion program using CAD to Path features: 1. Create the CAD to Path featureWhat_features_are_available_in_PRO_Software 2. On the Feature General tab, enable desired groups, and select Coord Motion checkbox. 3. Move the positioner axes to position the start of the CAD to Path feature close to where the robot motion should start for the coordinated motion move. This is important to aid in other steps in the process. The following figure presents and example. A robot with a simple single axis positioner is shown. A feature has been created on the outside edge of a box. The goal of the process is to move the robot and positioner such that the robot TCP is kept down relative to gravity (3D World Z axis). To orient the CAD to Path feature start point relative to the 3D world Z direction, the positioner group is rotated so that the normal at the start of the feature is oriented in 3D +Z world direction. 4. Move the robot close the start point using surface mouse click. Orient the EOAT Teaching a Program 358 approximately as desired for the starting orientation when the program is executed. By manually moving the robot TCP to and approximate orientation for start position, determine which tool axis should be "Along" the segment axis. 5. View the EOAT triad teach ball triad. 6. On the CAD to Path feature’s Pos Defaults tab set the Along the segment field to the desired tool axis. For the example shown, +Y is defined as Along the segment. 7. Open the Coordinated motion tab on the CAD to Path feature property page. 8. Define Coordinated motion generation parameters: o Define which group is the leader. Roboguide will provide selections based upon the group mask chosen on the General property page. o Define which axis / axes should be used to coordinate the motion o Define which method should be used when generating program positions 9. Define the TP program start position for coordinated motion. Roboguide presents choices to help determine the desired start position. You can step through different start positions quickly. When a desired start orientation for the robot and positioner (CAD to Path feature) is determined, the program may be generated. Press the Search forward button (). The robot and positioner should move to align the normal of the CAD to Path feature at the start of the feature with the robot TCP. The tooling axis is aligned at this start position as defined on the Pos Defaults tab of the feature. Continue to use the FWD and BWD buttons on the coordinated motion tab until you determine the desired starting configuration the robot and positioner. It is important to note that Roboguide uses the settings on the Pos Defaults and Pos offsets during its search. 10. When the desired Start location is found, Press Apply. When prompted if you want to save the start location, select yes. If Minimize Tool Rotation is selected, this Start position is the orientation that will be maintained when generating a program. 11. Generate the program on the General Tab of the CAD to Path Feature. The COORD lines in the generated TP program should show relative to the coordinated frame defined on the virtual robot. Teaching a Program 13.12.1.3.2 359 Dual arm controller with a positioner applications Creating programs for dual arm controller with a positioner applications This topic addresses using the CAD to Path feature coordinated motion property page tab to define generation parameters for a dual arm robot and a basic positioner. To generate programs using coordinated motion the following is assumed: • User has read and understands the documentation for using coordinated motion with FANUC robots. • A workcell is defined that contains a Robot with a Basic positioner. A machine has been built. Coordinated motion option is present on the robot controller. • The Positioner has been correctly defined at controlled start of the robot. It is critical that the direction parameter be defined correctly. This defines the relationship between robot and positioner axes. If this value is incorrect, nodemap drawing may be incorrect. • A coordinated frame has been correctly defined between the Leader positioner group and the follower robot groups (dual arms). In general, when there is more than one follower group, as is the case with dual arm systems, a program can be generated that includes position information for each follower group. The figure shows a simple box for a part. Two CAD to Path features are created on the part: • Arm_1_Feature: assigned to Arm 1: Group 1 • Arm_2_Feature: assigned to Arm 2: Group 2 You want to generate a single robot program that coordinates both arms with the leader group positioner. You must decide which CAD to Path feature will decide the generation constraints of the resulting multi group program. Assume Arm_1_feature is chosen for generation. Group 1 (Arm 1) is assigned as the TP Generation Target group on the CAD to Path General Property page of Arm_1_Feature. The group mask is set for both robot arms and the positioner. Arm_2_Feature can be assigned for generation on the coordinated motion property page tab of the Arm_1_feature. When the program is generated, the Arm_1_Feature settings are used to determine number of points generated, speed parameters, and other TP motion line parameters. Arm_2_Feature tool axis assignments and position offsets are used to determine the Group 2 position generation (Arm_2_Feature has Group 2 defined as the Generation Target 360 Teaching a Program Group). A procedure will better exhibit the process later in this topic. Fields included on the coordinated motion property page include: • Coordinated motion generation parameters frame: o Leader group selection combo box: defines the leader group for coordinated motion. The group selected on the General property page is a follower group. The second dual arm is a follow group if the check box is enabled for the second dual arm on the general property page. o Axis selection combo box: defines which leader group axes are included in coordinated motion. It is not always a requirement to change multiple axes of a positioner when using coordinated motion. o Method: Minimized tool rotation changes through the motion cycle. Minimized tool location movement: • Program Start Position frame: o Joint number selection combo box: defines which joint on the positioner to move when searching. o Step amount: defines how much the leader should move when forward or backward is pressed. o Forward/ Backward search buttons: when pressed the select joint number is incremented by the step amount. The selected robot on the general property page then attempts to move to the Start position. When the robot is moved to the start position o Preview checkbox: When enabled and Next or Back step buttons are pressed, the graphic robot moves to start position, but real robot position is not changed. o Move To Recorded Position: moves the robot and groups to the previously recorded Start position. After doing a search and Apply is pressed, a prompt is presented to save the current start position of leader Teaching a Program 361 and follower groups. This recorded position is useful to quickly get the leader and follower groups to a previously searched start position. The position is also checked when a program is generated. If the leader and follower groups are not at this recorded position a prompt is provide to move the leader and follower groups to this recorded position before generation. • Select children features selection boxes: used when multiple follower groups will coordinate with the leader group. Multiple features are defined on the part with each unique feature having a different follower group (robot) assigned. Features can be added so that when a program is generated, it includes group position data so that the resulting TP program will process the selected feature with the assigned follower group. A list box is presented that contains a list of currently created features. Features can be added to the Children list box. o Features Listbox: contains the list of currently created features o Children Listbox: contains the list of features to be included during program generation. o Select button (>): when pressed the selected feature in the Features listbox is moved to the Children Listbox. o Remove (<): when pressed the selected feature in the Children Listbox is removed from the Children Listbox. • Option button: o Single Circular Command checkbox: when enabled circular command ‘C’ will be changed to single circular command ‘A’ . This function can be used on V6.33 virtual robot. o Write TCP: For vision shift, active leader TCP is set to the center of the feature, when feature is nearly circle by this button o Rotation Limit Angle: maximum amount of rotation of the leader allowed when generating coordinated motion programs. • Apply Button: when pressed, a prompt is presented to Save the current search position. If saved, the Move To Recorded position button is active. 362 Teaching a Program To create a coordinated motion program for dual arms using CAD to Path features: 1. Create the CAD to Path featuresWhat_features_are_available_in_PRO_Software for each arm. Example shows a feature on each side of a box. 2. Define generation parameters for each feature ensuring that the TP Generation Target group is as desired for each feature. For the example shown: o Arm_1_Feature settings: Target Group: Arm 1 (Group 1) Pos Defaults: Along the segment: +Y, Fixed tool spin, Config: LUT, 0, ,0. More information on procedure to define is presented later in this procedure. o Arm_2_Feature settings: Target Group: Arm 2 (Group 2) Pos Defaults: Along the segment: -Y, Fixed tool spin, Config: LUT, 0, ,0. More information on procedure to define is presented later in this procedure. 3. On the Feature General tab that will be used to generate the dual arm program, enable desired groups, and select Coord Motion checkbox. For the example, Arm_1_Feature will be used to generate the dual arm program. For the example shown: o Arm_1_Feature group mask: 1,1,1 (Groups 1,2 and 3) o Coord motion checkbox: Enabled 4. Move the positioner axes to position the start of the CAD to Path feature close to where the robot motion should start for the coordinated motion move. This is important to aid in other steps in the process. The following figure presents and example. The goal of the process is to move the robot and positioner such that the robot TCP is kept down relative to gravity (3D World Z axis). Teaching a Program 363 To orient the CAD to Path feature start point relative to the 3D world Z direction, the positioner group is rotated so that the normal at the start of the feature is oriented in 3D +Z world direction. 5. Move the robot close the start point using surface mouse click. Orient the EOAT approximately as desired for the starting orientation when the program is executed. By manually moving the robot TCP to and approximate orientation for start position, determine which tool axis should be "Along" the segment axis. 6. View the EOAT triad teach ball triad. 7. On the CAD to Path feature’s Pos Defaults tab set the Along the segment field to the desired tool axis. For the example shown, +Y for the Arm_1_Feature is defined as Along the segment. 8. Repeat for the other robot group to determine Tool axis assignments for the feature assigned to the other robot group. For the example, Arm_2_Feature’s Pos defaults Along the segment field is defined to be –Y. 9. Open the Coordinated motion tab on the CAD to Path feature property page of the feature that will be used to generate the dual arm program. For the example, this is Arm_1_Feature. 10. Define Coordinated motion generation parameters: o Define which group is the leader. Roboguide will provide selections based upon the group mask chosen on the General property page. o Define which axis / axes should be used to coordinate the motion o Define which method should be used when generating program positions 11. Define the TP program start position for coordinated motion. Roboguide presents choices to help determine the desired start position. You can step through different start positions quickly. When a desired start orientation for the robot and positioner (CAD to Path feature) is determined, the program may be generated. Press the Search forward button (). The robot and positioner should move to align the normal of the CAD to Path feature at the start of the feature with the robot TCP. The tooling axis is aligned at this start position as defined on the Pos Defaults tab of the feature. Continue to use the FWD and BWD buttons on the coordinated motion tab until you determine the desired starting configuration the robot and positioner. It is important to Teaching a Program 364 note that Roboguide uses the settings on the Pos Defaults and Pos offsets during its search. 12. The Select Children listbox shows a list of features defined. Multiple features are defined on the part with each unique feature having a different follower group (robot) assigned. Features can be added so that when a program is generated, it includes group position data so that the resulting TP program will process the selected feature with the assigned follower group. Select the feature that should be included during program generation. It is critical that the selected feature use a different robot group for processing. For the example, Arm_2_Feature is chosen. 13. Press Apply. When prompted if you want to save the start location, select yes. 14. Generate the program on the General Tab of the CAD to Path Feature. The COORD lines in the generated TP program should show relative to the coordinated frame defined on the virtual robot. 13.12.1.3.3 Multiple arm applications with robot arm as leader group Creating coordinated motion programs for multiple arm controllers Coordinated Motion Program Generation (For Robots) This topic addresses using the CAD to Path feature coordinated motion property page tab to define generation parameters for a multiple robot arm controller where one robot is the leader and other robots are followers. To generate programs using coordinated motion the following is assumed: • User has read and understands the documentation for using coordinated motion with FANUC robots. • A workcell is defined that contains a controller with multiple arms. It is required that there more than two robot arms on the controller The virtual robot includes the following options: o Coordinated Motion o Multi Group Motion • A coordinated frame has been correctly defined between the Leader robot group and 365 Teaching a Program the follower robot groups. • Part: It is necessary to attach a target part to the leader robot end of arm tooling. • A feature has been generated on the part. The appropriate groups are selected on the General tab of the Feature property page. Group mask is set, and the coordinated motion option is selected. When this check box is enabled, the ‘COORD’ command will be added to motion command lines in the program and coordinated motion positions will be calculated when generating a program. When the conditions are satisfied, you may use the Coordinated Motion Tab on the feature property page tab. Fields included on the coordinated motion property page include: • Coordinated motion generation parameters frame: o Leader group selection combo box: defines the leader group for coordinated motion. The group selected on the General property page is a follower group. o Method: Minimized tool rotation changes through the motion cycle (base is work) Minimized tool location movement (Base is tool) • Program Start Position frame This function searches for a program start position. The EOAT is aligned with the normal of the feature at the start of the feature. Tool axis alignment definition on the Pos Defaults Tab and the changes on the Pos Offsets tab are used to define how the EOAT should align with the normal at the start of the feature. This start position can be recorded and used as start position of program generation. o Step Value: Specifies the angle around the Z axis of the Follower robot’s TCP when Next or Back is pressed. o Next (>>): The target part and the leader robot are rotated by the specified Step The tool tip of the follower robot moves to the starting position of the feature with specified tool orientation, and rotates around Z-axis of the follower robot’s TCP in the plus direction. 366 Teaching a Program o Next (>>): The target part and the leader robot are rotated by the specified Step The tool tip of the follower robot moves to the starting position of the feature with specified tool orientation, and rotates around Z-axis of the follower robot’s TCP in the minus direction. o Preview checkbox: When enabled and Next or Back step buttons are pressed, the graphic robot moves to start position, but real robot position is not changed. o Move To Recorded Position: moves the robot and groups to the previously recorded Start position. After doing a search and Apply is pressed, a prompt is presented to save the current start position of leader and follower groups. This recorded position is useful to quickly get the leader and follower groups to a previously searched start position. The position is also checked when a program is generated. If the leader and follower groups are not at this recorded position a prompt is provide to move the leader and follower groups to this recorded position before generation. o Start pos combo box: defines what position will be used as the generated program start position. Selections include: Current Position: Program start position is the current robot position. Recorded Position: Program start position is the recorded position that is the save start position that results from a Search. • Select features selection boxes: used when multiple follower groups will coordinate with the leader group. Multiple features are defined on the part with each unique feature having a different follower group (robot) assigned. Features can be added so that when a program is generated, it includes group position data so that the resulting TP program will process the selected feature with the assigned follower group. A list box is presented that contains a list of currently created features. Features can be added to the Children list box. o Features Listbox: contains the list of currently created features o Children Listbox: contains the list of features to be included during program generation. o Select button (>): when pressed the selected feature in the Features 367 Teaching a Program listbox is moved to the Children Listbox. o Remove (<): when pressed the selected feature in the Children Listbox is removed from the Children Listbox. • Option button: o Compensation: use to change: the follower robot tool rotation at approach and retreat points to avoid collision with the fixture • Spin angle revision: Spin angle is compensated at approach and retreat points by the specified angle. The compensated point number is set in ‘Number’. • Work angle revision: Work angle is compensated at approach and retreat points by the specified angle. The compensated point number is set in ‘Number’. • Travel angle revision: Travel angle is compensated at approach and retreat points by the specified angle. The compensated point number is set in ‘Number’. • Number: This setting specified the number of points for the approach/retreat point. leader robot orientation in the coordinated motion program: control the Slope of the Work. • Work Slope (RY): The work slope from base orientation until the specified angle around the Y-axis of the teaching point of the follower group. • Work Slope (RX): The work slope from base orientation until the specified angle around the X-axis of the teaching point of the follower group. o Swing: As the generated program runs this moves robots from base position until relative position that is specified in these settings. o Range: 368 Teaching a Program o Option: includes general generation options: Single Circular Command checkbox: when enabled circular command ‘C’ will be changed to single circular command ‘A’ . This function can be used on V6.33 virtual robot. Write TCP: For vision shift, active leader TCP is set to the center of the feature, when feature is nearly circle by this button • Apply Button: when pressed, a prompt is presented to Save the current search position. If saved, the Move To Recorded position button is active. This function generates a coordinated motion program that the robots move with the leader robot from the specified features. Procedures for program generation 1. Create a workcell that meets above conditions 2. Draw a feature on a part attached on the leader robot. 3. Open Feature property page /General tab. Select a follower group robot from group combo box. 4. Check leader group number at Group Mask check box. 5. Check Coord Motion check box. 6. Define feature parameters on feature property page tabs. 7. Open ‘ Coordinated Motion’ tab. 8. Select a leader group from ‘Leader’ combo box. If not listed in Leader box, check group mask of group on the general tab. 9. Select a generation method from Method box. 10. Set value in Step box for rotating around Z-axis of the follower robot TCP. 11. Click ‘>>(Next)’ or ‘<<(Back). If robot is reachable with specified tool rotation, the robot will move to start of feature. If not reachable, it will search start position automatically until robot is reachable. Teaching a Program 369 12. If the robot moves to appropriate position, click ‘Apply’ button. 13. If Preview is checked, Message box ‘May the robot be moved?’ will be displayed. Then Select Yes. If select No, the robots will move back to current position. 14. Message box ‘Record this position?’ will be displayed. Then select Yes. If select No, the current position will not be recorded. 15. Open General tab. Click Generation Program. Then a coordinated motion program will be generated. 16. Run the program from TP or simulation start. Procedures for a program generation of three robots For three robots coordinated motion, two features on the parts must be defined such that the leader robot holds the part. After specifying the follower robots to each features property, generate the program. The procedures are written below. 1. Define a parent feature by above procedures. (Procedures for program generation) 2. Draw a child feature on the part that the leader robot grasps. 3. Select third group from Group list box on General tab of the child feature. 4. Define feature parameters on feature property page tabs. 5. Open the parent feature property page and set target group number of child feature to group mask on the general tab. 6. Open ‘Coordinated Motion’ tab, select a target feature from ‘Features’ list as child feature, and add a child feature to Children list box by clicking ‘>’ (Select button) . Click Apply button. 7. Open General tab on the parent feature property page and click Generate Feature TP Program button. Teaching a Program 370 Program Start Position frame This function searches for a program start position. The EOAT of the Robot selected on the General property is aligned with the normal of the feature at the start of the feature. Tool axis alignment definition on the Pos Defaults Tab and the changes on the Pos Offsets tab are used to define how the EOAT should align with the normal at the start of the feature. This start position can be recorded and used as start position of program generation Procedure to generate programs for Dual Arm coordinated motion This topic presents procedures for using the coordinated motion automatic path generation functionality. It includes information for setting up and program generation for robots in the workcell. This functionality is only available with a specific configuration of robot systems. Procedure to use the coordinated motion functionality. Initializing the workcell 1. Open the Sample work cell. 2. Select "Cooperated welding vision shift function" from the Tools main menu item. The calibration data of the two robots is defined. This calibration data is initially set to sample data for the robots configuration in the workcell. If robot locations change you need to execute the calibration function. The calibration data is made from the position of two robots in the work cell by the following operation and it is sent to the virtual robot Calibrating 1. Enable "Connect to virtual robot" 2. Enable "Set virtual robot corresponding to relative location among robots" 3. Press the "Exec" button. The virtual robot must be restarted for calibration data to become effective. Teaching a Program 371 4. Restart the virtual robot by selecting main menu item Robot/ Restart Controller / Cold Start. The calibration data becomes effective Define Feature 1. Open the Draw selection popup menu by pressing the Draw Features on Parts toolbar icon () or select Draw Features Parts under the Teach main menu item. 2. Select the part to create a feature on. The Draw selection popup will highlight the Surface entities buttons that can be used to generate 3D features. 3. Select Edge line from the Draw selection popup. After the Edge line entity button is selected, and the mouse is dragged over the part, edges will become highlighted under the mouse pointer. A white line designating the normal to the surface is shown. Press the left mouse button once to start the feature. Single button click the left mouse button along the edge to build the feature line. When the end of the edge / feature line is reached, double click the left mouse button. A feature is created and the property page for the feature is opened. The feature is found in the cell browser under the part on which the feature was found. The following figure is an example of an edge. 4. On the General tab of the feature property page define the fields as follows: o Input the desired program name in the TP Program Name field o Select group 1 from Group combo box. o Uncheck RTCP o Select UFrame number 0 o Select tool frame number 1. 5. Click the Apply button. (Select "No" in the message box of the confirmation.) The property page should look similar to the following: Teaching a Program 372 6. Select the Prog Settings tab on Feature property page and input operation speed in the Segment speeds field. 7. Select the Pos Defaults Tab. 8. Setup the fields as follows: o Tool Frame Axis <=> Feature Axis Assignment: Normal to Face is +Z. Along the feature is -X. o Enable Change tool spin orientation along the path. o Circular Move Detection should be set to often. Press the Help button if you require more information on Circular move detection. 9. Select the Approach / Retreat tab and define as desired 10. Select the Pos Offset tab o RX Angle = -45 degrees o RY Angle = 10 degrees 11. Select the coordinate motion tab. 12. Set the fields as follows: o Enable the Dual Arm Coordinated Motion checkbox 13. Click Apply button. Select "Yes" in the message box of the confirmation. Defining TCP Orientation 1. Change TCP orientation of the robot of group 1 by using TP and to turn to the right under. 2. Move to an initial position of the robot of group 1 by using TP. (Move to the suitable Teaching a Program 373 middle position between robots. ) 3. Search an initial position by clicking ">>"(Next) or "<<"(Back)button. (The initial orientation of the TCP will be searched by spinning group 1 robot’s TCP.) When an initial position that can reach is obtained, the robots will move to initial position. o If the position is suitable (posture that two robots do not overreach), click "Apply", and the question "May the robot be moved?" is displayed. Select "Yes". o If the position is not suitable, select ">>" or "<<" button and the next searching position is used. If the message box is not displayed, it is necessary to change position of group 1. 4. After moving the robot by searching start position, click "Apply" button. (When the button is clicked, the current position of the robot can be is recorded, and it is used as an initial position of automatic generation. The current location of the robot of group 1 is used as an initial position.) 5. Oopen "General" tab of the feature property window and click "Generate Feature TP Program" to auto generate the TP program. The program can be validated by stepping the TP program from the TP editor. Revision of the robot orientation Interference can be avoided by adding the revision to orientation in the first and last part of the program. It uses it in case of interfering with the fixture or the part. The ratio of the route that the orientation is revised to all routes is specified. It uses it to lengthen the revised section in processing beginning/end point neighborhood. 1. Open "Coordinated Motion" tab on the feature property page 2. Move to the starting position by pressing the "Move to recorded pos." button. 3. Select "Comp." Button. Then compensation settings are displayed. 4. Input 10, 5 and10 to "Spin Angle Revision", "Work Angle Division", and "Travel Angle Revision", respectively. Teaching a Program 374 5. Input 5 and 10 to "Retreat" of "Work Angle Revision" and "Travel Angle Revision", respectively. 6. Click "Apply" button. (Select "No" in the message box of the confirmation.) 7. Confirm that starting posture is revised with "<<" or ">>" button, and move the robot. 8. Click Apply and record the robot position. Then the starting position is re-set. 9. Open "General tab" on the feature property window and click "Generate Feature TP Program" button. The TP program will be generated. The program can be validated by stepping the TP program from the TP editor. The starting position shift function. A starting position is shifted and the program is generated. When it fails in the generation of the program or the stroke limit is generated, it uses it. 1. Open the "Coordinated Motion" tab on the Feature property window, to click "Range" button for showing "Range" settings. 2. Select "Shift Location" from "Shift Mode" list box. 3. Input –50 for Offset X, Offset Y, and Offset Z for the left "Location" values(minimum value of the shift amount). 4. Input 50 for Offset X, Offset Y, and Offset Z for the right " Location " (maximum value of the shift amount). 5. Input 50 for "Unit" field (width of the shift amount) within " Location ". (27 ways are calculated in this example.) 6. Click "Apply" and "Close" button. . 7. Open "General tab" on the feature property window and click "Generate Feature TP Program" button to generate the TP program. The program can be validated by stepping the TP program from the TP editor. The start orientation shift function A starting orientation is shifted and the program is generated. When it fails in the Teaching a Program 375 generation of the program or the stroke limit is generated, it uses it. 1. Open "Coordinated Motion" tab on the feature property window. to click "Range" button for showing "Range" settings 2. Select "Shift Rotation" from "Shift Mode" list box. 3. Input 40 for the Min of "Work Angle" (minimum value of the shift amount) and 50 for the Max (maximum value of the shift amount). 4. Input 5 for the Min of "Travel Angle" (minimum value of the shift amount) and 15 for the max (maximum value of the shift amount). 5. Input 50 to "Approach Rate" and "Retreat Rate" respectively, 6. Click "Apply" button. (Select "No" in the message box of the confirmation. ) 7. Input 5 to "Angle unit". (width of the shift of the angle). 8. Operate above 6-13. Note) When this function is used(A different value is set to minimum value and the maximum value of the shift amount of "Work Angle" and "Travel Angle"), the starting position shift function becomes invalid Movement function of the work that robot is grasped. The program where only the direction and the distance to which work is set move is generated. When interference and the stroke limit are generated when work rotates, it uses it. 1. Open "Coordinated Motion" tab on the feature property window, and Click "Swing" button. 2. Input a suitable value (example -50,100 and 50) in X, Y and Z "Swing Leader Group" respectively and click "Apply button". (Note) The direction indicates the direction of TCP coordinates of group 1. Moreover, 250 degrees of the default value are set to R. This value is a value intended for all surroundings processing of work. When a short circular arc is processed, it sets it according to a circular arc angle. 3. Open "General tab" on the feature property window and click "Generate Feature TP Teaching a Program 376 Program" button. The TP program is generated. The program can be validated by stepping the TP program from the TP editor. Rotation function of Arc tool The program is generated for rotating the arc tool by specified rotation angle. When interference and the stroke limit are generated, it uses it. 1. Open "Coordinated Motion" tab on the feature property window, and Click "Swing" button. 2. Input a suitable value (example 60) in "Swing Target Group" R and click "Apply" button. (Note) 100 degrees of the default value are set to R. This value is a value intended for all surroundings processing of work. When a short circular arc is processed, it sets it according to a circular arc angle 3. Open "General" tab on the feature property window and click "Generate Feature TP Program" button. Then TP program will be generated. 4. If the program is started by the TP emulation, operation can be confirmed. Division number The instruction point of the program generated with the specification of "Division" number of arc is specified. The composition of the generated instruction point is as follows. Approach point, circular arc beginning point, division number * 2 and retreat point 1. Open "Coordinated Motion" tab on the feature property window, and Click "Option" button. 2. Input 2 to "Division" and click "Apply" button. (Note) When 0 is set to "Division", "Division" is set to four 3. Open "General" tab on the feature property window and click "Generate Feature TP Program" button. Then TP program will be generated. 4. If the program is started by the TP emulation, operation can be confirmed. Teaching a Program 377 Writing center position to TCP Circular arc center coordinates are calculated from specified feature, and it writes it in the actual tool frame of handling robot. 1. Open "Coordinated Motion" tab on the feature property window, and Click "Option" button. 2. Validate " Write TCP", and click "Apply" button. 3. Open "General" tab on the feature property window and click "Generate Feature TP Program" button. Then the center position is written to actual tool frame of handling robot. Single Circular command When "Single circular command" is validated, the circular command of the generated program becomes single circular command. Conveyor Tracking with Roboguide 378 14 Conveyor Tracking with Roboguide About Conveyor Tracking with PRO Software Conveyor tracking includes: • Line Tracking: where the robot is stationary • Rail Tracking: where the robot is on a rail The setup for the two tracking types is different, but programming is very similar. Conveyor tracking requires accurate setup. For a complete discussion of line tracking with FANUC robots refer to the Line Tracking setup and operations manual. Add a conveyor fixture to the workcell This procedure outlines how to add a conveyor and part to a workcell. To add a conveyor fixture to the workcell 1. Open the cell browser 2. Right mouse click on the fixtures category and select Add Line from the popup menu. When adding a line different types of CAD can be used for the line. Machine Library: a previously saved definition CAD File: a CAD file. Box, Cylinder, Sphere: primitives that can be parametrically defined. After selection the object should be available in the workcell with the property page for the conveyor open. This defines the CAD that is used to represent the conveyor. A link axis must be defined that defines what will move on the conveyor. 3. Right mouse click the conveyor object in the cell browser that was created, and select Add Link from the popup menu. When adding a link different types of CAD can be used to represent the carrier for what will move on the conveyor. o CAD library o CAD File: a CAD file. o Box, Cylinder, Sphere: primitives that can be parametrically defined. Conveyor Tracking with Roboguide 379 After selection the object should appear relative to the conveyor object. The property page for the new link is shown. 4. On the general tab select the desired robot and robot tracking frame that will be used. 5. Press the Select 3D Frame button on the General Tab. The 3D Frame represents the frame that will move when the conveyor moves. 6. Modify the frame location such that the +X direction of the 3D Frame is in the direction of the conveyor movement. 7. Select the Link CAD tab. The Link CAD is what moves when the 3D Frame moves. 8. Modify the CAD Location to represent the location of the CAD relative to the conveyor. Note: left mouse click on the CAD object before moving it to ensure that the CAD is selected, and not the 3D Frame. The conveyor should now be defined. To have the conveyor simulate, the virtual robot must be configured for line tracking simulation, and line tracking programs must be taught. Configure the virtual robot encoder for simulation The encoder on the virtual robot must be defined and setup for simulation. The virtual robot has the ability to simulate encoder pulses. With this and robot programming a simulation of a line tracking program is available. For detailed explanation of line tracking see the FANUC Line Tracking manuals. At workcell initiation time, Roboguide detects if line tracking is installed. If installed, Roboguide initializes the encoder number 1 to 1. Other encoders remain at 0. The following procedure can be used to reset the encoder number. To configure the virtual robot encoder for simulation Using the virtual TP 1. Open the virtual Teach Pendant 2. Open the encoder setup page. Select Menus / Setup. If the encoder setup page is not visible, select F1-Type / Encoders. The encoder setup page should show. 3. In the encoder axis field enter the encoder number (normally 1, or if you have multiple lines to simulate the desired encoder number should be entered). Conveyor Tracking with Roboguide 380 4. Cold start the controller The encoder is now defined. The encoder will be simulated from TP Programs. It is also possible to now set the simulate feature to ON at the same encoder setup screen. The conveyor toolbar should now function. Enable the virtual robot encoder for simulation The encoder on the virtual robot must be defined and setup for simulation. The virtual robot has the ability to simulate encoder pulses. With this and robot programming a simulation of a line tracking program is available. For detailed explanation of line tracking see the FANUC Robotics Line Tracking manuals. To configure the virtual robot encoder for simulation 1. Open the virtual Teach Pendant 2. Open the encoder setup page. Select Menus / Setup. If the encoder setup page is not visible, select F1-Type / Encoders. The encoder setup page should show. 3. Set the encoder enabled field to ON 4. Set the Simulate conveyor field to ON The encoder is now enabled for simulation. The encoder can be simulated from TP Programs. Using the conveyor link general tab The conveyor general tab is used to define the tracking schedule that is used with the axis attached to the conveyor. Fields include: • Name: Link Axis description • Robot: Robot to track • Sched: the tracking schedule that is used with this axis/ conveyor. Conveyor Tracking with Roboguide 381 • Frame Location: defines the visualized tracking frame for the conveyor. The conveyor will follow this frame’s X direction when driven by the simulated conveyor on the virtual robot. By definition, the tracking frame must have the +X direction of the frame in the direction of conveyor movement. Modify the Frame to define the frame location to meet this requirement. • Show Reference: is for reference only. When robot relative is selected the numbers in Frame location are relative to the robot world. When Parent relative is selected the numbers shown in Frame Location are relative to whatever object is the parent of the selected object. • Select 3D Frame: when pressed the frame origin is selected. The frame origin is the coordinate system that defines the tracking travel. • Frame Visible: when checked the frame is shown as a motor for visual reference. • Frame Locked: when checked the Frame Location value can not be modified. Using the tracking schedule property page The tracking schedule property page has fields to define line tracking schedule information. Setting fields on the tabs of the property page sets corresponding fields on the virtual robot controller. Line tracking may be configured using either the tracking schedule property page or directly from the virtual robot controller. A key function of the PRO Software property page is the ability to see boundaries as virtual walls in the workcell. Tabs on the tracking schedule property page include: • General: Define general schedule parameters. • Frame: define tracking frame • Boundaries: setup tracking boundaries. Conveyor tracking requires accurate setup. For a complete discussion of line tracking with FANUC robots refer to the Line Tracking setup and operations manual. Conveyor Tracking with Roboguide 382 Using the tracking schedule general tab The tracking schedule general property page has fields to define tracking type and other general tracking parameters. Settings on this tab can set parameters on the virtual robot that can also be defined on the virtual robot tracking schedule menus. For PaintPRO, setting these fields defines appropriate settings for PaintTool. Fields include: • Appearance Frame: Settings effect schedule information that PaintPRO uses. o Name: a descriptive name for the boundary. o Color: defines the color of the boundaries wall and positions that are taught using this tracking schedule. o Enabled: when checked the schedule is enabled for use with Roboguide. This is a critical setting for performance. If it is not enabled, Roboguide simulations will not update. Only enable schedule you are using. Schedule 1 is initialized to enabled while all other schedules are initialized to off. • Tracking Frame: o Type: defines the tracking type. Types include line tracking, rail tracking, and circular tracking. Setting this field defines the Tracking Type setup option on the virtual robot tracking setup menu. o Group: defines which robot motion group to use for tracking. Setting this field defines the Robot Tracking Group setup option on the virtual robot tracking setup menu. o Encoder: defines which encoder number is used for tracking. Setting this field defines the Encoder number setup option on the virtual robot encoder setup menu. o Detect Distance: defines the distance along the conveyor the body detect switch is from the origin of the tracking nominal frame. Setting this field defines the Part Detect Dist. setup option on the virtual robot tracking setup menu. • Rail: if type is set to Rail additional settings are available o Direction: Defines the track axis direction for the rail tracking. This defines to the robot controller if the rail axis positive motion direction is the same as the conveyor. The value is POS if the +X of the robot extended Conveyor Tracking with Roboguide 383 axis is the same direction as the conveyor and NEG if the +X direction of the robot extended axis is opposite of the conveyor. o Extended axis: defines which robot extended axis tracks the conveyor. PaintPRO modifies selections on this tab for the painting process. Using the tracking schedule frame tab The frame tab has fields to define the nominal tracking frame for Cartesian line tracking. The nominal frame tracking frame defines the frame of reference for positions that are used during line tracking. Positions are recorded relative to the tracking frame. As the conveyor moves the robot controller attaches the nominal frame to the conveyor at the detect switch when the switch is triggered (done with TP instruction SETTRIGGER). The nominal frame, and also positions taught relative to the frame, move with the conveyor. If Rail tracking is selected on the general property page, setting the nominal frame has no effect since rail tracking does not use the nominal tracking frame. Settings on this tab can set parameters on the virtual robot that can also be defined on the virtual robot tracking schedule menus. For PaintPRO, setting these fields defines appropriate settings for PaintTool. Fields include on the Frame tab for Roboguide software other than PaintPRO: • Roboguide software other than PaintPRO: o Used: the frame used for tracking. o X, Y, Z, W, P, R: defines the appropriate value for the tracking frame. o Show reference: defines what frame of reference to show x, y, z, w, p, r values. This setting only defines what frame of reference is used, and does not change how numbers are saved to the virtual robot. Values on the virtual robot are respect to world frame. o Edit Frame Data: when enabled the tracking frame data can be modified. o Record / Use Current triad position: when pressed records the current position of the visible frame into the position fields. • PaintPRO o Used: Conveyor Tracking with Roboguide 384 For Cartesian (6 axis) tracking systems: the field defines which UFRAME should be used for the tracking frame data. A value of Default means that he default nominal tracking frame data is used. NOTE: the data needs to define the direction of the conveyor along the X axis of the UFRAME data. For Rail Tracking: the FRAME data is not used for rail tracking systems. Nominal tracking frame definition The nominal frame tracking frame defines the frame of reference for positions that are used during line tracking. Positions are recorded relative to the tracking frame. As the conveyor moves the robot controller attaches the nominal frame to the conveyor at the detect switch when the switch is triggered (done with TP instruction SETTRIGGER). The nominal frame, and also positions taught relative to the frame, move with the conveyor. Using the tracking schedule boundaries tab The tracking schedule boundaries tab has fields to define the boundaries for the tracking schedule. Understanding how boundaries are defined is important to obtaining effective values for the boundaries. The tracking system uses the boundaries to determine whether the robot should move to a tracking program position. The robot will not move to the current TPP line position until the position is beyond the upstream boundary (in the window). If a position travels past the outbound boundary (out of the window), a alarm is generated by the robot controller. The following figure shows P[1] which has passed the tracking boundary. The robot can move to P[1] since it is past the upstream boundary. P[2] is still upstream from the boundary so the robot will wait at P[1] tracking the conveyor movement, and not move to P[2] until P[2] passes the upstream boundary. Boundaries are calculated relative to the defined nominal tracking frame. An upstream boundary is generally less than the down stream boundary when considered relative to the nominal tracking frame origin. The follow pictures show examples: In this case Upstream boundary is a negative value, and downstream boundary is a positive value relative to nominal frame. In this case both upstream and down stream are positive values relative to nominal frame. For rail tracking, the boundary represents the aux axis value of a position that must be in bounds before the robot will move to the position. The value represents an auxiliary axis position for the robot vs. a TCP position that is used with line tracking. Conveyor Tracking with Roboguide 385 This should be understood when setting the boundaries for a tracking schedule. Fields on the boundaries tab include: • Active Boundary: o Boundary set listbox: defines the boundary set of the selected schedule to be defined. o Upstream: defines the upstream boundary value. For line tracking: Enter this value relative to the origin of the nominal frame. For rail tracking: Enter this value as an auxiliary axis position where the boundary should be. o Downstream: defines the downstream boundary value. For line tracking: Enter this value relative to the origin of the nominal frame. For rail tracking: Enter this value as an auxiliary axis position where the boundary should be. o Visible: when enabled the boundary selected on the Boundaries tab are displayed as a translucent wall. o MoveTo: For line tracking this moves the robot TCP to the boundary. For rail tracking, this moves the robot auxiliary axis to the upstream / downstream value. o Use Current TCP: For line tracking: records the boundary value relative to the nominal frame origin along the nominal frames X axis to the current robot TCP location. The nominal frame X axis is, by FANUC Robotics convention, defined along the direction of movement of the conveyor. For rail tracking: this records the current position of the auxiliary axis. These rules apply to HandlingTool. PaintTool and PaintPRO have additional tracking capability that are specific to the painting process. Adding parts to the conveyor fixture Parts can be attached to the conveyor links just like any other machine axis. See adding parts to a fixture. The parts can then be picked and/or place on the moving line. Programming for this is like any other TPP Program that does not have tracking operations. Conveyor Tracking with Roboguide 386 Create a program that synchronizes conveyor movement in a workcell Roboguide uses controller events to enable the simulation of the conveyor. When Roboguide detects a Line Set trigger command, the object attached to the conveyor is set at the body detect distance from the nominal frame and moves at the speed defined as the simulated conveyor speed. The system is synchronized. The robot can be synchronized using the conveyor toolbar or by running a TP program that does a Settrig TP command. To synchronize using a TP program you create a program that simulates the conveyor and sets the line trigger value. The program can then be run whenever it is required to start a part moving down the conveyor. To create a TP program that enables the conveyor, simulates the conveyor, and sets the trigger to turn on line tracking. 1. Create a new program 2. Add the instructions to the program LINE[1] ON – this enables the encoder LINESIM[1] ON R[2] – where R[2] is the register that holds the encoder speed LINECOUNT[1] R[1] – where the first 1 is the encoder num and the second 1 is the register to store the linecount value SETTRIG LNSCH[1] R[1] – where the first 1 is the line tracking schedule to be used and the second 1 is the register that tells schedule the encoder body detect value . Whenever this program is run the part should start at the beginning of the line defined as the detect distance away from the frame zero position. Create a TP Program that simulates a conveyor not moving The conveyor toolbar can be used to simulate the conveyor to not moving, or a TP program can be executed. When the conveyor is moving in simulation it is possible to change the speed of the conveyor through TP instruction or on the Encoder setup screen. To change the conveyor speed to zero or not moving 1. Create a new program 2. Add the instruction to the program LINESIM[1] ON R[4] – where R[4] is the register that holds the encoder speed value of 0 Conveyor Tracking with Roboguide 387 When this program is run the conveyor speed goes to zero. Creating a TP Program that uses tracking Creating a TP program within the PRO software environment that uses tracking works exactly as you would on an actual robot. The steps are: • TP Program creation that enables tracking for the program in the program header information. • TP Instructions that move the robot The following outlines the process for a basic program that will do tracking. For more information see FANUC Robotics Line Tracking manuals. NOTE: you must create the line tracking program using the virtual TP. Adding a program using the cell browser Add TPP program and then changing the TPP program header data from the select screen will not work. To creating a TP Program that uses tracking 1. Open the virtual Teach Pendant. 2. Synchronize the conveyor system by using the conveyor toolbar or by executing a simulation setup TP Program. 3. Stop the conveyor movement at a teach point by using the conveyor toolbar or by executing a TP Program that simulates the conveyor to zero speed. 4. Press Select Key on the virtual TP. The select screen will open on the virtual TP. 5. Press CREATE and enter a name for the program. Press Enter 6. The detail screen should now show for the new program. Press NEXT softkey. 7. Enter the line track schedule number, the continue tracking, and select Boundary entries on the screen. Press Next. 8. Press End and then Edit to go to the TPP Editor page. After pressing Edit the Teach Pendant asks if the current part detect trigger value is valid. Asks if you want to re-synchronize the conveyor Select NO and press Enter Conveyor Tracking with Roboguide 388 The teach pendant editor is now opened where positions can be taught. 9. If you want to control the conveyor from your TPP program add tracking instructions for line enable, line simulation, line count and set trigger. LINE[1] ON LINESIM[1] ON R[2] – where R[2] is the register that holds the conveyor speed value LINECOUNT[1] R[1] – Where R[1] is the register that holds the line count at the trigger point SETTRIG LNSCH[1] R[1] – Where R[1] is the register used to set the encoder trigger value into line schedule [1] If you want to control the conveyor from the conveyor toolbar, you do not have to add these instructions. 10. Teach the positions When the program is run it will execute by triggering the part to the body detect distance from the nominal frame origin. In order to run the program with the part starting at the beginning of the line a new trigger must be defined. Another method to do this would be to call the TP Program that simulates and synchronizes the conveyor in the beginning of the tracking program created. As you teach positions, you can use the conveyor toolbar to index the conveyor. The taught positions should move with the conveyor movement. Use the conveyor toolbar The conveyor toolbar is used to control the line tracking conveyor. PRO software uses the conveyor simulation capability of the robot controller. Pressing buttons on the toolbar change settings for the virtual encoder. Settings are based upon the definition made on the conveyor fixture general property page tab The defined schedule on this property page is used to control the conveyor. Buttons on the toolbar include: • Stop: stops the conveyor movement • FWD: sets the conveyor direction to be forward. Forward is defined as the +X direction of the tracking frame that is used to define the line. This definition is made on the conveyor fixture general property page tab • BWD: sets the conveyor direction to be reverse. Reverse is defined as the -X direction of the tracking frame that is used to define the line. This definition is made on the conveyor fixture general property page tab Conveyor Tracking with Roboguide 389 • Detect: initiates a body detect. The part defined for the conveyor is placed the body detect distance from the nominal frame. • Speed: speed of the line in mm/sec • 1X, 2X, 4X: changes the speed of the conveyor. Opening the conveyor toolbar If the line tracking option is enabled on the virtual robot the conveyor toolbar is available. To open the conveyor toolbar 1. Press the conveyor toolbar icon on the toolbar () The conveyor toolbar will open. 14.1 Line Tracking with Roboguide Line Tracking with PRO Software Cartesian tracking refers to a stationary robot whose Tool Center Point (TCP) position is adjusted to track the motion of a conveyor. You can increase the work capacity of a robot by teaching paths efficiently. You can also reduce overall cycle time by using the motion of the conveyor to increase the robot workspace and decrease the time needed to complete a path. With Cartesian tracking, the arm configuration of the main robot axes (not including any Line Tracking with PaintPRO and PaintTool extended axes which might be present) is changed to achieve the tracking motion. Because of this, Cartesian tracking is restricted to Linear and Circular program motions. Joint motions are not supported. There are two kinds of Cartesian tracking: Line and Circular (not to be confused with Linear and Circular motions). Note Program path planning and teaching is critical for Cartesian tracking. Inefficient paths can restrict robot movement around the workpiece, possibly reducing the workspace. In addition, the joint trajectories of the robot will rarely be the same during program execution as during program teaching Cartesian line tracking consists of a robot and a linear conveyor which moves parts past a robot. The robot is usually mounted on a stationary pedestal beside the conveyor, where it can easily reach the parts as they move past it. The robot can also be mounted above or below the conveyor, or on a rail or other integrated extended axis depending on the needs of the application. Conveyor Tracking with Roboguide 390 Cartesian circular tracking consists of a circular conveyor or rotary table which moves parts past a robot. The robot can be located either inside or outside the circle of the conveyor. The robot can also be mounted above or below the conveyor, or on a rail or other integrated extended axis depending on the needs of the application. Note Circular tracking does not use tracking boundaries at this time. Note Only Linear program motion is supported for circular tracking. Circular and Joint program motion is not permitted. Roboguide has abilities to create workcells that utilize controller line tracking capability. Roboguide: • Uses the encoder simulation capability of the virtual robot controller to simulate the moving line. • Provides interfaces to model conveyors and objects on conveyors • Uses the virtual teach pendant and TPP programming for programming line tracking applications. TPP Tracking instructions are used exactly like on the robot. • Simulates conveyor movement when the SetTrigger line tracking instruction is used. • Has a conveyor toolbar to control the conveyor PaintPRO applications often use line tracking. PaintPRO has specific capability to configure PaintTool and its use of line tracking. For more information see Line Tracking with PaintPRO and PaintTool See the topic General procedure for setting up a line tracking workcell for more information on building a line tracking workcell. Conveyor tracking requires accurate setup. For a complete discussion of line tracking with FANUC robots refer to the Line Tracking setup and operations manual. Build a virtual robot for line tracking Virtual robots used with line tracking have to be configured with conveyor tracking options. When Roboguide detects that line tracking is enabled on a robot controller the capability to create conveyor fixtures is enabled. To configure a virtual robot for line tracking 1. Create a new workcell by selecting File / New from the main menu or clicking on the Conveyor Tracking with Roboguide 391 New Workcell icon on the toolbar. 2. Follow the steps for the workcell creation wizard until the Robot Options step. 3. Select the Line Tracking Option 4. Finish the wizard When the virtual robot is finished serializing the Line Tracking Option is available on the virtual robot. General procedure for setting up a line tracking workcell The following general procedure outlines the steps to create a line tracking workcell. This includes encoder setup, tracking setup, adding conveyors to the workcell, TP programs to simulate the conveyor, and other steps. This procedure refers to other topics which provide additional detail. For detailed explanation of line tracking see the FANUC Robotics Line Tracking manuals. The basic flow: • Create a workcell • Configure the line tracking system • Simulate the conveyor • Create programs to track General procedure for setting up a line tracking workcell 1. Create a new workcell 2. Select the Line Tracking option in the Robot Options step of the workcell creation wizard. See Configuring a virtual robot for line tracking for more detail. 3. A workcell should be open in PRO software with the line tracking option available on the virtual robot. Add a _ conveyor: 4. Configure the robot encoder. Conveyor Tracking with Roboguide 392 5. Configure the robot tracking schedule information. The workcell should now be available for line tracking robot programs. 6. Create a program that tracks. This includes simulating the conveyor, triggering the body detect, and running a tracking motion lines. Configure the robot line tracking schedule information The tracking schedule information defines the line tracking parameters that will be used for a running program. Tracking schedules are defined on the virtual teach pendant on the Tracking Setup pages or on the schedule property pages in Roboguide.. The following picture shows an example of the parameters of the line tracking setup parameters. For detailed explanation of line tracking see the FANUC Robotics Line Tracking manuals. To configure the robot line tracking schedule information using the schedule property pages in Roboguide 1. Open the desired tracking schedule from the cell browser 2. On the general property page: o Enable the tracking schedule if this schedule will be used in TPP Programs o Enable Line for Line tracking o Define which robot group will be used for tracking (usually group 1) o Define which encoder to use (usually 1). If this value is not set to 1 ensure that the encoder is defined on the virtual robot. o Enter the desired Detect distance. This is the distance from where the Nominal frame origin is taught to the detect switch on the conveyor. The number is used in simulation to place the starting point of the part on the conveyor relative to the nominal frame. This number creates a reference between the nominal tracking frame and the part detect switch. The program paths can then be copied from one robot to another, as long as the individual part detect distances are correctly specified for each robot. This compensates for varying part detects. o Trigger register: NOTE: it is important that a non zero DIN be used. If a Conveyor Tracking with Roboguide 393 non zero DIN is not used, the teach menu that tells you to setup the tracking schedule will be shown when you select a program. 3. On the Frame property page define the Nominal tracking frame. The nominal track frame defines the frame that is used for line tracking programs. It is required that the +X of this frame be in the direction of the conveyor. Generally, an R value of +90 or –90 is required. 4. On the boundaries tab define the boundaries. defines the upstream and downstream line tracking boundary that the robot should move within. The robot will not move to a point until it is in the boundary window. The following picture shows a description. Note that boundary values are relative to the nominal tracking frame origin defined, and is calculated along the frames X axis. To configure the robot line tracking schedule information using the virtual TP screens 1. Open the virtual Teach Pendant 2. Open the tracking setup page. Select Menus / Setup. If the tracking setup page is not visible, select F1-Type / Tracking. The Tracking setup page should show. The default tracking schedule is 1. If a different schedule is desired change the schedule by using the SCHED softkey. 3. Setup the tracking fields: o Robot Tracking Group: generally 1. o Tracking Type: Line o Visual Tracking: NO o Use Vision part queue: NO o Use Tracking Uframe: NO o Nominal Track Frame: the nominal track frame defines the frame that is used for line tracking programs. It is required that the +X of this frame be in the direction of the conveyor. Generally, an R value of +90 or –90 is required. o Track Axis Num: 0 – used for rail tracking Conveyor Tracking with Roboguide 394 o Track Axis Direction: Positive – used for rail tracking o Tracking Encoder Num: must be the same as defined in the encoder setup o Enc Scale Factor: defines the number of counts of the encoder for every mm movement of the conveyor. This can be manually entered and should be obtained from the real world system if desired. The default value of 500 is sufficient for simulation purposes. o Part Detect Distance: the distance from where the Nominal frame origin is taught to the detect switch on the conveyor. The number is used in simulation to place the starting point of the part on the conveyor relative to the nominal frame. This number creates a reference between the nominal tracking frame and the part detect switch. The program paths can then be copied from one robot to another, as long as the individual part detect distances are correctly specified for each robot. This compensates for varying part detect o Vision Uframe Dist: - used with vision o Trigger INPUT number: is used for real world systems to define the DIN for the trigger switch. For simulation purposes enter a DIN number that can be used (8 is commonly used for simulation). ). NOTE: it is important that a non zero DIN be used. If a non zero DIN is not used, the teach menu that tells you to setup the tracking schedule will be shown when you select a program. o Selected Boundary Set: which boundary should be used with Tracking Schedule. o Bndry Set 1-10: Up: and Dn: defines the upstream and downstream line tracking boundary that the robot should move within. The robot will not move to a point until it is in the boundary window. The following picture shows a description. Note that boundary values are relative to the nominal tracking frame origin defined, and is calculated along the frames X axis. The tracking schedule should be defined and can be used in a TP program. Conveyor Tracking with Roboguide 395 14.1.1 Line Tracking with PaintPRO and PaintTool Line Tracking with PaintPRO and PaintTool PaintPRO and PaintTool utilize line tracking extensively, and utilize many advanced capabilities of the line tracking system. This topic discusses specific functions of line tracking and how they are used with paint applications. It also discusses requirements that the programmer must be aware of when programming paint robots. Tracking type used: P-500 workcells: The P-500 robot arm has 5 axes, and is set on a rail that defines the sixth axis. Joint one of the robot is defined as the rail motor. This joint controls the world Y motion of the arm. Since the robot is a six axis robot, the P-500 uses six axis Cartesian line tracking rather than 7 axis rail tracking. Tracking type is defined on the Schedule General Property Page Tab. Non P-500 Workcells: PaintPRO support both 6 axis line tracking robots and rail tracking robots. To configure a paint robot utilize the same methods as used with PaintTool at controlled start. Nominal tracking frame: Generally PaintTool defines the nominal tracking frame to be at the base of the robot with a rotation to define the +X direction of the nominal tracking frame in the direction of the conveyor. This nominal tracking frame can be modified either on the virtual robot teach pendant or on the tracking schedule property page. For simplicity, the nominal tracking frame origin (x, y, z values) is generally kept at the zero / world frame origin of the robot. Tracking Boundaries Like standard tracking, a boundary is the distance from the origin of the nominal frame to the upstream and downstream positions. PaintTool uses conditional node features of the line tracking system. As discussed in Using the tracking schedule boundaries tab, PaintTool uses upstream boundaries to keep the robot from moving to a position before it enters the work envelope. Additionally, PaintTool uses conditional nodes to control whether the robot should start a paint stroke before the stroke can be completed. It is not desirable to start a paint stroke before the entire stroke (on to off) has entered the tracking boundary. If a paint stroke were allowed to begin its motion before the off node for the stroke enters the tracking boundary, a conveyor stoppage could leave the gun on while the robot waits for the next robot position to enter the tracking boundary. The following figures illustrate the situation. Zoomed out view: The boundary crosses a paint stroke in the middle of the stroke. Zoomed in view: The boundary crosses a paint stroke in the middle of the stroke. Conveyor Tracking with Roboguide 396 If the conveyor were to stop after beginning motion from the gun on position the robot would stop waiting for the Gun off position to come into the window. PaintPRO and PaintTool have the ability to define a conditional off node. By marking the Gun off position as a conditional off node, the robot controller will not start the gun on to gun off stroke until the gun off position is within the boundary. Therefore, if the conveyor does stop while the robot is moving along the stroke, the complete on to off stroke can be completed. PaintPRO has settings to automatically define conditional gun off nodes when auto generating robot programs from paint zones. For more information see Using the paint zone Paint Process tab . Tracking schedules and Paint Zones with PaintPRO and PaintTool When generating paint zones and their associated programs, PaintPRO allows you to assign tracking schedules to paint zones. PaintPRO defines schedules in the following way: P-500 Workcells: • PaintPRO assigns Tracking Schedule 1 with Boundary 10 as the active boundary to the Group 1 P-500 arm • PaintPRO assigns Tracking Schedule 2 with Boundary 10 as the active boundary to the Group 2 P-500 arm Non P-500 Workcells: • PaintPRO assigns Tracking Schedule 1 with Boundary 10 as the active boundary to the Group 1 arm To simplify programming, it is recommended to use the settings that PaintPRO provides. These settings are by convention only. You have complete flexibility for use of tracking schedules and boundary number if required. Process programs can be modified on the virtual teach pendant to utilize whatever different settings desired. PaintPRO Jobs, paint zones, and their relationship to tracking schedules Paint zones are used to generate robot programs automatically. When a program is generated the tracking schedule information and boundary information is embedded into the generated robot program. This allows programs to be transferred between different robots able to play with correct boundaries. NOTE: when a boundary value is changed for a tracking schedule, all paint zones / programs that use the changed tracking schedule must be regenerated to use the new boundary values. Conveyor Tracking with Roboguide 397 14.2 Rail Tracking with Roboguide Rail Tracking with PRO Software In single axis tracking, the position of the robot’s extended axis (an integrated or nonintegrated base axis) is adjusted to track the motion of a linear conveyor. The conveyor motion direction must be parallel to that of the tracking axis. This single-axis tracking is known as rail tracking , since the typical application uses a rail or platform to perform the tracking motion. With rail tracking, the robot arm configuration (excluding the tracking axis) remains as programmed. All types of motion (Linear, Circular, and Joint) are allowed. Rail tracking is a simple method of dealing with a constantly moving workpiece. Rail tracking is used in large systems that can occupy a large amount of floor space. It is easy to teach and works with almost any application. This option allows a large volume of work to be accomplished by one system. Conveyor tracking requires accurate setup. For a complete discussion of line tracking with FANUC robots refer to the Line Tracking setup and operations manual. Build a virtual robot for rail tracking Virtual robots used with rail tracking have to be configured with conveyor tracking options and extended axis control. When Roboguide detects that line tracking is enabled on a robot controller the capability to create conveyor fixtures is enabled. An auxiliary axis machine must be built within the Roboguide environment. The auxiliary axis type must be integrated. See working with extended axes and integrated axes topic for more information on how to build an integrated rail. To configure a virtual robot for rail tracking 1. Create a new workcell by selecting File / New from the main menu or clicking on the New Workcell icon on the toolbar. 2. Follow the steps for the workcell creation wizard until the Robot Options step. 3. Select the Line Tracking Option and the Extended Axes Option 4. Finish the wizard When the virtual robot is finished serializing the Line Tracking Option is available on the virtual robot, and an integrated axis machine can be built. The virtual robot defaults to be six axis tracking. Tracking type can be modified on the virtual robot by using the virtual TP or the schedule property pages. Conveyor Tracking with Roboguide 398 General procedure for setting up a rail tracking workcell The following general procedure outlines the steps to create a rail tracking workcell. This includes encoder setup, tracking setup, adding conveyors to the workcell, TP programs to simulate the conveyor, and other steps. This procedure refers to other topics which provide additional detail. For detailed explanation of rail tracking see the FANUC Robotics Line Tracking manuals. The basic flow: • Create a workcell • Configure the rail tracking system • Simulate the conveyor • Create programs to track General procedure for setting up a line tracking workcell 1. Create a new workcell 2. Select the Extended axis and Line Tracking option in the Robot Options step of the workcell creation wizard. See Build a virtual robot for rail tracking for more detail. 3. A workcell should be open in Roboguide with the line tracking option available on the virtual robot. 4. Configure and build the aux axis rail system. 5. Add a conveyor: 6. Configure the robot encoder. 7. Configure the robot tracking schedule information. The workcell should now be available for rail tracking robot programs. 8. Create a program that tracks. This includes simulating the conveyor, triggering the body detect, and running a tracking motion lines. Conveyor Tracking with Roboguide 399 Configure the robot rail tracking schedule information The tracking schedule information defines the rail tracking parameters that will be used for a running program. Tracking schedules are defined on the virtual teach pendant on the Tracking Setup pages. For detailed explanation of rail tracking see the FANUC Robotics Line Tracking manuals. To configure the robot line tracking schedule information using the schedule property pages in Roboguide 1. Open the desired tracking schedule from the cell browser 2. On the general property page: o Enable the tracking schedule if this schedule will be used in TPP Programs o Enable Rail Type for Rail tracking o Define which robot group will be used for tracking (usually group 1) o Define which encoder to use (usually 1). If this value is not set to 1 ensure that the encoder is defined on the virtual robot. o Enter the desired Detect distance. This is the distance from where the Nominal frame origin is taught to the detect switch on the conveyor. The number is used in simulation to place the starting point of the part on the conveyor relative to the nominal frame. This number creates a reference between the nominal tracking frame and the part detect switch. The program paths can then be copied from one robot to another, as long as the individual part detect distances are correctly specified for each robot. This compensates for varying part detects. o Trigger register. NOTE: it is important that a non zero DIN be used. If a non zero DIN is not used, the teach menu that tells you to setup the tracking schedule will be shown when you select a program. o Define the direction and which extended axis will be used to track the conveyor. This specifies the normal forward motion of the conveyor, by comparing it to the motion of the extended axis. If motion is the same as the extended axis then POS is used. If motion is opposite the extended axis then NEG is used. Note The extended axis is used for tracking the conveyor within RAIL tracking systems Conveyor Tracking with Roboguide 400 3. On the Frame property page ensure that the nominal frame value is all zeros. 4. On the boundaries tab define the boundaries. defines the upstream and downstream line tracking boundary that the robot should move within. The robot will not move to a point until it is in the boundary window. The following picture shows a description. To configure the robot rail tracking schedule information 1. Open the virtual Teach Pendant 2. Open the tracking setup page. Select Menus / Setup. If the tracking setup page is not visible, select F1-Type / Tracking. The Tracking setup page should show. The default tracking schedule is 1. If a different schedule is desired change the schedule by using the SCHED softkey. 3. Setup the tracking fields: o Robot Tracking Group: generally 1. o Tracking Type: Rail o Visual Tracking: NO o Use Vision part queue: NO o Use Tracking Uframe: NO o Nominal Track Frame: not used for rail tracking o Track Axis Num: Enter a number that specifies the extended axis which will be used for tracking the conveyor within RAIL tracking systems. o Track Axis Direction:This specifies the normal forward motion of the conveyor, by comparing it to the motion of the extended axis. If motion is the same as the extended axis, press F4, POSITIVE. If motion is opposite the extended axis, press F5, NEGATIVE. Note The extended axis is used for tracking the conveyor within RAIL tracking systems. The Track Axis Direction is automatically set to POSITIVE for Line and Circular tracking systems. Conveyor Tracking with Roboguide 401 o Tracking Encoder Num: must be the same as defined in the encoder setup o Enc Scale Factor: defines the number of counts of the encoder for every mm movement of the conveyor. This can be manually entered and should be obtained from the real world system if desired. The default value of 500 is sufficient for simulation purposes. o Part Detect Distance: the distance from where the Nominal frame origin is taught to the detect switch on the conveyor. The number is used in simulation to place the starting point of the part on the conveyor relative to the nominal frame. This number creates a reference between the nominal tracking frame and the part detect switch. The program paths can then be copied from one robot to another, as long as the individual part detect distances are correctly specified for each robot. This compensates for varying part detect o Vision Uframe Dist: - used with vision o Trigger INPUT number: is used for real world systems to define the DIN for the trigger switch. For simulation purposes enter a DIN number that can be used (8 is commonly used for simulation). NOTE: it is important that a non zero DIN be used. If a non zero DIN is not used, the teach menu that tells you to setup the tracking schedule will be shown when you select a program. o Selected Boundary Set: which boundary should be used with Tracking Schedule. o Bndry Set 1-10: Up: and Dn: defines the upstream and downstream line tracking boundary that the robot should move within. The robot will not move to a point until it’s the points auxiliary axis position is in the boundary window. The following picture shows a description. The tracking schedule should be defined and can be used in a TP program. Conveyor Tracking with Roboguide 402 14.2.1 Rail Tracking with PaintPRO and PaintTool Rail Tracking with PaintPRO and PaintTool PaintPRO supports rail tracking with PaintTool. To rail track with PaintPRO, the robot must be configured for rail tracking and built as an auxiliary axis machine. A conveyor has to be added to the workcell, and programs taught. PaintPRO supports CAD to Path program generation for rail tracking on the Paint Zone property pages. Configuring PaintTool and PaintPRO for rail configuration PaintTool supports a robot on a rail for rail tracking by configuration of the robot at controlled start. After the robot has been configured in PaintTool the virtual PaintTool robot will have an additional axis. A machine has to be built to model the robot on a rail. To configure the PaintTool robot for line / rail tracking 1. When creating a workcell ensure that the line / rail tracking is selected in the robot creation wizard To configure PaintTool for rail configuration: this procedure assumes you have created a PaintPRO workcell with your desired robot that has the line/ rail tracking option enabled. 1. Open the robot to controlled start 2. Press menu / maintenance to take the robot to robot hardware setup 3. Select the robot with the arrow keys (default) 4. Press manual 5. Answer the questions presented. When you select the robot to be on a rail, PaintTool automatically configures the auxiliary axis. 6. When complete Cold start the robot by pressing FCTN key and then select Cold Start Conveyor Tracking with Roboguide 403 To configure PaintPRO for rail configuration 1. After configuring PaintTool, you can setup the tracking system. 2. Open the desired tracking schedule from the cell browser 3. In the type field, select Rail and press apply. Note: the other parameters on the tracking schedule page must be configured for the desired workcell configuration. When PaintTool and PaintPRO are configured, the rail robot machine can be built. Building a rail robot machine in PaintPRO A robot on a rail is built in PaintPRO the same as a robot on a rail is built in any Roboguide application. See Extended axes and integrated axes definitions and layout within FANUC PRO software for more information. Adding an auxiliary axis is different with PaintTool than other application Tools. See Configuring PaintTool and PaintPRO for rail configuration for more information. Calibrating your workcell 404 15 Calibrating your workcell About workcell calibration Roboguide provides procedures to calibrate your Roboguide workcell with the physical hardware within the actual workcell. If you want to transfer robot programs into and out of the Roboguide environment, it is important to ensure that your workcell model accurately duplicates your physical workcell. Key concepts to understand when moving programs between Roboguide and a physical robot cell include: • Robot programs run on a real robot like they do in Roboguide. There is no modification of the program when moving a program from Roboguide to an actual robot. If workcells in Roboguide are not calibrated with the physical robot then programs may not appear to run correctly. o If the real cell is different than the Roboguide simulation software workcell then positions may appear to be not correct. o If you move a program from a real robot to the Roboguide simulation software workcell robot then the programs may not appear to run correct. • Calibration procedures attempt to position objects in the Roboguide simulation software workcell like objects in the real workcell. If objects are not in the same place in each workcell, programs may appear to be incorrect. When doing a workcell calibration you teach a program touching 3 points in the real workcell and then touch the same 3 points in your Roboguide simulation software workcell. Roboguide simulation software objects are then moved based upon the least squares difference between these points. • The use of UFRAME can make moving points from offline to/from online easier. When programs are taught relative to a robot uframe, positions in the program all move when the UFRAME moves. If programs are taught relative to a Roboguide simulation software object that is attached to a robot uframe the positions automatically move when you calibrate the object. • Calibrate the Roboguide simulation software environment to the physical environment as soon as possible. If the workcell is calibrated before teaching programs, path transferability issues are reduced. • Calibration for parts that are moving conveyors requires that you teach tracking programs to do the calibration. This allows for the conveyor fixture that holds parts to be in different non-reproducible locations along the conveyor. Calibrating your workcell 405 Calibration and using programs with frames When calibrating a workcell, Roboguide simulation software moves objects in your workcell based upon the difference between the object in the real workcell and the object in Roboguide simulation software workcell. If you have taught programs in Roboguide, and then calibrate, program positions will not automatically move when the objects move. For positions to move when an object moves, the object must be attached to a robot uframe. Use the procedure if you have not calibrated the object, and want the programs to shift when the object is calibrated. In the event, that you have calibrated and the positions did not move, you must move the object back to the position before calibration, attach an object to a UFRAME, and calibrate again. To calibrate a workcell from real world to Roboguide Workcell calibration encompasses locating the objects in your Roboguide simulation software workcell as they are in the actual workcell. Calibration procedures attempt to position objects in the Roboguide workcell like objects in the real workcell. If objects are not in the same place in each workcell, programs may appear to be incorrect. The calibration process matches the location of the 3D object to its real world counterpart by calculating the difference between points taught in the 3D world and the same points touched-up in the real world. When doing a workcell calibration you teach a program touching 3 points in the real workcell and then touch the same 3 points in your Roboguide. Roboguide simulation software objects are then moved based upon the least squares difference between these points. You repeat this object calibration for each critical object within your workcell. A critical object is one that you generate programs from. An example might be the pick location within a machine. You can calibrate fixture and obstacle objects in your workcell. Since parts are associated with fixtures you calibrate the part within the fixture on the fixture property page. Using the Calibration Tab You can calibrate fixture, obstacle, and machine objects in your workcell. Since parts are associated with fixtures you calibrate the part within the fixture on the fixture property page calibration tab. The calibration process matches the location of the 3D object to its real world counterpart by calculating the difference between points taught in the 3D world and the same points touched-up in the real world. Calibration of a workcell object moves the Roboguide workcell object to match the real world object. When doing a workcell calibration you teach a program touching 3 points in the Roboguide workcell and then touch the same 3 points in your real workcell. Roboguide objects are then moved based upon the least squares difference between these points 406 Calibrating your workcell Fields included on the Calibration Tab include: • Object to be calibrated: this selection appears for fixtures and machines. Since fixtures can hold parts, you can calibrate the fixture and any parts that the fixture can hold. Select the object to be calibrated from the drop down list box. • General: fields include: o TPP Name: calibration TP name. o When calibrating EOAT or Parts in an EOAT: Touchup method: defines what UFRAME to use for the calibration. o When calibrating other objects in the workcell Controller: defines which robot controller in the workcell will be used for calibration Group: The target group on the selected controller. • Step 1: Teach in 3D World: when pressed you see the message: Calibration program xxx has been created for object. Teach at least 3 points in the 3D World at unique locations on the object. Whey you have finished, return to the Calibration tab and press the ‘Store Points button. NOTE: if you are calibrating a part that is on a line tracking link, Roboguide creates a TPP tracking program to do the calibration. This provides the ability to use the same tracking program on the actual workcell that is line tracking. Since with conveyor tracking systems it is difficult to duplicate the location of the part carrier on a conveyor the tracking system, the line tracking system is used to compensate for variability in the location of the conveyor on the moving line. The key is to ensure that the part is synchronized with the conveyor before doing any teaching. It is important to choose features that can be taught in both Roboguide and the real world. • Step 2: Copy & Touch-Up in Real World: when pressed you get the message: Calibration positions stored in memory – now would be a good time to save the workcell. The calibration program CAL00049 was copied to: < directory >. You must now load it onto the real controller and touch up each point at the corresponding location in the real world. When this is done, save the touched up TPP Calibrating your workcell 407 and copy it back to the same directory, overwriting the original. • Step 3: Calibrate from Touch-Up. When pressed, Roboguide loads the new calibration information and compares the original Roboguide taught calibration positions with the points taught in the physical real workcell. A least squares fit algorithm is applied. You see the following message describing the differences. The calibration process has compared the TP positions and determined that the object needs to be shifted in the following ways (relative to the robot): X, Y, Z, W, P, R offsets, Least squares fit = xxx Would you like to accept these results and shift the 3D object? If you press OK the object is adjusted to reflect these changes. Check the preview box to see the shift and OK to accept the shift. Check the adjust TPP programs selection if you want to select TPP programs for which to have positions shifted. To calibrate a workcell object Calibration of a workcell object moves the Roboguide workcell object to match the real world object. When doing a workcell calibration you teach a program touching 3 points in the real workcell and then touch the same 3 points in your Roboguide workcell. The calibration process matches the location of the 3D object to its real world counterpart by calculating the difference between points taught in the 3D world and the same points touched-up in the real world. Roboguide objects are then moved based upon the least squares difference between these points. To calibrate a workcell object 1. Open the property page for the desired object. Fixtures, obstacles, and machines can be calibrated. Parts associated with a fixture can be calibrated on the fixture property page that has the association with the desired part. 2. Select the Calibration Tab. The calibration tab has fields to enable the calibration of a workcell object. Select the object to be calibrated in the "Object to Be Calibrated" dropdown. 3. Perform Step 1 on the calibration tab. Teach 3 points that can also be taught in the real controller. 4. Perform Step 2 on the calibration tab. Load the program in the real workcell and touchup the points to the real environment. 5. Perform Step 3 on the calibration tab. Calibrating your workcell 408 Step 3 does the shift of the object to match the real world. To calibrate a part within a fixture Calibration of a workcell object moves the Roboguide workcell object to match the real world object. When doing a workcell calibration you teach a program touching 3 points in the real workcell and then touch the same 3 points in your Roboguide workcell. The calibration process matches the location of the 3D object to its real world counterpart by calculating the difference between points taught in the 3D world and the same points touched-up in the real world. Roboguide objects are then moved based upon the least squares difference between these points. When calibrating a part, you calibrate the part location relative to the fixture it is located in. If a part can be present in multiple fixtures, you can calibrate each part in fixture association. To calibrate a part object 1. Open the property page for the desired object. Parts associated with a fixture can be calibrated on the fixture property page that has the association with the desired part. 2. Select the Calibration Tab. The calibration tab has fields to enable the calibration of a workcell object. Select the desired part from the drop down list in the calibration tab. 3. Perform Step 1 on the calibration tab. Teach 3 points that can also be taught in the real controller. Note: if the selected fixture is on a conveyor linke on a line tracking system, the created calibration program is a line tracking enabled program. This allows you to calibrate the part on the conveyor. The key is to ensure that the tracking system is synchronized. 4. Perform Step 2 on the calibration tab. Load the program in the real workcell and touchup the points to the real environment. NOTE: if you are calibrating a part on a tracking system, ensure that the real world robot has been synchronized with the conveyor syste. 5. Perform Step 3 on the calibration tab. Step 3 does the shift of the object to match the real world. When complete the part is shifted relative to the fixture location. Calibrating your workcell 409 Procedure to have program points move when calibrating a workcell The following procedure can be used for the following situations: • If you want program positions to move when you calibrate an object you need to attach the object you are calibrating to a robot uframe. • If you have calibrated an object in your workcell, and the object has moved, but a program that has been taught using the object as a reference to teach the positions did not move when the object moved. For positions to move when an object moves, the object must be attached to a robot uframe. Use the procedure if you have not calibrated the object, and want the programs to shift when the object is calibrated. In the event, that you have calibrated and the positions did not move, you must move the object back to the position before calibration, attach an object to a UFRAME, and calibrate again. Procedure 1: attach an object to a UFRAME When the object moves, programs taught with this UFRAME will move with it. NOTE: it is essential that you use this UFRAME when you teach your program. See Assigning a UFRAME to a program for a procedure PalletPRO-Working with Unit Loads 410 16 PalletPRO-Working with Unit Loads 16.1 Unit Load Background information About PalletPRO/PalletTool Unit loads A unit load consists of all the units that are stacked in layers on a pallet. You must set up the unit load before you can run PalletPRO /PalletTool. There are two types of unit loads: • Standard Load - all layers contain the same product. • Mixed Layer Load - each layer can be a separate product. This section explains • How to set up a unit load • How to modify a unit load that has already been set up When you set up a unit load you provide information that PalletPRO / PalletTool uses to calculate positions and paths. The following sections explain concepts that you must understand before you can set up a PalletTool unit load. Layers PalletTool defines the unit load in terms of layers . A layer is a rectangular arrangement of units in rows and columns. All units in a layer must be the same size. The spacing between units in a layer must be the same on all sides of the units. When you use PalletTool you always define layer 1 first. Layer 1 is always the bottom layer. Slip Sheets A slip sheet or tier sheet is a sheet of heavy paper or cardboard that is placed between the layers of a unit load. Slip sheets provide added load stability, particularly when columnar patterns are used. Some unit loads are built directly on a slip sheet or tier sheet, instead of on a pallet. NOTE PalletPRO will only allow you to set Slip Sheet thickness and to define between which layers they are to be placed. If your unit loads require slip sheets, you must PalletPRO-Working with Unit Loads 411 • Enter complete layer spacing information during Unit Load Setup, for each unit load that uses slip sheets • Position the slip sheet magazine (container holding slip sheets) properly in the workcell. • Record the position registers used by the slip sheet program. PalletPRO sets a default for this position automatically, since it has knowledge of the location of the slip sheet dispenser in the workcell. The position can be modified on the slip sheet dispenser property pages. Slip sheet search attempt information will automatically be calculated from the position register information. NOTE The slip sheet layer spacing information that you enter at the Setup Unit Load menu is used internally to calculate the height of the unit load, and to call the slip sheet programs. It is not used in the slip sheet programs. Negative Layer Spacing In order to palletize bags or other products that tend to settle or compress, negative layer spacing is required. If you do not enter a negative value for layer spacing, lower layers get compressed causing bags in higher layers to get dropped off quite high. Negative layer spacing does not trigger the slip sheet program. Pattern Type The pattern type describes the way the units are oriented in a layer. A pattern is also called a matrix or grid. PalletTool uses one unique pattern type. PalletPRO provides additional pattern types. Each layer in a unit load must have the same pattern type. However, the layers do not need to be identical. Some layers in a unit load can be flipped. You must know what pattern type the unit load will have. Flip Type PalletTool requires that all layers in a unit load have the same pattern type. However, that pattern can be rotated, or flipped , from layer to layer for better load stability. When you set up a unit load you define the flip type of each layer. Flip type refers to stacking pattern differences between layers of a unit load. A layer can have one of five flip types: • Flip on Length: flips the pattern along the length of the pallet. • Flip on Width: flips the pattern along the width of the pallet. 412 PalletPRO-Working with Unit Loads • Flip on Length and Width: flips the pattern on both the length and width of the pallet. • Rotate 90 degrees: rotates the pattern 90 degrees around the origin of the pallet. • Not Flipped: the pattern is in the original orientation Graphic views of flip types A layer can have one of five flip types: • Flip on Length: flips the pattern along the length of the pallet. • Flip on Width: flips the pattern along the width of the pallet. • Flip on Length and Width: flips the pattern on both the length and width of the pallet. • Rotate 90 degrees: rotates the pattern 90 degrees around the origin of the pallet. • Not Flipped: the pattern is in the original orientation NOTE: Not all pattern types can be flipped all 4 ways. Graphics of Flip Types Flipped Around the Length Flipped Around the Width Flipped Diagonal Rotated 90 Degrees PalletPRO-Working with Unit Loads 413 16.2 PalletPRO Unit Load Property Pages Working with PalletPRO Unitload Definition Property Pages The unit load definition property pages provide fields to completely define / customize unit loads for PalletPRO and PalletTool. There are numerous fields that can be defined. When a unit load is created, common defaults are inputted into the fields. The process of defining a unit load is broken into two areas, and the property pages reflect this division. • Unit Load Parameters: defines the characteristics of the unit, pallets, unitloads, and palletizing pattern. • Palletizing Parameters: defines the process taken to palletize the units defined in the Unit Load Parameters property pages. This includes number of layers, flipped layers, slip sheets, gripper types, case rates, cycle configuration, placements, and optimal path settings. The suggested way to use these property pages is to first configure you Unit Load Parameters and then configure the Palletizing Parameters that control the process of building the unit loads. Since the process is driven by the dimensions and patterns suggested, it is important that the Unit Load Parameters be defined first. As parameters are modified, the unit load is shown on Pallet Station 1 in your workcell. You can immediately view the results of parameter changes. You can navigate Configure Cycle, Placement Cycle and Unique Pattern Grids using SHIFT + arrow keys. For instance, SHIFT + Right arrow will move the cursor one cell to the right. When you are in a cell where a combo box exists, pressing the space bar will toggle through the selections. Users are encouraged to use the shortcut navigation keys to quickly complete their setup. Using the Unit Load Parameters Property Page The Unit Load Parameters Property page defines the characteristics of the unit, pallets, unitloads and palletizing pattern. There are fields provided to define the detail of each of these areas. As parameters are modified, the unit load is shown on Pallet Station 1 in your workcell. You can immediately view the results of parameter changes. • General o Selected Unit Load: shows the ULprogram number and the Product ID. This is general information, and is used in the workcell object browser / Unit PalletPRO-Working with Unit Loads 414 Load description field. o Part Number: is the part number of the unit load. This number is used to define the program that PalletPRO/ PalletTool will run during production. PalletPRO enters defaults for this value when a new unit load is created. o Customer Name: is a text field that can be used to uniquely identify customer name. o Product ID: The Product ID is a description of the product to be palletized. It is used in the summary "Selected Unit Load" field. The Product ID is displayed on the Teach Pendant. • Unit Load Parameters Frame o Common view information and settings Pack Pattern switch: if this option is enabled Normal Layer View: shows the palletizing pattern for currently selected unit load parameters. As the Unit Load parameters are changed this view is updated to reflect the layer with the selected parameters. In the event that parameters are changed such that the selected pattern no longer has a valid solution, the words "No Solution Available" will show in the view. The length of a unit in the pattern is highlighted with and arrow at the top left of the graphic. For each unit, only one length edge is highlighted based on the following rule: if the length edge is parallel to the length of the pallet, it is highlighted on the top. If not, it is highlighted on the left. This feature is useful to determine unit groupings when the units are closer to a square than a rectangle. Flip Type: field to choose Flip Type for the selected pattern. Only the available flip types are shown for the selected patter. If a flip type is not available, the selection is grayed out. Flipped Layer View shows the flipped palletizing pattern for the currently selected unit load parameters. As the Unit Load parameters are changed this view is updated to reflect the flipped layer with the selected parameters. 415 PalletPRO-Working with Unit Loads In the event that parameters are changed such that the selected pattern no longer has a valid solution, the words "No Solution Available" will show in the view. o Enter Dimensions Tab Units field: select mm or inches Unit Dimensions • Length, Width, Height: defines the size parameters for the unit to be palletized. NOTE: as you change the dimensions and press Apply, you immediately visualize the changes to you unit load on Pallet Station 1 in your workcell. • Skin Image File: this is an image file that will show on the unit faces. Logos, brand images, or other images can be used to make the palletizing look more like actual product. NOTE: image size affects how the image shows on a product. If you have large units, they can display larger images. If a skin image is too large for the unit the image may not show on the box. To make the image show, resize the image using a third party tool (Paintbrush) to a smaller size and then select it as the skin image. NOTE: as you change the image and press Apply, you immediately visualize the changes to you unit load on Pallet Station 1 in your workcell. Pallet Dimensions • Length, Width, Height: defines the size parameters of the pallet on which the unit load is stacked. Max Unitload Dimensions • Length, Width, Height: defines maximum length, width, and height of the entire unit load. The height should be measured from the bottom of the first layer 416 PalletPRO-Working with Unit Loads on the pallet. Once you enter these values, they should not be exceeded. However, actual patterns can be smaller than the specified maximum dimensions. NOTE: o Select Pattern Tab Patterns • Show Solutions for Pattern: allows you to display the solutions for different patters. A selected pattern may have more than one solution. o Column o Interlock o Trilock o Spiral o Brick o Diagonal o Aug Diagnol o Optimal o Unique o All • Solutions count: shows the number of solutions for the selected pattern • Pack Pattern checkbox: Used only for the Interlocking pattern type. Removes spaces between boxes to pack the boxes close together. 417 PalletPRO-Working with Unit Loads • Solution grid: shows the detail for the solutions that PalletPRO found for the selected pattern. Units per layer, Units per Unit Load, and pallet efficiency are shown. Pallet efficiency is the total area of the boxes in the pattern divided by the total pallet area. To increase the number of units in a unit load, the unused space should be minimized, resulting in a higher pallet efficiency. NOTE: if you select All for the pattern type, PalletPRO shows solutions for all of the patterns in the Solution grid. Unit Load Seating: depending on the seating type you select you can shift the entire unit load on the pallet, by changing the X and Y offset values. Seating types are selected from the drop down box. • Centered on Pallet: If you want the unit load Centered along length and width of the pallet, you do not have to enter any offset values for X or Y. The unit load will be centered perfectly on the pallet. This is the default. • Centered on length: If you want the unit load Centered along length of the pallet, enter an offset value for Y. • Centered on width: If you want the unit load Centered along width of the pallet, enter an offset value for X. • Custom Offset: If you want the unit load Not Centered on the pallet, enter an offset value for both X and Y. • Length, Width: seating offset values. Fields become available when appropriate based upon seating type chosen. PalletPRO-Working with Unit Loads 418 Defining a unique pattern You can define a unique pattern. A unique pattern is one where you define the unit offsets for a layer. A unique pattern type is selected on the Select Pattern Tab, after the unit definitions are made on the Unit Load Parameters property page . To define a unique pattern 1. Select the Select Pattern Tab on the Unit Load Parameters property page 2. Select Unique under the Show Solutions for Pattern dropdown list box. The graphics in the Normal Layer view and Flipped Layer view change to enumerate that the views can be uniquely manipulated to define a Unique layer. 3. Select the Edit Unique button in the Patterns tab. The view of the pattern layout changes to a graphic and a grid that describes the position and orientation of each box defined in the unique layer. 4. Select the Type of unit from the Type: dropdown list. o Valid types include: Box, Bag or Cylinder 5. Modify the grid to match your desired results: There are multiple ways to modify: o Left Click and drag units in the graphic area to there desired locations. o Directly enter the x, y, and orientation in the grid. 6. When complete press the Accept Pattern button 7. Press Apply The load defined is updated on the pallet in the 3D CHUIWorld. PalletPRO-Working with Unit Loads 419 Using the Unit Load Palletizing Parameters Property Page The Palletizing Parameters Property Page defines the process taken to palletize the units defined in the Unit Load Parameters property pages. This includes number of layers, flipped layers, slip sheets, gripper types, case rates, cycle configuration, placements, and optimal path settings. • General o Selected Unit Load: shows the Ulprogram number and the Product ID. This is general information, and is used in the workcell object browser / Unit Load description field. o Part Number: is the part number of the unit load. This number is used to define the program that PalletPRO/ PalletTool will run during production. PalletPRO enters defaults for this value when a new unit load is created. o Customer Name: is a text field that can be used to uniquely identify customer name. o Product ID: The Product ID is a description of the product to be palletized. It is used in the summary "Selected Unit Load" field. The Product ID is displayed on the Teach Pendant. • Palletizing Parameters Frame o Configure All Normal or Flipped Layers Together: when selected all normal layers and flipped layers are configured together. Modifications made on the Configure Cycles Tab effect all normal or flipped layers, respectively. When this is selected, Configure Each Layer Individually is unchecked. o Configure Each Layer Individually: when selected all layers can be configured separately. You select the desired layer in the Pallet Layer configuration graphic. Configuration for each layer is done on the Configure Cycles Tab. o Layers number: is the number of layers in the unit load. o Pallet Layer configuration graphic: is where you configure the unit load for flipped layers and slip sheets. The unit load is graphically shown by layer. If a slip sheet is added or if a layer is flipped, you graphically see where the slip sheet is in the load and which layers are flipped. To flip a layer in the unit load click here. To add a slip sheet click here. PalletPRO-Working with Unit Loads 420 o Current Pattern Graphic: shows the current selected pattern. As you change the layer in the Pallet Layer configuration graphic the current pattern graphic changes to reflect the normal and flipped patterns. Note: when running production the unit at the top left of the graphic will be placed at the origin as defined for the pallet station. This is true for normal and flipped layers. The length of a unit in the pattern is highlighted with and arrow at the top left of the graphic. For each unit, only one length edge is highlighted based on the following rule: if the length edge is parallel to the length of the pallet, it is highlighted on the top. If not, it is highlighted on the left. This feature is useful to determine unit groupings when the units are closer to a square than a rectangle. o Process Parameters: provides settings for unit load specific gripper type, speed override, and case rate. Gripper: select the gripper type for this unit load. NOTE: you also define gripper type on the End of arm tooling property pages. The unit load gripper definition is the end of arm tooling that is used for the unit load. The end of arm tooling property page gripper definition allows you to define Gripper IO. Speed Override: is the speed override while a unit is in the robot gripper. Case Rate: is the rate at which units are fed on the infeed. Several factors can effect the flow of units. o Configure Cycles Tab: allows you to change pick and place sequences, place approach motions, place rotations, and other individual palletizing process parameters. This screen is used mainly for customizing the original palletizing sequence that the PalletTool software automatically determines. This is sometimes required because of workcell restrictions such as columns, walls or other objects that make palletizing with the original sequence impossible. Using the tables provided you configure each pick and place. In the Layer Cycles Frame you control how units are fed on the infeed and configure how single or multiple units are picked and placed. You can navigate Configure Cycle, Placement Cycle and Unique Pattern Grids using SHIFT + arrow keys. For instance, SHIFT + Right arrow will move the cursor one cell to the right. When you are in a cell where a combo 421 PalletPRO-Working with Unit Loads box exists, pressing the space bar will toggle through the selections. Layer Cycles Frame • Layer / Cycle detail process definition grid: The Configure Cycles / Layer Cycles grid allows you to change the original pick and place sequence for the layer selected in the Pallet Layer configuration graphic above the grid. Each row of the grid represents a pick and place cycle during palletizing. The number of rows changes based upon the Gripper Type you choose in the Process Parameters Frame. If you have a gripper type that can pick and place multiple units, the grid changes to show the pick and places per cycle for that gripper type. Click here for more information on the use of this grid. Each number in this column represents the position of a box in the unit load layer shown in the Pallet Layer configuration graphic. • Use Cycle 1 Infeed Orientation for All Cycles Button: provides a quick mechanism to change infeed orientation for all cycles. • Unit groupings: allows you to quickly changing the grouping between units based on the following criteria. Note: To select a row or column, make sure that you click on a cell representing the row or column before using the Unit groupings combo o All & - Changes the grouping to "&" throughout the configure cycle grid o All ; - Changes the grouping to ";" throughout the configure cycle grid o Row & - Changes the grouping to "&" for the selected row 422 PalletPRO-Working with Unit Loads o Row ; - Changes the grouping to ";" for the selected row o Col & - Changes the grouping to & for the selected column o Col ; - Changes the grouping to ; for the selected column. • Insert Cycle Button: used to add cycles at the end of a layer. • Delete Cycle Button: used to delete cycles from the end of a layer. Normal Layer, Cycle Placements Frame • Placements detail setup grid: the Placements Adjustment table also allows you to optimize the placement path of each box. The modifications to the approach directions effect the values entered on the Optimal Path Tab. Each place can be modified uniquely. The following list provides detail on each parameter in the table: o Place Rotation: the placement of each box can be modified to either: 0 (no placement rotation) 180 degree placement rotation o Pallet Approach Length: used to optimize the placement path for an individual box along the length of the pallet. + the robot will use the original approach length set in optimal path. - the robot will use the negative of the approach length set in optimal path 423 PalletPRO-Working with Unit Loads o Pallet Approach Width: used to optimize the placement path for an individual box along the width of the pallet. + the robot will use the original approach width set in optimal path. • the robot will use the negative of the approach width set in optimal path o Optimal Path Tab Optimal Path customization is critical in optimizing palletizing cycle throughput. A path is the route the robot takes to go from one place to another. An optimal path is the best path the robot can take to perform the application. Optimal path data adjusts the path of the robot to avoid obstacles in the workcell and/ or to minimize cycle time. The Optimal Path Tab includes several items that you can set. Each item affects a specific component of the robot path. You can customize the palletizing sequence to change how the gripper places the parts on the pallet, and to customize the approach positions relative to any placement position on the pallet. You first define the defaults on the optimal path tab and then, if desired, change them per place on the Placements detail setup grid on the configure cycles tab. The optimal path Approach / Retreat Offsets grid enables the definition of Infeed Approach and Retreat distances, and Pallet Approach and Retreat distances. Click here for more detail on using the Optimal Path Tabs Approach / Retreat Offsets grid. PalletPRO-Working with Unit Loads 424 Using the Layer Cycle detail process definition grid The grid allows you to change pick and place sequences. This screen is used mainly for customizing the original palletizing sequence that the PalletTool software automatically determines. This is sometimes required because of workcell restrictions such as columns, walls or other objects that make palletizing with the original sequence impossible. You can also define the orientation of the units at the infeed on a per-pick basis for improved cycle time. IMPORTANT NOTE: the configuration determines how units will be palletized during a production simulation, and on an actual robot. Whatever changes you make will be seen on the robot. Little error checking is done because the user is allowed to configure their system to optimize their process. The grid allows you to change the original pick and place sequence for the layer selected in the Pallet Layer configuration graphic above the grid. Pallet Layer configuration graphic What the grid shows: Note: what is shown in the grid is the processing information for the selected layer in the Pallet Layer configuration graphic. Rows: Each row of the grid represents a pick and place cycle during palletizing. The number of rows changes based upon the Gripper Type you choose in the Process Parameters Frame. If you have a gripper type that can pick and place multiple units, the grid changes to show the pick and places per cycle for that gripper type. Columns: columns provide process information that can be modified to change how pallets are processed. The number of columns changes based upon the Gripper type selected in the Process Parameters frame. Column types include: • Infeed Pick Orientation: defines the orientation of the box at the infeed pick location. Selections include: o Width on Length: means that the shortest side (the width) of the unit is on the longest side of the pallet or infeed conveyor o Length on Length: means that the longest side (the length) of the unit is on the longest side of the pallet or infeed conveyor. PalletPRO-Working with Unit Loads 425 Infeed Unit Orientation, Facing Conveyors • XX Drop: the number of drop columns depends on the gripper type selected in the Process Parameters Frame. The number in each field defines what unit number will be picked in the selected cycle. Numbers correlate to what is shown in the Current Pattern Graphic. Initially, PalletPRO populates the cycle grid based upon the selected pattern. • Group: defines how the units will be grouped when picking and placing. • & - simultaneous placement for palletizing • ; - individual placement for palletizing • * - placement on next layer for palletizing. See Breaking the layer barrier. NOTE When units are grouped as simultaneous (&), there is no spacing between them. All units in this pick and place cycle are placed (P ) or picked (D ) simultaneously from the location of the first unit in the placement (P ) or pick (D ). For example: If you want equal spacing between units, you need to do a 1;2;3 unit grouping How to use the grid: Some examples help to understand the how to use the grid. A key to notice is that the robot will do exactly as the grid shows. What you see is what you get. Example 1: Normal use of Individual Placement (;) Configuration: Double case gripper, Interlock Pattern: , Table: What does the grid say: • This is configuration for Normal Layers – seen in the Frame title • There are 5 pick and place cycles • Units are fed on the conveyor width on length. • Cycle 1 Picks both units 1 and 2 in a single pick with the double case gripper • The robot places unit one on the pallet, moves off the pallet, and then places unit 2. PalletPRO-Working with Unit Loads 426 • The cycles are repeated for the remaining unts. Example 2: Use of Infeed Orientation with simultaneous placement (&) Configuration: Double case gripper. Interlock Pattern: , Table: What does the grid say: • This is configuration for Normal Layers – seen in the Frame title • There are 5 pick and place cycles • Cycle 1 has unit orientation of length on length. Units 1 and 2 will be picked and placed simultaneously • Cycle 2 has unit orientation of width on length. Picks both units 3 and 4 simultaneously. Places unit 3, moves the robot, and places unit 4 (individually) • Cycle 3 has unit orientation of length on length. Units 5 and 6 will be picked and placed simultaneously • Cycle 4 and 5 have unit orientation of width on length. Picks units simultaneously and places individually. Example 3: Use of infeed orientation, modified picks with double gripper. Configuration: Double case gripper. Interlock Pattern: , Table: What does this grid say: While not very efficient the sequence is altered. • This is configuration for Normal Layers – seen in the Frame title • There are 6 pick and place cycles • Cycle 1has a unit orientation of Width on Length, and has a single pick and place with unit 1. • Cycle 2 has a unit orientation of Length on Length. Units 2 and 3 are picked and PalletPRO-Working with Unit Loads 427 placed simultaneously. • Cycle 3has a unit orientation of Width on Length, and has a single pick and place with unit 4. • Cycle 4 has a unit orientation of Length on Length. Units 5 and 6 are picked and placed simultaneously. • Cycles 5 and 6 have a unit orientation of Width on Length. Units are picked and placed simultaneously. Example 4: (BAD) misuse of processing parameters could create undesirable results. Configuration: Double case gripper. Interlock Pattern: ,Table What does the grid say: The results of this grid would not be nice. • This is configuration for Normal Layers – seen in the Frame title • There are 5 pick and place cycles • All infeed pick orientations are Width on Length. • Cycle 1 will pick units 1 and 2, place unit 1, return to the infeed to pick unit 2 (but gets 3 and collides with the original pick unit 2), and places the unit it picked (3) into the #2 placement point in the pattern. • Cycle 2 picks 3 and 4 simultaneously and places 3 and 4 simultaneously. The units end up being placed at locations 3 and 6 in the pattern. There is no unit ever placed in location 4 in the pattern (it was left in cycle 2 in the wrong location). • Cycle 3 picks units 5 and 6n simultaneously, place 5 in the correct location and places 6 in the correct location. When unit 6 is placed it is placed into the incorrect unit that was misplaced in cycle 2. PalletPRO-Working with Unit Loads 428 Using the Palletizing Parameters Property Page Optimal Path Tab A path is the route the robot takes to go from one place to another. An optimal path is the best path the robot can take to perform the application. Optimal path data adjusts the path of the robot to avoid obstacles in the workcell and/ or to minimize cycle time. The Optimal Path Tab includes several items that you can set. Each item affects a specific component of the robot path. You can customize the palletizing sequence to change how the gripper places the parts on the pallet, and to customize the approach positions relative to any placement position on the pallet. You first define the defaults on the optimal path tab and then, if desired, change them per place on the Placements detail setup grid on the configure cycles tab. The optimal path Approach / Retreat Offsets grid enables the definition of Infeed Approach and Retreat distances, and Pallet Approach and Retreat distances. The grid has rows to define: • Infeed Approach: length, width and height • Infeed Retreat: height • Pallet Approach: length, width and height • Pallet Retreat: height You can click on any of the rows to see a graphic that displays how the parameter effects the palletizing process. NOTE: the numbers entered are defaults. The defaults remain the same regardless of other changes made on unit load information and properties. About Optimal Path customization A path is the route the robot takes to go from one place to another. An optimal path is the best path the robot can take to perform the application. Optimal path data adjusts the path of the robot to avoid obstacles in the workcell and/ or to minimize cycle time. The Optimal Path SETUP Menu includes several items that you can set. Each item affects a specific component of the robot path. Use the Optimal Path Palletizing Parameters Page screen during initial setup to: • Indicate which gripper is used to carry the unit load • Customize palletizing order and placement techniques PalletPRO-Working with Unit Loads 429 • Fine tune the pick-and-place paths that the robot takes during each palletizing cycle • Indicate offsets from the pallet origin and the unit load origin on the pallet (unit load seating) Customizing the Palletizing Sequence You can customize the palletizing sequence to customize how the gripper places the parts on the pallet, and to customize the approach positions relative to any placement position on the pallet. You can specify a sequence where the robot will pick units and then drop off the units required to complete the layer and place any remaining units in the gripper on the next layer. This feature is called breaking the layer barrier . Using a Gripper with More than Two Cases When you use a gripper with more than two cases, or when you use a fork/bag gripper, you must determine the optimal palletizing sequence for your application. There are several things you should consider: • Collisions with the peripheral equipment in your workcell and with the robot itself. • Be aware of the size of the units and the length of the gripper. • The best sequence for optimal cycle time might not be practical for your workcell. For example, when you pick up three boxes and place the first box individually, the two boxes that still remain in the gripper might overhang the pallet. They could crash into surrounding equipment if there is not enough room. • The pick up arrangement on the gripper (length on length or width on length). Keep in mind that this is also how the boxes will be placed. NOTE The Layer Cycles Frame can be used for all grippers, but MUST be used for grippers with more than two cases and for all fork/bag grippers. PalletPRO-Working with Unit Loads 430 Breaking the layer barrier For increased throughput and reduced cycle time, the Configure Cycles / Layer Cycles grid allows you to change the original pick and place sequence for the layer selected and allows you to break the layer barrier. Breaking the layer barrier is done when the robot places (P ) or picks (D ) units on the pallet to complete a layer, but still has units left in the gripper. These remaining units can then be placed on (P ) or picked from (D ) the next layer. Breaking the layer barrier reduces the number of pick and place cycles it takes to complete a unit load. In the following figure, units 11 and 1 are grouped together with an (*). This signifies the robot will pick two units from the infeed, place the first unit in the gripper as unit 11 of layer 1, then place the remaining unit in the gripper as unit 1 of layer 2. For the defined unit load, there is a total of 11 pick and place cycles to complete the two layers. If the layer barrier was not used, pick number 6 of layer 1 would have to place a single unit and pick number 1 of layer 2 would also have to place a single unit, resulting in 12 total pick and place cycles to complete the 2 layers. One complete pick and place cycle has been eliminated by breaking the layer barrier. 16.3 Common procedures with unit loads To flip a layer in a unit load Layers can be flipped in a unit load. You do this by working with the Pallet Layer configuration graphic The graphic is interactive. It can be modified by clicking on a desired layer, pressing the right mouse key which brings up a menu that includes flipping the layer. To flip a layer on a unit load 1. Open the desired unit load The Unit Load Setup Property page is opened. 2. Select the Palletizing Parameters Property page button 3. In the Pallet Layer Configuration graphicPallet_Layer_Configuration_Graphic right click on the layer that you want to flip 4. Select the Flipped Layer item. The layer should now show as flipped in the graphic. 5. Press OK or Apply to save the change PalletPRO-Working with Unit Loads 431 To add a slip sheet to a unit load Slip sheets can be added between layers in a unit load. You do this by working with the Pallet Layer configuration graphic The graphic is interactive. It can be modified by clicking on a desired layer, pressing the right mouse key which brings up a menu that includes adding slip sheets. Slip sheets support negative layer spacing. If you add a slip sheet to a layer, and then enter a negative number for the slip sheet height it has the effect of "squishing" the layers. When the simulation runs, you see the boxes get placed (squished) into the lower layer. To add a slip sheet to a unit load 1. Open the desired unit load The Unit Load Setup Property page is opened. 2. Select the Palletizing Parameters Property page button 3. In the Pallet Layer Configuration graphicPallet_Layer_Configuration_Graphic right click on the layer that you want to add a slip sheet above or below 4. Select the Add slip sheet above, or the Add slip sheet below option. The layer should now show with a slip sheet in the graphic. 5. Press OK or Apply to save the change To change flip type for a unit load Patterns can be flipped in multiple ways. You define this on the Unit Load Parameters page of the Unit Load Setup Property Pages A layer can have one of five flip types (see graphics of flip types): • Flip on Length: flips the pattern along the length of the pallet. • Flip on Width: flips the pattern along the width of the pallet. • Flip on Length and Width: flips the pattern on both the length and width of the pallet. • Rotate 90 degrees: rotates the pattern 90 degrees around the origin of the pallet. • Not Flipped: the pattern is in the original orientation PalletPRO-Working with Unit Loads 432 Only valid flip types are enabled options when selecting different patterns. To define flip type for a selected pattern in a unit load 1. Open the desired unit load The Unit Load Setup Property page is opened. 2. Select the Unit Load Parameters Property page button 3. In the common area the Flip Type frame shows the available flip types for the selected pattern. 4. Select the desired flip type. The radio button associated with the flip type should bow be selected 5. Press OK or Apply to save the change To change the dimensions of units or pallets Unit loads are defined by unit palletizing. The size of units and pallets being processed effects several different unit load parameters. For example, making a unit dimension smaller allows for more units to be placed per layer. PalletPRO automatically adjusts many parameters when unit dimensions are changed to optimize the process. To change the dimensions of units or pallets. 1. Open the desired unit load The Unit Load Setup Property page is opened. 2. Select the Unit Load Parameters Property page button 3. On the Enter dimensions tab you see fields to define Unit Dimensions and Pallet Dimensions. 4. Select the desired field and enter the desired value. 5. Press OK or Apply to save the change PalletPRO-Working with Unit Loads 433 To change the image shown on box sides You may change the image ("skin") shown on the outside faces of units. You do this on the Unit Load Palletizing Parameters property page. 1. Open the desired unit load The Unit Load Setup Property page is opened. 2. Select the Unit Load Parameters Property page 3. On the Enter dimensions tab there is a field for skin image file. Enter the filename or browse to the desired image file. Note: large images may not show up on small boxes. 4. Press OK or Apply to save the change To change the palletizing pattern used for a unit load A unit load may have several different patterns that can be used to achieve desired processing results. The pattern used may be changed as desired. To change the palletizing pattern used for a unit load 1. Open the desired unit load The Unit Load Setup Property page is opened. 2. Select the Unit Load Parameters Property page Page button 3. On the Select Pattern tab there is a field for selecting the solutions for pattern. Select the your desired pattern from the list. 4. Press OK or Apply to save the change To position a unit load on a pallet Depending on the seating type you select you can shift the entire unit load on the pallet, by changing the X and Y offset values. To position a unit load on a pallet 1. Open the desired unit load The Unit Load Setup Property page is opened. PalletPRO-Working with Unit Loads 434 2. Select the Unit Load Parameters Property page button 3. On the Select Pattern tab there is a field for selecting Unit Load Seating. Select the your desired seating type and enter the appropriate length and width values where appropriate.. 4. Press OK or Apply to save the change Running a Program 435 17 Running a Program Running a program Roboguide /PRO products have several features for running a program: • Program control panel toolbar buttons • Program control run panel window: The run panel windows has the control panel buttons and run options. • Program Profiler: the profiler provides cycle time information and settings for displaying program details. Details include settings for viewing programs by speed, acceleration, or orientation change. Roboguide simulation software has multiple ways to run a program. The Roboguide simulation software toolbar has Operator Panel buttons to control programs and the Run Panel window has buttons to control programs and run options. You use one of these functions to run programs. When running multi robot workcells Roboguide simulation software synchronizes the virtual robot and shared IO to give accurate multiple robot timing. For more information regarding running multiple robot workcells see Running multiple robot workcells. About the Program Run Panel The program Run Panel allows you to control a program and to set run options. Control functions include: • Create an AVI : the program runs and generates an AVI movie file. Options selected on the run panel are used. • Run the program : runs the program from the start. For more information regarding running multiple robot workcells see Running multiple robot workcells. • Hold the program: holds the program • Abort the program: aborts the program • Reset the robot: sends a reset to the virtual robot controller Running a Program 436 Program options include: Note: all options are not available to all PRO plug-ins. • Refresh Rate: is the number of screen updates the 3D CHUIWorld performs per second. This setting effects performance. As the number is increased the robot moves smoother, but slows down because the screen is forced to update faster. Changing this setting takes effect immediately. • Collision detect enable: when checked collisions are detected between the robot and its tooling with objects in the workcell. • Collect TCP Trace enable: when checked, and the Profiler is open the actual robot TCP Trace is shown on the screen. Changing this setting takes place the next time the program is run. • Run Program in Loop enable: when checked the program runs in a loop. If the collect TCP Trace option is enabled and the Profiler window is open Roboguide simulation software does not add consecutive runs to the profiler data, but updates the current run continuously. Changing this setting takes effect immediately. • Taught Path Visible enable: when checked the taught path Nodemap is displayed on the screen. Changing this setting takes effect immediately. • Hide Windows enable: when checked all open windows are closed before the robot begins to run. Windows are re-opened when the program run ends. Changing this setting takes place the next time the program is run. • Refresh Display enable: when checked the display is refreshed and objects move on the screen. When not checked, objects do not move, but the robot runs the program. The Profiler continues to update cycle time information, and TP Trace is shown. This is used to increase performance to collect cycle time data. Changing this setting takes effect immediately. • Compress AVI enable: when enabled the created AVI file of the simulation is compressed. This significantly reduces the file size of the created AVI file. Changing this setting takes place the next time the program is run. • Show Process Animations: depending on the Roboguide PRO product running, the PRO software animates the EOAT when a process statement is executed in the robot TP program. For example, when WeldPRO is running a program a simulated arc is shown when an Arc Start occurs. For PaintPRO a simulated paint cone is shown when a gun on is executed. If the option is checked the animation occurs, if it is not checked (disabled) no animation is shown. Running a Program 437 • Simulation time on AVI: when checked a time is displayed on the AVI. • Abort on fault: when selected the simulation is aborted when a fault occurs. Controlling a program from the toolbar The toolbar buttons on the Roboguide simulation software toolbar allow you to control a program. Functions include: • Create an AVI (): the program runs and generates an AVI movie file. Options selected on the run panel are used. • Run the program (): runs the program from the start. For more information regarding running multiple robot workcells see Running multiple robot workcells. • Hold the program (): holds the program • Abort the program (): aborts the program • Reset the robot (): sends a reset to the virtual robot controller To control a program from the toolbar 1. If not selected, select the desired program to run from the cell browser. Click the left mouse button for the desired function as described above. Controlling a program from the run panel The menu bar buttons tons on the Roboguide simulation software Run Panel window allow you to control a program. Functions include: • Create an AVI (): the program runs and generates an AVI movie file. Options selected on the run panel are used. • Run the program (): runs the program from the start. For more information regarding running multiple robot workcells see Running multiple robot workcells. • Hold the program (): holds the program Running a Program 438 • Abort the program (): aborts the program • Reset the robot (): sends a reset to the virtual robot controller To control a program from the run panel 1. If not selected, select the desired program to run from the cell browser 2. Open the run panel window 3. Click the left mouse button on the desired function as described above Running multiple robot workcells Roboguide simulation software synchronizes motion and IO for all robots in multi robot workcells. This provides accurate motion execution information. Some PRO process plug-ins have their own run menu processing (PaintPRO, PalletPRO). For PRO process plug-ins that don’t have a specific run menu, the currently selected program on each virtual robot is run when the Run the program button is pressed. Viewing program status in the TP Editor window To view program status in the TP Editor windows 1. Open the Program Teach Window with the desired program.. The teach pendant program is shown. Note: you may have to open the TP window and use the virtual teach pendant windows Select screen to select the program. When you run your program the Program Teach window updates. For the simulation editor, the current executing line is highlighted in green. The pre-planned lines are highlighted in yellow. Running a Program 439 Viewing taught paths while running As program lines are created, a nodemap is created which shows each position connected with lines in the 3D CHUIWorld. To view the theoretical taught paths (nodemap) while running 1. Open the Run Panel window 2. Enable the Taught Path Visible run option To see both the TCP Trace and the taught path ensure both the Collect TCP Trace and Taught path visible options are selected. Detecting collisions while running a program As the robot moves through a simulation, the robot, its end of arm tooling, and, if present, parts in the end of arm tooling are checked for collisions with objects in the workcell. To enable and view collisions while running 1. Open the Run Panel window 2. Enable the Collision Detect run option. Setting the Refresh Rate The screen refresh rate is the number of screen updates the 3D CHUIWorld performs per second. This setting effects performance. As the number is increased the robot moves smoother, but slows down because the screen is forced to update faster. Changing this setting takes effect immediately. To set the screen refresh rate 1. Open the Run Panel window 2. Slide the Refresh Rate slider bar to the desired setting. A higher rate will cause the simulation to run slower Running a program in a loop A program can be run continuously in a loop. When this option is selected the selected program will run until held or aborted. The Profiler does not continue to collect data on each Running a Program 440 run, but refreshes the latest display. 17.1 About PalletPRO Simulation Using the Simulation Cycle Start Page The Simulation Cycle Start Page presents fields to define how you want your simulation to run. You define what unit load to run on which infeed and which pallet. The page is opened either from the Main Menu -> Test-Run menus, or is show when the Run button is selected from the Run Panel. A table is provided where you input a desired configuration to run. Fields include: • #: the row number in the table • Unit Load: the desired unit load to run • Pick: the infeed to be picked from • Place: the pallet to be placed on There is also a check box to not show the Cycle Start Page again. If you do this, when you press Run from the run panel, PalletPRO will execute the last configuration you entered. You can uncheck this option by opening the Simulation Cycle Start Page from the Main Menu > Test-Run -> Cycle Start selection. Using the Simulation Cycle Start Page The Simulation Cycle Start Page presents fields to define how you want your simulation to run. You define what unit load to run on which infeed and which pallet. The page is opened either from the Main Menu -> Test-Run menus, or is show when the Run button is selected from the Run Panel. A table is provided where you input a desired configuration to run. Fields include: • #: the row number in the table • Unit Load: the desired unit load to run • Pick: the infeed to be picked from • Place: the pallet to be placed on Running a Program 441 There is also a check box to not show the Cycle Start Page again. If you do this, when you press Run from the run panel, PalletPRO will execute the last configuration you entered. You can uncheck this option by opening the Simulation Cycle Start Page from the Main Menu > Test-Run -> Cycle Start selection. To define infeeds and pallets for a production simulation The configuration to run for simulation is entered on the Simulation Cycle Start Page. To define a production run 1. There are two ways to access the Cycle Start Page. o Press Run from the Run Panel. If you have not selected the "Don’t show this page at cycle start" option in the Simulation Cycle Start Page, the Cycle Start page is shown. o Open from the Main Menu -> Test-Run -> Cycle Start. 2. Use the fields in the table to define the production run. About the Production Data Page The Production Data Page provides cycle information for a running simulation. A table is presented that shows the following data. • Cycle #: one of the unit load cycles. • Unit Load: the unit load program being run on the robot. • Layer: the current layer being palletized. • Unit: the current Unit being palletized. • Rate: the throughput rate of the cycle #: • Product ID: the Product ID defined for the Unit Load being run. Additional functions are provided on the page. Running a Program 442 • Robot Run Time: The time the robot has run for this simulation. To define a partial layer production run The number of layers and units can be defined for an initial condition when running a palletizing simulation. To define a partial layer production run 1. Run the sequence 2. On the Simulation Cycle Start page you enter the layer and unit number for each palletizing sequence. 3. Press Start The pallets are configured in an initial state as defined on the cycle start page before the simulation begins. 443 Example 18 Example After you install and run the environment we create a new project. To this end, the menu "File" select the "New Cell". At the beginning we have to configure the basic parameters of our project. In this activity helps us to 8-point "Workcell Creation Wizard" - Figure 1. Figure 1. Workcell''''Creation Wizard. In the various steps configure: • • • • • • • • Step 1 - Name of the project, Step 2 - design a virtual robot - to create a new job, we use data from a backup copy or create a robot from another project, Step 3 - choose the software, which is to be equipped robot - it is important to note that the default setting is "Handling Tool" in the U.S., Step 4 - select the type of family and job for which you want to write a program Step 5 - select the version of software, which is equipped with a robot - this section is relevant if what we shall ROBOGUIDE in the software, we will send a robot to an existing fact, then it is important to the compatibility version, step 6 - Configuration of external axes, which can be equipped robot, Step 7 - options work - please note that the default setting of "Robot Languages" in Japanese, Step 8 - summary. In this way, the environment and have a job. Now items from the environment and the detail work, which we will move. To add the table as well as palette, right-click mouse button in the "Cell Browser" to "Fixture" 444 Example and select "Add Fixture -> CAD Library" - Figure 2. In this way, we call a library of readymade with the supplied software ROBOGUIDE. With this library you choose either a table or tray, which satisfy the assumptions of our project. If the finished items, we can not find proper, we can specify the path to a place where there are files with extensions or IGS CSB click the right mouse button under the "Cell Browser" to "Fixture" and select "Add Fixture -> CAD File." In this way, we can expand our virtual space for any items. Figure 2. Adding items from the library ROBOGUIDE. Added "table" and "palette" place in the space provided in the work done. Now add a box to be transmitted by the robot element, namely a "Parts". For this purpose, click the right mouse button under the "Cell Browser" on the "Add Part -> Box. Once you do that, you are in the element that will be visible only during the learning done, but will not be visible during the simulation - Figure 3. 445 Example Figure 3. Adding Parts of''type''and the properties of elements. Each item, which is located in our project has its own characteristics. The window with the characteristics we call double-clicking on the item under the "Cell browser. Also, we added the "box" has its own characteristics - Figure 3. Ustalmy dimensions on the box: Size in X: 430 mm Size in Y: 430 mm Size in Z: 250 mm. Figure 4. Configuration lewis - part 1. Robot can move to "box", we need to have the eye-catcher. To this end, double-click on the "Cell Browser" to "Robot Controllers -> Robot Controller1 -> GP :1-R2000iA / 165F -> Tooling -> UT: 1 (Eoat1)" - Figure 4. Then in the properties of the component on the tab "General" in the "Primary CAD" show the path to a file with the extension of the CSB, or IGS Air in the open position (Air sample are included with the software ROBOGUIDE). When you click on "Apply" eye-catcher is placed at the end of 6 axis robot, but to be properly positioned in space, we must turn it on - 90 ° around the axis X - Figure 4. If the clutch is working properly, we must configure the other properties. On the "UTOOL" Setting the Tool Center Point (TCP) tools. In our case, this transfer of the default terms (the end of 6 axis robot) is 920 mm along the axis Z. In the "Parts" to create a link between the Air and the "box" and define the transfer, of what will be shown during the simulation "box" when will be moved by a robot - Figure 5. On the "Simulation" in the "actuated CAD shows the path to a file with the 446 Example Air in the closed position - Figure 6. Finally, the eye-catcher in the simulation to work properly, you should have two teams in the form of two files with extensions CSB, or IGS. One for the open position and the other for the closed position. And so our eye-catcher from the open position is saved in the file "36005f-200.IGS", while in the closed position in the file "36005f-200-3.IGS". Below the "actuated CAD" we have two buttons "Open" and "Close", which allow us to verify that simulate the behavior of eye-catcher - Figure 6. Figure 5. Configuration clutch - Part 2. Similarly, as we have created a link between the Air and the "box", we need to create links between the "box" and "table" and "box" and "palette". A double-clicking on the "table" on the "Parts" select "box and enter the transfer, which will be shown with the" box "to" table "during the simulation. This is a shift from a point at coordinates [0, 0, 0] 'table. " Then on the tab "Simulation" declare what number of seconds to wait on the "table" show a new "box" - the "Allow part to be picked." Let us will be 10 seconds. Similarly, configure the link "box" with a "palette", with the difference that on the tab "Simulation" parameter set "Allow part to be placed, also in 10 seconds. 447 Example Figure 6. Configuration clutch - Part 3. In this way, we prepared a virtual environment to write the program. To start the editor, click the right mouse button under the "Cell Browser" to "Robot Controllers -> Robot Controller1 -> GP :1-R2000iA / 165F -> Programs" and select "Add Simulation Program" - Figure 7. Now control virtual robot using Teach Pendant remember specific points in space - the 'Record' Figure 7, and instructions to enter "Pick" and "Drop" - the "Inst" - Figure 7. Figure 7. Writing''Simulation''program and run a simulation. Example 448 When you are finished writing the whole simulation run by clicking on the toolbar, the "Cycle Start" - Figure 7. If we wrote a good program, and all points in space can be achieved by the robot, you press "Cycle Start" will see the simulation, which was the creation of our task.