Warning

You are reading the documentation for an older Pickit release (3.0). Documentation for the latest release (3.4) can be found here.

Yaskawa Pickit interface

This article documents the interface of the Yaskawa Pickit integration. For installation instructions, please refer to the Yaskawa installation and setup article.

Pickit macros

Below you find an overview of the macros defined by Pickit.

System macros

MACRO

Field name

Comment

MACRO7

PI_RUN

Check the current mode of Pickit.

Detection macros

MACRO

Field name

Comment

MACRO2

PI_LOOK

Trigger a Pickit object detection using the currently active setup and product Configuration.

MACRO4

PI_NEXT

Request the next detected object.

MACRO9

PI_CAPTU

Trigger Pickit to capture a camera image to be used by a following PI_PROCE command. If the camera moves during image capture, a warning will be shown in the web interface.

MACRO10

PI_PROCE

Trigger an object detection on the camera image that was previously captured via PI_CAPTU command (or PI_LOOK).

MACRO12

PI_REACH

Check if the pre pick, pick and post pick poses are reachable from the above pick area pose. It assumes that the poses are correctly set in the following registers: Above pick area in P040, Pre pick pose in P043, Pick in P049 and Post pick in P045. (Not available for DX100 controllers)

MACRO3

PI_WAIT

Wait for Pickit reply with detection results. PI_WAIT should always be the next Pickit command after a PI_LOOK or PI_NEXT request.

MACRO8

PI_GPPD

Request the pick point ID and pick point offset of the last requested object.

Configuration macros

MACRO

Field name

Comment

MACRO5

PI_CFG

Load the specified setup and product Configuration.

MACRO17

PI_SV_PD

Save the currently active product file.

MACRO18

PI_SV_ST

Save the currently active setup file.

MACRO13

PI_CYL

Reset the dimensions of the cylinder model of the active product file.

MACRO11

PI_BUILD

Build the background cloud used in Advanced filters.

Calibration macros

MACRO

Field name

Comment

MACRO15

PI_CFCAL

Configure the robot-camera calibration.

MACRO1

PI_CALIB

Trigger a detection of the robot-camera calibration plate.

MACRO14

PI_CLCAL

Calculate the robot-camera calibration.

MACRO16

PI_VCAL

Validate the robot-camera calibration. Returns the calibration validation result: distance error, angle error and calib error pose.

Monitoring macros

MACRO

Field name

Comment

MACRO6

PI_SAVE

Save a Snapshots with the latest detection results.

Tip

The ID’s of the macros can be changed by manually defining the Pickit macros. Note that, if the ID’s are changed, the provided example programs by Pickit need to be altered accordingly.

Macros taking arguments

The following macros have input arguments that need to be filled in when you call them.

PI_CALIB

  • USER FRAME: User frame created at start of TEST_CALIB. By default, this is 5.

PI_CFG

  • SETUP: Pickit setup file ID.

  • PRODUCT: Pickit product file ID.

  • USER FRAME: User frame that was created in TEST_CALIB. By default, this is 5.

  • TOOL: Tool frame ID that is used by robot for picking.

  • TIMEOUT: Value of the timeout used for communication with Pickit.

Note

If something is wrong here, you can expect the following message: Undefined user frame. The example program by default uses frame 5 and tool 1, but these might not exist.

PI_CYL

  • CYL LENGTH: Length of the cylinder model in mm.

  • CYL DIAMETER: Diameter of the cylinder model in mm.

Pickit registers

Below you find an overview of the variables used by Pickit. When using Pickit these variables cannot be used for anything else. More information about the variables can be found in Pickit socket interface.

Variable

Field name

Comment

Type

I049

command

command from robot to Pickit

Input

I048

payload 1

First payload sent to Pickit (e.g. used for setup file ID, …)

Input

I047

payload 2

Second payload sent to Pickit (e.g. used for product file ID, …)

Input

I046

Frame ID

frame ID used during calibration and picking

Input

I045

Tool ID

tool ID used for picking

Input

I044

Timeout

timeout used for communication with Pickit [ms]

Input

I042

pick_id

ID of the pick point that was selected for the given object

Output

I041

object_type

ID type of the detected object

Output

I040

status

Pickit status or a response to previously received robot commands

Output

I043

reach status

Set to 0 if the object is reachable, and to -1 if it is not reachable

Output

I030-039

status of cycles

used for keeping track of the communication cycle with Pickit

Internal

OT 1021

reach trigger

Send a pulse on this signal to trigger a reachability check for the pre pick, pick and post pick position.

Input

S049

IP Pickit

IP address of Pickit, by default 169.254.5.180

Input

P049

object_pose

object pose expressed relatively to the robot base frame (used in the reachability check)

Output

P048

object_dimension

[0]: length or diameter (m) [1]: width or diameter (m) [2]: height (m)

Output

P047

object_offset

pick point offset of the last requested object

Output

P046

rx_flip

helper pose to calculate a correct offset pose

Internal

P040

Above pick area

Position that is defined above the pick area (used in the reachability check)

Input

P043

Pre pick pose

Position the robot moves to before picking the object (used in the reachability check)

Output

P045

Post pick pose

Position the robot moves to after picking the object (used in the reachability check)

Output

P041

Calib error pose

Pose error of the calibration validation

Output

D042

pick_ref_id

ID of the selected pick point’s reference pick point

Output

D041

object_remaining

Number of remaining objects that can be sent in next messages to the robot

Output

D040

object_age

Amount of time that has passed between the image capture and the moment the object information is sent to the robot

Output

R040

distance_error

Distance error of the calibration validation [mm]

Output

R041

angle_error

Orientation error of the calibration validation [deg]

Output

Tip

If these registers are already used on your robot, please contact us at support@pickit3d.com, and we will assist you in finding a solution.