rozum robotics Pulse Reference Manual

Collaborative robot
Hide thumbs Also See for Pulse:
Table of Contents

Advertisement

Quick Links

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the Pulse and is the answer not in the manual?

Questions and answers

Summary of Contents for rozum robotics Pulse

  • Page 2: Table Of Contents

    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..................
  • Page 4: Warning Signs And Their Meanings

    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.
  • Page 5: General Data

    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.
  • Page 6: Glossary

    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.
  • Page 8: Enabling Access To Api

    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...
  • Page 9: Description Of Api Functions

    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.
  • Page 10: Getting The Actual Motion Status

    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: ...
  • Page 11: Getting The Actual Status Of Servo Motors

    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.
  • Page 12: Getting The Actual Arm Pose

    ROZUM ROBOTICS API REFERENCE GUIDE Response examples:  200 OK "angle": 168.89699, "rotorVelocity": -0.00064343837, "rmsCurrent": 0.01, "voltage": 47.795017, "phaseCurrent": 0.01, "statorTemperature": 27.990631, "servoTemperature": 31.739925, "velocityError": -0.022674553, "velocitySetpoint": -0.02331799, "velocityOutput": 0.01, "velocityFeedback": -0.00064343837, "positionError": 0.0385437, "positionSetpoint": 168.93799, "positionOutput": 0.01, "positionFeedback": 168.89944 The example is one object containing properties for a single servo.
  • Page 13: Getting Actual Tool Properties

    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 —...
  • Page 14: Getting The Actual Tool Shape

    ROZUM ROBOTICS API REFERENCE GUIDE Response examples:  200 OK "name": "gripper", "tcp": { "point": { "x": 0, "y": 0, "z": 0.31 "rotation": { "roll": 0, "pitch": 0, "yaw": 0  500 Internal Server Error "Robot does not respond"  503 Service Unavailable "Robot unavailable in emergency state"...
  • Page 15: Getting The Actual Position Of The Arm Base

    ROZUM ROBOTICS API REFERENCE GUIDE Response examples:  200 OK "shape": [ "radius": 0.03, "begin": { "x": 0, "y": 0, "z": 0 "endPoint": { "x": 0, "y": 0, "z": 0.24  500 Internal Server Error "Robot does not respond"  503 Service Unavailable "Robot unavailable in emergency state"...
  • Page 16: Getting The Arm Id

    ROZUM ROBOTICS API REFERENCE GUIDE Response examples:  200 OK "point": { "x": 0.3, "y": -0,4, "z": 0.2 "rotation": { "roll": 3.14, "pitch": 0, "yaw": 0.5  500 Internal Server Error "Robot does not respond"  Service Unavailable "Robot unavailable in emergency state"...
  • Page 17: Getting The Signal Level On A Digital Input

    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).
  • Page 18: Getting Data About Obstacles In An Arm Environment

    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.
  • Page 20 ROZUM ROBOTICS API REFERENCE GUIDE Response examples:  200 OK "obstacleType": "BOX", "name": "example_box", "sides": { "x": 0.1, "y": 0.1, "z": 0.1 "position": { "point": { "x": 1, "y": 1, "z": 1 "rotation": { "roll": 0, "pitch": 0, "yaw": 0 "obstacleType": "CAPSULE",...
  • Page 21: Getting Data About A Specific Obstacle In The Arm Environment

    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).
  • Page 23 ROZUM ROBOTICS API REFERENCE GUIDE Response examples:  200 OK "obstacleType": "BOX", "name": "example_box", "sides": { "x": 0.1, "y": 0.1, "z": 0.1 "position": { "point": { "x": 1, "y": 1, "z": 1 "rotation": { "roll": 0, "pitch": 0, "yaw": 0 "obstacleType": "CAPSULE",...
  • Page 24: Getting The Hardware Versions Of The Arm Components

    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.
  • Page 25: Getting The Arm Version

    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"...
  • Page 26: Requests To Set Parameters, States, And Actions (Put, Post)

    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.
  • Page 28: Setting A New Arm Pose

    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"...
  • Page 29: Asking The Arm To Open The Gripper

    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.
  • Page 30: Asking The Arm To Close The Gripper

    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...
  • Page 31: Asking The Arm To Relax

    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"...
  • Page 32: Asking The Arm To Move To A Pose

    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.
  • Page 34: Asking The Arm To Move To A Position

    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.
  • Page 36: Setting High Signal Level On A Digital Output

    ROZUM ROBOTICS API REFERENCE GUIDE Request example: "point": { "x": 0.3, "y": -0.4, "z": 0.2 "rotation": { "roll": 3.14, "pitch": 0, "yaw": 0.5 Response body: HTTP status code Description Response schema/ type 200 OK Success 400 Bad Request Message parsing error...
  • Page 37: Setting Low Signal Level On A Digital Output

    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...
  • Page 38: Recovering The Arm After An Emergency

    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.
  • Page 40 ROZUM ROBOTICS API REFERENCE GUIDE Request example: "obstacleType": "BOX", "name": "example_box", "sides": { "x": 0.1, "y": 0.1, "z": 0.1 "position": { "point": { "x": 1, "y": 1, "z": 1 "rotation": { "roll": 0, "pitch": 0, "yaw": 0 "obstacleType": "CAPSULE", "name": " example_capsule", "radius": 0.1,...
  • Page 41: Setting The Arm Into A Transportation Pose

    ROZUM ROBOTICS API REFERENCE GUIDE Response body: HTTP status code Response schema/ type 200 OK Obstacle schema 412 Precondition Failed Incorrect input parameters 500 Internal Server Error String 503 Service Unavailable String Response examples:  200 OK  412 Precondition Failed "Unable parameter value {13}"...
  • Page 42: Quitting The Untwisting Mode

    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.
  • Page 43: Setting Tool Properties

    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...
  • Page 44 ROZUM ROBOTICS API REFERENCE GUIDE Request example: "name": " gripper", "tcp": { "point": { "x": 0.3, "y": -0.4, "z": 0.2 "rotation": { "roll": 3.14, "pitch": 0, "yaw": 0.5 Response content type: application/json, text/plain Response body: HTTP status code Description Response schema/ type...
  • Page 45: Setting The Tool Shape

    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.
  • Page 46: Setting A New Zero Point Position

    ROZUM ROBOTICS API REFERENCE GUIDE Response examples:  200 OK "shape": [ "radius": 0.5, "begin": { "x": 0.3, "y": -0.4, "z": 0.2 "finish": { "x": 0.3, "y": -0.4, "z": 0.2  400 Bad Request "Incorrect format of input Message" ...
  • Page 47: Requests To Delete Parameters Of The Arm (Delete)

    ROZUM ROBOTICS API REFERENCE GUIDE Request example: "point": { "x": 0.3, "y": -0.4, "z": 0.2 "rotation": { "roll": 3.14, "pitch": 0, "yaw": 0.5 Response content type: application/json, text/plain Response body: HTTP status code Description Response schema/ type 200 OK Success...
  • Page 48: Removing A Specific Obstacle From The Arm Environment

    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" ...
  • Page 49: Annex 1. Response/ Request Schemas

    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,...
  • Page 50: Tool Info Schema

    ROZUM ROBOTICS API REFERENCE GUIDE Tool info schema Schema (property) Property content Examples Name String "name": "gripper", x: double number (meters) "x": "0.3", Point y: double number (meters) "y": "-0.4", z: double number (meters) "z": "0.2" roll: double number (radians) "roll": "3.14",...
  • Page 51: Obstacle Schema

    ROZUM ROBOTICS API REFERENCE GUIDE Obstacle schema Schema (property) Property content Examples Obstacle type String enum: [BOX, CAPSULE, PLANE] "obstacleType": "BOX", Name String "name": "workspace" Obstacle type obstacleType: string "obstacleType": "BOX", Name name: string "name": "first_box", Sides "sides": { Point x: double number (meters) "x": 0.3,...
  • Page 52: Version Schema

    ROZUM ROBOTICS API REFERENCE GUIDE Version schema Schema Property content Examples { "motorsVersion": [ { "motorsVersion": [ "string" "string" Version "safetyVersion": "string", "safetyVersion": "string", "usbCanVersion": "string", "usbCanVersion": "string", "wristVersion": "string" "wristVersion": "string" Rev.6, valid from Q2 2019 Page 52 | 52...

Table of Contents