programming manual for 3d sensor uk o3d310 o3d312 o3d314 · this program is free software: you can...

63
Programming manual ifm URCap for 3D sensor O3D300 O3D302 O3D304 O3D310 O3D312 O3D314 80286702 / 00 07/2019 UK

Upload: others

Post on 25-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

Programming manual

ifm URCap for 3D sensor

O3D300 O3D302 O3D304 O3D310 O3D312 O3D314

8028

6702

/ 00

07/2

019

UK

Page 2: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

2

Content1 Preliminary note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

1 .1 Symbols used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41 .2 Safety instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41 .3 Further documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41 .4 Open source information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

2 System requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62 .1 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62 .2 Hardware and accessories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

3 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73 .1 Installation instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73 .2 Wiring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

4 URCap installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84 .1 Installation on CB-Series robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84 .2 Installation on e-Series robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14

5 Connection management with URCap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175 .1 Network configuration on CB-Series robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175 .2 Network configuration on e-Series robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185 .3 Connection handling with the O3D3xx sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19

5 .3 .1 Sensor detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .205 .3 .2 Sensor connection and disconnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .205 .3 .3 Password activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .225 .3 .4 Edit network settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255 .3 .5 Sensor reboot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26

5 .4 Asynchronous error returned by the sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27

6 Robot pick and place application management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286 .1 Application listing and management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286 .2 Edit process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29

6 .2 .1 Application details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .316 .2 .2 Sensor set-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .316 .2 .3 Object definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .326 .2 .4 Reference plane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .336 .2 .5 Working area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .346 .2 .6 Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .356 .2 .7 Test and verify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39

7 Application monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40

8 Picking process programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .418 .1 Detection of the object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .428 .2 Definition of the gripping position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45

8 .2 .1 Orientation of the gripping position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .458 .2 .2 Z coordinate of the robot tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47

8 .3 Additional positions and actions when the object is found . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .478 .4 Variables, functions and logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50

8 .4 .1 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .508 .4 .2 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .528 .4 .3 Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57

9 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .599 .1 Parameters lost after restart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .599 .2 Parameters not be taken into account . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60

10 Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6110 .1 Calibration markers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61

Page 3: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

3

ifm URCap

UK

CopyrightAll trademarks and company names used are subject to the copyright of the respective companies .

Page 4: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

4

1 Preliminary noteThe ifm O3D3xx URCap is the Universal Robots plugin to integrate "Robot Pick and Place" applications of the ifm O3D3xx vision sensor into UR programs . First of all the user is able to configure these applications through an installation node . In the programming node the URCap provides a template with the basic steps to achieve the picking of an object detected by the ifm vision sensor .

The URCap provides the following functionalities:

● Sensor detection

● Network configuration, sensor connection and disconnection

● Robot pick and place application configuration

● Live stream and live object detection

● Easy picking process implementation

1.1 Symbols used

► Instructions> Reaction, result[…] Designation of keys and buttons"…" Name of display text→ Cross-reference

Important note Non-compliance may result in malfunction or interference .Information Supplementary note

1.2 Safety instructionsThis document assumes that the user is familiar with O3D3xx sensors and knows how to handle them . This document assumes as well that the user is familiar with the ifm Vision Assistant .

This document assumes as well that the user is familiar with UR robots and knows how to use and program them . It describes how to use the URCap on both CB3-Series and e-Series robots . In this documentation, screenshots and procedures are differentiated whether the user is programming on a CB3-Series robot or on an e-Series one . If there is no difference, whether the user is programming on a CB3-Series robot or an e-Series one, screenshots and procedures are described using an e-Series robot .

Please read the operating instructions prior to set-up of the device . Ensure that the device is suitable for your application without any restrictions .

If the operating instructions or the technical data are not adhered to, personal injury and/or damage to property can occur .

1.3 Further documents ● Quick reference guide

● Operating instructions

● Software manual

The documents can be downloaded at:

www .ifm .com

Page 5: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

5

ifm URCap

UK

1.4 Open source informationThis product can contain Free Software or Open Source Software from various software developers which is subject to the following licenses: General Public License version 1, version 2 and version 3 (General Public License version 3 in conjunction with the GNU Compiler Collection Runtime Library Exception version 3 .1), Lesser General Public License version 2 .1, Lesser General Public License version 3, Berkeley Software Distribution ("This product includes software developed by the University of California, Berkeley and its contributors"), The Academic Free License version 2 .1 . For the components subject to the General Public License in their respective versions the following applies:

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation . If version 1 applies to the software: either version 1 of the License or (at your option) any later version; if version 2 (or 2 .1) applies to the software: either version 2 (or 2 .1) of the License or (at your option) any later version; if version 3 applies to the software: either version 3 of the License or (at your option) any later version . The following disclaimer of the software developers applies to the software components that are subject to the General Public License or the Lesser General Public License in their respective versions: The Free Software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the GNU General Public License and the GNU Lesser General Public License for more details .

The responsibility of ifm electronic gmbh for ifm products, in the case of product-specific software, remains unaffected by the above disclaimer . Please note that the firmware for the ifm products is in some cases provided free of charge . The price of the ifm products has then to be paid for the respective device itself (hardware) and not for the firmware . For the latest information on the license agreement for your product please visit www .ifm .com

For binaries that are licensed under any version of the GNU General Public License (GPL) or the GNU LGPL you may obtain the complete corresponding source code of the GPL software from us by sending a written request to: opensource@ifm .com or to ifm electronic gmbh Friedrichstraße 1, 45128 Essen, Germany .

We charge €30 for each request . Please write “source for product Y” in the memo line of your payment . Your request should include (i) the name of the covered binary, (ii) the name and the version number of the ifm product, (iii) your name and (iv) your return address .

This offer is valid to anyone in receipt of this information .

This offer is valid for at least three years (from the date you received the GLP/LGPL covered code) .

Page 6: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

6

2 System requirements2.1 Software

● The URCap is exclusively compatible with CB3 .1 and e-Series robots .

● The URCap is exclusively compatible with Polyscope 3 .8 .0 and higher for CB3 .1 robots and 5 .2 .0 and higher for e-Series robots .

● Sensor firmware 1 .23 .2848 or later

2.2 Hardware and accessoriesHardware:

● Sensor of the O3D3xx product family

More information about available accessories is given at www .ifm .com .

Page 7: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

7

ifm URCap

UK

3 InstallationThis chapter summarises how to install the O3D3xx sensor in the robot cell . For more information the user can refer to the Operating instructions provided with the sensor .

The documents can be downloaded at:

www .ifm .com

3.1 Installation instructionsThe sensor can either be mounted on a stationary base independent of the robot arm or directly on the robot arm itself (fixture not provided) . The sensor must be directed toward the working area and the user must ensure that nothing lies between the sensor and the working area, thus preventing the detection of the object to be picked . The operating instructions specify in more detail how to physically install the sensor in the robot cell .

Further information about the electrical connection and the correct pin connection → Quick reference guide or operating instructions.

3.2 WiringThe following diagram summarises the wiring of the sensor . The user must refer to the operating instructions before electrically connecting the sensor .

(1) EthernetM12 socket, D-coded, 4 poles

����������������

� �

��

��� ��

��������

� �

1 TD + 2 RD + 3 TD - 4 RD - S shield

(2) Power supplyM12 connector, A-coded, 8 poles

6

2 1

45

738

1 U+ 2 trigger input 3 GND 4 switching output 1 (digital or analogue) 5 switching output 3 ready 6 switching output 2 (digital) 7 switching input 1 8 switching input 2

Page 8: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

8

4 URCap installationTo install the URCap on the UR robot, the user must copy the URCap file RobotPickAndPlace-[version] .urcap on a USB storage device and insert it in one of the USB ports of the robot . The robot must be turned on . It is not necessary to initialise it .

4.1 Installation on CB-Series robots ► In the main menu, click [Setup Robot] .

► In the Setup Robot menu, click [URCaps] .

Page 9: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

9

ifm URCap

UK

► In the URCaps menu, click the button to add the URCap .

► In the newly displayed window, navigate across the different folders of the robot and look for your mass storage device content . Select the URCap file .

► Click [Restart] to finish the installation process .

> Once the robot has restarted, the URCap is installed on the UR robot . By clicking on the URCap name, it is possible to check all the licensing information related to the URCap .

Page 10: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

10

► In the main menu, click [Program Robot] .

Page 11: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

11

ifm URCap

UK

► Click the [Installation] tab .

► In the list on the left, click the URCap name .

Page 12: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

12

► In the main menu, click [Program Robot] .

► Create a new program by clicking [Empty Program] or load an existing one by clicking [Load Program] .

Page 13: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

13

ifm URCap

UK

► Click the [Structure] tab and then the URCaps tab .

► Click the program node provided by the URCap to use it in the robot program .

Page 14: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

14

4.2 Installation on e-Series robots ► Make the main menu appear by clicking on the button in the upper right corner and click [Settings] .

► Select [System] in the menu located on the left and then URCaps .

► In the URCaps menu, click the button to add the URCap .

Page 15: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

15

ifm URCap

UK

► In the newly displayed window, navigate across the different folders of the robot and look for your mass storage device content . Select the URCap file .

► Click [Restart] to finish the installation process .

> Once the robot has restarted, the URCap is installed on the UR robot . By clicking the URCap name, it is possible to check all the licensing information related to the URCap .

Once the robot has restarted, the URCap provides:

● Installation functionalities, organised into 3 different panels (or tabs):

● Connection management (Settings panel)

● Robot pick and place application configuration (Applications panel)

● Live stream and detection from the sensor (Monitor panel)

These functionalities are available through the [Installation] menu of the UR robot .

Page 16: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

16

► Click the [Installation] tab .

► In the list on the left, click the URCap name .

Program functionalities:

● Configurable template implementing the basic steps to achieve the picking of an object detected by the ifm vision sensor .

● Functions returning specific features of the detected object .

► Click the [Installation] tab .

► In the list on the left, under the URCaps menu, click the program node provided by the URCap to use it in the robot program .

Page 17: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

17

ifm URCap

UK

5 Connection management with URCapThis section explains how to make the O3D3xx sensor and the UR robot communicate with each other . It describes how to configure the network settings of the UR robot, to be compatible with the sensor, and details the functionalities provided by the URCap to manage the connection with the sensor .

To be able to communicate with each other, the O3D3xx sensor and the UR robot must be in the same network range . The network settings of the O3D3xx sensor can be modified thanks to the URCap process, which is described in the following sections .

5.1 Network configuration on CB-Series robots ► In the main menu, click [Setup Robot] .

► In the Setup Robot menu, click [Network] .

Page 18: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

18

► In the [Network] menu, set up the right network configuration of your robot .

> The IP addresses of the sensor and the robot have to be compliant .

► Click the button [Apply] .

5.2 Network configuration on e-Series robots ► Make the main menu appear by clicking the button in the upper right corner and click [Settings] .

Page 19: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

19

ifm URCap

UK

► Select [System] in the menu located on the left and then [Network] .

► In the [Network] menu, set up the right network configuration of your robot .

> The IP addresses of the sensor and the robot have to be compliant .

► Click the button [Apply] .

5.3 Connection handling with the O3D3xx sensorIn the [Installation] menu, the URCap provides a Settings panel to handle the connection between the UR robot and the O3D3xx sensor . The Settings panel is available any time, whether the sensor is connected or not, and as long as a robot program is not running .

Page 20: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

20

5.3.1 Sensor detectionIt is possible to retrieve the list and the network settings of all available sensors on the network by clicking on the [Find Sensors] button . By doing so, the list of available sensors (sensor name and IP address) is displayed in a drop-down menu as well as their network settings (to modify these settings, it is necessary to connect the sensor to the robot) . The user can then select the sensor to which the robot must connect .

5.3.2 Sensor connection and disconnectionOnce a specific sensor is selected in the list of available sensors, it is possible to connect to it by clicking on the [Connect] button . Once the sensor is connected, the current firmware version is displayed and it is then possible to navigate through the other panels and to execute a program implementing a picking process based on the connected sensor .

Page 21: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

21

ifm URCap

UK

It is possible to connect the sensor directly during robot start-up . To do so, the user has to check the checkbox [Connect at startup] and save the current robot installation .

Page 22: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

22

To disconnect the sensor, the user must click the [Disconnect] button .

Ensure that if the [Connect at startup] checkbox is checked and the current robot installation is saved, the connection process is still executed during robot start-up .

5.3.3 Password activationIt is possible to protect the sensor with a password . This password can be set in the ifm Vision Assistant, and only in it . Nevertheless, if the sensor is protected by a password, it is necessary to activate it to use the sensor via the URCap . In other words, if the sensor is protected by a password and if this password is not activated, it is not possible to use the sensor via the URCap .

Page 23: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

23

ifm URCap

UK

If the sensor is protected by a password, the text field to enter is enabled .

Then the user has to type this password in this text field and click the [Activate] button .

Page 24: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

24

If the password is correct, a popup confirmation message is displayed and then it is possible to use the sensor via the URCap . If the password is not correct, a popup message is displayed to warn the user that the process was not successful .

Page 25: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

25

ifm URCap

UK

5.3.4 Edit network settings It is possible to edit and update the network settings of the connected sensor . Once the sensor is connected, the user can edit the network settings by clicking the [Edit] button .

Page 26: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

26

The user can then enter the new network settings . Once the new network settings have been entered, the user has to click the [Update] button to activate the new configuration . During this update process the connection to the sensor is lost . The URCap tries to reconnect to the sensor according to the new network configuration . If the reconnection is not possible, a popup message is displayed to warn the user that the process was not successful .

When editing the current network settings of the connected sensor, it not possible to navigate through the other panels provided by the URCap until the user clicks the [Update] button . It is nevertheless possible to navigate through the other menus provided by the UR robot and this behaviour cannot be prevented . When the user is doing so, a popup message is displayed to warn the user that the new network configuration is not applied .

5.3.5 Sensor rebootIt is possible to reboot the sensor by clicking the [Reboot] button . During this reboot process, the connection to the sensor is lost . The URCap tries to reconnect to the sensor . If the reconnection is not possible, a popup message is displayed to warn the user that the process was not successful .

Page 27: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

27

ifm URCap

UK

5.4 Asynchronous error returned by the sensorOnce the sensor is connected, the URCap starts an internal looping thread, considering the asynchronous errors that may be returned by the sensor at any time . If an error is received by the URCap, a popup message is displayed describing the error . The errors might be:

● Maximum number of connections reached (code = 100000001)

● Internal failure during a D-Bus call (code = 100000002)

● Unspecified internal error (code = 100000003)

● Generic invalid parameter (code = 100000004)

● Invalid command (code = 100000005)

● Application configuration does not allow PCIC trigger (code = 100001000)

● Video mode does not allow PCIC trigger (code = 100001001)

● There is no application configured (code = 100001002)

● Invalid image id in I? command (code = 100001003)

● Invalid pin id in o/O? command (code = 100001004)

● Invalid pin configuration in o/O? command (code = 100001005)

● Invalid conversion type selected (code = 100001006)

● No trigger was run yet (code = 100001007)

● Boot timeout (code = 110001001)

● Fatal software error (code = 110001002)

● Unknown hardware (code = 110001003)

● Trigger overrun (code = 110001006)

● Short circuit on Ready for Trigger (code = 110002000)

● Short circuit on OUT1 (code = 110002001)

● Short circuit on OUT2 (code = 110002002)

● Reverse feeding (code = 110002003)

● Vled overvoltage (code = 110003000)

● Vled undervoltage (code = 110003001)

● Vmod overvoltage (code = 110003002)

● Vmod undervoltage (code = 110003003)

● Mainboard overvoltage (code = 110003004)

● Mainboard undervoltage (code = 110003005)

● Supply overvoltage (code = 110003006)

● Supply undervoltage (code = 110003007)

● VFEMon alarm (code = 110003008)

● PMIC supply alarm (code = 110003009)

● Illumination overtemperature (code = 110004000)

Page 28: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

28

6 Robot pick and place application managementThe URCap allows the user to manage – create, delete, edit, copy, active application setting – robot pick and place applications . This is managed in the [Applications] panel provided by the URCap . The panel is enabled only if the sensor is connected and if a program is not executed on the UR robot .

6.1 Application listing and managementThe main menu of the [Applications] panel displays the list of applications, whether or not these are robot pick and place applications, available on the sensor . This list is displayed on the left side of the panel . Each application is identified by its name . When the user clicks one of the applications, its name and description are displayed on the right side of the panel .

An icon, located on the left of each application name, indicates if:

● the application is supported by the URCap and is available:

● the application is the active one (only one at a time):

● the application is not supported by the URCap (not a robot pick and place application):

If an application is supported by the URCap and it is not the active one, the user can set it as the active one by clicking this icon . If this process is successful, the icon changes accordingly, indicating that the application is now the active one . Only one application can be active at a time .

Page 29: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

29

ifm URCap

UK

If an application is not supported, it is not possible to delete, copy and edit it . It is not possible to set it as the active one .

The panel also implements the different control elements to create, delete, copy and edit robot pick and place applications:

● To create an application, the user needs to click the button . By default, the application is a robot pick and place application and the sensor trigger mode is set to process interface . Once the user clicks the button to create an application, the edit process starts and the user interface for the first step of this process appears .

● To delete a selected application, the user needs to click the button . The application is then deleted and removed from the displayed application list . It is not possible to delete an unsupported application; the user interface control element is then disabled .

● To copy a selected application, the user needs to click the button . The selected application is then copied and the new application is displayed in the application list . It is not possible to copy an unsupported application; the user interface control element is then disabled .

● To edit a selected application, the user needs to click the button to enter the first step of the edit process, or to enter the edit process directly during calibration . The edit process is described in the following section . It is not possible to begin the edit process from the calibration step if the reference plane has not been successfully taught at least once .

6.2 Edit processThe edit process consists of setting the different parameters driving the edited robot pick and place application . These parameters are organised according to 7 steps, implemented accordingly by 7 different user interfaces . The edit process begins when the user clicks on the button , entering the edit process from the [Application Details] step, or , entering the edit process from the [Calibration] step (only possible if the reference plane has been set successfully at least once), implemented in the main menu of the [Applications] panel above the application list . The seven edit steps implemented by the URCap are very similar to the ones implemented by the ifm Vision Assistant .

Each edit step is implemented via a user interface . To navigate through the seven steps of the edit process, each user interface includes a menu located at its bottom . This menu includes:

● a visual indicator to tell the user, which step is currently displayed;

● two or three buttons to navigate through the edit process steps .

The button [Next] activates the following edit step . The button [Previous] activates the previous edit step .

When clicking the [Finish] button, only visible after the last edit process, the user completes the edit process and the edited application becomes the active one .

When clicking the [Quit] button, the user willingly terminates the edit process .

Page 30: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

30

A popup message is displayed to ask the user for confirmation . The current application parameters are saved and the edited application does not become the active one .

If the sensor trigger mode, relatively to the selected application, was different from the process interface, it is automatically modified as soon as the edit process begins, so that it becomes the process interface .

When editing an application, it not possible to navigate through the other panels provided by the URCap, until the user completes or terminates the edit process . It is nevertheless possible to navigate through the other menus provided by the UR robot and this behaviour cannot be prevented . When the user is doing so, a popup message is displayed to warn the user that the edit process is going to be terminated . The current application parameters are saved and the edited application does not become the active one .

Page 31: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

31

ifm URCap

UK

6.2.1 Application detailsThe first step of the edit process allows the user to set the name and the description of the edited application .

6.2.2 Sensor set-upThrough this interface, the user can set the mounting height between the background and the sensor thanks to the drop-down menu . The 4 possible distances are:

● [Up to 0 .5 meters]

● [Up to 2 meters]

● [Up to 5 meters]

● [More than 5 meters]

The user can also apply a noise reduction filter by checking the checkbox . The impact of the filter cannot be seen in the grey scale image shown on the screen .

The interface includes a live stream from the sensor .

Page 32: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

32

6.2.3 Object definitionThrough this interface, the user can set the different parameters, characterising the objects that need to be detected .

First of all, the geometry of the objects can be set through a dropdown menu, as a [Rectangle] geometry, a [Circle] geometry, or an [Ellipse] geometry . For any interfaces provided by the URCap and implementing the visual representation of the detected object, this representation geometry is set accordingly . Thanks to a checkbox, the user can ask the sensor to consider protruding parts .

Secondly, the user can set the number of objects to be detected . Only one object is taken into account at a time by the URCap . In other words, it is not possible through the URCap to consider detected objects other than the first one listed by the sensor .

Page 33: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

33

ifm URCap

UK

Finally, the user can set the object selection strategy that must be implemented by the sensor . Four selection strategies are possible:

● [Closest to center]

● [Biggest object]

● [Highest object]

● [Merge all objects]

6.2.4 Reference planeThe fourth step of the edit process allows the user to set interactively the reference plane that must be taken into account by the sensor during the detection .

Thanks to the live stream displayed on the left side of the interface, the user can set and draw the reference plane by clicking the image as many times as necessary to define it . Each clicked point is displayed as a green circle, except for the last one clicked, which is displayed as a red circle . Two buttons allow the user to either reset the currently set reference plane or to delete the point clicked last, the one represented by a red circle .

Once the user has set the reference plane, the button [Teach] has to be clicked to define the reference plane . The URCap displays the sensor angle computed by the sensor, with respect to the reference plane, as well as a short sentence to describe how successful the teaching process was .

Page 34: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

34

If the teaching process is not executed or is not successful (generally because the sensor angle is greater than 5°), it is not possible to move forward and to complete the application edit process .

6.2.5 Working areaThe fifth step of the edit process allows the user to set interactively the working area, to cover all possible locations of the objects, including tolerances .

Similarly to the reference plane definition, the user can set the working area by clicking as many times as necessary to draw and define it on the image provided by the live stream displayed on the left side of the interface . Each clicked point is displayed as a green circle, except for the last one clicked, which is displayed as a red circle . Two buttons allow the user to either reset the currently set working area or delete the last clicked point, the one represented by a red circle .

Page 35: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

35

ifm URCap

UK

The definition of the working area is only possible if the user has checked the checkbox to enable it .

6.2.6 CalibrationThe calibration process allows to align the sensor frame with the robot base one . In other words, once the calibration process has been properly applied, a robot tool position can be computed from the detected object position returned by the sensor .

Page 36: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

36

To do so, three markers, A, B and C (→ "10 Appendix"), need to be printed and placed in the field of view of the sensor, on the reference plane defined previously during the edit process . Each marker has an origin, which is detected by the sensor . To execute the calibration process, each detected marker origin has to be linked to the robot tool position . In other words, for each marker, the user needs to:

► Select the marker according to its ID (A, B or C) thanks to the dropdown menu provided by the URCap:

Page 37: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

37

ifm URCap

UK

► Physically move the robot tool on top of the marker and teach this position by clicking the [Teach] button:

► Physically move the robot arm outside of the sensor field of view as soon as the three robot tool positions linked to the three calibration markers are taught .

> The live view displayed on the left of the URCap calibration interface must visually display the detected markers;

Page 38: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

38

► Click the [Calibrate] button to execute the calibration process .

> An icon, as well as a short sentence, are displayed to describe how successful the calibration process was . If the three markers are not all taught and visually detected, the calibration process fails .

Ensure that the robot tool position is correctly set relatively to the robot flange . The user needs to refer to the UR robot documentation to do so (TCP definition) .

Page 39: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

39

ifm URCap

UK

From the [Applications] panel, it is possible to enter the edit process from the [Calibration] step by clicking the button, located above the application list . It is nevertheless not possible to do so if the reference plane has not been set successfully at least once .

6.2.7 Test and verifyThe last step of the edit process implements a user interface to check if the object is correctly detected and displays the different features extracted from the detected object . Only one object is taken into account at a time .

The user can place an object in the field of view of the sensor and can check if it is correctly detected thanks to the live view displayed on the left side of the user interface . The visual representation of the object denotes the geometry defined by the user during the edit process .

If an object is detected, some additional information is displayed on the right side of the user interface:

● A visual icon is displayed, indicating if an object is detected or not .

● The dimensions in metres of the detected object are displayed (width, height, length) .

● The position in metres of the detected object, according to the robot base (if the calibration process has been successfully executed), is displayed .

● The rotation of the detected object is displayed in degrees based on its yaw angle and its rotation vector .

Page 40: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

40

7 Application monitoringThe last panel provided by the URCap, the [Monitor] panel, starts the sensor in run/production mode relatively to the current active application, and allows the user to display a live view from the sensor as well as visual information about the detected object if at least one is in the sensor field of view . The panel is enabled only if the sensor is connected . It is the only enabled Installation panel, if a robot program is executed on the UR robot .

The user can place an object in the field of view of the sensor and can check if it is correctly detected thanks to the live view displayed on the left side of the user interface . The visual representation of the object denotes the geometry defined by the user during the edit process .

Additional information is displayed on the right side of the user interface:

● The name of the active application is displayed .

● The trigger mode related to the active application is displayed .

● A status message describing the current status of the sensor run mode execution (and eventually why no image is displayed if it is the case) .

● A visual icon is displayed indicating if an object is detected or not .

● The dimensions in metres of the detected object are displayed (width, height, length) .

● The position in metres of the detected object, according to the robot base (if the calibration process has been successfully executed), is displayed .

● The rotation of the detected object is displayed in degrees based on its yaw angle and its rotation vector .

Page 41: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

41

ifm URCap

UK

8 Picking process programmingThe URCap provides a configurable template to implement the basic steps to achieve the picking of an object detected by the ifm vision sensor . This template is created in the robot program as soon as the user clicks the program node [ifm O3D3xx pick] provided by the URCap .

The template includes originally four nodes:

● ifm O3D3xx pick: this is the root node, which does not execute any process but under which the other nodes implemented by the URCap are organised .

● [Detection]: the Detection node triggers the sensor and object detection .

● [Object Found]: all the nodes located under the folder called Object Found are executed only if an object has been detected by the sensor .

● [Pick Pose]: the Pick Pose node makes the robot tool move to the position returned by the sensor if an object to be picked has been detected .

Several additional cases and positions can be added to the program thanks to the URCap:

● Through the [Detection] node, it is possible to consider the cases where an object has not been found or where an error has occurred during the detection process .

● Through the [Object Found] node, it is possible to add several positions and actions before and after the gripping position:

● An [Approach] pose before the pick position, so that the robot enters the working area before picking an object;

● An [Offset Pose], before and after the gripping position, equal to the gripping position where a vertical offset value has been added;

● Two [Tool action] folders before and after the gripping position, to which the user can add specific commands (not provided by the URCap) to get the robot tool ready to pick the object and then pick it;

● An [Exit] pose after the pick position, so that the robot leaves the working area after picking an object .

Page 42: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

42

The part of program implements the basic steps of a picking process and its structure is not blocked . In other words, any additional commands can be added to the picking process structure, nodes can be deleted, moved, and so on . Additionally, the URCap provides functions accessible at any time to get the different information and features extracted from the last successful object detection . These functions can be used, for instance, to drive the picking process according to one specific feature of the detected object (typically its dimensions) .

Once the robot program has been implemented, it can be executed . During this execution, the only available [Installation] panel is the [Monitor] one .

8.1 Detection of the objectThe detection of an object is triggered by the [Detection] node . This node allows the user to select the application with which the picking process must be solved (not necessarily the active one) .

Page 43: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

43

ifm URCap

UK

All available robot pick and place applications are listed thanks to a dropdown menu, from which the picking process application can be selected by the user .

Initially, the picking process considers only the case, where an object has been detected by the sensor . Through the [Detection] node, it is possible to add two additional folders considering the cases where the object has not been found and where an error occurred during the detection process, thanks to two checkboxes .

Page 44: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

44

By checking/unchecking a checkbox, a folder is added to/removed from the program structure [Object Not Found] / [Error] node . Once a folder is added to the program, the user can add in it any kind of commands that are executed only if the case implemented by the folder is verified (object not found or error) . The deactivation of a case through the URCap, when unchecking the related checkbox, removes not only the related folder but also the included commands .

Page 45: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

45

ifm URCap

UK

8.2 Definition of the gripping positionThe [Pick Pose] node gives the user the possibility to define how the robot must grip the object, taking into account the orientation of the object as well as its height and its coordinates .

8.2.1 Orientation of the gripping positionThrough the [Pick Pose] node, the user can define the gripping position the robot must take to pick a detected object according to the following principle:

● An object must be placed in the field of view of the sensor as a reference object .

● The user must first trigger the object detection thanks to the URCap, defining a reference yaw angle from the sensor point of view . The URCap provides a button to trigger the detection of the reference object . The image captured by the sensor and, if the detection has been successful, the detection results are displayed in the node interface .

Page 46: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

46

● Then, without moving the reference object, the user must move the robot and the robot tool to simulate the picking of the reference object . Through the URCap, this gripping position can be taught thus defining a reference yaw angle from the robot point of view . The URCap provides the button [Teach] to teach the gripping position .

● The difference between the yaw angle of the reference object from the sensor point of view and the one from the robot point of view is then computed . This computation is done internally .

● When the program is executed and an object is detected, the yaw angle that the robot tool must take is then computed from the yaw angle computed by the sensor and the reference yaw angle difference computed by the URCap, adapting thus the tool orientation whatever the orientation of the detected object is .

In specific cases, the orientation of the gripping position is not necessary, for instance if the tool is a round suction cup . In these cases, the user can check the [No orientation] checkbox . No tool orientation will be computed when the program is executed . The pick position teaching is nevertheless the same as the one described above .

Page 47: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

47

ifm URCap

UK

8.2.2 Z coordinate of the robot toolThe definition of the gripping position implemented by the URCap also allows to teach the robot how much it must go “down” to pick the detected object, relatively to the Z coordinate of the latter .

The object detection implemented by the sensor returns the position (X, Y, Z) of the object . The Z coordinate of this position is related to the top of the object, facing the sensor . The robot gripping position Z coordinate is generally equal to this detected object Z coordinate, to which a small offset value is added .

When a program is executed, the Z coordinate that the robot tool must take is then computed as the Z coordinate of the object returned by the sensor, to which this small offset value defined by the gripping position setting is added . This process is totally invisible from the user point of view .

8.3 Additional positions and actions when the object is foundTo make the picking behaviour of the robot smoother, as well as to guide the user into implementing the picking process, the [Object Found] node provides several checkboxes to include additional positions and actions in the program structure when an object has been detected by the user .

The checkbox [Add “Approach” pose] adds/removes a standard UR move node . The new node is called [Approach] and is followed by the [Pick Pose] . This [Approach] pose can be, for instance, the one that the robot must take when entering the working area .

Page 48: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

48

The checkbox [Add “Offset” pose] adds/removes two Offset nodes, one before and one after the pick position . These nodes make the robot move on the surface of the detected object . The position that the robot takes then is computed from the pick position computed by the URCap and from a specific offset value set by the user, indicating how far above (in millimetres) the robot must move on the surface of the detected object . This [Offset Pose] can be adjusted by the user thanks to the text field implemented by each offset node . One offset node can have a different offset value than the other one .

Page 49: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

49

ifm URCap

UK

The checkbox [Add “Tool Action” folder] adds/removes two standard folders, called [Tool action], just before and after the pick position . The user can then add the commands to get the tool ready to pick the object before the pick position and to pick the object after the pick position . The goal of such folders is only to guide the user into implementing the picking process . These folders, if empty, do not implement any kind of process .

The checkbox [Add “Exit” pose] adds/removes a standard UR [Move] node, called [Exit], after the pick pose . This [Exit] pose can be, for instance, the one that the robot must take when leaving the working area .

Page 50: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

50

8.4 Variables, functions and logs

8.4.1 VariablesThe execution of the program nodes implemented by the URCap assigns 3 global variables that can be used in the robot program to drive the picking process:

● ifm_picking_pose: the final picking position, according to the UR position format, computed by the URCap .

● ifm_pp_status: an integer value describing the picking process status based on a specific value This variable can take the following values:

● =1: idle state . All processes are successful and an object has been detected .

● =60: object not found . No object has been detected by the sensor .

● =61: timestamp not valid . The timestamp of the acquired data is not valid .

● =62: timeout when retrieving the sensor outputs . A timeout occurred when the URCap tried to retrieve the sensor outputs, after the object detection .

● =100: bad process initialization . The initialisation of the module to communicate with the sensor failed .

● =105: no application at this index . There is a mismatch between the selected application and its index on the sensor .

● =106: the application index is out of range . The selected application index is out of range .

● =107: the sensor is not in run mode . The sensor is in the edit mode .

● =108: failed to set the selected application as active . An error occurred when trying to set the selected application as active .

● =9999: unknown state . An unknown error occurred .

● ifm_pp_status_msg: this variable gives a textual description of the status value given by the variable ifm_pp_status .

These global variables are initialised and set by the robot program at execution time . Therefore, these variables are visible only if a robot program is currently executed or if the program has been executed at least once . They can be used by the user in the picking process .

Page 51: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

51

ifm URCap

UK

It is possible to check these variables through the [Variables] tab implemented by the UR interface .

On CB-Series robots:

On e-Series robots:

Page 52: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

52

8.4.2 FunctionsIt is possible to access and use the detection results at any time in the robot program thanks to several functions provided by the URCap:

● getO3D3xxError(): returns the detection error (=0: no error; =1: undefined error; =2: no object found) .

● getO3D3xxNbOfObjects(): returns the number of detected objects .

● getO3D3xxNbOfCandidates(): returns the number of detected object candidates that have been inspected .

● getO3D3xxObjectFound(): returns a flag indicating that an object has been found or not .

● getO3D3xxWidth(): returns the measured width of the detected object .

● getO3D3xxHeight(): returns the measured height of the detected object .

● getO3D3xxLength(): returns the measured length of the detected object .

● getO3D3xxX(): returns the X coordinate of the detected object position .

● getO3D3xxY(): returns the Y coordinate of the detected object position .

● getO3D3xxZ(): returns the Z coordinate of the detected object position .

● getO3D3xxYaw(): returns the yaw angle of the detected object .

● getO3D3xxRotX(): returns the X coordinate of the detected object rotation vector .

● getO3D3xxRotY(): returns the Y coordinate of the detected object rotation vector .

● getO3D3xxRotZ(): returns the Z coordinate of the detected object rotation vector .

These different outputs are all set and returned by the sensor itself . There is no link with the internal URCap processes .

To use these functions and retrieve the different results they return, the user must first create a variable in the robot program and assign the value returned by one of the functions to it .

On CB-Series robots:

► Add an Assignment node to the robot program .

Page 53: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

53

ifm URCap

UK

► Rename the variable if needed and open the menu related to the "Expression" text field .

> A virtual keyboard appears .

► Open the list of available functions and select the function among the functions provided by the URCap from which you want the returned value .

Page 54: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

54

> The variable assigned to the function provided by the URCap can now be used in the robot program to drive the picking process .

Page 55: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

55

ifm URCap

UK

On e-Series robots:

► Add an [Assignment] node to the robot program .

► Rename the variable if needed and open the menu related to the "Expression" text field .

Page 56: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

56

> A virtual keyboard appears .

► Open the list of available functions and select the function among the functions provided by the URCap from which you want the returned value .

Page 57: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

57

ifm URCap

UK

> The variable assigned to the function provided by the URCap can now be used in the robot program to drive the picking process .

8.4.3 LogsThe execution of the robot program generates several logs that the user can check at any time . These logs indicate, among other information, which application is used to implement the picking process, the result of the detection triggering, the coordinates of the detected object, the errors that may occur, and so on . These logs can be checked through a tab .

On CB-Series robots:

Page 58: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

58

On e-Series robots:

Page 59: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

59

ifm URCap

UK

9 Troubleshooting9.1 Parameters lost after restartThe different parameters set at the [Installation] tab level (auto reconnect checkbox, IP address etc .) are not persistent when restarting the UR robot .

In the [Installation] tab, the different information specified by the user is not automatically saved and retrieved from one robot start to another . After having modified some features when setting up the URCap, the user must manually save the current robot installation, in the default file or in a user-specific file . To do so, in the Installation tab, the user must click the [Load/Save] menu at the bottom of the list displayed on the left of the controller . The current installation can then be saved by clicking either on the Save button (default installation file) or on the [Save As…] button (user-specific file) . Thus, the current configuration of the robot is then reloaded when starting the UR robot again .

On CB-Series robots:

On e-Series robots:

Page 60: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

60

9.2 Parameters not be taken into accountTo modify one parameter through a text field, the user must click this text field thus displaying a virtual keyboard . The user must then enter the new value using this keyboard and click the [Submit] button (if the user does not click this button, the new value is not recorded) .

Page 61: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

61

ifm URCap

UK

10 Appendix10.1 Calibration markersThe following markers are related to the calibration process and must be printed to properly execute it .

Marker A

Page 62: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

ifm URCap

62

Marker B

Page 63: Programming manual for 3D sensor UK O3D310 O3D312 O3D314 · This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License

63

ifm URCap

UK

Marker C