You are on page 1of 157

User’s Guide

3HAC 7702-1 PickMaster


For BaseWare OS 4.0
Version 2000-10-31

ABB Robotics
The information in this document is subject to change without notice and should not be construed as a
commitment by ABB Robotics AB. ABB Robotics AB assumes no responsibility for any errors that may
appear in this document.

In no event shall ABB Robotics AB be liable for incidental or consequential damages arising from use
of this document or of the software and hardware described in this document.

This document and parts thereof must not be reproduced or copied without ABB Robotics AB´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 document may be obtained from ABB Robotics AB at its then current charge.

© ABB Robotics AB

Article number: 3HAC 7702-1


Issue: For BaseWare OS 4.0

ABB Robotics AB
S-721 68 Västerås
Sweden
User’s Guide
CONTENTS
Page

1 Introduction ..................................................................................................................... 5
1.1 How to use this manual .......................................................................................... 5
1.2 Other manuals......................................................................................................... 5
2 The PickMaster application ........................................................................................... 6
2.1 Overview ................................................................................................................ 6
2.2 A PickMaster project .............................................................................................. 7
2.2.1 Feeder........................................................................................................... 8
2.2.2 Robot............................................................................................................ 8
2.2.3 Position Source ............................................................................................ 8
2.2.4 Item .............................................................................................................. 8
2.2.5 Pattern .......................................................................................................... 8
2.2.6 Vision Model................................................................................................ 9
2.3 Security ................................................................................................................... 10
2.3.1 Recommended security ................................................................................ 10
3 Installation ....................................................................................................................... 12
3.1 PC Software............................................................................................................ 12
3.1.1 Acrobat Reader Installation ......................................................................... 12
3.1.2 MDAC Installation....................................................................................... 12
3.1.3 InterLink Installation.................................................................................... 12
3.1.4 Vision Software - OMI Installation ............................................................. 13
3.1.5 PickMaster Installation ................................................................................ 13
3.1.6 Add ODBC connection to the Log database................................................ 13
3.2 PC Hardware........................................................................................................... 13
3.2.1 Ethernet Communication Board................................................................... 13
3.2.2 Vision Interface Board ................................................................................. 13
3.2.3 Trig-Strobe Adapter Board (DSQC 524) ..................................................... 14
3.3 Camera Installation................................................................................................. 14
3.4 Robot Controller Software - RobotWare................................................................ 15
3.5 Robot Controller I/O Boards .................................................................................. 15
3.6 I/O Connections...................................................................................................... 15
3.7 I/O Configuration ................................................................................................... 19
4 Defining a PickMaster project ....................................................................................... 21
4.1 Wizards................................................................................................................... 21
4.1.1 General Wizard functions ............................................................................ 21
4.1.1.1 Presentation section ........................................................................... 22
4.1.1.2 Help section ....................................................................................... 23

User’s Guide - PickMaster 1.0/PickWare 4.0 1


User’s Guide

4.1.1.3 Input section ...................................................................................... 23


4.1.1.4 Button section.................................................................................... 23
4.1.1.5 Dialogues........................................................................................... 23
4.1.2 Configuration Wizard .................................................................................. 24
4.1.2.1 Step 1: Root directory selection ........................................................ 26
4.1.2.2 Step 2: Project selection/definition ................................................... 28
4.1.2.3 Step 3: Feeder definitions.................................................................. 29
4.1.2.4 Step 4: Robot definitions................................................................... 30
4.1.2.5 Step 5: Position source definitions .................................................... 33
4.1.2.6 Step 6: Item definitions ..................................................................... 39
4.1.2.7 Step 7: Feeder to robot relations ....................................................... 46
4.1.2.8 Step 8: Position source to feeder relations ........................................ 47
4.1.2.9 Step 9: Item to feeder relations ......................................................... 48
4.1.2.10 Step 10: Item to position source relations ....................................... 49
4.1.2.11 Step 11: Item flow definitions......................................................... 51
4.1.3 Calibration Wizard....................................................................................... 58
4.1.3.1 Step 1: Root and project selection..................................................... 59
4.1.3.2 Step 2: List of calibrations ................................................................ 60
4.1.3.3 Step 3: Camera calibration ................................................................ 62
4.1.3.4 Step 4: Feeder to robot calibration .................................................... 67
4.1.3.5 Step 5: Camera to robot calibrations ................................................. 78
4.1.4 Model Wizard .............................................................................................. 84
4.1.4.1 Step 1: Root and project selection..................................................... 85
4.1.4.2 Step 2: Model definitions .................................................................. 86
4.1.4.3 Step 3: Model to item relations ......................................................... 96
5 Maintaining a PickMaster project ................................................................................ 97
5.1 Project Viewer ........................................................................................................ 97
5.1.1 Navigation section ....................................................................................... 98
5.1.2 Input section................................................................................................. 101
6 Running a PickMaster project....................................................................................... 102
6.1 Operator’s Panel ..................................................................................................... 102
6.1.1 Project view ................................................................................................. 103
6.1.1.1 Vision information dialogue.............................................................. 104
6.1.2 Robot view................................................................................................... 105
6.1.2.1 Maintenance dialogue ....................................................................... 108
6.1.3 Position source view (vision)....................................................................... 111

2 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

6.1.3.1 Detailed vision information dialogue ................................................ 112


6.1.4 Position source view (file) ........................................................................... 114
6.2 Error Messages ....................................................................................................... 114
7 Viewing logs from the system......................................................................................... 115
7.1 Run Time Log Collector......................................................................................... 115
7.2 Log Viewer ............................................................................................................. 118
8 PickMaster Software Interface ...................................................................................... 121
8.1 Methods .................................................................................................................. 121
8.1.1 List projects.................................................................................................. 121
8.1.2 Load project ................................................................................................. 121
8.1.3 Start/Stop project.......................................................................................... 121
8.1.4 Start/Stop robot ............................................................................................ 121
8.1.5 List maintenance functions .......................................................................... 121
8.1.6 Start maintenance function........................................................................... 121
8.1.7 Safe stop....................................................................................................... 121
8.2 Events ..................................................................................................................... 121
8.2.1 Error information ......................................................................................... 121
8.2.2 Status information ........................................................................................ 121
8.2.3 Pick acknowledge ........................................................................................ 121
8.2.4 Load/Start/Stop project ................................................................................ 121
8.2.5 Load RAPID program.................................................................................. 121
Appendix 1 Document References.................................................................................... 123
Appendix 2 PPA Rapid Programming............................................................................. 125
2.1 Introduction ............................................................................................................ 125
2.2 Data types ............................................................................................................... 126
2.3 Instructions ............................................................................................................. 130
2.4 General Description................................................................................................ 154
2.4.1 Main routine................................................................................................. 154
2.4.2 Initiation routines ......................................................................................... 154
2.4.3 Production routine........................................................................................ 155
2.4.4 Clean up routine ........................................................................................... 155
2.4.5 Trap routine.................................................................................................. 155

User’s Guide - PickMaster 1.0/PickWare 4.0 3


User’s Guide

4 User’s Guide - PickMaster 1.0/PickWare 4.0


Introduction

1 Introduction
The application software for controlling the FlexPicker robot, IRB 340, via the
S4Cplus robot controller is called PickMaster. PickMaster is a programmable
application to provide fast, on the fly, single pick and place operations of items. A
vision system will be used to find randomly placed items on a feeder.

The PickMaster application is designed to handle one or more cells in the production.
The definition of a cell in this document is one robot performing a pick and place task.
A number of cells that work together form a line. The document PickMaster Product
Specification defines all configurations of cells handled by PickMaster.

The PickMaster User’s Guide is a reference manual with step by step instructions on
how to use the PickMaster.

1.1 How to use this manual

An overview of the application and all involved objects is given in chapter 2, The
PickMaster application.

How to install and configure the application on both the PC and the robot controller is
described in chapter 3, Installation.

A detailed step-by-step description of how to configure and calibrate the PickMaster


application for a pick and place task is found in chapter 4, Defining a PickMaster
project.

How to change an existing project is described in chapter 5, Maintaining a PickMaster


project.

How to run the project is described in chapter 6, Running a PickMaster project.

Viewing log information generated by the system is a useful function that is described
in chapter 7, Viewing logs from the system.

The software interface between PickMaster and other applications is described in


chapter 8, PickMaster Software Interface.

1.2 Other manuals

The PickMaster Product Specification contains a detailed description of the


characteristics and technical data of the PickMaster application software. See
document reference 1.

The programming language used to program the S4Cplus robot controller is described
in the RAPID Reference Manual. See document reference 2.

User’s Guide PickMaster 1.0/PickWare 4.0 5


User’s Guide

2 The PickMaster application

2.1 Overview

The configuration of PickMaster is done by filling in windows forms in wizards. The


wizards will generate configuration files, these files are called a project. The
PickMaster application is divided into the following parts.

- Three wizards, Configuration Wizard, Calibration Wizard and Model Wizard,


to define a project. The PickMaster project includes all information needed for
a pick and place task. The wizards lead the user step by step through the setup
of a complete application.The Configuration Wizard can be used offline on any
PC. The other wizards needs an online environment with all hardware
- A Project Viewer for viewing and editing existing PickMaster projects. This
application makes it easy for a user familiar with the project structure, to enter
an old project to view or edit the setup.
- A runtime environment. Operator’s Panel for control and supervision of the
FlexPicker cells. Log Viewer to browse log information generated by both the
robot controller an the PC. These applications runs on a PC connected to the
controller

Figure 1 PickMaster applications

6 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

2.2 A PickMaster project

A PickMaster project includes all information needed by the application to perform a


pick and place task in one or more cells. The project assigns the pick and place tasks to
the robots, i.e. the pick and place strategy of how to distribute the items in the cell.

CELL 2 CELL 1

Robot Controller

All positions
filled Some positions
filled
Pattern
No positions
filled

Camera
Position
Source
Item
Feeder

Ethernet

PickMaster

Figure 2 Physical view of a cell

The project information is defined as properties to a number of objects that correspond


to the physical equipment. The object types are described below.

User’s Guide - PickMaster 1.0/PickWare 4.0 7


User’s Guide

Project

Feeder Robot Position Item Vision


Source Model

Camera File Item Pattern

Figure 3 Logical view of a PickMaster project.

2.2.1 Feeder

A feeder is the location where the robot picks or places the items. The feeder can either
be a continuously moving conveyor or an indexed conveyor. It can also be a fixed
position where items are placed.

2.2.2 Robot

A robot is a FlexPicker controlled by a S4Cplus robot controller attached to the


Ethernet. PickMaster communicates with the controller over Ethernet via an application
called InterLink.

Each robot must have a pick or a place queue for each type of item.

2.2.3 Position Source

A position source generates the location of the items. The location can be found by a
camera and a vision system or if they are known in advance, i.e. pre-programmed, can
they be defined in a file. A photocell or some other detection device can also be used as
a trigger.

A position source is connected to a feeder.

2.2.4 Item

An item is an object which is picked and placed by the robot. An item can be an atomic
item or a compound item. The compound item is typically an item found by the vision
system with a number of pick or place positions. An example is a Blister.

2.2.5 Pattern

A pattern is a compound item with a number of fixed positions. Each position is defined
so that an atomic item can be encapsulated and picked or placed there. Normally a
pattern is used to place items in the pick and place task.

8 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

2.2.6 Vision Model

A vision model is the model used by the vision system to locate an item. An item can
have one or more models attached. A model can only be attached to one item. A vision
model is an image taken by a camera and stored as a picture in the PickMaster system.

User’s Guide - PickMaster 1.0/PickWare 4.0 9


User’s Guide

2.3 Security

The PickMaster system is divided into a number of applications. These applications are
used to create PickMaster projects and to run and surveillance them. The applications
are normally runned by users with different roles, for example Programmers that
designs the projects and Operators that runs them. A users shall only be able to control
the parts of the system that involves his or her needs. This is an important issue, to be
sure that a tested and approved project cannot be changed by anyone without
permission. It is also important that only persons with knowledge about the cell can
start a pick and place task.

The PickMaster system does not handle security internally, there is no separate login
into the system. A recommendation is to handle the security with permissions in your
NT system.

2.3.1 Recommended security

One way to implement the security in NT is to create three user groups. These groups
shall correspond to the following roles: System Administrator, Programmer and
Operator/Maintenance. The group shall have permission to run one or more of the
applications. An ordinary NT user can then be connected to one or more groups in order
to have permission to run the applications. For more information about users and
groups, see Microsoft NT documentation.

The System Administrator role shall be allowed to run all PickMaster applications
without limitations.

The Programmer role shall be allowed to run Configuration Wizard, Calibration


Wizard, Model Wizard and Project Viewer.

The Operator/Maintenance role shall be allowed to run Operator’s Panel, Run Time
Log Collector and Log Viewer.

10 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Role NT group Permission to Program


run
System PM_Sysadm Configuration PickDesignWizard.exe
Administrator Wizard
Calibration PickCalibrationWizard.exe
Wizard
Model Wizard PickModelWizard.exe
Project Viewer PickViewer.exe
Operator’s PickRun.exe
Panel
Log Viewer LogViewer.exe
Run Time Log RTlogCollector.exe
Collector
Programmer PM_Progr Configuration PickDesignWizard.exe
Wizard
Calibration PickCalibrationWizard.exe
Wizard
Model Wizard PickModelWizard.exe
Project Viewer PickViewer.exe
Operator/ PM_Operator Operator’s PickRun.exe
Maintenance Panel
Log Viewer LogViewer.exe
Run Time Log RTlogCollector.exe
Collector

User’s Guide - PickMaster 1.0/PickWare 4.0 11


User’s Guide

3 Installation

3.1 PC Software

The PC Software is delivered on a CD. The CD contains the Microsoft Data Access
Components software, the PickMaster 1.0 software, the Interlink 3.1 software, the
Cognex OMI 2.2 software (Vision software) and the Acrobat Reader 4.0. Each of these
software packaged are installed separately. The recommended installation order is.
1 Acrobat Reader
2 Microsoft Data Access Components (MDAC)
3 InterLink
4 Vision Software
5 PickMaster

After the installations an ODBC connection has to be defined to the Log database.

Notice! You must reboot the PC after installing the Vision Software otherwise the
PickMaster installation will fail. You must also make a reboot after the PickMaster
installation.

Notice! You should always read the “readme.txt” residing directly under the root of the
PickMaster CD. It contains last minute information that could be necessary at
installation time.

3.1.1 Acrobat Reader Installation

All on-line documentation in PickMaster needs Acrobat Reader 4.0 or higher. The
Acrobat Reader 4.05 is supplied on the PickMaster CD and is installed by executing the
file “ar405eng.exe” which resides under the “AcrobatReader” directory on the
PickMaster CD and follow the instructions given in the dialogues.

3.1.2 MDAC Installation

The MDAC installation is execute by double-click on “mdac_typ.exe” in the “MDAC”


directory of the PickMaster CD.

Follow the instructions given by the installation dialogues.

Notice! You should install MDAC before you install PickMaster, Interlink and Vision
Software.

3.1.3 InterLink Installation

On the PickMaster CD there is a directory “InterLink”. This directory contains the


original Interlink installation kit, a part of Web Ware. You start the installation by
executing “setup.exe” and follow the instructions given in the dialogues.

12 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

3.1.4 Vision Software - OMI Installation

On the PickMaster CD there is a directory “OMI”. This directory contains the original
OMI installation kit supplied by Cognex. You start the installation by executing
“setup.exe” and follow the instructions given in the dialogues.

Notice! At installation you are asked to select driver for your Vision Interface Board.
Be sure to select only the driver for the board you have purchased!

Notice! You should install the OMI software before you install the Vision Board. It is
not absolutely necessary but it is convenient to have access to the on-line
documentation of OMI hardware when installing the Vision Board.

3.1.5 PickMaster Installation

The PickMaster installation is execute by double-click on “setup.exe” in the


“PickMaster” directory of the PickMaster CD.

Follow the instructions given by the installation dialogues.

3.1.6 Add ODBC connection to the Log database.

Start the “Control Panel” on your NT system and select “Data Sources (ODBC)”.

Select tab “System DSN” and press “ADD” button. Select “Microsoft Access Driver
(*.mdb)” in the list and press “Finish”.

Give “PMLog” as the “Data Source Name” and as the “Description”. Use the “Select”
button and select the “PMLog.mdb” file on the directory where the PickMaster
application is installed.

The last thing is to press “OK” and your log database has been defined.

3.2 PC Hardware

3.2.1 Ethernet Communication Board

An ordinary Ethernet-board is necessary to establish communication with the Robot


Controller

3.2.2 Vision Interface Board

The vision board is installed according to the instructions given in the hardware manual
for the board.

The on-line manuals can be found under “Start/Programs/Cognex OMI 2.2/OMI


Documentation/8110 Hardware Manual”. For the Vision Interface Board MVS 8110
the chapter to read is “Cognex MVS-8110 Installation”.

User’s Guide - PickMaster 1.0/PickWare 4.0 13


User’s Guide

3.2.3 Trig-Strobe Adapter Board (DSQC 524)

The Trig-Strobe Adapter Board only uses the PCI-bus to get its power so it is simply to
insert it into a free PCI-place, preferably adjacent to the Vision Interface Board. The
Trig-Strobe Adapter Board is connected to the Vision Interface Board by a flat ribbon
cable. This cable is different depending on the Vision Interface Board.

Connecting the Trig-Strobe Adapter Board together with MVS 8110

Connect the supplied cable to the Vision Interface Board´s Parallel I/O connector
(See Figure 2 “MVS-8110 frame grabber board” in chapter “Installing the MVS-
8110 Frame Grabber” in the Hardware Manual. Connect the other end of the
cable to the 8110 I/O Connector on the Trig-Strobe Adapter Board (See figure
below).

Supplied
Connector

Trig-Strobe
Adaptor Board

Cognex 8110 Board

PCI slots
Figure 4 Trig-Strobe Adapter Board connection to the MVS-8110 Vision Interface Board

Notice! The connection to the S4C+ Robot Controller are described in I/O Connections
on page 15.

3.3 Camera Installation

The cameras must be mounted stable to avoid vibrations and other dynamic movement.
The light situation must also be considered, an even light situation is necessary to get a
reliable result. The cameras should be mounted on such a height that the scene taken by
the camera covers the area where items are to be picked or placed.

The cameras can be mounted in four different ways1.


1 The camera has its “back” towards the robot.

14 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

2 The camera has its “right” side towards the robot.


3 The camera has its “belly” towards the robot.
4 The camera has its “left” side towards the robot.

It is also important to align the camera with the conveyor, i.e. the sides of the taken
scene should be parallel with the direction of the conveyor. There is a step in the
Calibration Wizard to support this adjustment of the camera mount.

3.4 Robot Controller Software - RobotWare

The RobotWare Software is pre installed in the S4Cplus Robot Controller and is also
supplied on a CD together with the controller. For more information see the product
manual for the manipulator (e.g. IRB 340 Product Manual/Controller S4Cplus M2000/
9 Installation and Commissioning/3 Controller Software).

3.5 Robot Controller I/O Boards

Depending on the selected option either zero, one or two Encoder Boards, DSQC 377,
are delivered. A standard DI/DO Board, DSQC 328, is always a part of the delivery.
The boards can be delivered separately to enable custom specific mounting location.
For more information see the product manual for the manipulator (e.g. IRB 340
Product Manual/Controller S4Cplus M2000/9 Installation and Commissioning/
Connecting Signals/2.13 Distributed I/O units).

3.6 I/O Connections

The PickMaster concept consists of a number of components that needs to be


connected physical (See Figure 5) and (See Figure 6).

Each conveyor has a Conveyor Controller which should be connected to the DSQC 328
DI/DO Board for control from PickMaster. In the drawings ACS 301-1P6-3 is used as
an example but other Conveyor Controllers may be used as well. The same apply for
the encoder used, a Lenord-Bauer Gel 260-V-02500A001.

The Trig-Strobe loop is an important part of the PickMaster concept. It enables very
high synchronization between conveyor tracking and vision. The Trig-Strobe PCI
Board closes this loop. The board have four channels, i.e. it can handle up to four
cameras. Each channel is individual, therefore each channel has its separate 24 VDC
supply (See Figure 5).

The Trig-Strobe Adapter is a separate box that should be mounted very close to the

1. In PickMaster 1.0 only position 3 is allowed, i.e. the camera must be mounted with its “belly” towards the
robot!!!

User’s Guide - PickMaster 1.0/PickWare 4.0 15


User’s Guide

PickMaster PC (within 20 cm). It is connected directly to the Vision I/O Board used in
this case (Notice! This I/O Board is not used when the Trig-Strobe PCI Board is
delivered). The Trig-Strobe Adapter is replaced by the Trig-Strobe PCI Board (See
Figure 6).

The 24 VDC power supply in the drawings is common for all units. It can be separate
for each board if desired, it can even be separated for the X1 and X2 terminal of the
DSQC 328 DI/DO Board.

16 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

DSQC328
X3 X1 Conveyor Controller 1
1 ACS 301-1P6-3
GUARD
diSafeStop
2 goPICK1_CONTROL { doPICK1_START
doPICK1_STOP
1
2
Start/Stop
Back
6
7
X1-DI1
Conveyor 1
SENSOR1 3 doPICK1_BACK 3 X1-DI2
Speed Bit 0 8
SENSOR2 4
SENSOR3 5
goPICK1_v3 { doPICK1_v1
doPICK1_v2
4
5 Speed Bit 1 9
X1-DI3
X1-DI4
6 TRIGVIS1 6 24 VDC 5
X1-24VDC
7 TRIGVIS2 7
8 MANSYNC1 8 Encoder Lenord-Bauer
Gel 260-V-02500A001
9 9
A
10 10
F
B
X4 X2 C
1 MANSYNC2 1
2
3
VACBLOW {
VACUUM
BLOW
2
3 Conveyor Controller 2
4 doPICK2_START 4 ACS 301-1P6-3
goPICK2_CONTROL Start/Stop 6 Conveyor 2
5 doPICK2_STOP 5 X1-DI1
Back 7
6 doPICK2_BACK 6 X1-DI2
Speed Bit 0 8
7
8
goPICK2_v3 {
doPICK2_v1
doPICK2_v2
7
8 Speed Bit 1 9
X1-DI3
X1-DI4
9 9 24 VDC 5
X1-24VDC
10 10
Encoder Lenord-Bauer
Gel 260-V-02500A001
A
F
B
DSQC377
C
Conveyor 1 X20
in 1 DSQC 524
Power
{ in 2
+24V 1 Vision Trigger 1 Channel 1
out 3
Encoder #1
{ out
in
in
4
5
6
0V

+24V
A
B
2
3
4
5
GND
Vision Strobe 1
+24 V
GND

Synch Strobe #1
{ out
out
in
7
8
9
0V
Strobe Sig
6
7
8
Vision Trigger 2
GND
Vision Strobe 2
Channel 2

out 10
Encoder #2
{ out
in
in
11
12
13
9
10
11
12
+24 V
GND
Vision Trigger 3
GND
Channel 3

Synch Strobe #2
{ out
out
in
14
15
16
13
14
15
Vision Strobe 3
+24 V
GND
16 Vision Trigger 4 Channel 4
17 GND
DSQC377 18 Vision Strobe 4
19 + 24 V
Conveyor 2 X20 20 GND
in 1
Power
{ in 2
+24V
PickMaster PC
out 3
Encoder #1
{ out
in
in
4
5
6
0V

+24V
A
B

Synch Strobe #1
{ out 7
out 8
in 9
0V
Strobe Sig
out 10

Encoder #2
{ out 11
in 12
in 13

Synch Strobe #2
{ out 14
out 15
in 16

0V
+24V
S4C+ Robot Controller

Figure 5 I/O Connections for the PickMaster system (DSQC 524 - Trig-Strobe PCI Board)

User’s Guide - PickMaster 1.0/PickWare 4.0 17


User’s Guide

DSQC328
X3 X1 Conveyor Controller 1
1 ACS 301-1P6-3
GUARD
diSafeStop
2 goPICK1_CONTROL { doPICK1_START
doPICK1_STOP
1
2
Start/Stop
Back
6
7
X1-DI1
Conveyor 1
SENSOR1 3 doPICK1_BACK 3 X1-DI2
Speed Bit 0 8
SENSOR2 4
SENSOR3 5
goPICK1_v3 { doPICK1_v1
doPICK1_v2
4
5 Speed Bit 1 9
X1-DI3
X1-DI4
6 TRIGVIS1 6 24 VDC 5
X1-24VDC
7 TRIGVIS2 7
8 MANSYNC1 8 Encoder Lenord-Bauer
Gel 260-V-02500A001
9 9
A
10 10
F
B
X4 X2 C
1 MANSYNC2 1
2
3
VACBLOW {
VACUUM
BLOW
2
3 Conveyor Controller 2
4 doPICK2_START 4 ACS 301-1P6-3
goPICK2_CONTROL Start/Stop 6 Conveyor 2
5 doPICK2_STOP 5 X1-DI1
Back 7
6 doPICK2_BACK 6 X1-DI2
Speed Bit 0 8
7
8
goPICK2_v3 {
doPICK2_v1
doPICK2_v2
7
8 Speed Bit 1 9
X1-DI3
X1-DI4
9 9 24 VDC 5
X1-24VDC
10 10
Encoder Lenord-Bauer
Gel 260-V-02500A001
A
F
B
DSQC377
C
Conveyor 1 X20
in 1 Trig-Strobe Box
Power
{ in 2
+24V
blue
Trig Conveyor 1
out 3 green

Encoder #1
{ out
in
in
4
5
6
0V

+24V
A
B
white
grey
red
Trig Conveyor 2
Trig Conveyor 3
S4 #1 Ground
S4 #1 24 VDC
Synch Strobe #1
{ out
out
in
7
8
9
0V
Strobe Sig
yellow
pink
brown
Strobe Conveyor 1
Strobe Conveyor 2
Strobe Conveyor 3
out

{
10
Encoder #2
out 11 PickMaster PC
in 12
in 13

Synch Strobe #2
{ out
out
in
14
15
16

DSQC377
Conveyor 2 X20
in 1
Power
{ in 2
+24V
out 3

Encoder #1
{ out 4
in
in
5
6
0V

+24V
A
B

Synch Strobe #1
{ out 7
out 8
in 9
0V
Strobe Sig
out 10

Encoder #2
{ out 11
in 12
in 13

Synch Strobe #2
{ out 14
out 15
in 16

0V
+24V
S4C+ Robot Controller

Figure 6 I/O Connections for the PickMaster system (Trig-Strobe Box)

18 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

3.7 I/O Configuration

The I/O configuration is defined in the file “EIO.CFG”. The file consists of a header
line and a number of sections. “EIO.CFG” is generated from a number of files when
the controller is initiated. The parameters concerning PickWare are defined in a file
named “PPAEIO.CFG”.

The values for each parameter in both “PPAEIO.CFG” and “EIO.CFG” will differ
depending on the system but the set of parameters are always the same.

The “EIO.CFG” file is loaded from the controller to the PC when the PickMaster
application needs it. The configuration information is needed by InterLink.

To change information in the “EIO.CFG” file do as follows and load the file into the
Robot Controller before PickMaster is started. This is how it is done:

1 Make a backup from the Robot Controller (File:Save All As) on a floppy-disc.
2 Make a copy of the “EIO.CFG” file on the floppy-disc. (to another floppy-disc).
3 Do the changes in the newly created “EIO.CFG” and put the floppy-disc into the
Robot Controller and load the SysPar (File: Load Saved Parameters).
4 Save this floppy-disc as a SysPar backup.

User’s Guide - PickMaster 1.0/PickWare 4.0 19


User’s Guide

Header line:
EIO:CFG_1.0::

The I/O Unit Types Section:


EIO_UNIT:

-Name PPABOARD -Type d328 -Bus BASE -Address 55 -TrustLevel 1 -Digin 16 -


Digout 16 -Anin 0 -Anout 0 -PollRate 500

The Inputs and Outputs Section:


EIO_USER_SIGNAL = EIO_SIGNAL:

-Name GUARD -Unit PPABOARD -Type DI -Phsig 1 -Length 1


-Name diSafeStop -Unit PPABOARD -Type DI -Phsig 2 -Length 1

-Name SENSOR1 -Unit PPABOARD -Type DI -Phsig 3 -Length 1


-Name SENSOR2 -Unit PPABOARD -Type DI -Phsig 4 -Length 1
-Name SENSOR3 -Unit PPABOARD -Type DI -Phsig 5 -Length 1

-Name doPICK1_START -Unit PPABOARD -Type DO -Phsig 1 -Length 1


-Name doPICK1_STOP -Unit PPABOARD -Type DO -Phsig 2 -Length 1
-Name doPICK1_BACK -Unit PPABOARD -Type DO -Phsig 3 -Length 1
-Name doPICK1_v1 -Unit PPABOARD -Type DO -Phsig 4 -Length 1
-Name doPICK1_v2 -Unit PPABOARD -Type DO -Phsig 5 -Length 1

-Name TRIGVIS1 -Unit PPABOARD -Type DO -Phsig 6 -Length 1


-Name TRIGVIS2 -Unit PPABOARD -Type DO -Phsig 7 -Length 1

-Name MANSYNC1 -Unit PPABOARD -Type DO -Phsig 8 -Length 1


-Name MANSYNC2 -Unit PPABOARD -Type DO -Phsig 9 -Length 1

-Name VACUUM -Unit PPABOARD -Type DO -Phsig 10 -Length 1


-Name BLOW -Unit PPABOARD -Type DO -Phsig 11 -Length 1

-Name doPICK2_START -Unit PPABOARD -Type DO -Phsig 12 -Length 1


-Name doPICK2_STOP -Unit PPABOARD -Type DO -Phsig 13 -Length 1
-Name doPICK2_BACK -Unit PPABOARD -Type DO -Phsig 14 -Length 1
-Name doPICK2_v1 -Unit PPABOARD -Type DO -Phsig 15 -Length 1
-Name doPICK2_v2 -Unit PPABOARD -Type DO -Phsig 16 -Length 1

The Signal Groups Section:


EIO_GROUP_PHS = EIO_SIGNAL:

-Name goPICK1_CONTROL-Unit PPABOARD -Type GO -Phsig 1 -Length 2


-Name goPICK1_v3 -Unit PPABOARD -Type GO -Phsig 4 -Length 2
-Name VACBLOW -Unit PPABOARD -Type GO -Phsig 10 -Length 2
-Name goPICK2_CONTROL-Unit PPABOARD -Type GO -Phsig 12 -Length 2
-Name goPICK2_v3 -Unit PPABOARD -Type GO -Phsig 15 -Length 2

Figure 7 PPAEIO.CFG

For more information about the I/O configuration see “User´s Guide for BaseWare OS
4.0” Chapter 12.3 “System Parameters/Topic:IO Signals”.

20 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

4 Defining a PickMaster project

4.1 Wizards

The wizards are designed to help the user create a new project. Each wizard leads the
user through all necessary steps of the project definitions. The definitions can be
divided into an offline part and an online part.

Offline definitions can be done on any PC. There is no need of connections to robots,
cameras or other physical equipment. The output from the online part is a project with
all objects and the relations between these objects defined.

Online definitions can only be done by the PC connected to all equipment. The output
from the online part is a calibrated project with an initialized vision system.

There are three wizards in the PickMaster application:


- Configuration Wizard (Offline)
- Calibration Wizard (Online)
- Model Wizard (Online)

Project

Offline Online

Configuration Calibrations Models


Configuration Wizard Calibration Wizard Model Wizard

Figure 8 Wizard applications structure

4.1.1 General Wizard functions

The wizard consists of four sections. A Presentation Section, a Help Section, an Input
Section and a Button Section. These sections are described in this chapter.

User’s Guide - PickMaster 1.0/PickWare 4.0 21


User’s Guide

Presentation Section Help Section Input Section

Input Section
Figure 9 General sections in a wizard

4.1.1.1 Presentation section

All wizards have a presentation part to the left where images or other visual help are
presented.

In some of the wizard forms a project tree is presented. The tree will be immediately
updated when new objects are added into the project. By clicking on the objects with
your right mouse-button some functions can be used, for example which models that
are bound to an item. Figure 10 presents the different object types in the project tree.

Item
Pattern
Vision
Model
Robot
Feeder
Position Source
(Vision)

Position Source
(File)

Figure 10 Presentation section - Project Tree

22 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

4.1.1.2 Help section

In every wizard there will be a help text presented in the middle of the form.

4.1.1.3 Input section

All wizards have an input part to the right of the wizard form. This area is used for all
kind of interaction with the user. This section will be further described for each step in
all wizards in chapter 4.1.2 to 4.1.4.

4.1.1.4 Button section

All wizards have a number of buttons at the bottom of the wizard form. They are used
to navigate back and forth with in the wizard, get online help and save the project.

The following functions are selectable via buttons in all wizards:

Help Enables online help.


Cancel Ends the wizard without saving the project.
Previous Moves to the previous step in the wizard.
Next Moves to the next step in the wizard.
Finish Ends the wizard and saves the project.

4.1.1.5 Dialogues

All dialogues opened from any wizard have an OK and a Cancel button. OK saves all
properties in the dialogue together with the project. Cancel closes the dialogue without
saving anything.

User’s Guide - PickMaster 1.0/PickWare 4.0 23


User’s Guide

4.1.2 Configuration Wizard

The Configuration Wizard leads the user through the definitions of all objects and the
relations between them. The object types are explained in chapter 2.2. Each step will be
explained in detail in chapter 4.1.2.1 to 4.1.2.11.

Configuration Wizard
Offline

Project selection Object Definitions Object Relations Item flow


Step 1-2 Step 3-6 Step 7-10 Step 11

Figure 11 Configuration Wizard structure

There are four steps for defining all objects in the project. In step 5 it is possible to use
a camera or a text file as a position source to the robot. In step 6 it is possible to define
the item as a single item or as a compound item, a pattern.

Object
Definitions

Feeder Robot Position Source Item


Step 3 Step 4 Step 5 Step 6

Vision File Pattern Item

Items

Figure 12 Object definitions

There are four steps for defining all relations between objects in the project. The
relations are corresponding to the physical connections between the equipment in the
cell. They will be used as rules when defining the item flow in the system.

Any number of feeders, robots, position sources and items can be added even though
the PickMaster application only can handle a given number of each type. For more
information about limitations see document reference 1.

24 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Object
Relations

Feeder to Robot Pos. Source to Feeder Item to Feeder Item to Pos. Source
Step 7 Step 8 Step 9 Step 10

Figure 13 Object relations

User’s Guide - PickMaster 1.0/PickWare 4.0 25


User’s Guide

4.1.2.1 Step 1: Root directory selection

Select root directory for the projects. It is possible to store many projects in the same
root directory.

Figure 14 Root directory selection

Currently selected root directory

The path to the currently selected root directory for project files. For example:
C:\PickerProjects

Browse...

Select root directory for the projects. See Figure 15

26 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Root directory selection

Any directory in the file system can be defined as root directory. In the directory there
can be any number of projects. It is also possible to have more than one root directory
in your file system, but the application can only handle one at a time. Select one from
this dialogue.

Figure 15 Root directory selection dialogue

User’s Guide - PickMaster 1.0/PickWare 4.0 27


User’s Guide

4.1.2.2 Step 2: Project selection/definition

Create a new project or copy an old one. In both cases the project name must be entered.

When an old project is copied, all configurations and calibrations will be copied into
the new project.

Figure 16 Project selection/definition

Projects

A list of existing projects in the currently selected project path. There might be more
projects stored in other root directories in the file system.

New...

Create a new project under this root directory. All objects and relations must be
defined. Calibrations must be done for all connected equipment and vision models
must be teached for the pick and place items.

Copy...

Copy a complete project, including the configurations and calibrations.

Delete...

Remove the selected project and all connected information.

28 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

4.1.2.3 Step 3: Feeder definitions

Define feeders for the project. For each feeder the feeder name must be entered.

Figure 17 Feeder definitions

Feeders

A list of defined feeders in the current project.

New...

Add a new feeder to the current project. A small dialogue for entering the feeder name
will be shown.

Delete...

Remove the selected feeder from the project.

User’s Guide - PickMaster 1.0/PickWare 4.0 29


User’s Guide

4.1.2.4 Step 4: Robot definitions

Define robots for the current project. A robot in a PickMaster project is represented by
the robot name which is a reference to a robot alias in InterLink. To each robot a RAPID
program is connected. This program includes detailed information about motion, speed
and acceleration in the pick and place task. For more information about RAPID
programming see document reference 2.

InterLink is responsible for the communication between PickMaster and the S4Cplus
controller which controls the robot. This means that the robot alias must be configured
in InterLink before it can be used in PickMaster. See Interlink Manual.

Figure 18 Robot definitions

Robots

A list of defined robots in the current project.

New...

Define a new robot. It is possible to select from all robot aliases defined in InterLink.
See Figure 19

Import...

Import a robot definition from another project. A file selection dialogue is shown where
a project shall be selected. When the project has been selected another dialogue is
shown where one or more robots can be imported into the new project. See Figure 20.
The robot alias for the imported robots must be defined in InterLink.

30 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Edit...

Makes it possible to change connected RAPID program for the robot. See Figure 19.

Delete...

Remove a robot from the project.

New/Edit Robot

When a new robot shall be added to a project, it must be defined in InterLink and then
selected in the selection list labelled “Robot Name”. After selecting a robot the RAPID
program for pick and place must be defined. The path and filename can be entered
directly or the “Browse” button can be used to select the file.

Figure 19 New/Edit a Robot

Robot Name

The robot name in the PickMaster project. The name is the same as the InterLink alias
for the defined robot.

RAPID Program

The path and filename of the RAPID program file that will be used in the pick and place
task. For example: C:\PickerProjects\CommonFiles\ppa.prg

New...

Launch the InterLink application where it is possible to add new robot aliases.

Browse...

Open a file selection dialogue for selecting the RAPID program file.

User’s Guide - PickMaster 1.0/PickWare 4.0 31


User’s Guide

Import Robot

Robots defined in another project are listed in the left part of the form. Robots that will
be imported into the new project are listed in the right part of the project.

Figure 20 Import robot from other project

Available Robots

Available robots in other projects.

Selected Robots

Robots selected for import to the project.

Button: >

Copy the marked robot, in the list of available robots, to the list of robots that shall be
imported.

Button: <

Remove the marked robot from the list of robot that will be imported.

32 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

4.1.2.5 Step 5: Position source definitions

Define all position sources for the current project. A position source can be either a
vision position source or a file position source.

The vision position source is a camera. The file position source is a file with the pick
or place coordinates. The file position source can for example be used to point out a
position on an indexed conveyor or a fixed position on a tray. It is also a possibility to
use the file position source to point out the position in one direction and to use a
photocell as a trigger for the other direction.

Figure 21 Position Source definitions

Position Sources

A list of defined position sources in the current project.

New...

Define a new position source. The button opens a dialogue for editing the item
properties. See Figure 22.

Edit...

Makes it possible to edit all settings for a position source. A form for editing the Item
is presented. See Figure 22.

Delete...

Remove a position source.

User’s Guide - PickMaster 1.0/PickWare 4.0 33


User’s Guide

New/Edit Position Source (Vision)

This is the property form for a position source of vision type.

Figure 22 New/Edit Position Source (Vision)

Position Source Name

The name for the new position source.

Position Source Type

The position source type. There are two possible types, Vision or File. Vision type if a
camera is used or file type if the positions shall be defined in a file.

Card Type

Select the vision card type. For more information about hardware limitations see
document reference 1.

Examples:
• Cognex MVS 8110 - One up to four cameras

34 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Camera Number

Select connector number on the card for the camera. The connector on the card, marked
with the lowest number shall be numbered 1 in PickMaster, next 2 and so on. If the
connectors are not numbered, use the reference documentation for the vision card to
learn about the numbering.

Camera Type

Select the camera type. All types of cameras supported by the vision system are listed.
For more information about hardware limitations see document reference 1.

Examples:
• Sony XC55BB 640x480
• PULNIX TM-9701 640x480

Trigger Polarity

Define if the trigger, the acquired signal to the camera, is changed from low to high or
vice versa when a picture shall be acquired.

Strobe Polarity

Define if the strobe, the signal from the camera to the conveyor tracking, is changed
from low to high or vice versa when a picture has been acquired.

Overlap Edge

The frame overlap edge relative to the moving direction of the feeder.1

Overlap

The range of frame overlap in millimetres.

1. In PickMaster 1.0 only position 3 is allowed, i.e. the camera must be mounted with its “belly” towards the
robot!!!

User’s Guide - PickMaster 1.0/PickWare 4.0 35


User’s Guide

New/Edit Position Source (File)

This is the property form for a position source of file type.

Figure 23 New/Edit Position Source (File)

Position Source Name

The name for the new position source.

Position Source Type

The position source type. There are two possible types, Vision or File. Vision type if a
camera is used or file type if the positions shall be defined in a file.

Use digital IO as trig signal

Use digital IO as trig signal when an item is in place for a pick or a place.

Robot Name

Set the robot that handles the digital IO signal.

36 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Signal Name

The name of the digital IO signal. The name must correspond to the signal name
defined in the RAPID program.

Poll interval

Set the poll rate for the IO signal.

Positions in file: ID in Pattern

ID in Pattern is a generated identity number for the position in the pattern.

Positions in file: X, Y, Z

The coordinates for the pick/place position relative to the origin of the compound item,
e.g. the pattern.

Positions in file: Angle

The angle for the item in the pick/place position relative to the angle of the compound
item, e.g. the pattern.

New...

Define a new position in the pattern. The button opens a dialogue for editing the item
properties. See Figure 24.

Edit...

Makes it possible to edit all settings for a position in the pattern. A form for editing the
Item is presented. See Figure 24.

Delete...

Remove a position from the pattern.

User’s Guide - PickMaster 1.0/PickWare 4.0 37


User’s Guide

New/Edit File Position

This is the property form for a position source of file type.

Figure 24 New/Edit File Position

Positions in file: ID in Pattern

ID in Pattern is the identity number for the position.

Positions in file: X, Y, Z

The coordinates for the pick/place position relative to the origin of the compound item,
e.g. the pattern.

Positions in file: Angle

The angle for the item in the pick/place position relative to the angle of the compound
item, e.g. the pattern.

38 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

4.1.2.6 Step 6: Item definitions

The wizard shows a list of items for the currently selected project. Items are objects
which are handled by the pick and place process. An item can be an atomic item or a
compound item.

A compound item is called a pattern. The pattern can for example be a blister or a box
where each item has its place holder position and orientation relative to the origin of
the pattern.

Figure 25 Item definitions

Items

A list of defined items in the current project.

New...

Define a new item or a pattern. A dialogue for defining the item properties is presented.
See Figure 26 and Figure 27.

Edit...

Makes it possible to edit all properties for an item. A form for editing the Item is
presented. See Figure 26 and Figure 27.

Delete...

Remove a position source.

User’s Guide - PickMaster 1.0/PickWare 4.0 39


User’s Guide

New/Edit Item

In the “New/Edit Item” form all properties for an item must be given. If it is an atomic
item, only the upper part of the form must be filled in. If it is a compound item (pattern),
the table must also be used. Each row in the table defines one location in the pattern.

Figure 26 New/Edit Item

The contents of the dialogue is described in page 41.

40 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

New/Edit Pattern

The same dialogue as the on for atomic items, by the lower part of it is used to define
a pattern.

Figure 27 New/Edit Pattern

Item Name

The name of the item.

Load (g)

The weight of the item. The information is sent to the controller in order to control
motion, speed and acceleration of the robot.

Size (mm)

The size of the item given in X, Y and Z coordinates. The information is sent to the
controller in order to control motion, speed and acceleration of the robot.

User’s Guide - PickMaster 1.0/PickWare 4.0 41


User’s Guide

Inertia (g/mm)

The inertia is defined in gram per millimetre. The information is sent to the robot
controller in order to control motion, speed and acceleration of the robot.

Center of gravity (mm)

The center of gravity for the item. The center is a relative position seen from the origin
of the item. X, Y and Z coordinates shall be entered. The information is sent to the
controller in order to control motion, speed and acceleration of the robot.

Item

The item name for all defined items in the pattern. The items must be defined before
they can be used in this list.

X, Y, Z

The origin of the item relative to the origin of the compound item. See Figure 28.

AX, AY, AZ

The angle relative to the position of the compound item. See Figure 28.

New Item...

Add an already defined item to the pattern. A dialogue to select the item and give some
properties for it is presented. See Figure 29.

Edit Item...

Edit the properties for the selected item in the pattern. A dialogue for changing the
properties for the item is presented. See Figure 29.

Delete Item...

Remove the selected item in the pattern.

Import Pattern...

Import a complete pattern from any project. If a pattern is imported it overwrites all
currently defined pattern information. A dialogue for selecting project and pattern is
presented. See Figure 30.

42 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Each item (atomic item) has a relative position and orientation in relation to the origin
of the pattern (compound item). In case of a box which is identified by a camera the
origin is determined by the vision modelling procedure.

AX
Item in pattern
Pattern origin X

AY AZ

AZ

Item in pattern

Pattern origin X

Figure 28 The orientation of the item relative to the pattern

User’s Guide - PickMaster 1.0/PickWare 4.0 43


User’s Guide

New/Edit Item in pattern

The dialogue is used to give properties for an item in a pattern.

Figure 29 New/Edit Item in pattern

Item Name

The name of the item. It is possible to choose from all defined items.

ID in Pattern

A generated ID for the item. The ID cannot be changed by the user.

Cartesian: X, Y, Z

The size in millimetres for the item in the pattern given in X, Y and Z coordinates.

Orientation Euler: Angle X, Angle Y, Angle Z

The Euler orientation for the item in the pattern.

44 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Import Pattern

A complete pattern can be imported from an item in another project. All items in the
selected project are presented in the list

Figure 30 Import a pattern from a project

User’s Guide - PickMaster 1.0/PickWare 4.0 45


User’s Guide

4.1.2.7 Step 7: Feeder to robot relations

The wizard shows a list of feeders that can be connected to the corresponding robot.

Figure 31 Feeder to robot relations

Robot

Select the robot to whom one or more feeders shall be connected.

Physical Feeder Name

Select one of the two physical feeders handled by the controller, “CNV1” or “CNV2”.

Available

List of all feeders that can be connected to the robot.

Selected

List of feeders currently connected to the robot.

Button: >

Connect the selected feeder to the robot. That is, move the feeder from the Available
list to the Selected list.

Button: <

Disconnect the selected feeder from the robot. That is, move the feeder from the
Selected list to the Available list.

46 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

4.1.2.8 Step 8: Position source to feeder relations

The wizard shows all position sources that can be connected to the corresponding
feeder. To illustrate the connection, a position source icon will be added to the
presentation part of the wizard.

Figure 32 Position source to feeder relations

Feeder

Select the feeder to whom one or more positions sources shall be connected.

Available

List of all position sources that can be connected to the feeder.

Selected

List of position sources currently connected to the feeder.

Button: >

Connect the selected position source to the feeder. That is, move the position source
from the Available list to the Selected list.

Button: <

Disconnect the selected position source to the feeder. That is, move the position source
from the Selected list to the Available list.

User’s Guide - PickMaster 1.0/PickWare 4.0 47


User’s Guide

4.1.2.9 Step 9: Item to feeder relations

The wizard shows all items that can be connected to the corresponding feeder.

Figure 33 Item to feeder relations

Feeder

Select the feeder to whom one or more items shall be connected.

Available

List of all items that can be connected to the feeder.

Selected

List of items currently connected to the feeder.

Button: >

Connect the item to the feeder. That is, move the item from the Available list to the
Selected list.

Button: <

Disconnect the item to the feeder. That is, move the item from the Selected list to the
Available list.

48 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

4.1.2.10 Step 10: Item to position source relations

The wizard shows all items that can be connected to the corresponding position source.
Both the feeder and the position source must be given because a feeder might have
more than one position source connected.

Figure 34 Item to position source relations

Feeder

Select the feeder to whom the wanted position source is connected.

Position Source

Select the position source to whom one or more items shall be connected.

Available

List of all items that can be connected to the position source.

Selected

List of items currently connected to the position source.

Button: >

Connect the item to the position source. That is, move the item from the Available list
to the Selected list.

User’s Guide - PickMaster 1.0/PickWare 4.0 49


User’s Guide

Button: <

Disconnect the item to the position source. That is, move the item from the Selected list
to the Available list.

50 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

4.1.2.11 Step 11: Item flow definitions

This is the final step in the Configuration Wizard. The last relations in the cell are
defined, that is the flow of items. The flow is defined by connecting different type of
items to different queues in the robot. The following steps have to be performed:

1. Select a position source and an item in the Item group.

2. Create and/or select a pick or place queue in the robot for the selected item.

3. When both an item and a queue are selected, press “Define Flow” to connect them.

In the “Defined Flow” table at the bottom of the form, all connections between items
and queues are listed.

The information in this step is saved in a file that is called a Router file. The router file
is automatically saved when the project is saved. Advanced users can make changed in
this file to change the flow of items. This can be done from the Project Viewer
application, see 5.1.1.

When all flow information has been defined press “Finish” to store the project.

Notice! If the project is updated and there already exists a router file, the wizard will
save all project information but ask if the router file shall be regenerated. If you choose
to regenerate it, all manual changes in the router file will be lost. If you choose not to
regenerate it you may have a project that is inconsistent with the router file.

Figure 35 Item flow definitions

Items: Position Source

Select the position source.

User’s Guide - PickMaster 1.0/PickWare 4.0 51


User’s Guide

Items: Items

Select the wanted item handled by the position source.

Queues: Queues

A list all defined item queues in the project. Each queue is connected to a robot and to
handle one type of item. The queue can be a pick or a place queue.

Queues: New...

Add a pick or place queue in the robot. See Figure 37.

Queues: Edit...

Edit the properties for the selected queue. See Figure 37.

Queues: Delete...

Remove the selected queue.

Flows: Arrow Button (Define Flow)

By pressing the “Define Flow” button, the connection between the selected item and
the selected queue is done. The button is only enabled when both an item and a queue
are selected.

Flows: Delete...

By pressing the “Delete...” button, the marked row in the “Defined Flow” table is
removed. The button is only enabled when a row is selected.

Table

A table that shows a list of all defined connections between position sources/items and
queues/queue types. The rows in this table define the flow of items in the pick and place
cell.

52 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

New/Edit Item Queue

The queue is needed in the robot controller to handle pick and place tasks. Each queue
can handle a pick or a place task for one type of item.

There are four limits that can be set when a queue is defined. These limits is used to
control the robot and the conveyor. The robot is allowed to pick or place from the
ENTER limit on to the EXIT limit. When an object passes the STOP limit an output
signal is set from the robot. This signal can be used to stop the feeder. The signal is reset
when the first item in queue is beyond a predefined distance called the START limit.
These limits are described in detail later in this chapter.

Working area
Center of robot

Sync position EXIT


STOP
START

ENTER

Image frame

Figure 36 Limits in the working area

Figure 37 New/Edit Queue

User’s Guide - PickMaster 1.0/PickWare 4.0 53


User’s Guide

Item

Select item. All items in the project can be selected.

Robot

Select robot. All robots in the project can be selected.

Queue Name

Set the name of the queue.

Queue Type

Set the queue type. There are two queue types, Pick or a Place queue.

Enter (mm)

Define the ENTER limit for items on the conveyor. When an item passes the limit it is
possible for the robot to pick or place it. The distance is calculated in millimetres from
the center of the robot. The range is positive if the limit is beyond the center of the robot,
relative to the moving direction of the feeder. See Figure 36 and Figure 38.

Make sure that the set ENTER limit is within the robots working area!1

Exit (mm)

Define the EXIT limit for items on the conveyor. When an item passes the limit it is no
longer possible for the robot to pick or place it. The distance is calculated in millimetres
from the center of the robot. The range is positive if the limit is beyond the center of the
robot, relative to the moving direction of the feeder. See Figure 36 and Figure 38. The
EXIT limit has to be well within the working area of the robot.

Make sure that the wanted EXIT limit is within the robots working area!

Note: A problem occurs if the robot tries to place an item on a position that was near
the EXIT limit when it was found. Then the conveyor will continue to move during the
time when the robot moves from the pick position to the place position. This implies
that a margin has to be taken into consideration when the EXIT limit is defined. The
problem does not exist if “Stop and Go” is used.

The margin is calculated in the following way:

ConveyorSpeed × PickPlaceCycle
M arg in = ------------------------------------------------------------------------------------------
2

1. For IRB 340 this is normally set to 800x800 mm, i.e. +-400 for both x- and y-direction.

54 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Margin: Distance in millimetres to make sure that the robot does not
exceed the EXIT limit

Conveyor Speed: The conveyor speed in millimetres per second.

PickPlaceCycle: The complete cycle time (pick, place and back again) for a pick
and place task for the longest distance in the cell (“worst case”).

A table that can be used as a rule of thumbs when calculating the margin is presented
below:

Pick/Place Conveyor Margin EXIT limit EXIT limit


Cycle [s] Speed [mm] wanted to set
(pick- and place [mm/s] [mm] (with margin)
time included) [mm]
0,5 150 37,5 500 462,5
0,5 300 75 500 425
0,75 150 56,25 500 443,75
0,75 300 112,5 500 387,5
1,0 150 75 500 425
1,0 300 150 500 350

Start-Stop Signal

Defines the START/STOP signal for the feeder. The signal is used to handle the “Stop
and Go” function. The signal must correspond to the one defined in the configuration
file for the controller.

Stop (mm)

Define the STOP limit for items on the conveyor. When an item reaches this limit an
start/stop signal is sent from the robot. The signal can be used to stop the feeder and
together with the START limit define a “Stop and Go” function, e.g stop the feeder
when an item reaches the STOP limit without being picked. The distance is calculated
in millimetres from the center of the robot. The range shall be positive if the limit is
beyond the center of the robot, relative to the moving direction of the feeder. See Figure
36 and Figure 38

Start (mm)

Define the START limit for items on the feeder. The START limit together with the
STOP limit is used for the “Stop and Go” function. When an item has reached the
STOP limit and the feeder has stopped, the robot will pick all items between the STOP
and the START limit before the start/stop signal is sent from the robot to start the feeder
again.

The distance is calculated in millimetres from the center of the robot. The range shall

User’s Guide - PickMaster 1.0/PickWare 4.0 55


User’s Guide

be positive if the limit is beyond the center of the robot, relative to the moving direction
of the feeder. A rule of thumb is that the limit should be equal or greater than the width
of the pick/place item. See Figure 36 and Figure 38

56 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Continuous or “Stop and Go”

On a continuously moving conveyor the robot picks or places as many items as


possible. If the robot has the time to handle all items depends on the speed of the
conveyor. If it moves to fast items will be missed.

On a “Stop and Go” conveyor the robot picks or places all items.The conveyor stops
temporary if the robot needs more time to handle all items.

The limits has to be set when the pick and place queues are defined for the robot. The
need of defined limits depends on if the conveyor supports “Stop and Go” or not.

If it is a continuously moving conveyor, only the ENTER and EXIT limits are needed.
If the conveyor supports “Stop and Go” all limits, e.g. ENTER, START, STOP and
EXIT, have to be defined as well as the START/STOP signal.

Place Feeder

Robot work area EXIT


ENTER

START
STOP
EXIT
Example: Settings for the pick queue
Center of robot
Pick Feeder
“Stop and Go”

Items: Cookie1

ENTER

Example: Settings for the place queue


Item: CookieBox

Figure 38 Example of limits on a pick feeder and a place feeder

User’s Guide - PickMaster 1.0/PickWare 4.0 57


User’s Guide

4.1.3 Calibration Wizard

The Calibration Wizard leads the user through the needed steps of the calibration.

The calibration of a project consists of three main parts:


- Camera calibration.
- Feeder to robot calibration (also called Base Frame calibration)
- Camera to robot calibration

The wizard is divided into a number of steps. Each step will be explained in detail in
chapter 4.1.3.1 to 4.1.3.5.

Calibration Wizard
Online

Project selection Calibration selection Camera calibrations Feeder to robot calibrations Camera to robot calibrations
Step 1 Step 2 Step 3 Step 4 Step 5

Figure 39 Configuration Wizard structure

58 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

4.1.3.1 Step 1: Root and project selection

Select current root directory and project. If the root directory is changed the project list
will be changed to projects stored in the selected root directory.

Figure 40 Root and project selection

Root Directory

The path to the currently selected root directory for project files. For example:
C:\PickerProjects

Browse...

Use the button to select a root directory for the projects anywhere in the file system.
See Figure 15.

Project

A list of projects defined in the current root directory.

User’s Guide - PickMaster 1.0/PickWare 4.0 59


User’s Guide

4.1.3.2 Step 2: List of calibrations

In this wizard step a calibration is defined as the currently used. The following steps in
the wizard will only affect the selected calibration for the project. PickMaster can
handle any number of calibrations for a project. It is possible to create or delete a
calibration. A new calibration is created by copy of an old one.

There might be useful to have more than one calibration, e.g. if there are different kind
of light situations at different hours or if you want to test different camera settings to
improve the hit rate for the vision system.

A calibration consists of three parts:


• Camera calibration, see 4.1.3.3
• Feeder to robot calibration, see 4.1.3.4
• Camera to robot calibration, see 4.1.3.5

Figure 41 List of calibrations

Current Calibration

A list of existing calibrations. The selected calibration will be active for the project.

Name of Copy

Sets the new calibration name. To rename a calibration, copy it with a new name and
remove the old one.

60 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Delete...

Removes the currently selected calibration.

Copy

Copies the selected calibration and gives it the new name.

User’s Guide - PickMaster 1.0/PickWare 4.0 61


User’s Guide

4.1.3.3 Step 3: Camera calibration

This step handles the camera calibration. It calibrates the lens of the camera and defines
the range between the camera and the feeder.

The range is defined by acquiring an image of a known pattern, called a Multi-Blob-


Grid. Because of the known sizes of the objects (blobs) in the grid, it is possible for the
system to calibrate the lens and calculate the exact range between the camera and the
feeder.

In both Camera calibration and Camera to Robot calibration a Calibration paper is


used. It is the same paper in both cases, but different patterns are trained. In the Camera
calibration case one teaches on a blob, while it in the Camera to Robot is another pattern
that is teached, see Step 5.

The Calibration Paper, with the Multi-Blob-Grid pattern, can be printed from the
camera calibration dialogue.

Figure 42 Camera calibration

Camera Calibration

A list of existing cameras in the current project. If the camera has been calibrated
before, time and date for the calibration are presented in the Prev.Calib.Date list. If no
calibration has been performed, a “?” is presented as previous calibration date.

Calibrate...

Opens the camera calibration dialogue for the selected camera. See Figure 43

62 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Camera calibration dialogue

Do the following steps:


• Put the Calibration paper, with the Mult-Blob-Grid pattern, in the camera view.
Press the “Video Camera” button to get continuous images from the camera. This
may help to position the grid in the camera view. When it is in position, use the
“Camera” button to acquire one image. It is important that the grid is aligned with
the X and Y axis of the camera's field of view.
• Use the right mouse button to define the region of interest, see Figure 43, with
the green rectangular area in the image. The green rectangle should cover the
whole image.When the mouse button is pressed and the mouse pointer is outside
the region it can be resized, when inside it, the region can be moved.
• Activate the teach mode by pressing the “Teach Calibration Object & Test Cam-
era Calibration” button. Then, if the system says that the lens is not calibrated,
you have to change the parameters, “Exposure”, “Contrast” and “Brightness”,
for the camera and then try to activate the teach mode again.
• Use the red rectangular area and cross to teach the model for one blob and then
press “Press when teaching done” button. The red area is handled in the same way
as the green area and the cross is moved by pointing at the centre of the cross.
• The system will now try to find four blobs in the grid. It presents the result within
the region of interest. Four blobs shall be found inside the green area and marked
with a green cross. A dialogue is presented after the search procedure, see Figure
44. The dialogue presents a typical result of the search. If any of the found blobs
is outside the region of interest, or if not all four blobs are found, you have to press
the Faulty” button in the dialogue and repeat the whole procedure. Repeat this pro-
cedure until all four blobs have been found correctly and then press the ‘OK” but-
ton.

User’s Guide - PickMaster 1.0/PickWare 4.0 63


User’s Guide

Origin in the camera field of view Region of interest

Figure 43 Camera calibration dialogue

Exposure

The parameter sets the shutter speed for the camera. Not all cameras supports setting of
the shutter speed.

Range is 0 to 20. Default value is 10.

Contrast

This setting together with “Brightness” controls how different light situations are
mapped to pixel values. The setting for “Contrast” maps the image to a darker or lighter
range of pixel values. Use a low value when the inspected item contains dark features.

Range is 0 to 1. Default value is 1.

Brightness

This setting together with “Contrast” controls how different light situations are mapped
to pixel values. The setting for “Brightness” determines where the centre of the contrast
mapping window falls relative to the light levels. Use a low value when the inspected
item receives a high degree of light from the light source.

Range is 0 to 1. Default value is 0.5.

64 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Camera distance

Give the distance between the camera and the feeder in millimeters. This parameter
helps the system to calculate the exact range.

Grid Pitch

Give the distance between the centres of two objects, blobs, in the grid. The default
value is 50 mm. Normally, if the predefined grid is used, this value shall not be
changed.

Print Grid

Prints the predefined Multi-Blob-Grid that shall be used. Be sure to have no scaling
settings for the printer active, i.e. the image printed should be 100% of the original.

Video Camera Button

Acquire images continuously.

Camera Button
mme
Acquire one image.

User’s Guide - PickMaster 1.0/PickWare 4.0 65


User’s Guide

Visual validation of found objects (Multi-Blob-Grid)

This dialogue is presented for the user to verify if the vision system has succeed in the
search procedure for the teached blob.

Figure 44 Visual validation of found objects (Multi-Blob-Grid)

OK

Press “OK” button when the calibration is done correctly and all four blobs have been
found inside the region of interest, e.g if the region of interest looks like the image in
the dialogue above.

Faulty

Press “Faulty” button when the calibration has gone wrong and one or more of the four
blobs have not been found or been found outside the region of interest, e.g if the region
of interest does not look like the image in the dialogue.

66 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

4.1.3.4 Step 4: Feeder to robot calibration

This step handles the feeder to robot calibration. The calibration is partly done from the
teach pendant.

The calibrations consists of three main steps Calibration of Counts per Meter, Queue
Tracking Distance and Calibration of Conveyor Base Frame. These procedures are
described in detail later on in this chapter.

This wizard guides the user through the calibration. Additional information is given in
document reference 4, Conveyor Tracking, chapter 9.

Figure 45 Feeder to robot calibration

Feeder to Robot calibration

A list of calibrations that has to be done for the project. The calibration procedure has
to be performed for every row in the list.

Calibrate...

Calibrates the feeder and robot selected in the list. The calibration is partly done from
the teach pendant. The calibration is supported from the PC by a number of wizard
dialogues that describes the actions. The wizard dialogues are:

User’s Guide - PickMaster 1.0/PickWare 4.0 67


User’s Guide

• Introduction
• Calibration of Counts per Meter
• Queue Tracking Distance
• Scaling Factor
• Conveyor Base Frame Calibration - Step 1(4)
• Conveyor Base Frame Calibration - Step 2(4)
• Conveyor Base Frame Calibration - Step 3(4)
• Conveyor Base Frame Calibration - Step 4(4)

These dialogues are described bellow.

Introduction

This wizard step gives the user an introduction to the calibration procedure and starts
guiding the user through the steps involved in the feeder to robot calibration.

It is important to follow the order of the steps in the calibration to get a correct result.
Some of the steps will load RAPID programs to the controller in order to initiate it for
specific purposes. In these cases the controller must be in automatic mode.

Follow the instructions below to start the calibration procedure:


1 Run the conveyor a small distance and then stop it. This is because we want the
encoder to be updated.
2 Put the controller in automatic mode.
3 Press the “Next” button. When this is done a RAPID program (ppacal.prg) will
be loaded into the controller. This program will initiate the controller for calibra-
tion. If the Teach Pendant presents a message stating that the controller is ready
for calibration you may proceed with the next step, otherwise this step must be
repeated in order to execute the RAPID program again.

68 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Figure 46 Feeder to robot calibration - Introduction

Calibration of Counts per Meter

The I/O parameter CountsPerMeter for the encoders defines the number of counts that
the encoder generates when the conveyor has moved one meter. Normally it should be
in the range of 5000 to 10000 counts per meter for linear conveyors.

Set the parameter via the Teach Pendant to 10000 counts per meter (default). This is
because we want to base the calibration on a known value.

The encoder unit I/O parameters are accessible via the System Parameters windows
under the I/O Signals topic:
• Teach Pendant: Choose Topics: I/O Signals
• Teach Pendant: Choose Types: Units
• Teach Pendant: Select encoder and press Enter .
• Teach Pendant: Select CountsPerMeter and change its value to 10000
• Teach Pendant: Press OK to confirm.

To get the CountsPerMeter parameter you have to produce three values that will be
used. These are:

ConveyorPosition1: Read the conveyor position in the Jog Window on the Teach
Pendant for an object/mark on the conveyor.
ConveyorPosition1 ought to be 0.0 when the RAPID program
has been executed. (Last step in Introduction.) The parameter
will not be 0.0 if the conveyor has been moved since the
program was executed.

ConveyorPosition2: Move the conveyor a distance (0.5-1.0 m) and then read the

User’s Guide - PickMaster 1.0/PickWare 4.0 69


User’s Guide

conveyor position in the Jog Window again.

Measured Distance: Measure the distance in millimeters between


ConveyorPosition1 and ConveyorPosition2.

When you have done this you shall type the values in the corresponding fields in the
wizard and the CountsPerMeter parameter is calculated automatically.

Figure 47 Feeder to robot calibration - Calibration of Counts per Meter

The “Counts per Meter” in the dialogue are calculated as follows:

( CounterPosition2 - CounterPosition1 ) × 10000


CountsPerMeter = --------------------------------------------------------------------------------------------------------------------
MeasuredDistance

Press Next button in the wizard when the parameter is defined in the controller

Queue Tracking Distance

Before proceeding with the calibration it is necessary to define the I/O parameter Queue
Tracking Distance for the encoders. It establishes the distance between the
synchronization switch and the 0.0 meter point on the conveyor. The encoder unit will
keep track of all objects that have passed the synchronization switch but have not yet
passed the 0.0 meter point. It is not possible to connect to these objects.

In this application we define the Queue Tracking Distance (parameter QueueTrckDist)


in the controller to 0.0 meter. That is, the synchronization switch and the 0.0 meter point
on the conveyor are located at the same point.

The encoder unit I/O parameters are accessible via the System Parameters windows

70 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

under the I/O Signals topic:


• Choose Topics: I/O Signals
• Choose Types: Units
• Select encoder and press Enter .
• Select QueueTrckDist and change its value to 0.0
• Press OK to confirm.

Figure 48 Feeder to robot calibration - Queue Tracking Distance

Synchronization Base Frame


Switch z
y
QueueTrckDist Conveyor Direction
x
p_1 p_2 p_3
0.0 m

Conveyor distance

Figure 49 Definition points for a linear conveyor

The button “Base Frame-figure” presents an image that helps to describe the base
frame concept. See Figure 49.

Press Next button in the wizard.when the parameter is defined in the controller

Scaling Factor

It is also necessary to define the I/O parameter Scaling Factor for the encoders. It

User’s Guide - PickMaster 1.0/PickWare 4.0 71


User’s Guide

defines the interval between trig signals to the vision system. The Scaling Factor
parameter is calculated by the wizard.

The encoder unit I/O parameters are accessible via the System Parameters windows
under the I/O Signals topic:
• Choose Topics: I/O Signals
• Choose Types: Units
• Select Encoder and press Enter .
• Select Scaling Factor and change it to the value calculated in the wizard.
• Press OK to confirm.

To get the Scaling Factor parameter you have to get three values. These are:

CountsPerMeter: Calculated in a previous wizard step.

Frame Height: This value is generated in the camera calibration for the camera
connected to the conveyor/robot.

Overlap: This value is generated in the camera calibration for the camera
connected to the conveyor/robot.

All values are generated earlier in the calibration procedure and are, if the earlier steps
has been performed in a correct way, given as defaults.

Figure 50 Feeder to robot calibration - Scaling Factor.

72 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Conveyor Base Frame Calibration (Step 1-4)

Step 1:

The accuracy of the conveyor tracking is highly dependent upon the accuracy in
calibrating the conveyor base frame.

Before calibrating the base frame of the conveyor the values for the CountsPerMeter
and QueueTrckDist must have been defined and entered into the controller (as
described earlier in this chapter).

The conveyor base frame calibration method will use the measurement of 3 positions
of the same object on the conveyor to determine the conveyor base frame, See Figure
49.

Press “Next” button to enter next step.

Figure 51 Feeder to robot calibration - Conveyor Base Frame Calibration - Step 1(4).

Step 2:

To be able to initiate the controller correct you have to do three things:


1 Run the conveyor a small distance and then stop it. This is done because we want
the encoder to be updated.
2 Put the controller in automatic mode.
3 Press the “Next” button. When this is done a RAPID program (ppacal.prg) will
be loaded into the controller. This program will initiate the controller for calibra-
tion. If the Teach Pendant presents a message stating that the controller is ready
for calibration you may proceed with the next step, otherwise this step must be
repeated in order to execute the RAPID program again.

User’s Guide - PickMaster 1.0/PickWare 4.0 73


User’s Guide

Figure 52 Feeder to robot calibration - Conveyor Base Frame Calibration - Step2(4).

Step 3:

Now it is time for the Base Frame calibration. There are some steps to do manually and
some to do with the Teach Pendant. The Base Frame calculation will be performed in
the controller and will be initiated via the Teach Pendant.

1 Place an object on the conveyor at the synchronization switch (in the camera
view, at the photo cell,...).
2 Put a mark (on a not moving part) at the object position. This position will be the
zero-point for the base frame and may be interesting for the user to remember.
3 Move the conveyor inside the working area of the robot.
4 Teach Pendant: Press the Miscellaneous key and select the Service win-
dow.
5 Teach Pendant: Choose View:BaseFrame.
6 Teach Pendant: A dialogue containing all synchronized mechanical units is
shown. Select the conveyor mechanical unit and press Enter or Def.
7 Teach Pendant: A dialogue like the one in Figure 53 will appear. Select the field
Method and press Enter .to choose definition method.
8 Teach Pendant: Choose number of points (3) to use for definition and press OK.
(Currently only the three point method is implemented.)
9 Teach Pendant: Select the first point Point 1. This point will be the origin for the
user frame in the conveyor coordinated work object.
10 Point out Point 1 on the object on the conveyor with the robot’s TCP.
11 Teach Pendant: Modify the position by pressing the function key ModPos.
12 Move the conveyor in the positive direction and repeat the above for the points

74 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Point 2 and Point 3.


13 Teach Pendant: Press OK to calculate the base frame. When the calculation is
finished a dialogue like the one in Figure 54 will appear.
14 Teach Pendant: If the estimated error is acceptable, press OK to confirm the new
user frame, otherwise press Cancel to redefine.
15 Press “Next” button in the wizard to proceed with the next step.

Lin Single User Frame Definition


Unit : CNV1

Method : n points (n=3)...


Point Status
1(3)
Point 1 Modified
Point 2 -
Point 3 -
ModPos Cancel (OK)

Figure 53 Dialogue for definition of user frame for a rotational axis.

Lin Single User Frame Calc Result


Unit : CNV1
Calculation Log
1(10)
Method n points (n=3)
Mean error 1.12
Max error 2.31
Cartesian X 7.08

File... Cancel OK

Figure 54 The result of a base frame calculation for a linear conveyor.

The calculation log shows the conveyor base frame expressed in the world coordinate
system.

User’s Guide - PickMaster 1.0/PickWare 4.0 75


User’s Guide

Field Description

Unit The name of the mechanical unit for which the definition of
base frame has to be done.
List contents Description
Method Displays the selected calibration method.
Mean error The accuracy of the robot positioning against the reference
point.
Max error The maximum error for one positioning.
Cartesian X The x coordinate for the base frame.
Cartesian Y The y coordinate for the base frame.
Cartesian Z The z coordinate for the base frame.
Quaternion 1-4 Orientation components for the base frame.

Figure 55 Feeder to robot calibration - Conveyor Base Frame Calibration - Step 3(4).

Step 4:

If you pressed OK on the Teach Pendant in the previous step and was satisfied with the
calibration results do the following steps to enable the new Base Frame calibration:
1 Teach Pendant: Choose File: Restart in the Service window to restart the con-
troller and activate the new Base Frame.
2 Press “Next” button in the wizard and the calibration is finished.

76 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Figure 56 Feeder to robot calibration - Conveyor Base Frame Calibration - Step 4(4).

User’s Guide - PickMaster 1.0/PickWare 4.0 77


User’s Guide

4.1.3.5 Step 5: Camera to robot calibrations

This step handles the camera to robot calibration. It defines how the positions, found by
the vision system, relates to the positions on the feeder in the working area of the robot.

The range from the positions found by the vision system and the positions handled by
the robot is defined by acquire an image of a known pattern, called a 4-Diamond-Grid
and then let the vision system calculate the coordinates for the four objects in the grid.
The grid is then moved into the working area of the robot by moving the feeder. The
robot is manually moved to point at each blob in the grid.

The same Calibration Paper is used, that was used in the Camera calibration. It is only
the pattern that is trained that is different. In this case one trains on a diamond instead
of a blob.

The Calibration paper, with the 4-Blob-Grid pattern, can be printed from the camera to
robot calibration dialogue.

Figure 57 Camera to robot calibration

Camera to robot calibration

A list of existing calibrations in the current project. If the camera to robot calibration
has been done before, time and date are presented in the list. If no calibration has been
performed, a “?” is presented as previous calibration date.

Calibrate...

Opens the camera to robot calibration dialogue for the selected camera. See Figure 58

78 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Camera to robot calibration dialogue

Do the following steps:


• Set the controller in automatic mode.
• Put the Calibration Paper in the camera view. Press the “Video Camera” button
to get continuous images from the camera. This may help to position the grid in
the camera view. When in position use the “Camera” button to acquire one image.
It is important that the grid is aligned with the X and Y axis of the camera's field
of view.
• From the first calibration the region of interest has been defined. If the diamond
are outside the green area, one has to go back to the Camera calibration and rede-
fine the Region of interest so that it covers the whole Calibration paper.
• Activate the teach mode by pressing the “Teach Calibration Object & Get
Object Positions” button.
• Use the red rectangular area and cross to teach the model for one diamond and
then press “Press when teaching done” button. The red area is handled in the same
way as the green area and the cross is moved by pointing at the centre of the cross.
• The system will now try to find four diamonds in the grid. It presents the result
in the region of interest. Four diamonds shall be found inside the green area and
marked with a green cross. A dialogue is presented after the search procedure, see
Figure 59. The dialogue presents a typical result of the search. If any of the found
diamonds is outside the region of interest, or is not found at all, you have to press
“Faulty” button in the dialogue and repeat the whole procedure. Repeat this until
all four diamonds have been found correctly and then press the “OK” button.
• Set the controller in manual mode.
• Move the feeder with the Calibration paper in a fixed position into the working
area of the robot. You shall NOT move the grid relative to the feeder, only the
feeder relative to the robot.
• Move the robot tool centre point, TCP to each diamond in the grid and press cor-
responding “Read Robot Position” button to get the robot position.

When the robot positions have been read for all four diamonds, press the “OK” button
to finish .

User’s Guide - PickMaster 1.0/PickWare 4.0 79


User’s Guide

.
Origin in the camera field of view Region of interest

Diamonds

Figure 58 Camera to robot calibration dialogue

Camera

The X an Y coordinates from the vision system for the four blobs found in the grid.
These X coordinates are presented after the teach procedure.

Robot

The X an Y coordinates from the controller for the four blobs on the feeder. These
coordinates are read from the controller when the corresponding “Read robot position”
button is pressed.

Read robot position

Gets the position of the tool centre point from the controller. Each button is used for the
corresponding blob.

Teach calibration object & Get object positions

Activates teach mode so it possible to teach a model for one of the blobs.

80 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Press when teaching done

Press when the model is teached to start the vision system to search in the grid. Four
blobs shall be found.

Print Grid

Prints the predefined 4-Blob-Grid that shall be used.Be sure to have no scaling settings
for the printer active, i.e. the image printed should be 100% of the original.

Video Camera Button

Acquire images continuously.

Camera Button
mme
Acquire one image.

User’s Guide - PickMaster 1.0/PickWare 4.0 81


User’s Guide

Visual validation of found objects (4-Diamond-Grid)

This dialogue is presented for the user to verify if the vision system has succeed in the
search procedure for the teached diamond.

Figure 59 Visual validation of found objects (4-Blob-Grid)

OK

Press the “OK” button when the calibration is done correctly and all four blobs have
been found inside the region of interest, e.g if the region of interest looks like the image
in the dialogue.

Faulty

Press “Faulty” button when the calibration has gone wrong and one or more of the four
blobs haven’t been found or been found outside the region of interest, e.g if the region
of interest does not look like the image in the dialogue in Figure 59.

82 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

User’s Guide - PickMaster 1.0/PickWare 4.0 83


User’s Guide

4.1.4 Model Wizard

The Model Wizard leads the user through definitions of one or more vision models for
an item. The vision model is the picture, i.e. bitmap, that the vision system uses to
recognize the item. Each step will be explained in detail in chapter 4.1.4.1 to 4.1.4.3

The calibration consists of two main parts:


- Model definitions. Acquire images of the objects.
- Model to item relations. Relate the images that was taken in the previous step to
items defined in the configuration wizard.

Model Wizard
Online

Project selection Model Definitions Model to Item Relations


Step 1 Step 2 Step 3

Figure 60 Configuration Wizard structure

84 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

4.1.4.1 Step 1: Root and project selection

Select current root directory and project. If the root directory is changed the project list
will differ.

Figure 61 Root and project selection

Root Directory

The path to the currently selected root directory for project files. For example:
C:\PickerProjects

Browse...

Use the button to select a root directory for the projects anywhere in the file system.
See Figure 15.

Project

A list of all projects that are defined in the current root directory.

User’s Guide - PickMaster 1.0/PickWare 4.0 85


User’s Guide

4.1.4.2 Step 2: Model definitions

In this step vision models are defined. This is done by placing the item under the camera
that will act as the position source. It is important to use the correct camera to achieve
a good result in recognizing the item in runtime.

Figure 62 Model definitions

Models

A list of all defined models in the current directory.

New...

Create a new vision model for any item with any camera in the project. See Figure 63.

Edit...

Edit a defined vision model. See Figure 63.

Delete...

Remove a defined vision model.

86 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

New/Edit Model

When a new model is defined, a specific camera is used to acquire the image used for
recognition in the vision system. In this form the user selects the camera and gives
some properties for the model before the picture is acquired. The procedure to acquire
a picture is called to Teach the model.

Figure 63 New/Edit Model (before the model is teached)

Pos. Sources

A list of all defined vision position sources, i.e. cameras.

Model Name

The name of the vision model.

Ignore Polarity

Ignoring the polarity. Polarity is the difference between light and dark parts in the item
relative to the vision model. Ignoring polarity increases the number of found patterns.
The examples below is recognized if the polarity is ignored.

Vision Model Found Item 1 Found item 2

Elasticity

Specifies the distance, in pixels, by which PatMax will allow feature locations to vary
within a found vision model before it reduces the score.

User’s Guide - PickMaster 1.0/PickWare 4.0 87


User’s Guide

Teach Model...

Opens the teach model dialogue. See Figure 64.

Test Model...

Opens the test and tune model dialogue. See Figure 66.

88 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Teach model dialogue

The model is taught by selecting the part of the image that shows the item and then
moving the cross to the wanted grip point.

Moving the selection area is done by pointing at the lower right corner of the area with
the mouse pointer, and then to press the right mouse button. To move the area, the right
mouse button must be pressed down when moving the mouse pointer. Changing the
size of the selection area is done in the same way as moving it, but the mouse pointer
is pointed at the upper left corner instead.

When the area is in place, surrounding the item, and it has the right size the model can
be taught by pressing the “Teach” button. It is possible to teach the model any number
of times. When the “OK” button is pressed the model is stored in the project.

Region of interest

Figure 64 Teach model dialogue

Video Camera Button

Acquire images continuously.

Camera Button
mme
Acquire one image and teaches the model.

User’s Guide - PickMaster 1.0/PickWare 4.0 89


User’s Guide

When the model is taught the acquired image is shown in the “New/Edit Model”
dialogue.

Figure 65 New/Edit Model (when model is taught)

90 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Test and tune model dialogue

When the model is taught, it can be tested. Place a number of items in the working area
of the camera and press the “Test Model” button. A form with information about all
recognized items is shown. By pressing the “Acquire” button the test can be done any
number of times.

Most of the information in this dialogue is explained in detail in document reference 5


and document reference 6.

Figure 66 Test and tune model dialogue

Table: Pos

A generated sequence number for the found item.

Table: X, Y

Coordinates for the found item calculated from the origin in the upper left corner of the
image.

Table: Angle

Rotation of the item relative the teached model.

User’s Guide - PickMaster 1.0/PickWare 4.0 91


User’s Guide

Table: Score (%)

Score is a percentage that indicates how closely a found item matches the trained vision
model. A score of 100% indicates a perfect match.

Table: X Scale

X scale is a measurement that indicates how much the found item is stretched on the X-
axis relative to the teached model.A score of 100% indicates that there are no difference
between the found item and the teached vision model.

Vision Model Found Item 1 Found item 2

Table: Y Scale

Y scale is a measurement that indicates how much the found item is stretched on the Y-
axis relative to the teached vision model. A score of 100% indicates that there are no
difference between the found item and the teached vision model.

Vision Model Found Item 1 Found item 2

Table: Contrast

Contrast is the average difference in grey-level values between a found item and the
trained vision model.

Table: Fit Error

Fit error is a measure of the variance between the shape of the trained vision model and
the shape of the found item. A fit error of 0 indicates that the shape of the found item
matches perfectly with the shape of the vision model.

This score is only available if the PatMax algorithm is used.

Table: Coverage

Coverage is a measure of the extent to which all parts of the trained vision model are
also present in the found item. A score of 100% indicates that all of the trained vision
model is present in the found item.

92 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

This score is only available if the PatMax algorithm is used.

Table: Clutter

Clutter is a measure of the extent to which the found item contains features that are not
present in the trained vision model. A score of 0 indicates that no extra features have
been recognized in the vision model.

This score is only available if the PatMax algorithm is used.

Search Time

The time in milliseconds for the vision system to process an acquired image. The used
time is an indication on the graphical complexity of the vision model. The number of
items found by the vision system has a minor affect on the search time.

Angle

The angle between the vision model and the found item.

Acceptance

A percentage to define how much of the trained vision model that must match the
acquired image to get a hit. This values must in most cases be >50% to achieve a good
result.

Numbers to find

The maximum number of items to search for in the image.

Search Algorithm

The search algorithm that will be used by the vision system. There are two algorithms
available, PaxMax and PatQuick. For more information see document reference 6.

Filters: Disable all filters

Disable all filters for the vision system.

User’s Guide - PickMaster 1.0/PickWare 4.0 93


User’s Guide

Filters: Contrast

A threshold that makes the vision system accept hits where the contrast exceeds this
value.

Filters: Fit Error

A threshold that makes the vision system accept hits where the fit error is below this
value.

This threshold is only available if the PatMax algorithm is used.

Filters: Coverage

A threshold that makes the vision system accept hits where the coverage exceeds this
value.

This threshold is only available if the PatMax algorithm is used.

Filters: Include Clutter in Score

If this option is checked, clutter is included in the calculation of the score.

Vision Model Found Item 1 Found Item 2

Include clutter in score 99 % 91 %


Ignore clutter in score 99 % 99 %

Filters: Disable Clutter Check

Disable clutter measurement for the vision system.

Filters: Clutter

A threshold that makes the vision system accept hits where the clutter is below this
value.

This threshold is only available if the PatMax algorithm is used.

Angle: -deg/+deg

The acceptable rotation for the item. If the item has another rotation it will be discarded
by the vision system.

94 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Uniform Scale: -mm/+mm

Uniform scale is a threshold that accept hits that differs in size relative to the teached
vision model. A score of 100% indicates that there are no difference between the found
item and the teached vision model. A value <100%.indicates a smaller item (Found
Item 1) and >100% a larger one.(Found Item 2)

Vision Model Found Item 1 Found item 2

Overlap: Area Overlap

Area overlap is a threshold expressed as a percentage of the vision model area that
overlaps another vision model, e.g. an item overlapping another item. If the area
overlap is less than the threshold, multiple items have been found by the vision system.

The uniform scale and angle thresholds are only used if the overlapping area exceeds
the area overlap threshold.

Overlap: Angle

The acceptable rotation between two or more items that overlaps each other. If the
angle is accepted, multiple items have been found by the vision system.

Overlap: Uniform Scale

The acceptable difference in size between two or more items that overlaps each other.
If the difference in size is accepted, multiple items have been found by the vision
system.

User’s Guide - PickMaster 1.0/PickWare 4.0 95


User’s Guide

4.1.4.3 Step 3: Model to item relations

In this step of the wizard one or more models can be connected to the corresponding
item defined in the configuration wizard, see Step 6: Item definitions on page 39.

Figure 67 Model to item relations

Item

Select one of the items in the project.

Available

List of all possible models.

Selected

List of models connected to the item.

Button: >

Connect the selected model. That is, move it from the Available list to the Selected list.

Button: <

Disconnect the selected model. That is, move it from the Selected list to the Available
list

96 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

5 Maintaining a PickMaster project

5.1 Project Viewer

The Project Viewer is designed to help the user view or edit an existing project. It
handles the same functions as the Configuration Wizard and the with the addition that
it is possible to navigate directly to the wanted step by clicking in the tree view in the
Viewer.

All definitions in the viewer can be done offline on any PC. There is no need of
connections to robots, cameras or other physical equipment.There is though a
possibility to start the wizards and the Operator’s Panel from the Viewer but then there
is a need for online connections.

The Project Viewer application is divided into two main parts:


- Navigation section
- Input section

Navigation Section Input Section


Figure 68 Project viewer

User’s Guide - PickMaster 1.0/PickWare 4.0 97


User’s Guide

5.1.1 Navigation section

The navigation section is used to navigate in a project. It is easy to click at an object in


the tree and to have the information about that object presented in the input section.

Figure 69 Navigation Section

Functions are reached by clicking with the right mouse button on the icons in the project
tree. There are different functions connected to different type of objects. The functions
are listed below.

Project

Functions:
- Configure
- Feeders
- Position Sources
- Robots
- Items
- Models
- Item Flow
- Router File
- Calibrate Project
- Project
- New
- Start

98 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Item/Pattern

Functions:
- Configure
- Model
- Models
- Model 1
- Model 2 etc.

Vision Model

Functions:
- Items
- Item 1
- Item 2 etc.

Robot

Functions:
- Configure
- Feeders
- Feeders
- Feeder 1
- Feeder 2 etc.

Feeder

Functions:
- Configure
- Items
- Position Sources
- Calibrate
- Feeder to Robot
- Items
- Item 1
- Item 2 etc.
- Position Sources
- Position Source 1
- Position Source 2 etc.

User’s Guide - PickMaster 1.0/PickWare 4.0 99


User’s Guide

Vision Position Source


mme
Functions:
- Configure
- Items
- Calibrate
- Camera
- Camera to Robot
- Items
- Item 1
- Item 2 etc.

File Position Source

Functions:
- Configure
- Items
- Items
- Item 1
- Item 2 etc.

100 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

5.1.2 Input section

The input section is used to present input dialogues for the user. The dialogues are
exactly the same as the input section of the steps in the Configuration and Model
Wizards.

The project tree in the navigation section is used to navigate to the dialogues. When a
dialogue is presented the “OK” button must be pressed to save changes in the project.
The “Cancel” button leaves the dialogue without changing it.

For further descriptions of the dialogues it see 4.1.2.3 to 4.1.2.11 and 4.1.4.2 to 4.1.4.3.

User’s Guide - PickMaster 1.0/PickWare 4.0 101


User’s Guide

6 Running a PickMaster project

6.1 Operator’s Panel

Operators panel presents all selectable projects in the Project Section and the status for
the currently selected object in the Status Section.

Project Section Status Section

Figure 70 Operator’s Panel - Project view

Project Section

All projects in the currently selected root directory is presented. The projects are
presented as a tree view. By double clicking on a project all involved objects will be
presented. Depending on the object type, different information is presented in the status
section.

Root directory can not be changed by a person with “Operator” security level.

102 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Status Section

There are different views for the following object types:


- Project, see 6.1.1
- Robot, see 6.1.2
- Position Source (Vision), see 6.1.3
- Position Source (File), see 6.1.4

6.1.1 Project view

When a project is selected in the Project Section, see Figure 70, the Status Section
presents information about that project.

A project can have three states:


• Stopped - Indicated by a red traffic light
• Initializing - Indicated by a yellow traffic light
• Running - Indicated by a green traffic light

Correct Picks/Min

A calculation of the current pick speed, e.g. the number of pick and place cycles the
last minute. It is recalculated every 15 seconds and is based on the average speed the
last 5 minutes.

Failed Pick/Min

The number of failed pick and place cycles. It is recalculated every 15 seconds and is
based on the average speed the last 5 minutes.

Camera Images...

Opens a dialogue that presents the images for a maximum of 4 cameras. The dialogue
is updated every time one of the cameras acquire a new image. See Figure 71.

Start

Starts the project. The used RAPID program will be loaded to the controller, the vision
system initialized and the pick and place task started. A progress bar is presented while
the initialization is in progress.

Note: There are a number of problems that can occur during start-up of a project. See
chapter 6.2 Error Messages for more information. If you get an error message, for
example when the controller is in Manual mode instead of Auto mode, press “Retry”
to interrupt the initialization of the project and then start it again or press “Cancel” to
exit the Operator’s Panel.

User’s Guide - PickMaster 1.0/PickWare 4.0 103


User’s Guide

Stop

Stops a running project. The last ordered pick and place cycle will be executed by the
robots before they stops.

6.1.1.1 Vision information dialogue

This dialogue presents the last acquired image from each camera connected to the
vision board. All recognized items are marked with a green cross and an identification
number.
Camera 1

Camera 2
Camera 3

Camera 4

Figure 71 Vision Information dialogue

104 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

6.1.2 Robot view

When a robot is selected in the project section the status section presents some
information connected to that robot controller.

Figure 72 Robot view

Motor Status

The current motor status received from the controller. It can be On or Off.

Max Speed

The current robot speed defined in percent of the maximum speed. The information is
received from the controller. The “Max Speed” parameter can be defined in the
maintenance dialogue, see 6.1.2.1.

Maintenance

Opens the maintenance dialogue, see 6.1.2.1.

User’s Guide - PickMaster 1.0/PickWare 4.0 105


User’s Guide

Controller State

One of ten state parameters received from the controller. The state values are as
follows:
• 0 - State Unknown
• 1 - Initialization
• 2 - Stand-by
• 3 - Power On
• 4 - Run
• 5 - Power Off
• 6 - Guard Stop
• 7 - Emergency Stop
• 8 - Guard Emergency Reset
• 9 - Stand-by Emergency Reset

Operational State

One of seven state parameters received from the controller. The state values are as
follows:
• 0 - S4 interface down, no communication possible
• 1 - Initialization
• 2 - Manual Reduced Speed
• 3 - Going to Auto
• 4 - Auto
• 5 - Going to Manual Full Speed
• 6 - Manual Full Speed

Program Controller State

One of six state parameters received from the controller. The state values are as
follows:
• 0 - State Unknown
• 1 - Uninitialized
• 2 - Ready State
• 3 - Executing State
• 4 - Stopped State
• 5 - Full State (No more space)

106 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Program State

One of five state parameters received from the controller. The state values are as
follows:
• 0 - State Unknown
• 1 - Empty
• 2 - Loaded
• 3 - Linked
• 4 - Initiated

Start Robot

Starts the currently selected robot within the project.

Stop Robot

Stops the currently selected robot within the project.

User’s Guide - PickMaster 1.0/PickWare 4.0 107


User’s Guide

6.1.2.1 Maintenance dialogue

The maintenance dialogue is used to trim speed, angles and distances for the pick and
place cycle. It is also possible to enable logging of pick and place coordinates from the
controller. Another feature is that routines in the loaded RAPID program can be
executed from the dialogue. These routines can be defined to do specific tasks such as
“Wash Down Position”, “Home Position” and “Test Cycle”.

Figure 73 Maintenance dialogue

General: Z Offset

A general offset used to trim the pick and place height relative the feeder for all queues.
The offset is given in millimetres. The value is sent to the controller by pressing the
corresponding button.

108 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

General: Pick Time

A general offset to halt the robot in the pick task for all queues. The value is defined
for all queues. The time is given in seconds. The value is sent to the controller by
pressing the corresponding button.

General: Place Time

A general offset to halt the robot in the place phase of the cycle. The value is defined
for all queues. The time is given in seconds. The value is sent to the controller by
pressing the corresponding button.

General: Speed

A general offset to slow down the robot. The value is given in millimetres per second.
The value is sent to the controller by pressing the corresponding button.

Position Adjustments: Robot Sources

All defined queues in the project.

Position Adjustments: X

An offset for the selected queue to adjust the X position for the pick or place task. The
value is sent to the controller by pressing the corresponding button.

Position Adjustments: Y

An offset for the selected queue to adjust the Y position for the pick or place task. The
value is sent to the controller by pressing the corresponding button.

Position Adjustments: Z

An offset for the selected queue to adjust the Z position for the pick or place task. The
value is sent to the controller by pressing the corresponding button.

Position Adjustments: Angle

An offset for the selected queue to adjust the angle for the pick or place task. The value
is sent to the controller by pressing the corresponding button.

Enable Position Coordinate Logging

Enables the logging function for pick and place positions.

NOTE: When this function is enabled the amount of logged information increases very
much. This function shall only be used during a short period in order to get more
information about the project.

User’s Guide - PickMaster 1.0/PickWare 4.0 109


User’s Guide

Execute RAPID Routines: Routines

10 routines can be defined in the RAPID program used by the project. These routines
can be named and designed by the user. Typical use is tasks such as “Wash Down
Position”, “Home Position” and “Test Cycle”.

Execute RAPID Routines: Execute

Executes selected routine.

110 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

6.1.3 Position source view (vision)

When a vision position source, e.g. a camera, is selected in the project section the status
section presents some information connected to that position source.

Figure 74 Position source view (vision)

Detailed Camera View...

Opens the Detailed Camera View dialogue, see Figure 75.

User’s Guide - PickMaster 1.0/PickWare 4.0 111


User’s Guide

6.1.3.1 Detailed vision information dialogue

This dialogue presents detailed information for a specific camera. The last acquired
image, information about the found items and the used models is presented.

Figure 75 Detailed vision information dialogue

Camera Number

The number of the connector on the vision board to which the camera is connected.

Information

Status information from the camera.

Show all images

If “Show all images” is checked, the image in the dialogue is updated every time an
acquisition is made.

Vision Model

All defined models for the camera can be presented.

Vision Results: Numbers Found

The number of items found in the image.

Vision Results: Time

The amount of time in milliseconds to process an image.

112 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Vision Results: Pos

The item number presented in the image.

Vision Results: X

The X coordinate calculated from the origin of the image, e.g. from the upper left
corner.

Vision Results: Y

The Y coordinate calculated from the origin of the image, e.g. from the upper left
corner.

Vision Results: Angle

The angle calculated relative to the used model.

Vision Results: Score

A percentage that indicates the quality of the match between the model and the found
item. 100% indicates a perfect match.

User’s Guide - PickMaster 1.0/PickWare 4.0 113


User’s Guide

6.1.4 Position source view (file)

File position sources, e.g. a files with coordinates that controls the robot, is presented
as a document icon, see Figure 76, in the object section of the form. There are no
additional information presented when the file position source is selected.

Figure 76 Position source view (file)

6.2 Error Messages

There are a number of problems that can occur during execution or start-up of a
PickMaster project. The controller can be in the wrong state, there might be network
problems in your LAN or maybe hardware or cabling problems in some part of the
installation. All these problems will cause the Operator’s Panel fatal problems in
performing the Pick and Place task. Operator’s Panel will try to give an error message
that will help in the problem investigation. In some error situations there will be no
good hints, for example when a cable is broken.

The error messages have the options to “Retry” or “Cancel”. Press “Retry” to interrupt
the going operation, and continue as usual. It is also possible to exit the application by
pressing “Cancel”. This option should be used when the error is unrecoverable.

114 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

7 Viewing logs from the system

7.1 Run Time Log Collector

Collecting logs from both the controller and from the runtime part of PickMaster, e.g.
the Operator’s Panel, is an important function in the system. The Run Time Log
Collector retrieves log files from the controller to the PC. The application is started
automatically when Operator’s Panel is started. The logs can be very useful in order to
understand the behaviour of the system and used as help in investigations of error
situations.

All logfiles are stored on the PC in directory:

C:\WINNT\SYSTEM32\ABBLOG\

The logfiles from the controller are stored in a directory named as the InterLink alias
for the controller, for example:

C:\WINNT\SYSTEM32\ABBLOG\ROBOT1\

The log files from the PC are stored in a directory named as the network name for the
PC, for example:

C:\WINNT\SYSTEM32\ABBLOG\PC4778\

There might be other directories in C:\WINNT\SYSTEM32\ABBLOG\ used by other


ABB applications.

Note: The logfiles can be very large an must in this version of the system be deleted
manually.

User’s Guide - PickMaster 1.0/PickWare 4.0 115


User’s Guide

Figure 77 The Application dialogue for the Run Time Log Collector

A dialogue that presents the logs from the controller is presented from the menu
selection “Logs”, see Figure 78. If there are large logfiles it might take a long time to
start the dialogue.

Figure 78 Log from controller

Date

Date and time when the information was logged.

Domain

The software module or function that generates the log message.

116 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Type

Type of the log. The types can be “Error”, “Warning” and “State Change”.

Code

A code (number) representing the log message.

Text

A description of the log message.

User’s Guide - PickMaster 1.0/PickWare 4.0 117


User’s Guide

7.2 Log Viewer

The Log Viewer application is part of the PickMaster runtime environment. It is used to
navigate to view and filter logfiles. It is possible to navigate to any logfile directory in
the file system.

There are two groups of logfiles generated by the PickMaster system. One retrieved
from the controller part of the PickMaster software to the PC and the other generated
from the PC part. Both these files are stored in a predefined directory. For more
information about the directory structure see chapter 7.1.

Figure 79 Log Viewer Application (Controller logs to the left and PC logs to the right)

Log Path

The currently selected logfile directory. Depending on which logfile directory that is
pointed out, different domains are presented.

118 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Date of interest

A filter function to define a period for which the logs shall be presented.

Log Types

A filter function to define which types of logs that shall be presented.

Domains

A filter function to define which domains that shall be presented. The domains differs
between the logfiles for the controller and for the PC.

Automatic Refresh

A checkbox that enables automatic refresh of the Log Viewer.

Refresh

Manually refresh of the Log Viewer.

Select All

Selects all domains in the list.

One View...

Presents a dialogue that shows all log messages that matches the current filter settings.

Note: If there are large logfiles it might take a long time to start the dialogue.

User’s Guide - PickMaster 1.0/PickWare 4.0 119


User’s Guide

120 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

8 PickMaster Software Interface

8.1 Methods

8.1.1 List projects

8.1.2 Load project

8.1.3 Start/Stop project

8.1.4 Start/Stop robot

8.1.5 List maintenance functions

8.1.6 Start maintenance function

8.1.7 Safe stop

8.2 Events

8.2.1 Error information

8.2.2 Status information

8.2.3 Pick acknowledge

8.2.4 Load/Start/Stop project

8.2.5 Load RAPID program

User’s Guide - PickMaster 1.0/PickWare 4.0 121


User’s Guide

122 User’s Guide - PickMaster 1.0/PickWare 4.0


User’s Guide

Appendix 1 Document References

1 PickMaster Product Specification

Document Name: PickMaster Product Specification

Document Number: 3HAC 5842-1

Revision: A

2 RAPID Reference Manual

Document Name: RAPID Reference Manual

Document Number:

Revision: A

3 PickMaster Supervision & Error Handling

Document Name: PickMaster Supervision & Error Handling

Document Number: pmo99004

Revision: A

4 Conveyor Tracking

Document Name: Conveyor Tracking

Document Number: 3HAC 0966-48

Revision: A

User’s Guide - PickMaster 1.0/PickWare 4.0 123


User’s Guide

5 OMI User´s Guide

Document Name: Cognex MVS-8000 Series, OMI User’s Guide

Document Number: -

Revision: 2.2

6 OMI Vision Tools Guide

Document Name: Cognex MVS-8000 Series, OMI Vision Tools Guide

Document Number: -

Revision: 2.2

124 User’s Guide - PickMaster 1.0/PickWare 4.0


Introduction

Appendix 2 PPA Rapid Programming

2.1 Introduction

PPA stands for “Pick and Place Applications”. This appendix describes the RAPID
datatypes and instructions used to support PPA applications. It also describes the
general parts in RAPID programs used in the PickMaster application.

The program structure and naming of variables are closely connected to the design of
the PickMaster.

The RAPID program should in principle be considered as a part of the PPA software.
It is loaded to the controller by PickMaster when the application is started.

User’s Guide PickMaster 1.0/PickWare 4.0 125


Introduction

2.2 Data types

itmsrc Item source


itmsrc is a data type used to define item sources.

Description
Data type used to define different item sources, which are used to store pick or place
positions for the Pick and Place Application, and to control the conveyor tracking.

Characteristics
Itmsrc is a non-value data type. This means that data of this type is private to the
controller and does not permit any user value-oriented operations.

Related information
Described in:
Itmtgt Data Types - itmtgt

126 User’s Guide PickMaster 1.0/PickWare 4.0


Introduction

itmtgt Item target data


Itmtgt is used to describe one pick or place item.

Description
Itmtgt identifies an item to pick or place and contains the position.

Components
tag (item identification) Data type: num

A sequential number identifying the item.

type (item type) Data type: num

Type of item.

scene (scene identification) Data type: num

A sequential number identifying the scene, corresponding e.g. to a picture taken


by the vision system.

robtgt (item position) Data type: robtgt

The pick or place position.

Examples
CONST itmtgt
pick-
pos:=[1,2,1,[[20,40,8],[1,0,0,0],[0,0,0,0],[9E9,9E9,9E9,9E9
,0,0]]];
A pick position is defined. The robtgt is to be defined in the user frame coordinated
to the conveyor. The external axis related to the used conveyors must be set to zero,
i.e. not marked as unused (by stating 9E9). Example: if you have two conveyors
set the two last external axis positions to zero.

Structure
<dataobject of itmtgt>
<tag of num>
<type of num>
<scene of num>

User’s Guide PickMaster 1.0/PickWare 4.0 127


Introduction

< dataobject of robtarget >


< trans of pos >
< x of num >
< y of num >
< z of num >
< rot of orient >
< q1 of num >
< q2 of num >
< q3 of num >
< q4 of num >
< robconf of confdata >
< cf1 of num >
< cf4 of num >
< cf6 of num >
< cfx of num >
< extax of extjoint >
< eax_a of num >
< eax_b of num >
< eax_c of num >
< eax_d of num >
< eax_e of num >
< eax_f of num >

Related information
Described in:
Positioning instructions RAPID Summary - Motion
Coordinate systems Motion and I/O Principles - Coordinate
Systems
Handling configuration data Motion and I/O Principles - Robot
Configuration
Configuration of external axes User’s Guide - System Parameters
What is a quaternion? Data Types - Orient
Itmsrc Data Types - Itmsrc

128 User’s Guide PickMaster 1.0/PickWare 4.0


Introduction

itmsrcinstdat Item source instance data


Itmsrcinstdat is used to store information about the item source name and identity.

Description
Itmsrcinstdat is used to store information about an item source name and IPM process
id.

Components
name (item source name) Data type: string

Name of the item source.

id (item source identity) Data type: num

The IPM identity of the item source. Used e.g. when the PickMaster communi-
cates with the itmsrc. Type of item.

Structure
<dataobject of itmsrcinstdat>
<name of string>
<id of num>

Related information
Described in:
Itmsrc Data Types - Itmsrc

User’s Guide PickMaster 1.0/PickWare 4.0 129


Introduction

2.3 Instructions

NewItmSrc Create a new item source


NewItmSrc is used to create a new item source.This instruction should be avoided as
Itmsrc are created at startup of s4. Use ResetItmSrc instead.

Example
NewItmSrc PlaceSource PPA_PICK_NAME;
A new item source object PlaceSource with the name
place_source_1 is created.

Arguments
NewItmSrc ItmSrc, Name
ItmSrc Data type: itmsrc

The item source created.

Name Data type: string

The name you want to give to the created item source.

Must be a valid name from the list : PPA_PICK_NAME , PPA_PLACE_NAME


, PPA_ALT_NAME

Syntax
NewItmSrc
<var of itmsrc>
<var or pers (IN) of string>;

Error Handling
ERR_PPA_NONAME Not valid name

130 User’s Guide PickMaster 1.0/PickWare 4.0


Introduction

Related information
Described in:

FreeItmSrc Instructions - FreeItmSrc

User’s Guide PickMaster 1.0/PickWare 4.0 131


Introduction

FreeItmSrc Free an item source


FreeItmSrc is used to free an item source.This instruction should not be

used. Use ResetItmSrc instead.

Example
FreeItmSrc PlaceSource ;
The earlier created item source PlaceSource is deleted.

Arguments
FreeItmSrc ItmSrc
ItmSrc Data type: itmsrc

The item source to be deleted.

Syntax
FreeItmSrce
<var of itmsrc> ;

Error Handling
ERR_ITMSRC_UNDEF Itmsrc undefined

Related information
Described in:

NewItmSrc Instructions - NewItmSrc

132 User’s Guide PickMaster 1.0/PickWare 4.0


Introduction

ResetItmSrc Reset an item source


ResetItmSrc is used to reset an item source. This instruction must be used

when starting a new program.

Example
ResetItmSrc PlaceSource ;
The earlier created item source PlaceSource is reset for a
new
ItmSrcCnvDat.

Arguments
ResetItmSrc ItmSrc
ItmSrc Data type: itmsrc

The item source to be reset

Syntax
ResetItmSrc
<var of itmsrc> ;

Error Handling
ERR_ITMSRC_UNDEF Itmsrc undefined

Related information
Described in:

NewItmSrc Instructions - NewItmSrc

User’s Guide PickMaster 1.0/PickWare 4.0 133


Introduction

QStartItmSrc Start queue in item source


QstartItmSrc is used to start queue an item source. This instruction must be used

when starting a new program or after flush .This instruction is specific to 377 board .

This instruction start sending pulses from 377 to vision board

Example
QstartItmSrc PlaceSource ;
The queue of objects in item source PlaceSource is started .

Arguments
QStartItmSrc ItmSrc
ItmSrc Data type: itmsrc

The item source to be started

Syntax
QStartItmSrc
<var of itmsrc> ;

Error Handling
ERR_ITMSRC_UNDEF Itmsrc undefined

Related information
Described in:

NewItmSrc Instructions - NewItmSrc

134 User’s Guide PickMaster 1.0/PickWare 4.0


Introduction

QStopItmSrc Stop queue in item source


QstopItmSrc is used to stop queue an item source. This instruction must be used

when stopping aprogram or after flush .This instruction is specific to 377 board .

This instruction stop sending pulses from 377 to vision board

Example
QstopItmSrc PlaceSource ;
The queue of objects in item source PlaceSource is stopped .

Arguments
QStopItmSrc ItmSrc
ItmSrc Data type: itmsrc

The item source to be stopped

Syntax
QStopItmSrc
<var of itmsrc> ;

Error Handling
ERR_ITMSRC_UNDEF Itmsrc undefined

Related information
Described in:

NewItmSrc Instructions - NewItmSrc

User’s Guide PickMaster 1.0/PickWare 4.0 135


Introduction

GetAllItmSrc Get All item sources


GetAlltItmSrc is used to get all item sourcein system.

Example
var itmsrc ItmSrcList {4};

GetAllItmSrc ItmSrcList ;
The earlier created item sources are copied in ItmSrcList

Arguments
GetAllItmSrc ItmSrcList
ItmSrcList Data type: array of itmsrc

The item source list to be filled minimum 4 item sources in array

Syntax
GetAllItmSrc
<var array of itmsrc> ;

Error Handling

Related information
Described in:

NewItmSrc Instructions - NewItmSrc

136 User’s Guide PickMaster 1.0/PickWare 4.0


Introduction

FlushItmSrc Flush an item source


FlushItmSrc is used to flush an item source. The instruction clears the item source buff-
ers, sets the scene number to one, cancels any ongoing convey methods, flushes the
encoder board and starts the conveyor, if stopped. This instruction must be issued (or
the corresponding itmsrc method requested from the PickMaster) before pushing or
getting any items.

Example
FlushItmSrc PlaceSource;

Arguments
FlushItmSrc ItmSrc
ItmSrc Data type: itmsrc

The item source to be flushed.

Program Execution

Limitations
Not to be used during execution of PutItmTgt or when Pickmaster is sending ItmTgt.

Error Handling
ERR_ITMSRC_UNDEF Itmsrc undefined

Syntax
FlushItmSrc <var of itmsrc> ;

Related information
Described in:

NewItmSrc Instructions - NewItmSrc

User’s Guide PickMaster 1.0/PickWare 4.0 137


Introduction

GetItmTgt Get the next item target


GetItmTgt is used to get the next itmtgt in the item source buffer when the itmtgt
reaches the ARO. The RAPID program thus waits in this instruction until the item is
possible to reach.

Example
GetItmTgt PlaceSource, PlaceItem;

Arguments
GetItmTgt ItmSrc, ItmTgt
ItmSrc Data type: itmsrc

The item source from which the item target should be retrieved.

ItmTgt Data type: itmtgt

The item target retrieved.

Program Execution
If there is no Itmtgt in buffer or not in ARO then program execution stops .If an Itmtgt
is ready then program execution continues .

Limitations
Need to make FlushItmSrc after ItmSrcCnvDat before using GetItmTgt

Syntax
GetItmTgt
<var (IN) of itmsrc>
<var or pers (OUT) of itmtgt> ;

138 User’s Guide PickMaster 1.0/PickWare 4.0


Introduction

Error Handling
ERR_ITMSRC_UNDEF Itmsrc undefined

Related information
Described in:

NewItmSrc Instruction - NewItmSrc

PutItmTgt Instruction - PutItmTgt

User’s Guide PickMaster 1.0/PickWare 4.0 139


Introduction

GetItmTgts Get the next item targets


GetItmTgts is a place oriented, multiple input conveyor, instruction. From a RAPID
program point of view, it waits for both pick and place positions to be available and
within reach and when they are, the instruction is released.

The instruction first gets the next place target, then depending on item type, it selects
one of the pick item sources and requests an itmtgt from that itmsrc. The item type is
used as an index in the pick source list. When both targets are within ARO the instruc-
tion is released. If the place position goes out of ARO before the pick item is available
the requests are cancelled internally (calling the itmsrces) and the process starts over
again.

Example
GetItmTgts PickSrcList, PlaceSource, PickTarget, PlaceTar-
get;

Arguments
GetItmTgts PickSrcList, PlaceSource, PickTarget, PlaceTarget
PickSrcList Data type: array of itmsrc

An array of pick item sources where the index is the item type of the retrieved
place item target.

PlaceSource Data type: itmsrc

The place item source.

PickTarget Data type: itmtgt

The retrieved pick item target.

PlaceTarget Data type: itmtgt

The retrieved place item target

140 User’s Guide PickMaster 1.0/PickWare 4.0


Introduction

Program Execution

Limitations

Syntax
GetItmTgts
<array var (IN) of itmsrc>
<var (IN) of itmsrc>
<var or pers (OUT) of itmtgt>
<var or pers (OUT) of itmtgt> ;

Error Handling
ERR_ITMSRC_UNDEF Itmsrc undefined

Related information
Described in:

GetItmTgt Instructions - GetItmTgt

User’s Guide PickMaster 1.0/PickWare 4.0 141


Introduction

PutItmTgt Store an item target


PutItmTgt is used to store item target in the item source buffer. This is an alternative to
the normal case which is to receive the item targets from a PickMaster system.

Example
PutItmTgt PlaceSource, PlaceItem;

Arguments
PutItmTgt ItmSrc, ItmTgt
ItmSrc Data type: itmsrc

The item source where the item target is stored

ItmTgt Data type: itmtgt

The item target to be stored.

Program Execution

Limitations

Syntax
PutItmTgt
<var (IN) of itmsrc>
< var or pers (IN) of itmtgt> ;

Error Handling
ERR_ITMSRC_UNDEF Itmsrc undefined

ERR_PPA_BUFFULL Itmsrc buffer full

142 User’s Guide PickMaster 1.0/PickWare 4.0


Introduction

Related information
Described in:

NewItmSrc Instructions - NewItmSrc

GetItmTgt Instructions - PutItmTgt

User’s Guide PickMaster 1.0/PickWare 4.0 143


Introduction

PutItmTgts Store item targets


PutItmTgts is used to store item targets in the item source buffer. This is an alternative
to the normal case which is to receive the item targets from a PickMaster system.

Example
PutItmTgts NbItem,PlaceSource, PlaceItemList;

Arguments
PutItmTgts NbItem, ItmSrc, ItmTgtList
NbItem Data type: num

The number of item targets to stored

ItmSrc Data type: itmsrc

The item source where the item target is stored

ItmTgtList Data type: array of itmtg

An array of item target to be stored

Program Execution

Limitations
NbItem must be less than 20 .

Syntax
PutItmTgts
<var (IN) of num>
<var (IN) of itmsrc>
<array of var (OUT) of itmtgt> ;

144 User’s Guide PickMaster 1.0/PickWare 4.0


Introduction

Error Handling
ERR_ITMSRC_UNDEF Itmsrc undefined

ERR_PPA_BUFFULL Itmsrc buffer full

Related information
Described in:

NewItmSrc Instructions - NewItmSrc

GetItmTgt Instructions - PutItmTgt

User’s Guide PickMaster 1.0/PickWare 4.0 145


Introduction

Acknowledge an item target


An item target that has been picked or placed has to be acknowledged on completion
of the tracking. The acknowledgement is done via a trigg condition connected to a
motion instruction. WARNING: MODIFICATION OF THE ACKNOWLEDGE-
MENTS IN GIVEN RAPID PROGRAMS SHOULD NOT BE DONE. THIS IS
RESERVED TO EXPERT USERS.

Example:

CONST num AckDelay := 0;


VAR triggdata PlaceAck;
PERS itmsrcinstdatPlaceInstDat:= [““, 0];
...
ItmSrcByName PlaceItmSrc, PPA_PLACE_NAME;
ResetItmSrc PlaceItmSrc;
...
! Set up trigg condition
CreateInstDat PlaceItmSrc, PlaceInstDat;
TriggEquip PlaceAck, 0, AckDelay \ProcId := PlaceInstDat.Id,
ITMSRC_ACKENTRY;
...
! End of the tracking, acknowledge item target
TriggL PlaceRobTgtHigh, Speed, PlaceAck, z20, Gripper \WObj := PlaceWObj;

Program Execution

Limitations

Related information
Described in:

GetItmTgt Instructions - GetItmTgt

GetItmTgts Instructions - GetItmTgts

146 User’s Guide PickMaster 1.0/PickWare 4.0


Introduction

ItmSrcCnvDat Provide conveyor information


ItmSrcCnvDat is used to provide the conveyor information after the creation of the
itmsrc. If used, it must be stated after NewItmSrc but before FlushItmSrc.

Example
ItmSrcCnvDat PlaceSource, CnvName, AROEnter, AROExit
\WorkAreaWarn := AROWarning
\DistCnvStart := DistCnvStart
\MinDistItm := MinDistItm
\EioNameStop := CnvStopSigName
\EioNameSensor := SensorSigName
\EioNameTrigVis := TrigVisSigName;

Arguments

ItmSrcCnvDat ItemSource, CnvName, WorkAreaEnter,


WorkAreaExit
[\WorkAreaWarn]
[\DistCnvStart]
[\MinDistItm]
[\EioNameStop]
[\EioNameSensor]
[\EioNameTrigVis]

ItemSource Data type: itmsrc

The item source for which the conveyor information is to be provided.

CnvName Data type: string

The conveyor process name.

WorkAreaEnter Data type: num

The distance in millimetres from the vision system zero point (or synchroniza-
tion switch if vision system not used) to the ARO.

User’s Guide PickMaster 1.0/PickWare 4.0 147


Introduction

WorkAreaExit Data type: num

The distance in millimetres from the vision system zero point to the end of the
ARO. When the tracked item passes beyond this point it will be dropped. This limit
must be chosen well within the maximum work area of the robot. The robot must
be able to reach this position from an arbitrary position on the other conveyor
before the position goes out of reach.

[\WorkAreaWarning] Data type: num

When the item closest to the robot reaches this position, the conveyor is stopped.
If specified value is not null, EioNameStop and DistCnvStart must also be speci-
fied. If this parameter is not specified or the given value is null this feature is disa-
bled.

[\DistCnvStart] Data type: num

The conveyor is started when the scene changes or the x-position of the next item
is this far from the position of the item that stopped the conveyor.

[\MinDistItm] Data type: num

The minimum distance between two items from consecutive scenes to be consid-
ered as different. Only used with 377 boards .

[\EioNameStop] Data type: string

The name of the io-signal which is used to stop and start the conveyor. This should
be a digital output group signal. 1 is written to the output to start the conveyor and
2 to stop it.

[\EioNameSensor] Data type: string

The name of the io-signal which is used to sync the conveyor. This should be a dig-
ital input signal. If the name is CxxScaleEncPuls the 377 board generate periodic
pulses . The distance in meters between to pulses is defined using 2*ScalingFac-
tor/CountsPerMeter from cnvqxxeio.cfg for the corresponding 377 board .This sig-
nal is used only with 377 board .

[\EioNameTrigVis] Data type: string

The name of the io-signal which is used to trig vision image. This should be a dig-
ital output signal. This output is pulsed each a transition 0 to 1 is detected on EioN-
ameSensor signal .This output must be connected to the vision board . This signal
is used only with 377 board .

148 User’s Guide PickMaster 1.0/PickWare 4.0


Introduction

Program Execution

Limitations

Error Handling
ERR_ITMSRC_UNDEF Itmsrc undefined

Syntax
ItmSrcCnvDat
<var (IN) of itmsrc>
<var or pers (IN) of string>
<var or pers (IN) of num>
<var or pers (IN) of num>
[\WorkAreaWarning := <var or pers (IN) of num>
[\DistCnvDat :=<var or pers (IN) of num>
[\MinDistItm :=<var or pers (IN) of num>
[\EioNameStop :=<var or pers (IN) of string>]
[\EioNameSensor :=<var or pers (IN) of string>]
[\EioNameTrigVis :=<var or pers (IN) of string>]
;

Related information
Described in:

NewItmSrc Instructions - NewItmSrc

User’s Guide PickMaster 1.0/PickWare 4.0 149


Introduction

CreateInstDat Get item source information


CreateInstDat is used to get the name and IPM process identity for an item source. The
identity is needed in the PickMaster to communicate with the itmsrc and when
acknowledgement via TriggIO is used.

Example
CreateInstDat PlaceSource, PlaceId;

Arguments
CreateInstDat ItmSrc, InstallData
ItmSrc Data type: itmsrc

The item source for which install data is to be retrieved.

InstallData Data type: itmsrcinstdat

The data (name and IPM id) of the item source.

Syntax
CreateInstDat
<var (IN) of itmsrc>
<pers (OUT) of itmsrcinstdat> ;

Related information
Described in:

NewItmSrc Instructions - NewItmSrc

150 User’s Guide PickMaster 1.0/PickWare 4.0


Introduction

ItmSrcByName Look up an item source from its name


ItmSrcByName is used to look up and connect to an already existing item source. If the
name does not exist error ERR_ITMSRC_UNDEF is given. The error can be caught
by an RAPID error routine.

Example
ItmSrcByName PlaceSource PPA_PICK_NAME;
The item source with the name place_source_1 is connected to
the variable PlaceSource. If there is no such item source
errno ERR_ITMSRC_UNDEF is given, which, if so desired, can
be caught by a RAPID error routine.

Arguments
ItmSrcByName ItmSrc, Name
ItmSrc Data type: itmsrc

The item source variable to be updated with a reference to an existing item source
(created earlier by NewItmSrc).

Name Data type: string

The name of an existing item source you want to connect to.

Must be a valid name from the list : PPA_PICK_NAME , PPA_PLACE_NAME


, PPA_ALT_NAME

Program Execution

Limitations

Syntax
ItmSrcByName
<var of itmsrc>
<var or pers (IN) of string>;

User’s Guide PickMaster 1.0/PickWare 4.0 151


Introduction

Error Handling
ERR_PPA_NONAME Not valid name

ERR_ITMSRC_UNDEF IPM not found restart s4c

Related information
Described in:

FreeItmSrc Instructions - FreeItmSrc

NewItmSrc Instructions - NewItmSrc

152 User’s Guide PickMaster 1.0/PickWare 4.0


Introduction

Set tracking time


To specifiy the tracking time one uses the dedicated coordinated points. The present
page is not a reference for these (see “related information” for a pointer to the reference
document), it only gives an example of how these are used within PPA.

Example:

! Stop point definition

CONST stoppointdata PickTrackPoint :=

[3, FALSE, [0,0,0,0], 0, PickTrackTime, "", 0, 0];

...

! Motion with conveyor coordinated point

MoveL \Conc, PickItmTgt.RobTgt, VertDownSpeed, z5

\Inpos := PickTrackPoint, Gripper \WObj := PickWObj;

“PickTrackTime” in this example, is where one indicates the tracking time. This is usu-
ally a constant value. However in the PPA case, the PickMaster is able to modify this
value as follows:

! Variable definition, accessed by PM through RAP

PERS num PickTime := 0.02;

...

! Update of the tracking time, in the pick and place loop

PickTrackPoint.followtime := PickTime;

Related information
Described in:

MoveL Instructions - MoveL

TriggL Instructions - TriggL

User’s Guide PickMaster 1.0/PickWare 4.0 153


Introduction

2.4 General Description

2.4.1 Main routine


The RAPID program is loaded and it’s execution is totally controlled from the Pick-
Master.
The main routine consists of an initiation part and an infinite loop. The PickMaster
writes the subroutine name to a variable and sets an output. Via late binding the
requested subroutine is executed. When the subroutine returns the output is reset and
the program waits for a new request. Cf. part of program listing below.
The only way to pass an argument to the subroutine is to write to persistent variables
in the program. These variables will be describe in connection with the different sub-
routines.

WHILE TRUE DO
WaitDO ppaExe, 1;
%RoutineName%;
SetDO ppaExe, 0;
ENDWHILE

2.4.2 Initiation routines


There exists two initiation subroutines one for pick and one for place item sources.
The only principal difference between the two are that the pick item sources are stored
in an array where the index is the item type to pick. The following "subroutine param-
eters" are used (all distances in millimetres):

IN:
CnvName string The conveyor mechanical unit name
ItmSrcName string The name to give the itmsrc created
AROEnter num The distance from the vision system zero
point to the ARO
AROWarning num When the item closest to the robot reaches
this position the conveyor is stopped. If
specified the CnvStopSigName must be
stated
AROExit num When the tracked item passes beyond this
point it will be dropped
CnvStopSigName string The name of the io-signal which is used to
stop and start the conveyor
DistCnvStart num The conveyor is started when the scene
changes or the x-position of the next item
is this far from the position of the item
that stopped the conveyor.

OUT:
InstDat itmsrcinstdat Name and IPM id of the itmsrc created
ItmSrcId num IPM id of the itmsrc created
ProcErrStatus errnum 0 if OK
LastRoutine string Name of the last subroutine executed

154 User’s Guide PickMaster 1.0/PickWare 4.0


Introduction

2.4.3 Production routine


The production routine is named pickplace. It contains a loop with a pick and place
cycle. The program waits in a GetItmTgt instruction for pick or place positions.

Every pick or place have to be acknowledged. Since RAPID execution is not coordi-
nated to the movement the acknowledgement is coordinated with the robot move-
ment via TriggIO /TriggL. The ProcId is retreived via the CreateInstDat insruction
and the selector to use is the installed symbol ITMSRC_ACKENTRY. The acknowl-
edgement is done when the robot has reached the corner position above the pick or
place position and has disconnected from the conveyor it was tracking. This must not
be changed.

Staring vacuum and stopping vacuum and start to blow is also handled via TriggIO/
TriggL to get it coordinated with the robot movement. The delay times for the trig-
ging might have to be adjusted to suit the vacuum system.

The new instruction SetStopPointTime is used to specify the time the robot should
follow the conveyor after reaching the position.

To avoid decreasing accuracy for axis 4 since in principle one rotation direction
might be dominating, the pick and place loop is broken now and then to make a reset
of independent axis (IndReset).

2.4.4 Clean up routine


There is a cleanup routine clearall to move to a safe position and free all created item
sources.

2.4.5 Trap routine


There is a trap routine SafeStopTrap connected to a simulated output doSafeStop.
This output is set from the PickMaster to force the pickplace routine to interrupt. The
trap routine moves the robot to a safe position and restarts the main program, thus
allowing the PickMaster to start any routine of its choice.

User’s Guide PickMaster 1.0/PickWare 4.0 155

You might also like