Difference between revisions of "Locator Tutorial: Introduction"

From 3D scanning Knowledge base - Photoneo wiki
Jump to: navigation, search
Line 1: Line 1:
'''Locator''' is a tool which enables user to control Photoneo Localization SDK via socket communication. Client - usually a robot controller - can trigger a new localization and receive single or multiple results directly as a Cartesian Pose.
+
'''Locator''' is a tool which enables user to control Photoneo Localization SDK via socket communication. Client - usually a robot controller - can trigger a new localization and receive single or multiple results directly as a Cartesian Pose
  
=== Architecture ===
+
== Overview ==
  
Locator was primarily designed as a background service with simple GUI used for configuration  
+
Locator was primarily designed to communicate with robot controllers of various robot vendors but custom configuration using PLC or additional PC is also possible. Communication is TCP/IP based, Locator always works as server, while robot controller or other type of device connects to specific Locator port as a client. It is also possible to configure additional output port for further processing or logging purposes.  
  
 +
Locator always returns Cartesian pose with respect to specific '''Coordinate Space''' as configured in PhoXiControl. The standard Locator use case assumes that scanner position is [http://wiki.photoneo.com/index.php/Robot-Camera_Calibration_Tool| properly calibrated] with respect to the robot base. In this case '''RobotSpace''' option should be selected and '''Translation Vector''' and '''Robot Transformation''' matrix should be filled by values according to the result of calibration procedure.
 +
 +
Locator consists of three components - '''Locator Core''', '''Locator GUI''' and '''Locator Robot Module'''.
  
[[File: Locator_overview.png]]
+
* '''Locator GUI''' - runs on Vision Controller, enables user to configure, control and monitor Locator functionality.
  
=== Coordinate Space ===
+
* '''Locator Core''' - runs on Vision Controller, starts localization, process results and handles communication with connected client.
  
Cartesian pose returned by Locator always respects Coordinate Space of PhoXi Scanner. The standard Locator use case assumes that Scanner position is [http://wiki.photoneo.com/index.php/Robot-Camera_Calibration_Tool| properly calibrated] with respect to robot base. In this case RobotSpace option should be selected.  
+
* '''Locator Robot Module''' - runs on the robot controller, provide simple API written in specific robot programming language (RAPID, URScript, KAREL ...) for triggering scans, receiving results and executing motion.  
 +
  
 +
=== Locator GUI ===
  
  
=== Select PhoXi Scanner ===
+
Tu pride screenshot LOCATOR GUI + popis funkcionality
  
For a proper functionality of Locator, it is necessary to run PhoXiControl application first. Make sure that device you want to use with Locator is available in Network discovery of PhoXiControl.
 
  
 +
=== Locator Core ===
  
[[File: Locator Network Discovery.png]]
+
Tu pride popis funkcionality
  
  
=== Network configuration ===
+
=== Locator Robot Modules ===
  
Locator runs as a server. User is expected to set the number of '''Port''' on which Locator will be listening for a connection from the client.  
+
The Locator was designed to be compatible with a wide range of industrial manipulators produced by different robotic manufacturers. For example, if you order Locator for ABB robot, in addition to pre-configured Vision Controller with Locator application you will also receive a Locator ABB Module written in RAPID language. This code must be installed on your robot controller in order to enable proper communication between the Locator application and ABB IRC5 system. Installation procedures and configuration tutorials for particular brand are available in '''Setting up guides''' which is linked at the bottom of this page.  
  
 +
The concept of Locator Robot Modules is also important because of '''incompatibilities related to orientation representation'''. As already mentioned in Locator GUI section, robot vendors use various notations for representing orientations, for example ABB uses Quaternions, UR rotation vectors, Omron robots Euler angles in ZYZ notation, KUKA standard XYZ notation and so on. Robot modules developed for Locator ensure that object orientation will always be delivered to specific robot in correct notation.
  
[[File: Tu pride streenshot z GUI ]]
+
User can easily integrate Locator into existing robotic application using Locator robot API. API provides functions for connecting to Locator, triggering scans, receiving results and even executing motions to received goals. See Setting up guides for further info about specific implementations. 
  
 +
The current status of Locator Robot modules is shown in the figure below:
  
Locator also provides an option of configuring an '''Additional Output Port'''. This port can not be used for triggering, but all localization results sent over the "Main Port" will also be duplicated here. This can be used for further processing, logging purposes etc.
 
  
[[File: Tu pride screenshot z GUI ]]  
+
[[File: Locator overview ABB.png]]
  
  
 
+
== Supported Robotic Systems & Prerequisites ==
  
[[File: Locator Coordinate Space.png]]
+
Robot interfaces for the Locator system were developed using the latest available hardware. By default the system was designed for use with 6-axis industrial manipulators of various scales, but other combinations are also possible.
 +
 
 +
The following list summarizes the systems which are currently supported and the specific software options required for multitasking and user socket messaging functionality:
 +
 
 +
1. '''ABB''' - RobotWare OS > 5.13 + PC-Interface (616-6) option
 +
 
 +
2. '''UNIVERSAL ROBOT''' - System Version 3.3 and higher '''(Q3 2018)'''
 +
 
 +
3. '''STAUBLI''' - Staubli CS8 controller and higher + VAL3 version s7.7.2 or higher '''(Q3 2018)'''
 +
 
 +
4. '''OMRON/ADEPT''' - Both s650 + s850 Adept Viper manipulators '''(Q3 2018)'''
 +
 
 +
5. '''KUKA''' - KUKA System Software 8.2 and higher (KRC4) + EthernetKRL option '''(On demand)'''
 +
 
 +
6. '''FANUC''' - System version 8.10 or higher + R632 - KAREL + R648 - User Socket Messaging options '''(On demand)'''
 +
 
 +
7. '''YASKAWA''' - YRC1000 Controller v.1.34 and higher + MotoPlus Runtime option (DX100, DX200, FS100 controllers are currently not supported) '''(On demand)'''
 +
 
 +
8. '''MITSUBISHI - CR750-D''' Controllers + Software version - H7 and higher '''(On demand)'''
 +
 
 +
 
 +
== Where to go next ==
 +
 
 +
Following Locator tutorials provide detailed instructions on how to configure, run Locator and  install required robot modules. 
 +
 
 +
1. Locator tutorial: Locator Configuration
 +
 
 +
2. Locator tutorial: Locator Runtime
 +
 
 +
2. [[Locator Tutorial: Setting up Locator to work with ABB robots]]

Revision as of 14:53, 9 May 2018

Locator is a tool which enables user to control Photoneo Localization SDK via socket communication. Client - usually a robot controller - can trigger a new localization and receive single or multiple results directly as a Cartesian Pose

Overview

Locator was primarily designed to communicate with robot controllers of various robot vendors but custom configuration using PLC or additional PC is also possible. Communication is TCP/IP based, Locator always works as server, while robot controller or other type of device connects to specific Locator port as a client. It is also possible to configure additional output port for further processing or logging purposes.

Locator always returns Cartesian pose with respect to specific Coordinate Space as configured in PhoXiControl. The standard Locator use case assumes that scanner position is properly calibrated with respect to the robot base. In this case RobotSpace option should be selected and Translation Vector and Robot Transformation matrix should be filled by values according to the result of calibration procedure.

Locator consists of three components - Locator Core, Locator GUI and Locator Robot Module.

  • Locator GUI - runs on Vision Controller, enables user to configure, control and monitor Locator functionality.
  • Locator Core - runs on Vision Controller, starts localization, process results and handles communication with connected client.
  • Locator Robot Module - runs on the robot controller, provide simple API written in specific robot programming language (RAPID, URScript, KAREL ...) for triggering scans, receiving results and executing motion.


Locator GUI

Tu pride screenshot LOCATOR GUI + popis funkcionality


Locator Core

Tu pride popis funkcionality


Locator Robot Modules

The Locator was designed to be compatible with a wide range of industrial manipulators produced by different robotic manufacturers. For example, if you order Locator for ABB robot, in addition to pre-configured Vision Controller with Locator application you will also receive a Locator ABB Module written in RAPID language. This code must be installed on your robot controller in order to enable proper communication between the Locator application and ABB IRC5 system. Installation procedures and configuration tutorials for particular brand are available in Setting up guides which is linked at the bottom of this page.

The concept of Locator Robot Modules is also important because of incompatibilities related to orientation representation. As already mentioned in Locator GUI section, robot vendors use various notations for representing orientations, for example ABB uses Quaternions, UR rotation vectors, Omron robots Euler angles in ZYZ notation, KUKA standard XYZ notation and so on. Robot modules developed for Locator ensure that object orientation will always be delivered to specific robot in correct notation.

User can easily integrate Locator into existing robotic application using Locator robot API. API provides functions for connecting to Locator, triggering scans, receiving results and even executing motions to received goals. See Setting up guides for further info about specific implementations.

The current status of Locator Robot modules is shown in the figure below:


Locator overview ABB.png


Supported Robotic Systems & Prerequisites

Robot interfaces for the Locator system were developed using the latest available hardware. By default the system was designed for use with 6-axis industrial manipulators of various scales, but other combinations are also possible.

The following list summarizes the systems which are currently supported and the specific software options required for multitasking and user socket messaging functionality:

1. ABB - RobotWare OS > 5.13 + PC-Interface (616-6) option

2. UNIVERSAL ROBOT - System Version 3.3 and higher (Q3 2018)

3. STAUBLI - Staubli CS8 controller and higher + VAL3 version s7.7.2 or higher (Q3 2018)

4. OMRON/ADEPT - Both s650 + s850 Adept Viper manipulators (Q3 2018)

5. KUKA - KUKA System Software 8.2 and higher (KRC4) + EthernetKRL option (On demand)

6. FANUC - System version 8.10 or higher + R632 - KAREL + R648 - User Socket Messaging options (On demand)

7. YASKAWA - YRC1000 Controller v.1.34 and higher + MotoPlus Runtime option (DX100, DX200, FS100 controllers are currently not supported) (On demand)

8. MITSUBISHI - CR750-D Controllers + Software version - H7 and higher (On demand)


Where to go next

Following Locator tutorials provide detailed instructions on how to configure, run Locator and install required robot modules.

1. Locator tutorial: Locator Configuration

2. Locator tutorial: Locator Runtime

2. Locator Tutorial: Setting up Locator to work with ABB robots