ROZUM ROBOTICS API REFERENCE GUIDE TABLE OF CONTENTS WARNING SIGNS AND THEIR MEANINGS ................. 4 GENERAL DATA ........................ 5 Glossary ..........................6 ENABLING ACCESS TO API .................... 8 DESCRIPTION OF API FUNCTIONS ................9 Requests to get parameters and states of the arm (GET) ........... 9 3.1.1...
Page 3
ROZUM ROBOTICS API REFERENCE GUIDE 3.2.10 Setting low signal level on a digital output ............. 37 3.2.11 Recovering the arm after an emergency ..............38 3.2.12 Adding an obstacle to the arm’s environment ............38 3.2.13 Setting the arm into a transportation pose ............... 41 3.2.14 Quitting the untwisting mode..................
ROZUM ROBOTICS API REFERENCE GUIDE WARNING SIGNS AND THEIR MEANINGS Below are the warning symbols used throughout the manual and explanations of their meanings. The sign denotes important information that is not directly related to safety, but that the user should be aware of.
1 GENERAL DATA The REST Application Programming Interface (API) described in this reference guide implements the functionality for monitoring and controlling motion of the PULSE robotic arm (also, robotic arm or arm) and its work tool (also, tool). API requests are in the JSON format; API responses are in the JSON and/or in the plain text format.
Table 1-2: Essential REST API terms Term Definition An axis is a moveable structural component of the PULSE robotic arm comprising a servomotor to enable its rotation. In all, the PULSE robotic arm includes six axes located on the robotic arm as illustrated below:...
Page 7
ROZUM ROBOTICS API REFERENCE GUIDE It is the point, relative to which all arm poses, positions, and movements are defined. Its original physical location is at the center of the arm wrist as shown below. Tool center point (TCP) Using the POST/tool/info request (see Section 3.2.15), you can relocate the TCP to any position within the tool or beyond it.
2. Start the PULSE DESK user interface as described in the USER MANUAL. 3. In the displayed starting screen of the PULSE DESK interface, click the Main Menu button. 4. In the displayed menu, select Configure. PULSE DESK displays the Configure screen. The Configure screen Rev.6, valid from Q2 2019...
Now, you can proceed to work with available API functions. 3 DESCRIPTION OF API FUNCTIONS The section describes in detail the REST API functions you can use to control the PULSE robotic arm and its work tool (a gripper), as well as to monitor the arm's motion parameters.
ROZUM ROBOTICS API REFERENCE GUIDE 500 Internal Server Error "Robot does not respond" 503 Service Unavailable "Robot unavailable in emergency state" 3.1.2 Getting the actual motion status Path: GET/status/motion Description: The function returns the actual state of the robotic arm. Possible arm states are as follows: ...
ROZUM ROBOTICS API REFERENCE GUIDE 3.1.3 Getting the actual status of servo motors Path: GET/status/motors Description: The function returns the actual states of the six servo motors integrated into the joints of the robotic arm. The states are described as an array of six objects—one for each servo motor.
ROZUM ROBOTICS API REFERENCE GUIDE Response examples: 200 OK "angles": [ -98, -122, -49, 500 Internal Server Error "Robot does not respond" 503 Service Unavailable "Robot unavailable in emergency state" 3.1.5 Getting actual tool properties Path: GET/tool/info Description: The function returns actual properties of the last tool preset by the user, in particular: name —...
ROZUM ROBOTICS API REFERENCE GUIDE Description: The function returns the actual signal level on the digital output specified in the {port} parameter of the request path. ATTENTION! SPECIFYING THE {port} PARAMETER IS MANDATORY! A digital output is a physical port on the back panel of the control box. Since the control box has two digital outputs, the parameter value can be either 1 (corresponds to Relay output 1) or 2 (corresponds to Relay output 2).
ROZUM ROBOTICS API REFERENCE GUIDE The function returns either of the following values: LOW—default user-defined state HIGH—change of the user defined state For location of digital outputs, refer to the Hardware Installation Manual. Response content type: text/plain Response body:...
Page 19
ROZUM ROBOTICS API REFERENCE GUIDE Name—any random name as defined by the user for a specific obstacle type (e.g., “first_box”). Obstacle properties—spatial location and/or dimensions of a specific obstacle. Each obstacle type has its own set of properties as described in the table below.
ROZUM ROBOTICS API REFERENCE GUIDE 500 Internal Server Error "Robot does not respond" 503 Service Unavailable "Robot unavailable in emergency state" 3.1.12 Getting data about a specific obstacle in the arm environment Path: GET/environment/{obstacle} Description: The function returns data about the obstacle specified in the {obstacle} parameter of the request path.
Page 22
ROZUM ROBOTICS API REFERENCE GUIDE Each obstacle type has its own set of properties as described in the table below. Obstacle Obstacle properties type - sides—the x, y, and z coordinates defining the spatial dimensions of an obstacle (i.e., length, width, depth).
ROZUM ROBOTICS API REFERENCE GUIDE 500 Internal Server Error "Robot does not respond" 503 Service Unavailable "Robot unavailable in emergency state" 3.1.13 Getting the hardware versions of the arm components Path: GET/version/hardware Description: The function returns the hardware versions for all motors in the arm joints, as well as hardware versions for the USB-CAN dongle, the safety board, and the wrist.
ROZUM ROBOTICS API REFERENCE GUIDE Response body: HTTP status code Response schema/ type 200 OK Version schema 500 Internal Server Error String 503 Service Unavailable String Response examples: 200 OK "motorsVersion": [ "string" "safetyVersion": "string", "usbCanVersion": "string", "wristVersion": "string"...
ROZUM ROBOTICS API REFERENCE GUIDE 3.2 Requests to set parameters, states, and actions (PUT, POST) 3.2.1 Setting a new arm position Path: PUT/position Description: The function commands the arm to move to a new position. The position is described as a set of x, y, and z coordinates, as well as roll, pitch, and yaw rotation angles. The coordinates define the desired distance (in meters) from the zero point to the TCP along the x, y, and z axes accordingly.
Page 27
ROZUM ROBOTICS API REFERENCE GUIDE The parameter defines the limit velocity in meters per second that an end effector can reach at its TCP while moving. It is not mandatory. When the user specifies no value for it, it is set to default.
ROZUM ROBOTICS API REFERENCE GUIDE 412 Precondition Failed "Unreachable Position", "Collision detected" "Invalid velocity parameter: is not in (0, 2] range", "Not present" 500 Internal Server Error "Robot does not respond" 503 Service Unavailable "Robot unavailable in emergency state"...
ROZUM ROBOTICS API REFERENCE GUIDE When the user specifies no value for the parameter, it is set to the default one— type JOINT. (continued) Included as: query The parameter defines the limit velocity in meters per second that an end effector can reach at its TCP while moving.
ROZUM ROBOTICS API REFERENCE GUIDE Request parameter: Parameter Description The parameter specifies how long (in milliseconds) the arm should remain idle, waiting for the gripper to open. The default manufacturer-preset value is 500 ms. Admissible value range: integers from 1 and above...
ROZUM ROBOTICS API REFERENCE GUIDE Response content type: text/plain Response body: HTTP status code Response schema/ type 200 OK String 500 Internal Server Error String 503 Service Unavailable String Response examples: 200 OK 500 Internal Server Error "Robot does not respond"...
ROZUM ROBOTICS API REFERENCE GUIDE Description: The function sets the arm in the “freeze” state. The arm stops moving, retaining its last position. In the state, it is not advisable to move the arm by hand as this can cause damage.
Page 33
ROZUM ROBOTICS API REFERENCE GUIDE Request parameters: Parameter Description The parameter sets the speed (in % max. speed) at which servos should move to the required angles. The admissible value range is from 1 to 100. “speed” ATTENTION! SPECIFYING PARAMETER speed MANDATORY OTHERWISE AN ERROR IS GENERATED.
ROZUM ROBOTICS API REFERENCE GUIDE Response body: HTTP status code Description Response schema/ type 200 OK Success 400 Bad Request Message parsing error String 412 Precondition Failed Incorrect input parameters String 500 Internal Server Error Arm error String 503 Service Unavailable...
Page 35
ROZUM ROBOTICS API REFERENCE GUIDE Request body: The request body is in accordance with the Position schema. It specifies the coordinates (x, y, z) and rotation angles (roll, pitch, yaw) of all the waypoints on the trajectory from the initial TCP position to the required one.
ROZUM ROBOTICS API REFERENCE GUIDE For location of the digital outputs, refer to the document Hardware Installation Manual. Related REST API functions: GET/signal/output/{port}, PUT /signal/output/{port}/low Response content type: text/plain, application/json Response body: HTTP status code Response schema/ type 200 OK...
ROZUM ROBOTICS API REFERENCE GUIDE Response examples: 200 OK 412 Precondition Failed "Unable parameter value {13}" 500 Internal Server Error "Robot does not respond" 503 Service Unavailable "Robot unavailable in emergency state" 3.2.11 Recovering the arm after an emergency...
Page 39
ROZUM ROBOTICS API REFERENCE GUIDE BOX— typically used to describe obstacles with a shape reminding that of a box. CAPSULE—preferred for objects of cylindrical shape or having complex structure and irregular outlines. In the latter two cases, it is also possible to describe an obstacle using multiple capsules.
ROZUM ROBOTICS API REFERENCE GUIDE 3.2.14 Quitting the untwisting mode Path: PUT/untwisting/finish Description: The function enables users to verify the results of untwisting and quit the untwisting mode. In the untwisting mode, PUT and other API requests to move the arm are unavailable, until untwisting is completed.
ROZUM ROBOTICS API REFERENCE GUIDE Request body: The function has no request body. Response body: The function either notifies about successful completion of manual untwisting or returns a twist detection alert. HTTP status code Description Response schema/ type 200 OK...
ROZUM ROBOTICS API REFERENCE GUIDE 3.2.16 Setting the tool shape Path: POST/tool/shape Description: The function enables setting tool shape for collision detection purposes by defining the following properties: radius — radius of the work tool (in meters) measured from its physical center point.
ROZUM ROBOTICS API REFERENCE GUIDE Response body: HTTP status code Response schema/ type 200 OK Success 500 Internal Server Error String 503 Service Unavailable String Response examples: 200 OK 500 Internal Server Error "Robot does not respond" ...
ROZUM ROBOTICS API REFERENCE GUIDE ANNEX 1. RESPONSE/ REQUEST SCHEMAS The Annex contains schemas for structuring the API requests and responses described in the above sections. Position schema Schema (property) Property content Examples x: double number (meters) "x": 0.3, Point y: double number (meters) "y": -0.4,...
Need help?
Do you have a question about the Pulse and is the answer not in the manual?
Questions and answers