Module 02 Graphical Programming 605
Module 02 Graphical Programming 605
Module 02 Graphical Programming 605
05
Graphical Programming
The information in this manual is subject to change without notice and should not be construed as a
commitment by ABB. ABB assumes no responsibility for any errors that may appear in this manual.
Except as may be expressly stated anywhere in this manual, nothing herein shall be construed as any
kind of guarantee or warranty by ABB for losses, damages to persons or property, fitness for a specific
purpose or the like.
In no event shall ABB be liable for incidental or consequential damages arising from use of this manual
and products described herein.
This manual and parts thereof must not be reproduced or copied without ABB's written permission, and
contents thereof must not be imparted to a third party nor be used for any unauthorized purpose.
Contravention will be prosecuted.
Additional copies of this manual may be obtained from ABB at its
then current charge.
2017-05-05 ABB
Table of Contents
3
Graphical Programming
1. Graphical programming
Overview
In this module we will learn how to use geometries to automatically create robot paths.
In RobotStudio we can create paths from curves, or by selecting the edge of one or more
surfaces on the geometry.
In the exercises in this module we will create glue paths on a door panel.
Unpack
Use Unpack&Work to open the Pack&Go file GlueStation.rspag from the Courseware >
Stations folder. Unpack it to a new folder myGlueSolution in the Solution > Module_2
folder. You will need to create a Module_2 folder as well. Answer Yes on the Smart
Component question (if it shows).
These message boxes appear because it includes Smart Components made with Code Behind
in the station.
4
Graphical Programming
5
Graphical Programming
1. Zoom in and set View Center to the shape as in the picture below.
6
Graphical Programming
3. Click in the Select Body box then in the Graphics window click on the body around the
shape (see picture on first step).
4. Click out three points as in the picture below (make sure to click in the first point
coordinate box before clicking to create the point). The first point should be at the start
of the arc (use Snap End). The second point should somewhere along the border of the
arc (use Snap Edge). The third should be at the end of the arc (use Snap End).
5. In the Create Border From Points window click the Create button.
7
Graphical Programming
4. Click on the top of the three cones marked in the picture below to define the three points.
(Snap Mode: End)
8
Graphical Programming
5. Click Accept and then Create to create the workobject. Note that due to the location of
the pin used to define the y axis, the workobject’s origin will float in “free space” and
will not actually coincide with the position of the first pin.
wobjFixture
3. On the Home tab click on the lower part of the Path button and then select AutoPath.
9
Graphical Programming
A preview of the path should now be displayed in the Graphical window, and in the
AutoPath window all surface edges around the path should be displayed. Note that not
all of the selected edges are referenced to the same plane and/or reference surface.
Before creating the path we will select a reference surface.
4. Put the cursor in the Reference Surface field, and then click on the same surface as the
curve was created from (with Border around Surface).
5. Change the Approximation Parameters to Circular and the Tolerance to 0,5 mm, then
click Create.
10
Graphical Programming
7. Select the path in the Paths&Targets browser, then click on PathTools-Modify, and
then click on Rename Targets. Change Target Prefix to pGluePath1_ and click Apply.
8. Use AutoPath to create a path on the curve created with Border from Points. Use the
surface around the curve as Reference Surface and change the Approximation
Parameters to Circular and the Tolerance to 0,5 mm.
9. Rename the paths to GluePath2. Give the targets the prefix pGluePath2_ .
We will create the last glue path without any curve; instead select the surface edge along the
path. This advantage makes it possible to create a path along multiple surfaces.
11
Graphical Programming
1. Zoom and rotate so you have a good view of the marked area in the picture below.
2. Open AutoPath and on the surface selected in the picture below, click close to the edge
closest the robot. The preview of the path should be as in the picture below.
3. Move the mouse in the right direction along the edge until you see a new preview in the
corner of the door.
12
Graphical Programming
5. Continue like this around the entire door so all segments are added to the AutoPath list.
6. Leave the Approximation Parameters as Linear and set the Tolerance to 0.5 mm, then
click Create.
7. Rename the path to GluePath3. Give the targets the prefix pGluePath3_ .
Offsetting paths
When AutoPath is used to create a path, the targets will be aligned to the selected surface,
and with the axis defined as Travel Vector (Options-Mechanism) pointing in the path’s travel
direction. This makes it possible to offset the path by moving each target in their local
coordinate system. This however needs to be done before the targets are reoriented.
1. In the Paths&Targets browser expand the node of wobjFixture_of and multi select all
targets belonging to GluePath1.
13
Graphical Programming
3. Move all targets 4mm in Y direction with Reference set to Local, to offset the path from
the edge.
4. Offset GluePaths 2 and 3 the same distance, however be aware that for GluePath2 it
should be in the –Y direction and GluePath3 should be in the +Y direction.
2. Step through the following targets and verify that the Z-orientation towards the surface is
OK.
14
Graphical Programming
5. Select the surface as below, select Approach Direction –Z and click Apply.
6. Continue through the remaining targets and make sure no more targets needs to be
adjusted.
7. Select target pGluePath1_10 and turn on View Tool at Target with the tool
SingleDoser.
8. Verify that the orientation of the tool is as in the picture below. If not, rotate the target
around its Z-axis, so the robot can reach it with a good configuration.
Note!
The resulting orientation of the targets when using AutoPath, depend on the settings in
Options>Mechanism. If other than default settings are used, the result will be different
than shown above.
9. Use Jump To Target to verify that the robot can reach the target.
15
Graphical Programming
10. Multi select all targets (excluding pGluePath1_10) for GluePaths 1, 2 and 3, and then
click on Align Target Orientation on the Target Tools – Modify tab.
12. Use View Robot at Target to verify that all targets are reachable. Then turn off View
Robot at Target.
16
Graphical Programming
1. In the Paths&Targets browser, right click on target pGluePath1_10 and select Copy in
the Context Menu.
2. Right click on the workobject wobjFixture and select Paste. A new target is added under
the workobject.
4. Use Offset Position to move the new target 100 mm in –Z direction in Reference Local.
17
Graphical Programming
5. Use Jump To Target to verify that the target is placed 100 mm above the path.
6. Copy and Paste the last target in GluePath1 and rename the new target to
pDepart_Path1. Offset the target 100 mm in –Z direction.
9. Add approach and depart targets for the other glue paths with the same offsets.
When a target is taught by jogging the robot to a given position, the axis configuration is
stored in the target. When targets are created in RobotStudio by one of the geometric tools, a
default configuration, which may not be accurate, is used. When using targets created this way
in a program we either have to assign valid robot axis configurations to each target or add a
configuration off instruction to make the robot ignore the missing configuration. In this
exercise we will use the recommended way, which is to set the robot axis configurations for
all targets.
18
Graphical Programming
1. In the Paths&Targets browser select GluePath1 and then click on Auto Configuration
in the Path Tools – Modify tab.
The Select Robot Configuration window is now displayed in which you set the
configuration for the first target manually. The configuration you select for the first
target might affect the configurations for the following ones.
2. After viewing the configurations, select the configuration with values (-1, -1, -1, 0) and
click the Apply button.
The robot now steps through the path and sets the configuration for each target in the
path. Which configuration to use for each target depends on the previous one, so if the
AutoConfiguration fails, you might get better results with another initial configuration.
Note: If the first target in a given path already has a configuration assigned then Auto
Configuration will use that as a starting point and will not be asked to make a selection.
If you want to change the starting configuration then you must use the Reset
Configurations tool first.
3. Use Auto Configuration to set configurations for the other glue paths. The start
configuration in the paths should be as close as possible to the one selected for
GluePath1.
Modifying Instructions
AutoPath uses the active template to decide what type of move instructions should be
created, and with what speed and zone data. When we created the glue paths, the default
MoveL template was active, which means that the speed data was set to v1000 and the zone to
z100. These parameters are not likely optimal for a gluing application, so we will change this
data to something more appropriate.
19
Graphical Programming
1. In the Paths&Targets browser expand GluePath1and select all targets in the path except
for the approach and depart targets.
3. Change the Speed to v300 and the Zone to z1, and then press Apply.
20
Graphical Programming
2. In the Synchronize to RAPID dialog, verify that the Modules in the picture below are
selected as target modules. These modules have earlier been used in the station from the
Pack and Go, and are therefore the default selections.
Note: Even if you change the module that the paths sync to the targets for each path will
still sync (according to the default settings) into Module1. This can be changed under
Options>Synchronization.
21
Graphical Programming
4. In the Home tab right click on the system and select Synchronize to RAPID and select
the module in which you would like to create the main procedure in.
22
Graphical Programming
5. In the Graphics window click the Play button and verify that the robot moves along all
paths correctly.
To detect collisions
We will now create a collision set with two sets of objects, which RobotStudio will watch for
collisions. Collisions can be both highlighted in the graphics and/or be reported in the output
window.
We have now defined that RobotStudio will detect collisions between A and B.
5. On the Simulation menu, click Play.
We can now see the collisions in both the graphics and in the Output window.
23
Graphical Programming
Now if we are near a collision the objects will flash green and when a collision occurs
the objects will flash red.
5. On the Simulation menu, click Play.
Avoiding collisions
For the next step we will make some adjustments in order to avoid colliding with the part
however we still want to maintain a set distance (fall within the near miss value) for the
gluing operation.
The tooldata named tNozzle was created on the surface of the dispensing nozzle. The
targets were created on the top surface of the door panel. This is the reason we have a
series of collisions as the robot follows the paths on the door. To avoid these collisions
(and to perhaps better reflect the actual process with some space for a glue bead) we will
modify the tool data so we have an offset between the tooldata frame and the nozzle tip.
1. In the Paths&Targets browser right click on tNozzle and select Set Position in the
Context menu.
24
Graphical Programming
2. Move the tooldata 3 mm in +Z direction with Reference set to Local, and press Apply.
3. In the Paths&Targets browser we now see that the target configurations no longer are
verified (the yellow triangles). This is because we have moved the tool data used in the
move instructions. The configurations are probably still valid, but to be sure we will
verify this.
Right Click on GluePath1 and select Configurations > VerifyConfigurations.
5. Right click on T_ROB1 and select Synchronize to RAPID in the Context menu.
25
Graphical Programming
7. Check the check box for tNozzle and press OK. Now only the tooldata tNozzle will be
synchronized to the RAPID.
26
Graphical Programming
1.7. Reachability
Overview
In this exercise we will learn how to use the Reachability function. The Reachability
function tests if selected targets are reachable by the robot with the given target orientation.
Prepare
1. Start the Unpack and Work wizard and unpack the station
\Courseware\Stations\Reachability_start.rspag
Testing Reachability
1. On the Home tab in the Paths&Targets browser right click on Path_processes and then
select Reachability.
2. This will bring up the Reachability dialog, where you can see by the red icons that the
majority of the targets in the path not are reachable.
27
Graphical Programming
4. Freehand move the part by clicking on the Move button and then in Graphics windows
drag the red, green, blue arrows. Notice how the part moves, but the path remains.
5. On the Quick Access toolbar click the Undo button so that the path & part match again.
6. In the Paths&Targets browser right click on the obWorkpiece workobject then point to
Attach to and select the carfront part.
RobotStudio will now make the workobject dependent on the part, so by moving the part
we move the workobject as well.
8. Freehand move the part again. Notice how the targets follow, and how the reachability
will change when the part is within reach. Stop when the path is reachable.
28
Graphical Programming
2. Select the first configuration in the Robot Configurations dialog and click the Apply
button.
After selecting apply RobotStudio tries to move the robot through the path based up this
initial selection, and if successful, sets the configuration in all the targets. When working
directly in front of the robot for the smoothest robot motion you should try to keep the
configuration as close to zero whenever possible. For more information see the Robot
and RobotStudio manual.
3. On the Rapid tab, click on the Synchronize to RAPID button.
4. In the synchronize dialog click the OK button.
5. Set Path_process as entry point
6. On the Simulation tab, click the Play button.
TCP Trace
1. Make the workobject and path invisible by right clicking on obWorkpiece and
Path_processes and under View, selecting Visible.
2. In the Layout browser, do the same for the part carfront. Now you will only see the
robot in the graphic view.
29
Graphical Programming
This will leave a white monitor trace after the robot’s TCP.
30
Graphical Programming
7. Check the Color by signal checkbox and then click the browse button […] and select
Speed In Current Wobj under the TCP section, then click the OK button.
8. Click the Use secondary color radio button then enter 350 mm/s in the box.
31
Graphical Programming
This time RobotStudio will give a warning when the speed is above 350 mm/s by turning
the trace red.
32
Graphical Programming
33