Locator Tutorial: Setting up Locator to work with SIASUN robots

From 3D scanning Knowledge base - Photoneo wiki
Jump to: navigation, search

Users are strongly recommended to read Locator Tutorial: Introduction prior to installation of specific robot interfaces

1. Prerequisities

The Locator SIASUN Interface was developed using the following system version: UI: 2.1.10, Robot: 1.1.8

The interface may not be compatible with other system versions! You can find information about your system version in the About Tab:


Siasun about.png


If your pendant is still in Chinese, select the Settings tab and switch the language to English at the bottom of the page:


SIASUN Locator Tutorial Language.png


2. SIASUN Controller Setup

The following tutorial gives a step by step guide of how to configure your SIASUN robot controller, install all the necessary files and amend the robotic program to get the Locator up and running.

2.1 Network Configuration

The Locator SIASUN Module utilizes TCP/IP communication for transferring data between the SIASUN Robot Controller and the Vision Controller.

As a first step in commissioning, ensure that the IP address of the SIASUN controller meets your network configuration requirements.

Browse to Setting -> IP Address:


SIASUN Locator Tutorial IP Config Step 0.png


Select the Static option and configure the network settings of the Robot Controller:


SIASUN Locator Tutorial IP Config Step 1.png


Confirm the new network configuration by clicking the YES button:


SIASUN Locator Tutorial IP Config Step 2.png


The new network configuration will be applied immediately, the reboot of Robot Controller is not necessary.

3. Photoneo SIASUN Module Setup

Photoneo SIASUN Locator Module is available in two variants:

  • - Single Result Mode - only one localization result will be requested [Locator_Single_Result.spf]
  • - Multiple Result Mode - the user can choose how many localization results will be requested within the permitted range <1,12> [Locator_Multiple_Result.spf]

Users are recommended to import both .spf files to the Robot Controller and to use the more appropriate version accordingly.

Insert the USB Stick containing the Locator files to the one of the USB slots on the Robot Controller.

Select Program Tab -> Import -> Single/Multiple_Result_Mode and confirm by clicking the Import button:


SIASUN Locator Tutorial Import Step 1.png


The successful import is confirmed in a pop-up window:


SIASUN Locator Tutorial Import Step 2.png


4. Calibration

Robot Camera Calibration is a crucial step in Locator configuration. Accurate calibration guarantees that object positions will be calculated directly in Robot Base coordinates.

4.1 Robot - Camera Calibration

Mount the Scanner firmly, ensure that the scene is properly captured from the final position and start the Photoneo Robot Camera Calibrator:


KUKA SettingUp Guide Scanner Calibration 10.png


Ensure that the active ToolTCP Setting is set to zeros (flange):


SIASUN Locator Tutorial TCP Zeros.png


Connect to the Scanner, select XYZ_Extrinsic formalism (Standard for SIASUN robots), adjust the Sphere radius (20 mm when using a standard ping pong ball) and set the Min visible parameter to 40%:


SIASUN Locator Tutorial Calib Step 1.png


Attach a ping-pong ball to the gripper and jog the robot to the first position (usually the nearest corner of the bin/area of interest).

Press the Capture button on the first line of the list of points in order to capture the ball position.

On the SIASUN Pendant, select Status -> Joints to obtain the current tool position:


SIASUN Locator Tutorial Status.png


Input the X,Y,Z and A,B,C values of the current position in the first line of the point list and repeat the same procedure for at least 5 more points.

The recommended procedure is to cover all four corners of the scanning volume/bin + two positions in the center of the scanning volume.

Change the orientation of the tool in all axes to achieve a wider range of input values. Press the Compute button after adding the final point.


SIASUN Locator Tutorial Calib Step 2.png


In order to ensure successful calibration the Final Error per point should not exceed 2-3 mm. (0.565 mm in this example).


SIASUN Locator Tutorial Calib Step 3 1.png


If the Final Error value is too high, try adding more points or start the calibration again from the beginning.

Once you are satisfied with the results, press the Set Matrix to PhoXi button to store the results to the PhoXi Scanner.


SIASUN Locator Tutorial Calib Step 4.png


Do not forget to switch the Coordinate Space in PhoXi Control after the calibration has been completed successfully:


KUKA SettingUp Guide Scanner Calibration 20.png


In addition to the Robot - Camera transformation matrix, the calibration process also calculates a Calibration Sphere Misplacement vector.


SIASUN Locator Tutorial Calib Step 5.png


This vector denotes the transformation between the selected Zero Tool and the center of the sphere (i.e. the ping-pong ball). This information can be used for calibration verification.

Ensure that the ping-pong ball has not moved since the end of calibration. Select Setting -> ToolTCPSetting, insert the values from the Misplacement Vector and click the Set button to apply the new settings.


SIASUN Locator Tutorial Calib Step 6.png


Jog the robot to the center of the scanning volume and select the Test button in the Photoneo Robot Camera Calibration Tool:


SIASUN Locator Tutorial Calib Step 7.png


Compare the position of the ball calculated in the Robot Transformation Coordinate Space with the position reported by the robot:


SIASUN Locator Tutorial Calib Step 8.png


The values calculated by the Photoneo Robot Camera Calibration Tool should approximately match the values reported by the SIASUN Pendant as is shown in the illustration above.

5. Runtime

5.1 Reteach Positions in the Program

Once the Robot-Camera and Tool calibration have been completed, you can proceed to re-teaching the application poses. Prior to starting this process, please ensure that you have selected and configured/calibrated the Tool Frame.

Open the Single/Multiple Result Mode program and go over the code. Adapt all movej and movel positions except those which are executing motion to the target poses received from the Locator.

Highlight the motion execution line, jog the robot to the new position and click the Set Node Position button:


SIASUN Locator Tutorial Reteach Positions Step 1.png


Jog the robot to the desired position and confirm by clicking the Save Position button:


SIASUN Locator Tutorial Reteach Positions Step 2.png

5.2 Run Locator

You are now ready to run the program. Switch to AUTO mode and select 10% speed; this option is recommended for safety reasons.


SIASUN Locator Tutorial Auto Mode.png


Switch to the Run tab and select Locator_Single/Multiple_Result mode from the list


SIASUN Locator Tutorial Runtime Step 1.png


The robot needs to be in a Start Pose before launching the program; hold thePress to Move button until the Start position has been reached.


SIASUN Locator Tutorial Runtime Step 2.png


Ensure that you are ready to stop the motion execution immediately using the Emergency Button if something goes wrong. Click the Play button again to start the Locator program


SIASUN Locator Tutorial Runtime Step 3.png


If everything has been configured and calibrated properly, the robot should trigger the first scan, wait for the result, process the data and move towards the first localized object.

6. SIASUN

6.1 SPF file

The following code is the Locator_Single_Result.spf source file. Siasun Robot requests one result and executes motion towards the returned targets. The attached object will be then placed in the predefined position.


Siasun single result mode.png


Users can adapt this code to meet their application requirements, to change the speed, precision or order of steps in the main loop if required.


6.2 Communication Protocol

The following illustrations explain the Locator - SIASUN communication protocol in both Single and Multiple Result Modes.

NOTE #1: SIASUN appends a "\0" sign automatically at the end of each string message.

NOTE #2: An acknowledgment message must be sent in Single Result mode in order to receive data due to the limited SIASUN socket functionality.


Setting UP Guide Locator SIASUN single result mode.png


Setting UP Guide Locator SIASUN multiple result mode.png