Photoneo robotic API

Photoneo robotic API is the main part of the Robot module. It is a set of procedures (programs) written in the native programming language(s) of the particular robotic brand used for interfacing with the Bin Picking Studio and the Locator Studio.

Photoneo robotic API can be divided into several categories:

Connection procedures

These procedures are used to establish a connection between the robot controller and the vision controller, more specifically the Action Request Client running on the robot controller and the Action Request Server running on the vision controller.

Communication procedures

These procedures are used for direct communication between the robotic controller and the vision controller. Communication consists of sending and receiving messages. Each message sent from the robotic controller and received by the vision controller is followed by a message sent from the vision controller and received by the robotic controller.

These communication procedures are divided into:

  • Synchronous action requests (request-sending and response-receiving procedures) By a synchronous action request, we understand a procedure that combines sending an action request and receiving the corresponding response in a single call, i.e. the procedure blocks the execution of the main robotic program until the response is received.

  • Asynchronous action requests (request-sending procedures)

    By an asynchronous action request, we understand a procedure that only sends an action request (and does not receive the corresponding response), i.e. the procedure does not block the execution of the main robotic program until the response is received.
    The response must be received by the corresponding response-receiving procedure before calling any other communication procedure.
    Note: This split of request-sending and response-receiving functionalities is used for procedures that, if implemented as synchronous action requests, would block the execution of the robotic program for a long period of time.
  • Response-receiving procedures These procedures are used for receiving the response corresponding to the last asynchronous action request.

Synchronous and asynchronous **action requests are commonly referred to as **action requests.

Rules that need to be obeyed when using these procedures:

  • sending a new action request before the corresponding response to a preceding asynchronous action request has been received will end up in an error as it breaks the required sequence (order) of messages between the robotic controller and the vision controller. Sending a message from the robotic controller must be always followed by receiving a message sent from the vision controller.

  • executing an incorrect response-receiving procedure after an asynchronous action request will result in an error.

  • for BPS - no action request should be sent after a trajectory has been received until it was executed.

Detailed descriptions of action requests and response-receiving procedures can be found here. A description of error codes that can be the result of an action request is here. Selected action request responses can also include a neural network label for the localized object.

Bin picking procedures

Note: Only available for the Bin Picking Studio
These procedures are used for the execution of bin picking. The robot operator is responsible for implementing the gripper procedures - the procedures that are automatically executed when the robot reaches a waypoint (e.g. activating the gripper in the Grasp waypoint). It is also necessary to adjust the parameters of the robot’s movement - speed and acceleration.

Auxiliary procedures

Some robotic brands offer additional procedures for easier setup of your application.