Difference between revisions of "Bin Picking Tutorial: Introduction to Robot Interfaces"

From 3D scanning Knowledge base - Photoneo wiki
Jump to: navigation, search
(Created page with "The main goal of this tutorial is to explain general principles of interfacing Photoneo Bin Picking System with industrial manipulators. '''It is highly recommended to read...")
 
Line 1: Line 1:
The main goal of this tutorial is to explain general principles of interfacing Photoneo Bin Picking System with industrial manipulators.  
+
The main goal of this tutorial is to provide general introduction for interfacing Photoneo Bin Picking System with industrial manipulators.  
  
 
'''It is highly recommended to read this tutorial before proceeding to particular robot interface installation !!! '''
 
'''It is highly recommended to read this tutorial before proceeding to particular robot interface installation !!! '''
Line 5: Line 5:
 
== General principles: ==
 
== General principles: ==
  
Photoneo Bin Picking System is compatible with industrial manipulators of various robotic robotic vendors. Each robotic implementation is different, however several high level principles exist, that are common for all of them:
+
Photoneo Bin Picking System is compatible with industrial manipulators of various robotic robotic vendors. Each robotic implementation is different, however five high-level principles are common for all of them:
  
=== 1. Full Operator Control ===
+
=== 1. State server + Bin Picking Client ===
  
Photoneo BP Robot Interface does not take over the control of the robot. The main goal of Photoneo BP interface is to feed the robot controller by the sequence of trajectories and gripper commands calculated according to the results of localization. It is the Programmer/Operator who decides when to perform scanning and picking operation by calling particular jobs/routines/program provided by robot interface. It is the Programmer/Ooperator who selects the speed of motion execution and implements the gripper commands with respect to the particular application. It is the Programmer/Operator and pendant who is in charge. Photoneo BP robot interface always enables Programmer/Operator to track the robot program execution directly on the pendant. Motion is never performed in background tasks and out of the Programmer/Operator control.  
+
Robot Interface of Photoneo Bin Picking System always consists of two processes - '''State Server''' + '''Bin Picking Client'''. Both processes needs to run in parallel on the target control robot controller. State Server reports current joint and tool pose coordinates and usually runs in background, while Bin Picking Client is responsible for the request/response transfers between Vision and Robot controller and resulting motion executions.  
  
=== 2. Easy to Integrate ===
+
=== 2. TCP/IP protocol ===
  
Robot Interfaces for Photoneo Bin Picking solution were developed to be easily integrated into existing robotic applications. From robot programming point of view, Photoneo BP interface is just a set of jobs/routines/pograms that are available for the programmer/operator to be called when bin picking operation is about to be executed. For example when a next object needs to be picked, operator just calls a job/routine/program usually named Request_Trajectory. Robot interface transmits this request to the Vision Controller, Vision Controller performs requested action (Scan & Motion Planning)  and the result (set of trajectories and gripper commands) is transmitted back to the robot controller. Operator is notified by some register or flag that new motion data are available and it is up to him when he decides to perform the bin picking movement. This is done by calling another job/routine/program usually named Execute_Trajectory.  
+
TCP/IP is utilized for communication between Photoneo Vision Controller and particular Robot controller. It is usually possible to configure additional industrial fieldbus for basic robot control (ON/OFF, robot program selection, safety purposes etc.), however replacing TCP/IP communication between Robot controller and Photoneo Vision controller by other industrial fieldbus is currently not supported.
  
=== 3. Trajectory validation ===
+
=== 3. Full Operator Control ===
  
Bin picking procedure is mostly composed of four trajectories (approach, grasp, deapproach and end). Each trajectory consists of several waypoints (usually 10-100) defined as joint positions that robot is trying to reach during the movement. Photoneo BP system leverages downloading approach (in contrast to streaming one) meaning that each trajectory is downloaded and validated by the robot controller before its execution. Additional level of safety is implemented in order to guarantee that the trajectory that is about to be executed does not contain data corrupted during transmission between Vision and Robot Controller.
+
Photoneo BP Client does not take over the control of the robot. It is always the robot Programmer/Operator who decides when to perform bin picking related actions by calling particular jobs/routines/program provided by robot interface API. It is also the robot Programmer/Operator who selects the speed of motion execution and implements the gripper commands with respect to the particular application. Photoneo BP Client always enables Programmer/Operator to track the current robot program execution directly on the pendant and take appropriate actions. Motion is never performed in background tasks and out of the Programmer/Operator reach.  
  
=== 4. TCP/IP protocol ===
+
=== 4. Easy to Integrate ===
  
TCP/IP is utilized for communication between Photoneo Vision Controller and particular robot controller. It is usually possible to configure additional industrial fieldbus for basic robot control (ON/OFF, robot program selection, safety purposes etc.) however it is not possible to entirely replace TCP/IP communication between robot controller and Photoneo Vision controller by any other industrial fieldbus.
+
Robot Interfaces for Photoneo Bin Picking solution were developed with respect to be easily integrated into existing robotic applications written in standard robotic languages. From robot programming point of view, Photoneo BP interface is just a set of jobs/routines/programs that are available for the robot Programmer/Operator to be called when bin picking operation is about to be executed. For example when a next object needs to be picked, operator calls a job/routine/program named ''requestTrajectory()'' or similar. Robot interface transmits this request to the Vision Controller, Vision Controller performs requested action (Scan & Motion Planning) and the result (set of trajectories and gripper commands) is transmitted back to the robot controller. Robot Programmer/Operator is notified by predefined register or flag that new motion data are available and it is up to him when he decides to perform the bin picking movement. This is realized by calling another job/routine/program usually named ''executeTrajectory()'' or similar. See particular vendor configuration for further information about available robotic API. 
 +
 
 +
=== 5. Trajectory validation ===
 +
 
 +
Bin picking procedure is mostly composed of four trajectories (approach, grasp, deapproach and end) and two or three gripper commands. Each trajectory consists of several waypoints (usually 10-100) defined as joint positions which robot is trying to reach during the movement. Photoneo BP Client leverage downloading approach (in contrast to streaming one) meaning that each trajectory is downloaded from the Vision Controller and verified by the Robot controller before its execution. No motion is executed until each robot controller checks whether each received waypoint matches the waypoint originally send by the Vision Controller.
 +
 
 +
== Supported Robotic Systems & Prerequisites: ==
 +
 
 +
Following list summarizes currently supported robotic systems:
 +
 
 +
1. '''ABB''' - RobotWare OS > 5.13 + PC-Interface (616-6) + Multitasking Module (672-1) options
 +
 
 +
2. '''KUKA''' - KUKA System Software 8.2 + EthernetKRL option
 +
 
 +
3. '''FANUC''' - System version 8.10 or higher + R632 - KAREL + R648 - User Socket Messaging options
 +
 
 +
4. '''STAUBLI''' - Staubli CS8 controller ang higher + VAL3 version s7.7.2 or higher
 +
 
 +
5. '''YASKAWA''' - YRC1000 Controller v.1.34 and higher (DX100, DX200, FS100 controllers are currently not supported)
 +
 
 +
6. '''MITSUBISHI''' - Robot Controller Type - CR750-D + Software version - H7 and higher
 +
 
 +
7. '''OMRON/ADEPT''' - Adept Viper Robot series
 +
 
 +
8. '''UNIVERSAL ROBOT''' - Version 1.8 and higher
  
 
== Where to go next ==
 
== Where to go next ==
  
1. Setting up Photoneo Bin Picking with ABB robots
+
1. Setting up Photoneo Bin Picking Solution with ABB robots
  
2. Setting up Photoneo Bin Picking with KUKA robots
+
2. Setting up Photoneo Bin Picking Solution with KUKA robots
  
3. Setting up Photoneo Bin Picking with FANUC robots
+
3. Setting up Photoneo Bin Picking Solution with FANUC robots
  
4. Setting up Photoneo Bin Picking with STAUBLI robots
+
4. Setting up Photoneo Bin Picking Solution with STAUBLI robots
  
5. Setting up Photoneo Bin Picking with YASKAWA robots
+
5. Setting up Photoneo Bin Picking Solution with YASKAWA robots
  
6. Setting up Photoneo Bin Picking with MISTUBISHI robots
+
6. Setting up Photoneo Bin Picking Solution with MISTUBISHI robots
  
7. Setting up Photoneo Bin Picking with OMRON/ADEPT robots
+
7. Setting up Photoneo Bin Picking Solution with OMRON/ADEPT robots
  
8. Setting up Photoneo Bin Picking with UR robots
+
8. Setting up Photoneo Bin Picking Solution with UR robots

Revision as of 23:48, 19 December 2017

The main goal of this tutorial is to provide general introduction for interfacing Photoneo Bin Picking System with industrial manipulators.

It is highly recommended to read this tutorial before proceeding to particular robot interface installation !!!

General principles:

Photoneo Bin Picking System is compatible with industrial manipulators of various robotic robotic vendors. Each robotic implementation is different, however five high-level principles are common for all of them:

1. State server + Bin Picking Client

Robot Interface of Photoneo Bin Picking System always consists of two processes - State Server + Bin Picking Client. Both processes needs to run in parallel on the target control robot controller. State Server reports current joint and tool pose coordinates and usually runs in background, while Bin Picking Client is responsible for the request/response transfers between Vision and Robot controller and resulting motion executions.

2. TCP/IP protocol

TCP/IP is utilized for communication between Photoneo Vision Controller and particular Robot controller. It is usually possible to configure additional industrial fieldbus for basic robot control (ON/OFF, robot program selection, safety purposes etc.), however replacing TCP/IP communication between Robot controller and Photoneo Vision controller by other industrial fieldbus is currently not supported.

3. Full Operator Control

Photoneo BP Client does not take over the control of the robot. It is always the robot Programmer/Operator who decides when to perform bin picking related actions by calling particular jobs/routines/program provided by robot interface API. It is also the robot Programmer/Operator who selects the speed of motion execution and implements the gripper commands with respect to the particular application. Photoneo BP Client always enables Programmer/Operator to track the current robot program execution directly on the pendant and take appropriate actions. Motion is never performed in background tasks and out of the Programmer/Operator reach.

4. Easy to Integrate

Robot Interfaces for Photoneo Bin Picking solution were developed with respect to be easily integrated into existing robotic applications written in standard robotic languages. From robot programming point of view, Photoneo BP interface is just a set of jobs/routines/programs that are available for the robot Programmer/Operator to be called when bin picking operation is about to be executed. For example when a next object needs to be picked, operator calls a job/routine/program named requestTrajectory() or similar. Robot interface transmits this request to the Vision Controller, Vision Controller performs requested action (Scan & Motion Planning) and the result (set of trajectories and gripper commands) is transmitted back to the robot controller. Robot Programmer/Operator is notified by predefined register or flag that new motion data are available and it is up to him when he decides to perform the bin picking movement. This is realized by calling another job/routine/program usually named executeTrajectory() or similar. See particular vendor configuration for further information about available robotic API.

5. Trajectory validation

Bin picking procedure is mostly composed of four trajectories (approach, grasp, deapproach and end) and two or three gripper commands. Each trajectory consists of several waypoints (usually 10-100) defined as joint positions which robot is trying to reach during the movement. Photoneo BP Client leverage downloading approach (in contrast to streaming one) meaning that each trajectory is downloaded from the Vision Controller and verified by the Robot controller before its execution. No motion is executed until each robot controller checks whether each received waypoint matches the waypoint originally send by the Vision Controller.

Supported Robotic Systems & Prerequisites:

Following list summarizes currently supported robotic systems:

1. ABB - RobotWare OS > 5.13 + PC-Interface (616-6) + Multitasking Module (672-1) options

2. KUKA - KUKA System Software 8.2 + EthernetKRL option

3. FANUC - System version 8.10 or higher + R632 - KAREL + R648 - User Socket Messaging options

4. STAUBLI - Staubli CS8 controller ang higher + VAL3 version s7.7.2 or higher

5. YASKAWA - YRC1000 Controller v.1.34 and higher (DX100, DX200, FS100 controllers are currently not supported)

6. MITSUBISHI - Robot Controller Type - CR750-D + Software version - H7 and higher

7. OMRON/ADEPT - Adept Viper Robot series

8. UNIVERSAL ROBOT - Version 1.8 and higher

Where to go next

1. Setting up Photoneo Bin Picking Solution with ABB robots

2. Setting up Photoneo Bin Picking Solution with KUKA robots

3. Setting up Photoneo Bin Picking Solution with FANUC robots

4. Setting up Photoneo Bin Picking Solution with STAUBLI robots

5. Setting up Photoneo Bin Picking Solution with YASKAWA robots

6. Setting up Photoneo Bin Picking Solution with MISTUBISHI robots

7. Setting up Photoneo Bin Picking Solution with OMRON/ADEPT robots

8. Setting up Photoneo Bin Picking Solution with UR robots