SmartSight
User guide

Document

SMARTSIGHT_User_Guide_EN
000.100.533

Version

C3

Date

09.06.2020

© Copyright Asyril S.A.
Table of Contents

Version: C3

Table of Contents
TABLE OF CONTENTS.............................................................................................................................. 2
1.

2.

INTRODUCTION ............................................................................................................................... 4
1.1.

GENERAL INFORMATION ........................................................................................................... 4

1.2.

OTHER MANUALS ...................................................................................................................... 4

STRUCTURE OF THE SMARTSIGHT .......................................................................................... 6
2.1.

IMAGE CONFIGURATION AND RECIPES...................................................................................... 7

2.1.1. Definition of the image configuration concept .................................................................. 7
2.1.2. Defining the image configuration to use .......................................................................... 12
2.1.3. Recipes ................................................................................................................................ 12
3.

CONFIGURING THE SYSTEM .................................................................................................... 13
3.1.

PIXEL/MM CALIBRATION .......................................................................................................... 15

3.2.

CALIBRATING THE FEEDER ..................................................................................................... 17

3.3.

CALIBRATING THE PROCESS................................................................................................... 18

3.3.1. Loading and testing the calibration recipe ...................................................................... 19
3.3.2. Process calibration ............................................................................................................. 21
3.3.3. Adjusting the calibration recipe......................................................................................... 224.

CREATION AND CONFIGURATION OF A NEW RECIPE ..................................................... 27
4.1.

CONFIGURING THE ASYCUBE ................................................................................................. 28

4.1.1. Vibration of the Asycube platform and reservoir ............................................................ 28
4.1.2. Configuring the vibration process..................................................................................... 28
4.1.3. Configuring the process for two components and two hoppers .................................. 31
4.2.

CONFIGURATION OF THE VISION SYSTEM............................................................................... 33

4.2.1. Selection of the vision analysis type ................................................................................ 33
4.2.2. Configuring the illumination parameters.......................................................................... 34
4.3.
5.

PROGRAMMING THE VISION MODEL........................................................................................ 37

PROGRAMMING THE VISION MODEL ..................................................................................... 38
5.1.

OVERVIEW .............................................................................................................................. 38

5.1.1. Tips and shortcuts .............................................................................................................. 39
5.2.

PRE-LOCALIZATION................................................................................................................. 39

5.2.1. Overview .............................................................................................................................. 39
5.2.2. Configuring the tool: "Model" tab ...................................................................................... 40
5.2.3. Configuring the tool: "Bounding Box" tab ........................................................................ 45
5.2.4. Advanced mode .................................................................................................................. 46
5.3.

MODEL FINDER ....................................................................................................................... 47

5.3.1. Overview .............................................................................................................................. 47
5.3.2. "Settings" tab ....................................................................................................................... 47000.100.533

2/75

© Copyright Asyril S.A.
Table of Contents

Version: C3

5.3.3. Configuring the tool: "Detection" tab ................................................................................ 49
5.3.4. Configuring the tool: "Detection (advanced)" tab ........................................................... 52
5.3.5. Configuring the tool: "ControlSettings" tab ..................................................................... 53
5.3.6. Configuring the tool: "Control (Model)" tab ..................................................................... 54
5.3.7. Configuring the tool: "Control (Advanced)" tab .............................................................. 55
5.3.8. Configuring the tool: "Results" tab ................................................................................... 56
5.4.

EXCLUSION ZONE DEFINITION ................................................................................................ 58

5.4.1. (Empty Picking Zone Growing) (EPZG) .......................................................................... 59
5.4.2. Empty Picking Zone Region (EPZR) ............................................................................... 61

6.

5.5.

LOCATION RESULTS ................................................................................................................ 66

5.6.

FEEDING INFORMATION .......................................................................................................... 67

END OF PROGRAMMING ............................................................................................................ 68
6.1.

CLOSING THE ASYVIEW TEACHING WINDOW ......................................................................... 68

6.2.

TESTING THE VISION MODEL................................................................................................... 69

6.3.

PERMANENTLY SAVING THE VISION MODEL............................................................................ 70

7.

SAVING IMAGES ........................................................................................................................... 72

8.

TECHNICAL SUPPORT ................................................................................................................ 73
8.1.

TO HELP US PROVIDE THE BEST SERVICE... ........................................................................... 73

8.2.

CONTACT ................................................................................................................................ 73

REVISION TABLE ..................................................................................................................................... 74000.100.533

3/75

© Copyright Asyril S.A.
Introduction

1.

Introduction

1.1.

General information

Version: C3

This document is the exclusive property of Asyril SA; it may not be reproduced, modified orcommunicated, in whole or in part, without our prior written authorisation. For the purposes of
product improvement, Asyril SA reserves the right to modify any information contained in thisdocument without prior notice. Before using the product, please read this entire document inorder to ensure that the product is used correctly. However, if you encounter difficulties whenusing the product, do not hesitate to contact our customer service department.
In this manual, the safety information that must be respected is split into three types: "Danger","Important" and "Note". These messages are identified as follows:

DANGER!
Failure to observe this instruction may result in serious physical injury.
DANGER!
This instruction identifies an electrical hazard. Failure to respect this instruction may
result in electrocution or serious physical injury due to an electric shock.
IMPORTANT!
Failure to respect this instruction may result in serious damage to equipment.
NOTE:
The reader's attention is drawn to this point in order to ensure that the product is used correctly.
However, failure to respect this instruction does not pose a danger.
Reference …
For more information on a specific topic, the reader is invited to refer to another manual oranother page of the current manual.

IMPORTANT!
Asyril cannot be held liable for damage to property or injuries to people caused by failure tofollow the instructions specified in the "Safety instructions" paragraph. It is the customer's
responsibility to inform the personnel concerned.
NOTE:
All dimensions and measurements in this manual are expressed in millimetres (mm)1.2.

Other manuals
The table below provides a list of documents supplied with the product. Each of these manuals
forms an integral part of the set of documentation associated with the product.

000.100.533

4/75

© Copyright Asyril S.A.
Introduction

Version: C3

This manual contains all the necessary information for a user to configure and use a newprocess (feeding and visual recognition).
Manual name

Reference

Description of the content
Contains a technicaldescription of the product andOperatingmanualits functionalities together with
SMARTSIGHT_Operating_Manual_EN

instructions for its
transportation andmaintenanceContains information about

Programming
guide

communication and use of the
SMARTSIGHT_Programming_Guide_EN

product at the programming
level

User guide

SMARTSIGHT_User_Guide_EN

HMI Manual

THIS MANUAL
Directly accessible via the HMI

Table 1-1: Other manuals

000.100.533

5/75

© Copyright Asyril S.A.
Structure of the SmartSight

2.

Version: C3

Structure of the SmartSight
The SmartSight can be broken down into 3 main elements which are described in the following
table and detailed in subsequent sections.

Element

Content••

Image
configurations

Recipes000.100.533

•
•
•
•
•
•
•

Description

Image region
Items relating to thecameraCamera calibration
Asycube calibration
Process calibration

Fixed configurations, but it is possible to definethem as often as necessary, as this is only asoftware configuration. Each vision model will
simply use one of these image configurations as
required.

Vibration set
Vibration process
Vision models
Image acquisition
parameters

Variable configuration that can be saved andreloaded as required.
For each model contained in the recipe, there will
be a link to a specific image configuration that will
be used to calculate the positions of the parts using
the calibrations.

6/75

© Copyright Asyril S.A.
Structure of the SmartSight

2.1.

Version: C3

Image configuration and recipes
2.1.1. Definition of the image configuration concept
An image configuration is an element consisting of parameters which are not dependent on theparts and which enable AsyView to function correctly and send the position of the parts
accurately. This configuration is not defined for each part specifically, but it is essential tochoose one for each model programmed. An image configuration can therefore be used forseveral parts or models.
Note that everything defined in the image configuration is closely related to the camera setting,and therefore to its field of view and resolution (see (A) in the image below).

2.1.1.1.

The parameters of an image configuration

2

A
1
Figure 2-1: Parameters of the image configuration

1. Image region:

Defines which part of the image is used to look for parts (an area of theimage in pixels). In most cases, this will be the whole image, which is why a default regionis already defined for this particular case.
2. Linked element:

Defining the links between the elements allows you to specify "what thecamera is looking at in the defined region". There is no linked element for a control camera
since the camera is not looking at Asycube.

000.100.533

7/75

© Copyright Asyril S.A.
Structure of the SmartSight

2.1.1.2.

Version: C3

Calibrations

Calibrations make it possible to match the coordinate systems of the various elements in thesystem. They are closely related to the field of view and the image region, so each image
configuration will have its own calibrations.

1
3

2

Figure 2-2: Calibrations

1. The pixel/mm calibration makes it possible to convert the world coordinate system of thecamera (in pixels) to the physical system of mm (more practical). A calibration plate with a"chequerboard" is used to define the correlation of the size of the chequerboard squares
in mm and the number of pixels in these squares. This plate can also be used to correct
distortions associated with the optical system.
This calibration is not mandatory but, if used, it is important to understand that thiscalibration must be performed in the same plane as that in which the parts will be detected(and not that in which they will be placed). There are two reasons for this:-If the calibration is performed in another plane, one mm in the calibrated coordinate
system will not correspond to one mm in the part viewing plane (see Figure 2-3:
Example of a calibration problem).

-

The process calibration (see below), which will give the handling arm the picking
position of the part, is dependent on the pixel/mm calibration, so it is necessary tocalibrate in the same plane as the process calibration.

000.100.533

8/75

© Copyright Asyril S.A.
Structure of the SmartSight

Version: C3

Figure 2-3: Example of a calibration problem
Theoretical distance calibrated in the plane of the platform surface
Distance measured by the camera if calibrated in the plane of the platform surface
Distance measured by the camera if calibrated in the part viewing plane

It can be seen that there is an error which appears if the calibration is not carried out in thecorrect plane (size and position). This can be considered negligible when the height of thepart is small, but becomes problematic if the height of the part is large or if the application
requires a high degree of accuracy.
Calibration should therefore ideally be carried out at the height of the blue plane and not of
the green plane.

2. The feeder calibration is used to transform the world coordinate system of the camera (inpixels or in mm if the pixel/mm calibration has been performed) into the Asycube coordinate
system:Figure 2-4: Correspondence between the vision coordinate system and the feeder

000.100.533

9/75

© Copyright Asyril S.A.
Structure of the SmartSight

Version: C3

The coordinates of the 4 corners in the two coordinate systems allow the correspondence
and orientation of the feeder to be established so that the vibrations are carried out in theright directions (according to the orientation of the camera and/or the use of mirrors).

According to the figure shown above, this gives:
Element

X (feeder)

Y (feeder)

X (image)

Y (image)

Point 1
Point 2
Point 3
Point 4

-1
-1
1
1

1
-1
1
-1

0
0
Width
Width

0
Height0
HeightThis calibration is automatically carried out when a pixel/mm calibration of the camera isperformed. Otherwise, it must be done manually according to the orientation of the camera
in relation to the Asycube.

3. The calibration of the process (a generic term designating a robot, handling arm, etc.)
makes it possible to convert the coordinate system of the camera (in pixels or in mm if the
pixel/ mm calibration has been performed) into the coordinate system of the process. Thisis essential in ensuring that the coordinates sent to the process allow it to come and pickup the part at the right position.

The angle to be sent can be that of the vision coordinate system or that of the process, i.e.
taking into account or ignoring the process calibration.

This calibration must be performed each time the pixel/mm calibration of the camera ischanged (because the process calibration depends on the positions converted by the pixel/
mm calibration and sent by the camera).

As with the pixel/mm calibration, it is important to calibrate at the same plane as that viewed
by the camera (therefore at the height of the parts and not in the plane of the platform
surface).

Example of calibration points (viewed in pixels):

000.100.533

Element

X (vision)

Y (vision)

X (process)Y (process)

Point 1
Point 2
Point 3
Point 4

0
0
Width
Width

0
Height0
Height

0
0
250
250

0
200
0
200

10/75

© Copyright Asyril S.A.
Structure of the SmartSight

2.1.1.3.

Version: C3

Links

As you can see, there are many links between the various elements described above:-

Link between image region, linked elements and calibrations.

-

Link between the different calibrations.

Here is a summary table showing the effects of changing one of these elements:

Element modified

RegionPixel/mm calibration

Feeder calibration

Process calibration

Field of view
RegionLinked element
Pixel/mm calibration

x

x(1)
x(1)

x
x(2)
x
x(2)

x
x
x

(1) Only if the pixel/mm calibration is used.
(2) The feeder calibration is automatically performed when pixel/mm calibration is carried out.
However, pixel/mm decalibration requires feeder calibration to be performed again manually.

The inseparable links described above mean that all of these elements are incorporated into what is
known as an "image configuration". The system allows you to define as many of them as are necessary
according to the different parts or uses of the system.

000.100.533

11/75

© Copyright Asyril S.A.
Structure of the SmartSight

Version: C3

2.1.2. Defining the image configuration to use
An image configuration must be created in the following cases:o

The image region to be used for detection is different.

o

The elements linked to the camera are not the same.

o

The calibration of the camera must be different, for example, when the parts to be
detected have a geometry which is very different from the previously detected parts(mainly part height).

In these cases, the first thing is to check is whether an image configuration already exists withthe required parameters. If this is not the case, you must create a new configuration.

Then decide on the image region you want to use (usually the whole image) and the camerarelated element(s) (usually an Asycube).

Once it has been created, perform the calibrations for this image configuration (look out forhigh parts in order to properly calibrate at the viewing plane and not at the platform plane).

Then program your model(s) using the created image configuration. If the model has alreadybeen created and you have been using a pixel/mm camera calibration, you can simply choose
the new image configuration for your model without having to recreate it.

2.1.3. Recipes
The recipes include the elements necessary for the operation of the system that are specific to
the part(s) to be fed. This includes:

For the Asycube:othe vibration setothe vibration process

For the vision part:o

the vision modelsothe image acquisition parameters

More details on recipes in section 0.

000.100.533

12/75

© Copyright Asyril S.A.
Configuring the system

3.

Version: C3

Configuring the system
The system is pre-configured by Asyril according to the components ordered and thecorresponding architecture. By default, the manual describes the "1 Asycube + 1 camera"system.

Figure 3-1: HMI home screen
1 Displays the architecture of connected and pre-configured peripherals
2 Access to display of all the cameras for monitoring purposes-3 Access to the configuration steps

The figure below describes the parameters to be adjusted and the main procedure to be applied
after installation of the Asycube and the viewing devices on the machine.

IMPORTANT!
These parameters must be set at the beginning of the machine adjustment procedure. Each
modification of these parameters alters the calibration and the recipes.

000.100.533

13/75

© Copyright Asyril S.A.
Configuring the system

Version: C3

Figure 3-2: Simplified description of the different tasks to perform when implementing
a new SmartSight configuration

See the HMI manual via the interface for detailed information on these functionalities: Live
image, image configuration, calibration.

000.100.533

14/75

© Copyright Asyril S.A.
Configuring the system

3.1.

Version: C3

Pixel/mm calibration
First of all, it should be noted that this calibration is not essential. It converts the coordinate
system from pixels to mm, which is more convenient for users. In addition, this enables acreated recipe to be reused with this calibration if the camera moves or is changed (e.g.
creating a recipe using a 2 MPx camera and then switching to a 5 MPx device). This calibrationis also used to correct geometrical distortions of the optics used (which may be substantial at
low focal lengths, i.e. 8 mm). Finally, by carrying out this calibration, the Feeder calibration will
be performed at the same time thanks to the two rectangles in the centre of the plate.
If you do not want to use this calibration, then skip to the next step.

To perform pixel/mm calibration, a calibration plate is required (sold by Asyril or Cognex).

Once the calibration plate is mounted on your Asycube, go to the calibration tab of the HMI:

Figure 3-3: Pixel/mm calibration

Step 1

Select the pixel/mm calibration of the camera in the HMI and check that the selected image
configuration is the one you want.
If necessary, change the size of the chessboard squares (tile size X and Y) according to yourplate. The squares on the standard plates for Asycubes have the following dimensions:

Step 2
Tile size X
Tile size Y

000.100.533

Asycube 50

Asycube 80

Asycube 240

Asycube 530

2 mm
2 mm

2 mm
2 mm

6 mm
6 mm

-

15/75

© Copyright Asyril S.A.
Configuring the system

Version: C3

Adjust the image acquisition time so that the intensity is sufficient but the squares are joinedcorrectly:

Step 3

Step 4

Click on the "Calibrate" button.
Once calibration is complete, the calibration result changes to "calibrated".

IMPORTANT!
As shown earlier in this document, it is important to calibrate close to the height at which theparts will be seen by the vision system and not systematically on the platform surface.
To do this, use the platform raising kits to adjust the calibration height.

000.100.533

16/75

© Copyright Asyril S.A.
Configuring the system

3.2.

Version: C3

Calibrating the feeder
If you use the pixel/mm calibration, this calibration is performed automatically. Otherwise,
simply define which side of the camera image the hopper is on, in the image sent by thecamera. This will allow AsyView to perform the feeder calibration.

Figure 3-4: Feeder calibration

Step 1
Step 2

Select feeder calibration.
Click on the double arrow to define which side the hopper is on, in the image taken by thecamera. This affects the values in the correspondence table.

Step 3

If required for special configurations, enter the values in the table.

Step 4

Click on the "Calibrate" button.

Step 5Once calibration is complete, the calibration result changes to "calibrated".

000.100.533

17/75

© Copyright Asyril S.A.
Configuring the system

3.3.

Version: C3

Calibrating the process
The purpose of this calibration is to create a correspondence between a position sent by thecamera and the identical position in the coordinate system of the process (robot, handling arm,etc.).
To do this, Asyril offers a calibration platform, which is a plate with holes.

It is therefore necessary to create a model that detects these holes, which will acquire thepositions in the vision coordinate system of the 4 external points of the platform.

The HMI process calibration tab then allows you to run the model and choose from among thepositions found those which will be used for calibration (the outermost positions of the work
surface, if possible).
As regards the positions of the process coordinate system (robot, handling arm, etc.), the robot
specialist defines the optimal method of obtaining the positions of the 4 holes in the processcoordinate system. For example:ofeeling with a calibration tool fitted with a ball.

ousing the dedicated tool sold by Asyrilofeeling with a pin which is inserted into the holes of the platform.

oinserting a pointed pin into the platform hole and aligning this point with another point
held by the robot.

o000.100.533

etc.

18/75

© Copyright Asyril S.A.
Configuring the system

Version: C3

3.3.1. Loading and testing the calibration recipe
NOTE:
This chapter considers that the pixel/mm calibration is already done. If it is not the case, theprocess calibration recipe will not work. If you have calibrated only the feeder, you must createa calibration recipe in the same way as described in section 4.2.

2

4

1

3

5

6

Figure 3-5: Loading the calibration recipe
Step 1

Go to the “recipes” tab.

Step 2

Select “Asyview”  “Cell”  “Module”.

Step 3

Click on the “loading” icon.

Step 4Go to “D:\AsyrilData\Recipes\Calibration”.

Step 5

Select the proper file.

Step 6

Click on “Open”.

NOTE:
The file names depend on the architecture of the module. The general name is"CALIBRATION_XXX_YMPx", XXX being the size of Asycube and Y the resolution.

000.100.533

19/75

© Copyright Asyril S.A.
Configuring the system

Version: C3

2

3

4

1

5

Figure 3-6: Detection control

Step 1

Select “asyview”  “Vision”.

Step 2

Click on the “home” tab.

Step 3Check that the selected image configuration is the one you want.

Step 4

Take a picture by clicking on the “play” button.

Step 5Check that the five holes are well detected.

IMPORTANT!
If the five holes are not detected or if the selected image configuration is not the one you want,please refer to section 3.3.3 to adjust the calibration recipe.

000.100.533

20/75

© Copyright Asyril S.A.
Configuring the system

Version: C3

3.3.2. Process calibration

Figure 3-7: Process calibration
Step 1

Choose the model which allows the calibration elements to be found (in this case, the holes).

Step 2

Take the image and analyse the selected model.

Step 3Choose one of the results obtained and the pair of points in the table into which you want tocopy the position.

Step 4

Click on the arrow to transfer the position of the selected result to the "vision" position of theselected pair of points.

Step 5Fill in the 4 positions with the positions measured by the camera, and the "process" positions
according to your method of programming these points with your robot or handling arm (inthe image above, dummy values of 30 and 40 have been entered).

Step 6

If necessary, choose the source of the value of the angle you wish to receive (either the one
returned in the coordinate system of the process (robot, handling arm, etc.), or that of thevision coordinate system (the process calibration is therefore not applied to the angle). A
constant value can be chosen if a constant angle is needed.

Step 7

Click on the "Calibrate" button. Once calibration is complete, the calibration result changes
to "calibrated".

IMPORTANT!
If this calibration has already been done before, it will be necessary to decalibrate before
starting the vision analysis, otherwise the results obtained will have values in the processcoordinate system. It is essential to have positions in the vision coordinate system (pixel ormm) to complete the table of pairs of points.
000.100.533

21/75

© Copyright Asyril S.A.
Configuring the system

Version: C3

3.3.3. Adjusting the calibration recipe

2
3

5

4
1

6

Figure 3-8: Editing the calibration recipe

Step 1

Go to the “Vision” tab by clicking on “asyview”  “Vision”.

Step 2

Select the “teaching” tab.

Step 3

Select the desired image configuration.

Step 4

Click on the “edit” icon.

Step 5

Select the prelocalization “05”.

Step 6

Choose “Current.Histogram”.

000.100.533

22/75

© Copyright Asyril S.A.
Configuring the system

Version: C3

1

2

3

Figure 3-9: Adjusting the exposure time

Step 1Run the algorithm by clicking on the “play” icon.

Step 2Check the histogram. It must be similar as described in the next page.

Step 3Adjust the “exposure time”.

Step 4

Redo these steps until the histogram matches with the description.

000.100.533

23/75

© Copyright Asyril S.A.
Configuring the system

Version: C3

NOTE:The histogram is a graphic which shows the amount of pixel according to their brightness. In
our case, we look for a histogram without saturation. It means we want an amount of 0 pixelon the right side of the histogram.

Good exposure time

Exposure time too short

Exposure time too longsaturation

Too dark

Good

Figure 3-11: Advise to set the exposure time

4

2

1

3

Figure 3-10: Checking the arrow positions

Step 1

Select the “Localization Results” tab.

Step 2

Run the algorithm by clicking on the “play” icon.

Step 3Check that the five holes are well detected with arrows in the center.

Step 4

Click on the “crossed out eye” to hide the window.

000.100.533

24/75

© Copyright Asyril S.A.
Configuring the system

Version: C3

1

2

3

4

Figure 3-12: Detection control

Step 1

Apply the teaching by clicking on the “green tick”.

Step 2

Click on the “home” tab.

Step 3

Take a picture by clicking on the “play” button.

Step 4Check that the five holes are well detected.

000.100.533

25/75

© Copyright Asyril S.A.
Configuring the system

Version: C3

2

4

3

1

5

6

Figure 3-13: Saving the adjusted calibration recipe

Step 1

Go to the “recipes” tab.

Step 2

Select “asyview”  “Cell”  “Module”.

Step 3

Click on the “saving” icon.

Step 4Go to “D:\AsyrilData\Recipes”.

Step 5

Name the file as described in the notes below.

Step 6

Click on “Save”.

NOTE:
The file names depend on the architecture of the module. The general name is"CALIBRATION_XXX_YMPx", XXX being the size of Asycube and Y the resolution.

NOTE:
If you have several modules, we suggest you add the module number at the end of the filename:
"CALIBRATION_240_5MPx_Module1”"CALIBRATION_240_5MPx_Module2“…
000.100.533

26/75

© Copyright Asyril S.A.
Creation and configuration of a new recipe

4.

Version: C3

Creation and configuration of a new recipe
Different levels of recipes are available to make it easier to access, load and save the different
levels of the machine as well as to combine the configurations according to the application.
A recipe is identified by the *.vrec file extension and contains all the data needed to configure
the complete vision and feeding system. The following sections contain a tutorial typedescription of the configuration of a new recipe. However, the information contained in thissection also applies to modification of an existing recipe.
The various steps described in this chapter are shown in the following figure.

Figure 4-1: Standard scenario for configuring or modifying a vision and feeding recipe

000.100.533

27/75

© Copyright Asyril S.A.
Creation and configuration of a new recipe

4.1.

Version: C3

Configuring the Asycube
Reference
More details on the configuration of the Asycube in the specific documentation of the Asycube
used.

4.1.1. Vibration of the Asycube platform and reservoir
Step 1
Step 2

Click on the "Asycube" button.
Click on the "adjustment" tab, then select what you want to adjust: easy tune, platform or
hopper (vibration or outputs).
In easy tune mode, modify the orientation settings for the selected vibration if required.

Step 3

Otherwise, manually adjust the actuators to achieve the required behaviour.

Step 4

Adjust the amplitude parameters and select a frequency which ensures your parts move inthe right direction (Important: Not all of the frequencies available will necessarily produce
good results for all part geometries).

Step 5

Test the settings made. If the settings are not satisfactory, go back to step 3.

Figure 4-4-2: Adjusting the part feeding parameters

IMPORTANT NOTE:
The vibration duration must always be configured according to the time required for the parts
to cross the platform in the corresponding direction.

4.1.2. Configuring the vibration process
Step 1

Click on the "Asycube" button

000.100.533

28/75

© Copyright Asyril S.A.
Creation and configuration of a new recipe
Step 2

Version: C3

Click on the "Process" tabYou can load a default sequence by clicking on this button, if desired. This is a good starting

Step 3point in most cases. This file is also the default file loaded if you do not load your own at startup.

Step 4

If necessary, modify the parameters for the process sequences
NOTE:
These parameters can be readily modified (duration, sequence, order of vibrations), but do
not forget to finish with a stabilisation phase ("Wait") to prevent the parts from moving when
an image is being taken.

Step 5

If required, activate the platform/hopper synchronisation option (see 4.1.2.1)

Step 6

Use the simulator to monitor the process.

Figure 4-2: Defining the vibration sequences
It is possible to set the system to adapt the vibration duration depending on the number of partson the platform by selecting the "Quantity Adjusted" option as the duration mode.
To take account of the position of the parts on the platform in order to distribute them uniformly,
the "centering" option is included in the sequence. In this case, the algorithm automatically sets
the vibration duration and the optimal motion to be applied. A typical platform sequence ofvibrations may be:•Centering

•

Flip

•

Wait

000.100.533

29/75

© Copyright Asyril S.A.
Creation and configuration of a new recipe

Version: C3

In order to reduce the component stabilisation time, the Asycube platform may be machined(grooves, holes, etc.). In this case, the vibration sequence must be adapted to the type of
platform (so that the parts are directly positioned in the grooves or holes for example). In thecase of a grooved platform, a typical vibration sequence
may be:•Flip•

Forward•Backward
Figure 4-3: Example of a grooved platform

List of parameters for the available commands:

Location

Direction

Vibration

Usability

Reservoir

Output 1/forward

A

Reservoir
Reservoir

Output 2
CustomB
C–Z

Outputs for Asycube 240/380/530, Forward
for 50/80
Outputs for Asycube 240/380/530
Execute a custom vibration with one of thevibrations C to Z as defined.

Platform
Platform
Platform
Platform
Platform
Platform
Platform
Platform
Platform
Platform
Platform
Platform

Forward
Forward left
Forward right
Left
Right
Backward
Backward left
Backward rightFlip
Short axis centering
Long axis centering
Custom

A
B
C
D
E
F
G
H
I
J
K
L–Z

Platform

Centering

None

None

Stabilisation

None

4.1.2.1.

Only for Asycube 240, 380 and 530
Only for Asycube 240, 380 and 530
Execute a custom vibration with one of thevibrations L to Z as defined.
Execute a custom vibration with one of thevibrations L to Z as defined.
Wait a defined time (usually until the parts
are stabilised).

Synchronisation mode

The first block of the process (the first two lines) correspond to the vibrations of the hopper.
The second block (the subsequent lines) correspond to platform vibrations. It is possible to000.100.533

30/75

© Copyright Asyril S.A.
Creation and configuration of a new recipe

Version: C3

synchronize these blocks so that the hopper and the platform start to vibrate at the same time(in order to save time) by activating the synchronisation option, as shown in the figure below.

Figure 4-4-3: Effect of synchronisation mode on the cycle time

4.1.3. Configuring the process for two components and two hoppers
If using two components (and therefore two models, with one type of component per hopper),the process must be configured so that the two hoppers vibrate depending on the number of
each component model remaining on the platform.

To do this, Asyril has provided an easy tuning system. Simply adjust this in the same manner
as for a single hopper. In this simple case, the objective is always for the duration of the hopper
vibration to enable the platform to be filled with the number of parts required on the platform(100 parts in the example shown above).

Let's take an example:▪

Number of parts required on the platform: 100▪

Required distribution between the parts: 50 A parts and 50 B parts▪

Vibration duration to feed 100 A parts: 2000 ms▪

Vibration duration to feed 100 B parts: 1000 ms

If the platform contains ten parts (five A parts and five B parts), the system will calculate that
45 A parts and 45 B parts are missing and the vibration therefore must last 900 ms for hopper
1

(T=

2000
100

× 45) and 450 ms (T=

1000
100

× 45) for hopper 2.

If the platform contains 60 parts (30 A parts and 30 B parts), the system will calculate that thevibration will last 400 ms (T=

2000
100

× 20) for hopper 1 and 200 ms (T=

1000
100

× 20) for hopper2.

If the platform contains 60 parts (20 A parts and 40 B parts), the system will calculate that thevibration will last 600 ms (T=

2000
100

× 30) for hopper 1 and 100 ms (T=

1000
100

× 10) for hopper

2.

000.100.533

31/75

© Copyright Asyril S.A.
Creation and configuration of a new recipe

Version: C3

The duration will always be automatically adjusted according to the following formula:T𝑇𝑖𝑚𝑒 𝑡𝑜 ℎ𝑎𝑣𝑒 𝑡ℎ𝑒 max 𝑝𝑎𝑟𝑡𝑠 𝑜𝑓 𝑡ℎ𝑒 𝑠𝑒𝑙𝑒𝑐𝑡𝑒𝑑 𝑡𝑦𝑝𝑒𝑚𝑎𝑥 number 𝑜𝑓 𝑟𝑒𝑞𝑢𝑖𝑟𝑒𝑑 𝑝𝑎𝑟𝑡𝑠 𝑜𝑛 𝑡ℎ𝑒 𝑝𝑙𝑎𝑡𝑓𝑜𝑟𝑚× (𝑚𝑎𝑥 number 𝑜𝑓 𝑝𝑎𝑟𝑡𝑠 𝑟𝑒𝑞𝑢𝑖𝑟𝑒𝑑 𝑜𝑛 𝑡ℎ𝑒 𝑝𝑙𝑎𝑡𝑓𝑜𝑟𝑚2− 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑝𝑎𝑟𝑡𝑠 𝑜𝑓 𝑡ℎ𝑒 𝑠𝑎𝑚𝑒 𝑡𝑦𝑝𝑒)

Important: This formula only applies if a 50/50 distribution between the parts is required

NOTE:
If the application requires twice as many A parts as B parts (in other words, a distribution of
approximately 66 A parts to 33 B parts), simply set the vibration durations out of balance. Let's
return to the previous example: To feed 66 A parts onto the platform when starting from zero,vibrations should be last T=
last T=

1000
100

2000
100

× 66 = 1320 ms and to feed 33 B parts, vibrations should

× 33 = 330 ms. To take into account the fact that both parts are on the platform

at the same time, these values must be doubled in order to calculate the right vibration duration
i.e. 2640 ms for hopper 1 and 660 ms for hopper 2.
To view the method for selecting which hopper to use, please refer to chapter 5.6.

000.100.533

32/75

© Copyright Asyril S.A.
Creation and configuration of a new recipe

4.2.

Version: C3

Configuration of the vision system

Step 1

Click on the "vision" button.

Step 2

Click on the "teaching" tab.

Step 3

Select the model to be used. The "new ..." choice allows you to create a new model.

Step 4aTo create a new model, click on the "+" button. The teaching window opens on the screen
after a few moments.

Step 4b

To edit the existing selected model, click on the "edit" button (pencil). This will open theteaching window.

Step 4c

To delete the selected model, click on the "x" button.
NOTE:
When opening "teaching" (creation or modification), the AsyView status will change to"teaching" in the banner screen. Wait until the status has actually changed to "teaching"
before moving onto the next step. The "teaching" window will be open at this stage.

Figure 4-4: Starting the vision model configuration

Figure 4-5: Opening the "teaching" window

4.2.1. Selection of the vision analysis typeThe vision processing tools are pre-configured to make the configuration and production
processes quicker, easier and more reliable.
000.100.533

33/75

© Copyright Asyril S.A.
Creation and configuration of a new recipe

Version: C3

A vision recipe is created in 5 main steps as explained in 6.3

Figure 4-6: 5 main steps for creating a vision recipe

Step

Objective

Important points

1. Imageacquisition

To obtain the best
image possible-

2. Pre-localization

To quickly locate all
good candidates-

3A. Detection of
the model

To detect correctly
oriented components-

Favour images which have a good contrast
between the components and the background
Make the details needed to differentiate thecomponents visible
It is possible to acquire multiple images withdifferent lighting and exposure times
An image with a good contrast enables better
Pre-localization
Filtering the good candidates reduces the total
calculation time
Definition of the picking point
It is possible to perform a second detection todifferentiate the components
It is possible to perform the detection(s) on
different images
The size and shape of the exclusion zone canbe adjusted according to the gripper

3B. Exclusionzone

To avoid collisions
during picking-

4. Feeding
information

To determine thenumber of components
remaining after picking
and their average
position on the Asycube
To display the results.
To save parameters ina recipe-

The approximation of the remaining number ofcomponents is used to optimise feeding and thevibration sequence-

To obtain the precise coordinates of at least 1
correctly oriented component as quickly as
possible.

5. Results andsavingTable 4-1: Purpose and content of the steps for configuring a vision recipe

4.2.2. Configuring the illumination parameters
Set the type of lighting, exposure time and number of images.
Step 5This tab is used to test the images acquired.

000.100.533

34/75

© Copyright Asyril S.A.
Creation and configuration of a new recipe

Version: C3

Figure 4-7: illumination parameter on the HMI
The parameters available on the timesets are used to configure the image acquisition process:o

exposure time [ms]: actual acquisition time of the camera for taking the pictureoillumination time [ms]: period during which the illumination is activatedoillumination offset [ms]: period of illumination prior to taking the pictureowaiting period [ms]: minimum time between two image acquisitionsointensity of back-lighting [0 or 100%]ointensity of front-lighting [0 to 100%]

Illumination time

Illumination offset

Exposure time
0

10

20

30

40

50

60

70

Time [ms]Figure 4-8: Definition of exposure time and duration of illumination

The illumination time must be longer than the exposure time. In order to ensure that the lighting(DOAL or back-lighting) is at full power when the photo is taken, it is necessary to delay theimage acquisition by using the illumination offset function and to switch off the lighting one totwo milliseconds after the image acquisition is completed. Figure 4-8. illustrates the
management of these times.

000.100.533

35/75

© Copyright Asyril S.A.
Creation and configuration of a new recipe

Version: C3

NOTE:
In general, it is sufficient to modify only the duration of exposure and the intensity of theillumination. The other parameters are then automatically adjusted to optimise the sequence.
For more advanced configuration, however, it is still possible to manually set all the parameters.

The HMI makes it possible to add or delete an image acquisition and to test the entire
acquisition and illumination sequence. The displayed image is available by clicking on thecorresponding duration setting or by using the arrows and the selector in the image
management area.

IMPORTANT NOTE 1:
In the location process on an Asycube:•

The first timeset (and therefore the first image acquired) is always used for the Prelocalization operation. This acquisition is done with back-lighting in 99% of cases.

•

In general, the second timeset (and therefore the second image) is usuallyconfigured with front-lighting, but can also be done with back-lighting (or both).

IMPORTANT NOTE 2:
Visually check that the images acquired are correct because the entire vision model will bebased on these images!

000.100.533

36/75

© Copyright Asyril S.A.
Creation and configuration of a new recipe

4.3.

Version: C3

Programming the vision model
Change to programming the vision model via the "teaching" window. Click on the "↔" button

Step 6in the HMI window to access the teaching window. This is only valid when the HMI is activeon the same PC as AsyView.

See section 4.3 Programming the vision model" for information on the different parameters
and options available in the "teaching" window.

IMPORTANT NOTE:
Click on the "Run"button at the top left to run image acquisition and full analysis of themodel.
This action must be performed at least once when programming a new recipe to allow correct
allocation of images to the different tools.

Figure 4-9: Vision teaching window

000.100.533

37/75

© Copyright Asyril S.A.
Programming the vision model

Version: C3

5.

Programming the vision model

5.1.

Overview
Click on create ("+" button) or edit ("pencil" button) in the HMI teaching tab to open the following
window:

Figure 5-5-1: General overview of the AsyView Teaching window
Ref.

Designation

Description(A)

1st level of tabs

Each tab corresponds to a specific tool:- Pre-localization.
- Model finder- Empty Picking Zone (growing and region)- Location Results- Feeding information(B)

2nd level of tabs

This series of tabs includes a "+" tab which allows you to add a tool andconsequently to apply several models to detect valid parts (for example
when it is necessary to detect different parts as valid parts). In this case,the system adds the results of each detection and ensures that the same
position is not detected twice (only with a Pre-localization).

(C)

3rd level of tabs

The content of these tabs will be described in the following sections(D)

Buttons
associated withthe 3rd level oftabs.

The main buttons used include:(E)

4th level of tabs

Clicking on the tabs will display the specific content in zone (F).

(F)

Zone specific toeach tab

The content of this zone will be described in detail in the following
sections(G)

Image selector

Use this tab to select the image you want to display (original image,reference image, with result markers, etc.)

(H)

Image

This screen displays the image chosen in the selector (G)000.100.533-"Run the tool""Run the tool on each parameter edit"38/75

© Copyright Asyril S.A.
Programming the vision model

Version: C3

5.1.1. Tips and shortcuts

Figure 5-2: Tips and shortcuts
Right-click on the 2nd level of tabs (B) to access various functionalities:-

Activation and deactivation of a tool:o

The tool is kept in memory but can be deactivated, e.g. for testing purposes.

oNote that the system operates correctly providing there is at least one detection
model (Model Finder) and one Feeding Information tool.

-

Deletion of a tool:oThis deletion is final, there is no way to reload the deleted tool (unless you havepreviously saved a recipe)oNote that the system operates correctly providing there is at least one detection
model (Model Finder) and one Feeding Information tool.

-

Copy From/To:oAllows parameters to be imported from a previously configured tool or exported
to a specified target.

o-Note that this function is only available in the model being configured.

Image selectionoAllows you to select the image to use for each tool in the model.

oNote that Pre-localization is always applied to the first image, usually with backlighting on.

The "Run" button

at the top left acquires the image and runs a full analysis of the modelwith the edited parameters and the correct durations for image acquisition.
NOTE:
The "Run" buttonmust be activated at least once during the edit or creation of a recipe toacquire images with the correct acquisition durations.

5.2.

Pre-localization
5.2.1. Overview
The Pre-localization tool searches for groups of pixels (blobs) in the image which have a higher
grey level (or a lower grey level, if required) at a certain defined level. These groups (blobs)
can be filtered according to their geometric characteristics, mainly according to their surface.

000.100.533

39/75

© Copyright Asyril S.A.
Programming the vision model

Version: C3

This first step makes it possible to quickly locate all candidates for picking on the surface of the
Asycube. To configure this tool, it is necessary to select the surface of the parts (in pixels or
mm2 according to the calibration used) together with a threshold value used to convert eachportion of the image into black or white according to its grey level.

5.2.2. Configuring the tool: "Model" tabStep 0

Click on the "Pre-localization" tab, then on "Model" and finally on "Settings".

Figure 5-5-3: "Pre-localization" tool, 01\Model\Settings
Step 1

Choose "Hard Threshold (fixed)".

Step 2Choose the polarity of your parts (black on white background or vice versa).
a- In the image selector, choose Current.Histogramb- Depending on the histogram, change the threshold value for the number of pixels

Step 3

according to the grey level as shown in Figure 5-5-3.
Click on the
Step 4

button to run the tool and observe the zone detected by selecting"LastRun.InputImage" in the image selector. Modify the threshold value if necessary and run
again if necessary.
IMPORTANT NOTE:
The threshold represents the limit between a part and the background in the greyscale
range (1 to 255). Depending on the illumination chosen for the 1st image, the polarity might
be inverted if the parts are light on a dark background.

000.100.533

40/75

© Copyright Asyril S.A.
Programming the vision model

5.2.2.1.

Version: C3

Picking zone

It is also possible to reduce the surface area for the zone in which you want to find components.
Step 5
Step 6

Click on the Region tab to display the screen below:
Select "cog rectangle" to draw a rectangle, or extend the search to the entire image by
selecting "None – Use Entire Image".

Figure 5-5-4: "Pre-localization" tool, 01\Model\Region

000.100.533

41/75

© Copyright Asyril S.A.
Programming the vision model

5.2.2.2.
Step 7

Version: C3

Filtering the results

Click on the Measurements tab to display the screen below:

Figure 5-5-5: "Pre-localization" tool, 01\Model\Measurements
Configure the "Area" property:
a- Choose "Filter" as the measurement type and "Include" as the value range.
Step 8b- At this stage of the configuration process, we do not know the surface area of theparts in pixels, therefore choose a fairly wide variation range (e.g. 10 to 10,000).
We will narrow this variation range later.
Configure the "Connectivity" property:

Step 9Choose "Filter" as the measurement type and "Exclude" as the value range.
IMPORTANT NOTE:
The value range must be set to "include 0-0" if you want to detect the hole in a part.
The value range must be set to "include 1-1" if you want to detect the external contour of apart.
Step 10
Step 11

Step 12

If necessary, click on the "Add new" button
Click on the

button to run the tool.

5.2.2.3.

Analysing the results

to add and configure a new property.

Click on the Results tab to display the screen below:

000.100.533

42/75

© Copyright Asyril S.A.
Programming the vision model

Version: C3

Blob too small

Blob too big

Figure 5-5-6: "Pre-localization" tool, 01\Model\Results
Step 13

Select "LastRun.InputImage" in the image selector
The table displayed on this tab lists the parts found, the associated surface area and theconnectivity.

Step 14

Examine the surface area of each component found and determine the smallest andlargest surface area, for which one (and only one) component is found as shown in the
figure below:
NOTE:
When you select a line in the table, the corresponding blob is displayed in blue in the
LastRun image and vice versa.

Blob surface

Blob surface

area too large

area toosmall

Blob size
correct
Figure 5-5-7: Definition of the acceptable surface area range
Step 15
Step 16

Return to the Measurement tab
Modify the acceptable surface area range based on the observations made in step 14,
then run the tool again.

000.100.533

43/75

© Copyright Asyril S.A.
Programming the vision model

Version: C3

Check that all the blobs surround one part only. If not, adjust the surface area again.

Blob not detected:OK

Figure 5-5-8: "Pre-localization" tool, 01\Model\Measurements
NOTE:
It may also be necessary to adjust the threshold value by changing the value selected instep 3.

000.100.533

44/75

© Copyright Asyril S.A.
Programming the vision model

Version: C3

5.2.3. Configuring the tool: "Bounding Box" tabStep 17

Click on the Bounding Box tab to display the screen shown below:
NOTE:
Pay particular attention to the configuration of this tab if you have chosen to detect a hole in a part.
In fact, the surrounding rectangle ("Bounding Box") must contain the ENTIRE part!

Figure 5-5-9: "Pre-localization" tool, 01\Bounding Box\Settings
Select a multiplication factor in the scale factor input field to extend the initial bounding box. For
Step 18

non-symmetrical parts, it is possible to unlock the fields and choose different values for eachdirection.
NOTE:
The initial bounding box is defined as the smallest rectangle able to contain the entire blob:
Blob
Bounding box
Enlarged bounding box

Figure 5-5-10: Defining the "Blobs" and "Bounding Box"
Step 19

Check that your "extended bounding box" contains the entire surface area of the partIn the "Mode" setting, "Oriented" means that the bounding box is oriented parallel to the main axis
of inertia of the part. For parts with a complex geometry, it may be preferable not to orient thisStep 20

bounding box. The main effect occurs when calculating the "Empty Picking Zone Region"
exclusion zone (see §5.4.2) for which the optimal situation is obtained when the contour and therectangle are as close as possible.

000.100.533

45/75

© Copyright Asyril S.A.
Programming the vision model

Version: C3

5.2.4. Advanced mode
NOTE:
This section is for advanced users of the vision model configuration using the AsyView
teaching mode. If you are a beginner, go to section 5.3.

5.2.4.1.

Disabling or deleting Pre-localization

It is possible to configure the vision model without Pre-localization but, before doing so, it isnecessary to understand the usefulness of Pre-localization.
In Pre-localization, you use a "blob" tool to search for groups of pixels which could correspondto parts to be detected. By filtering correctly (properly defining the grey level and the surface
area of the part), it is possible to very quickly discard many elements that could be poor
candidates. This tool will bring up a list of credible candidates that will be sent to the following
tool: the "model finder".

The "model finder" will look for a previously programmed model around each candidate foundby Pre-localization, which is very fast because the search is performed within a very small area.
In addition, as soon as the first positive result is found, it is sent to the next tool. It is therefore
very efficient.

Disabling or deleting Pre-localization has the effect of using the "model finder" to search for all
candidates within the whole image (and in all orientations if necessary). This is therefore very
complicated and takes longer, as no results are sent to the next tool until the whole "model
finder" analysis is complete. On the other hand, this allows potential detection of positive results
for candidates which would have been rejected by Pre-localization.

In conclusion, deleting Pre-localization should only be used when computation time is not too
critical and detection with Pre-localization is difficult as, for example, with semi-transparent
parts.
NOTE:
Attention: deleting Pre-localization allows more candidates to be detected but the configuration of
the Empty Picking Zone (EPZ) will be accordingly more complex. A good compromise must
therefore be found between using Pre-localization and having easier and more efficient EPZs, andnot using Pre-localization and having to find a good compromise in the EPZs.
NOTE:
Disabling Pre-localization allows Pre-localization parameters to be saved (i.e. not inadvertently lost).
On the other hand, deleting it means a simpler recipe (in terms of loading, saving and size).

000.100.533

46/75

© Copyright Asyril S.A.
Programming the vision model

5.3.

Version: C3

Model finder
5.3.1. Overview
The "Model Finder" tool is used to program the model for a correct part (contours) that allows
the software to differentiate between correct parts and incorrect parts (especially for front/backdetection). The search is applied to all the candidates defined by the Pre-localization tool. This
tool allows you to match rotated objects of variable size.

5.3.2. "Settings" tabFigure 5-5-11: Settings for the "Model Finder" tool
The Model Finder tool uses Geometrical Feature Detection, optionally followed by a second
control. The latter control may also be based on a geometrical model or on the surface
characteristics. Their use is described inTable 5-1: Model Finder search tool type.
Type

Examples of use

Geometrical featureStandard case: differentiation between front and back and precise
location on the 1st or 2nd image

detection (default)
Geometrical featuredetection & control

Two successive geometrical searches, possibly on different images: onefor location, the other for front/back differentiation.
- Parts where the front and back detail do not allow accurate location-

Parts where the front and back detail is not in the same position on all
the parts

Geometrical featuredetection & surface
check

Geometrical detection followed by a check of the surface characteristics,
possibly on different images:- Detection of the contour for location-

Different surface characteristics between front and backNote that the surfaces to be detected must be repeatable between parts,
allowing for individual imperfections.
Table 5-1: Model Finder search tool type
The picking position must be defined in the tool. By default, it corresponds to the result of thedetection and it is directly specified in the geometric model. However, the precise location anddifferentiation of the front and back of the parts may be carried out on different images.

000.100.533

47/75

© Copyright Asyril S.A.
Programming the vision model

Version: C3

Therefore, the result of the positioning (picking position) is also programmable according to thespecific requirement as indicated in Table 5-2.

Picking position

OutputRemark

Detection

Picking position = Result of

Default

the geometric detection
Control

Picking position = Result of

Not available if "Geometricalthe geometric or surface

Feature Detection" is selected

control
Table 5-2: configuration of the result of the picking position

The picking angle must be defined in the tool. By default, it corresponds to the result of thedetection and it is directly specified in the geometric model. However, the precise location anddifferentiation of the front and back of the parts may be carried out on different images.
Therefore, the result of the positioning (picking angle) is also programmable according to thespecific requirement as indicated in Table 5-3.

Picking position

OutputRemark

Detection

Picking angle = Result of the

Default

geometric detection
Control

Picking angle = Result of the

Not available if "Geometricalgeometric or surface control

Feature Detection" is selected

Table 5-3: configuration of the result of the picking angle

000.100.533

48/75

© Copyright Asyril S.A.
Programming the vision model

Version: C3

5.3.3. Configuring the tool: "Detection" tabStep 0

Click on the Model Finder tab then on the Model tab and finally on the Train parameters tab
to display the screen below:

Figure 5-5-12: "Model Finder" tool, 01\Detection (Model) \Train Params
Step 1

Choose the "patMax & PatQuick" algorithm

Step 2

Click on "Grab Train Image"

Step 3Choose "Current.TrainImage" in the image selector

Step 4

Click on the Train Region and Origins tab to display the screen below:

Figure 5-5-13: "Model Finder" tool, 01\Detection (Model) \Train Region & Origins

000.100.533

49/75

© Copyright Asyril S.A.
Programming the vision model

Version: C3

Step 5Choose the most appropriate shape for your part (circle, rectangle, ellipse…)

Step 6

Adjust the shape to a typical part that you want to recognise as a correct part.
Define the centre and orientation of the part

Step 7

Tip: you can move the system of coordinates manually, but it is more accurate to use the"centre origin" button
NOTE:
Pay particular attention to the definition of the centre of the mark because it is thecoordinates of this point that will be sent to the robot as the picking position.
When the model has been programmed, click on the "train" button in the "train param" tab.

Step 8The image of the model programmed is displayed in the window that was initially blue

Figure 5-5-14: programming the model
Step 9Click on the Run Params tab to display the screen below:
Modify the parameters as follows:a- Algorithm: Best trained
b- Mode: Search image
c- Approx number to find: depends on the number of components to find in thisStep 10image
d- Accept threshold: relatively high (between 0.7 and 0.9)
e- If necessary, change the value of the angle of rotation accepted for thecomponents (compared with the programmed model) and the scale if your"correct" parts are not all exactly the same size.

000.100.533

50/75

© Copyright Asyril S.A.
Programming the vision model

Version: C3

Figure 5-5-15: "Model Finder" tool, 01\Detection (Model) \Run Params

Step 11

Click on the

button to run the tool

Select the "Detection (Advanced)" tab and "LastRun.InputImage.ModelFinder" in the
Step 12

image selector and check that the parts you have identified as "correct" are accepted andthe others rejected. If this is not the case, change the threshold value according to thescore of incorrect parts (displayed in the "Detection (Advanced)" table of results).

000.100.533

51/75

© Copyright Asyril S.A.
Programming the vision model

Version: C3

5.3.4. Configuring the tool: "Detection (advanced)" tabFigure 5-5-16: "Model Finder" tool, 01\Detection (Advanced)
Step 13

Click on the Detection (Advanced) tab to display the screen below:
Rotation: allows you to adjust the angle of rotation given in the result (picking
position/orientation).
-

Ticked (Enabled): the orientation will follow the detected part (only available if thesearch angle is not set to 0 in the Run parameters for the model). It is possible to
add an optional offset.

-

Unticked (Disabled): constant orientation, possibly by adding an offset value.

Score filter:-

Ticked (Enabled): filters the results according to this score (only if this value ishigher than the score defined in the "Detection (Model)/Run Params" parameters).

Step 14-

Unticked (Disabled): sorts the results according to the score defined in the"Detection (Model)/Run Params" parameters (step 10).

Angle filter:-

Ticked (Enabled): filters the results according to these angles (only if these angles
are more restrictive than those defined in the "Detection (Model)/Run Params"
parameters).

-

Unticked (Disabled): sorts the results according to the angles defined in the"Detection (Model)/Run Params" parameters (step 10).

Step 15

Click on the

button to run the tool

NOTE:
In certain cases, the use of the score can be defined with a validity threshold which is not
too high in the "Detection (Model)" tab and then sorted more precisely by that in the"Detection (Advanced)" tab.
000.100.533

52/75

© Copyright Asyril S.A.
Programming the vision model

Version: C3

NOTE:The image provides information on the ID of the corresponding part in the results
information.

5.3.5. Configuring the tool: "ControlSettings" tab
NOTE:This tab is not available with the "Geometrical Feature Detection" option

Figure 5-5-17: "Model Finder" tool, 01\ControlSettings
Step 16

Click on the ControlSettings tab to display the screen below:
Select the detection result you want to define as the reference:

Step 17-

Choose the part you want as a model (ID)-Click SET => the system loads the programmed model, copies the corresponding
region and focuses on the model so that you then need only click on the "Train"
button.

NOTE:With the "Geometrical Feature Detection & Surface Control" option, you must choose thecomponent to be used as a reference before going to the next step.

000.100.533

53/75

© Copyright Asyril S.A.
Programming the vision model

Version: C3

5.3.6. Configuring the tool: "Control (Model)" tab
NOTEThis tab is not available with the "Geometrical Feature Detection" option

5.3.6.1. "Geometrical Feature Detection & Control"
The method is similar to detecting a model (Detection Model) .The objective is to detect thedetails that differentiate a correct part from an incorrect part (front/back for example) and not
the whole part. The "train region" zone must be adapted to the detail to be detected.

5.3.6.2.

Geometrical feature detection & surface check

Figure 5-5-18: "Model Finder" tool, 01\Control (Model) in the case of a "Surface
Control"

IMPORTANT NOTE
It is essential to have first selected the reference part and activated the "SET" button in theControl Settings before adjusting this model.
Step 18

Click on the "Control (Model)" tab to display the screen below:

Step 19

Activate the Train Params tab, then click on Train to program the model

Step 20On the Run Params tab, adjust the parameters:

000.100.533

54/75

© Copyright Asyril S.A.
Programming the vision model-

Version: C3

The validity threshold can be quite high in this case, because it normally
involves the detection of minute differences between the parts-

Angle and scale if necessary-

Type of algorithm if necessary

Click on the

Step 21

button to run the tool

5.3.7. Configuring the tool: "Control (Advanced)" tab
NOTE:This tab is not available with the "Geometrical Feature Detection" option

This step is similar to the "Detection (Advanced)" tab (see § 5.3.4) except that the Rotation
Step 22

option is only available if the picking position is the result of the Control procedure and not
the Detection procedure (see § 5.3.2).

000.100.533

55/75

© Copyright Asyril S.A.
Programming the vision model

Version: C3

5.3.8. Configuring the tool: "Results" tabIn the previous tab, we configured the model to enable the tool to distinguish a correct partfrom an incorrect part. In this tab, we are going to test this model on each of the candidates
selected by the Pre-localization tool.

Figure 5-5-19 "Model Finder" tool, schematic algorithm

The candidates found by the Pre-localization tool are displayed in the "Inputs" tab of the tool inwhich we are currently working: the "model finder". This data can also be checked visually bychoosing "CurrentInput.Image" from the image selector.

000.100.533

56/75

© Copyright Asyril S.A.
Programming the vision model
Step 23

Version: C3

Click on the Results tab to display the screen below:

Figure 5-5-20: "Model Finder" tool, 01\Results\Output

Step 24

Click on the

button to run the tool and obtain the results (this may take some time).

Then click on the Output tab to display the list of results.
Select the relevant image in the image selector and check that the parts you havedefined as "correct" are accepted and the others are rejected. Otherwise, modify the
Step 25

values in the different models.
The colour codes on the bottom of the window indicate the number of parts having
successfully passed the different steps.

000.100.533

57/75

© Copyright Asyril S.A.
Programming the vision model

5.4.

Version: C3

Exclusion zone definition

Name

MethodDefinition of a zone of a certain
thickness all around the part

EPZG
Empty Picking
Zone Growing

Definition of a geometric area centredon the picking point of the parts
EPZR(Empty Picking
Zone Region)

Characteristics- A method well suited to parts with acomplex geometrical shape but for
which a narrow border is sufficient as an
exclusion zone
- Very advantageous where the gripper
tip is small and the part comparatively
large: to be sure the parts are nottouching each other- Very quick for delimiting a few pixels,
but time-consuming for larger borders.
- Can be combined with the EPZR---

The external shape of the exclusionzone can be defined according to thegeometry of the gripper tip, for example.
Different options to optimise theexclusion zone according to thegeometry and variance of the part.
Can be combined with the EPZG

Table 5-4: EPZG and EPZR general description
The exclusion zone tools are applied only to parts previously accepted through model
searching, as shown below:

Figure 5-5-21: "Empty Picking Zone" tools, schematic algorithm000.100.533

58/75

© Copyright Asyril S.A.
Programming the vision model

Version: C3

5.4.1. (Empty Picking Zone Growing) (EPZG)The EPZG tool is used to define an area all around the part in which no other part must be
located. The purpose is to avoid two parts being picked at the same time. The exclusion zone
then corresponds to the enlargement of the contour of the part by adding a border around it.
Accepted

Refused

EPZG
Kernel Size

Figure 5-5-22: Empty Picking Zone Growing (EPZG)NOTE:This type of exclusion zone calculation is very time-consuming. The function is well suited
to parts with a complex geometrical shape but for which a narrow border is sufficient.

Step 0

Click on "Empty Picking Zone" and on "+ Growing" to add an EPZG.
The EPZG tool is configured in a very similar way to the Pre-localization tool. So, to avoid
performing the same step a second time, the first step is to simply copy the Pre-localization

Step 1tool exactly by right-clicking on the "01 – Growing" tab (see Figure 5-5-22).
Click on the

button to run the tool

Set the size of the exclusion zone ("Kernel size") (always an odd value, the maximum
value being 49 pixels).
Step 2
It is necessary to select a size matching the size of the gripper nozzle of the robot, toavoid two parts being picked at the same time by suction, for example.

EPZG
Kernel Size

Figure 5-5-23: Defining the "Kernel size" parameter

000.100.533

59/75

© Copyright Asyril S.A.
Programming the vision model

Version: C3

Figure 5-5-24: "Empty Picking Zone Growing" tab000.100.533

60/75

© Copyright Asyril S.A.
Programming the vision model

Version: C3

5.4.2. Empty Picking Zone Region (EPZR)
5.4.2.1.

Overview

The Empty Picking Zone Region (EPZR) tool is used to define a geometrical zone in which noother part must be present. The aim is to avoid two parts being picked at the same time.
RefusedAccepted

Accepted

RefusedEPZR - Rectangle

EPZR - circle

Figure 5-5-25: Empty Picking Zone Region (EPZR)
Three types of EPZR have been optimised according to the shape of the parts as indicated inTable 5-5.
TYPE

MethodCharacteristics

Searches between 2 defined
shapes (interior and exterior)
Annulus area

• Very fast
• Only available for circular or(Annulus area)

elliptical annulus

Search inside the zone between
Detected region toboundary (default)

the model detection region and a• For simple geometries

defined external shape.

• For parts of variable size
Note: The detection region must

(Detected region to

be as close as possible to theboundary)

contour of the part.
Search inside the zone between
Part contour toboundary

the contour of the part and adefined outer shape• For parts with complex shapes• The slowest method(Part contour toboundary)

Table 5-5: Description of EPZR types

5.4.2.2.

Tool configuration

The configuration is broadly similar for all three types of EPZR:
000.100.533

61/75

© Copyright Asyril S.A.
Programming the vision model

Version: C3

1. Select the type,2. Define the outer boundary of the exclusion zone
3. Configure the exclusion model parameters to detect any element that could bepresent in the exclusion zone.
4. The last tab gives access to the list of results of all candidates from the previous
detection.
All these steps are described below.

Figure 5-5-26: Empty Picking Zone Region tool, 01 - Region\TypeStep 0

Click on "Empty Picking Zone" and on "+ Region" to add an EPZR.
Add a model by clicking on the "+" button. The configuration of the exclusion model isbroadly similar to the Pre-localization tool. So, to avoid performing the same step a second

Step 1

time, the first step is to simply copy the Pre-localization tool exactly by right-clicking on
the "01 – Region " tab.
Click on the

Step 2

button to run the tool

Select the type of EPZR to use (see description of the types in Table 5-5)
If the "Part Contour to Boundary" option was selected, copy the Pre-localization

Step 2B

parameters to the contour model by clicking on the "01" tab. The same set of parameters
can usually be used. Then click on the000.100.533

button to run the tool.

62/75

© Copyright Asyril S.A.
Programming the vision model

Version: C3

Figure 5-5-27: Empty Picking Zone Region tool, 01 - Region\Boundary

Figure 5-5-28: Empty Picking Zone Region tool, 01 - Region\Boundary with the type ofannular zone
Step 3

Select the "Boundary" tab to set the size, shape, and offset of the external line.

Step 4

Select the part ID that can be used as the reference to define the boundary.

Step 5

Select the geometry, size and offset. The shape is drawn around the selected part on theimage.
NOTE:
When the "annular zone" type is selected, the internal and external shapes are defined at
this point (Figure 5-5-28).

000.100.533

63/75

© Copyright Asyril S.A.
Programming the vision model

Version: C3

Figure 5-5-29: Empty Picking Zone Region tool, 01 - Region\Exclusion Model
Select the "Exclusion Model" tab: the detection inside the exclusion zone is always based
Step 6on the same tool as the Pre-localization. Simply adjust the minimum size and threshold forthe elements to be detected (exclusion criteria).

Step 7

Select the "Settings" tab.
Select the threshold or copy the Pre-localization tool to the Exclusion Model by right-clicking

Step 8on the "01" tab.

Step 9The "Min. Area" value defines the minimum size of any element to be detected. Normally,
it can be left as the default value (10) but can be adjusted, for example, in case of a nonuniform background.

Step 10

Select the "Measurements" tabStep 11

Clear all properties or set all filters to "Runtime" (possibly present when the exclusion
model is copied from the Pre-localization model)

000.100.533

64/75

© Copyright Asyril S.A.
Programming the vision model

Version: C3

Figure 5-5-30: Empty Picking Zone Region tool, 01 - Region\Results
Step 12

Select the "Results" tab.
Click onto run the tool and obtain the results (this may take some time)

Choose LastRun.OutputImage in the image selector. Check that the accepted parts are:
Step 13-

Oriented in the right direction (accepted by Model Finder)-

Sufficiently distant from all the other parts (because validated by the EPZR)

If not, modify the values programmed in the previous steps.

000.100.533

65/75

© Copyright Asyril S.A.
Programming the vision model

5.5.

Version: C3

Location results

Figure 5-5-31: Location results tool
Step 1

Click on "Location Results" to display the window shown above:

Step 2

Click on the "Run" button. It is possible to select the image to check.
Check the results in the table, on the image and with the indicators at the bottom:

Step 3-

Numbers of parts (accepted or rejected as the case may be)-

Percentages of parts (accepted or rejected)-

Analysis times, overall and for each tool (approximate)

NOTE:
Hover the mouse over an indicator to display its description.

NOTE:
The time shown does not represent a guaranteed time because it is calculated as part ofthe configuration interface and depends on the performance of the PC at the time theanalysis is run. However, this time may be useful in determining the impact of aconfiguration change on the analysis time.

000.100.533

66/75

© Copyright Asyril S.A.
Programming the vision model

5.6.

Version: C3

Feeding information
The "Feeding Information" tool allows you to obtain the exact number and the position of theparts on the surface of the Asycube, whatever their front/back orientation. This information isthen used to calculate the appropriate vibration sequence (resupply of components, flip toimprove distribution, etc.). The configuration is identical to that of the "Model Finder" but only
performed on the image with back-lighting.

Step 1
Step 2
Step 3

Click on the Feeder information tab
See the section entitled "Configuring the tool: "Detection" tab" page 49 and apply steps 1 to
8.
For Asycubes 240 and 530, select the hopper that contains the part defined in the model.
NOTES•

The objective is to estimate the number of parts on the platform irrespective of theirfront/back orientation. In general, the backlit image should be used for this purpose
to aid detection.

•

If necessary, it is also possible to apply several tools to obtain a better estimate of thenumber of parts - for example when the geometry of the parts varies significantly
depending on their orientation.

•

Where two models (thus two "teachings") are used for the same part (front and back),
it is only necessary to configure the feeding information in one of the models.

Figure 5-5-32: Feeding Information tool, 01\Train Params
Step 4

Step 5Click on the

button to run the tool and obtain the results

Select "LastRun.InputImage" in the image selector and check that ALL the parts have been
detected

000.100.533

67/75

© Copyright Asyril S.A.
End of programming

Version: C3

6.

End of programming

6.1.

Closing the AsyView teaching window

Step 6

Click on the "apply" or "cancel" button

Figure 6-6-1: finalising the configuration of the vision model

IMPORTANT NOTE:
The AsyView status changes to "Configuration - Idle" in the presentation screen (yellow LED).
Wait for the change to take effect (LED changes to green again) before proceeding to the next
step.
IMPORTANT!
Clicking on the "apply" button does NOT save the vision model; you can then test the changes,
but they will be lost if the software is deactivated. For more information about permanently
saving a recipe, refer to section.6.3

000.100.533

68/75

© Copyright Asyril S.A.
End of programming

6.2.

Version: C3

Testing the vision model

Step 1

Click on the "vision" button

Step 2

Click on the "home" tabStep 3

Tick the "display results" box

Step 4Choose the results to display

Step 5Click on "Acquire" to start the process of analysing all the models.

Step 6

Select the results for a particular model.

Step 7Check that the correctly oriented parts are accepted and the others are rejected for theselected model.

Figure 6-6-2: Vision-Home: Testing the vision model
Perform a few vibrations on the Asycube using the shortcut at the top of the HMI and repeat
steps 5, 6 and 7.
Step 8
If the results obtained are satisfactory, you can save the recipe as shown in section 6.3.
Otherwise, modify your recipe by returning to the teaching tab.

000.100.533

69/75

© Copyright Asyril S.A.
End of programming

6.3.

Version: C3

Permanently saving the vision model

Figure 6-6-3: Permanently saving a recipe
Step 1

Click on the "Recipes" button

Step 2

Click on the "AsyView" tabIt is possible to select the type of recipe to save. For example: only the feeding parameters(Step 3)or the whole recipe including all the cameras and feeder systems according to theconfiguration.

(Step 4a)
Step 4

If the description of the recipe is no longer displayed, click on the "select" button(magnifying glass) to select your recipe, then click on "open" (folder)
Click on the "save as" button (floppy disc) to save a new recipe.

To save the vision model only, navigate to the "vision" folder:

Figure 6-4: Saving a vision recipe only
You can then save the model(s) that have already been created but it is not possible
directly change the name (although you are free to choose the name of the folder, the000.100.533

70/75

© Copyright Asyril S.A.
Version: C3
name of the model it contains does not change); this can be done by loading a vision model(the "model name" box).

NOTE:
Ensure that you give your recipe a detailed name in order to be able to find it easily.
IN CASE OF Asyfeed Pocket CELL or MODULE:
The complete recipe (.rec) should be saved in that case, including the ARL process andits parameters. See Asyril_MODULE_ASYFEED_User_Guide_EN for information on the
structure and parameters of the recipe (.rec).

000.100.533

71/75

© Copyright Asyril S.A.
Saving images

7.

Version: C3

Saving images
In the process of adjusting a vision system, it is sometimes useful to be able to view the images
that have been analysed in order to understand what the system has done. To do this, AsyView
offers two options:•

Save the images used for the last analysis performed•

Save the next X images to be analysed

This can be activated from the HMI (see the HMI documentation) or directly by the customer'ssystem via TCP commands.

The section of the HMI for doing this looks like this:Images can be saved in two formats:•

Raw images in BMP format to reuse the images for analysis with vision tools.

•

Less bulky JPEG images with markers on detected parts to show what has been foundor not.

In all cases, the folder for saving can be specified, even if a default folder is automaticallyselected (D:\Asyril\ImageDataBase).

IMPORTANT!
To avoid filling the SSD disk of the PC, a limit of 1000 JPEG images and 100 BMP images isset. When either of these limits is exceeded, the oldest images are automatically erased tofree up space for the image to be saved.
IMPORTANT!
This saving function should not be used on a continuous basis as there is a limit to the amountof data that can be written to SSDs during their lifetime. The limit will be quickly reached withsaving enabled permanently, so the disk will need to be replaced out of warranty.

000.100.533

72/75

© Copyright Asyril S.A.
Technical Support

Version: C3

8.

Technical Support

8.1.

To help us provide the best service...
Before contacting us, please note down the following information concerning your product:

8.2.

-

Serial number and product key for your equipment-

Software version(s) used-

Error message, alarm, or visual signals displayed by the interface.

Contact
You can find extensive information on our website: www.asyril.com
You can also contact our Customer Service department:
http://www.asyril.com/en/asyril/support-en.html

000.100.533

73/75

© Copyright Asyril S.A.
Revision table

Version: C3

Revision table
Rev.

Date

AuthorComment

A

21.08.2012

DaM

Initial Version based on version 1.4 of the AFEED HMI doc

A1

19.11.2012

BoB

Various modifications made since the initial version

B

21.04.2015

DaM

Updated version for the AsyView V3

B1

22.06.2015

DaM

Structure modified and references added to XFEED/Process doc.

B2

25.08.2016

DaM

Updated product names and documentation

C

21.02.2018

HsJ

Update relating to new version AsyView v4

C1

29.03.2018

HsJ

Update for the new PC modelC2

17.07.2019

CoG

Update for AsyView 4.2.0/HMI rc8.0v2.7.2

C3

09.06.2020

ChL

Addition of sections 3.3.1, 3.3.3 and modification of 3.3.2.
Modifications of Figure 3-2 and Figure 4-1.

000.100.533

74/75

© Copyright Asyril S.A.
Version: C3

This document is the exclusive property of Asyril SA; it may not be reproduced, modified orcommunicated, in whole or in part, without our prior written authorisation. For the purposes of productimprovement, Asyril SA reserves the right to modify any information contained in this document without
prior notice.

asyril sa
Z.I. le Vivier 22
ch-1690 villaz-st-pierre
Switzerland
Tel. +41 26 653 71 90
fax +41 26 653 71 91
info@asyril.com
www.asyril.com

75/75