Skip to main content
Version: 4.5.0

Fuzzy RTOS API

Fuzzy RTOS (1.0)

Download OpenAPI specification:Download

Interface to FuzzyLogic's RTOS runtime

Robots

Get all robots

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Get all robot brands

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Get robots by brand

path Parameters
brand
required
string

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Get robot by id

path Parameters
id
required
integer [ 0 .. 4294967295 ]

Responses

Response samples

Content type
application/json
{
  • "id": 4294967295,
  • "brand": "string",
  • "model": "string",
  • "path": "string"
}

Controllers

Get all controllers

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Get all controller brands

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Get controllers by brand

path Parameters
brand
required
string

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Get controller by id

path Parameters
id
required
integer [ 0 .. 4294967295 ]

Responses

Response samples

Content type
application/json
{
  • "id": 4294967295,
  • "brand": "string",
  • "model": "string",
  • "custom_name": "string",
  • "path": "string",
  • "config": "string"
}

Add or replace a user-defined controller

Request Body schema: application/json
required
id
integer [ 0 .. 4294967295 ]

Robot controller id

brand
string

Robot controller brand

model
string

Robot controller model

custom_name
string

Custom robot controller name (for user-defined controllers)

path
string

Robot controller config path on disk

config
string

Robot controller configuration

Responses

Request samples

Content type
application/json
{
  • "id": 4294967295,
  • "brand": "string",
  • "model": "string",
  • "custom_name": "string",
  • "path": "string",
  • "config": "string"
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": -2147483648,
  • "message": "string"
}

Delete a user-defined controller

Request Body schema: application/json
required
id
integer [ 0 .. 4294967295 ]

Robot controller id

Responses

Request samples

Content type
application/json
{
  • "id": 4294967295
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": -2147483648,
  • "message": "string"
}

MQTT

Start MQTT connection

Request Body schema: application/json
required
ca_cert
string
Default: ""

Certificate

hostname
required
string
Default: "localhost"

MQTT broker address

input_prefix
string
Default: "/fuzzy_studio/"

Prefix for all inbound topics

output_prefix
string
Default: ""

Prefix for all outbound topics

port
required
integer [ 0 .. 4294967295 ]
Default: 1885

MQTT broker port

bridge_hostname
string
Default: ""

MQTT bridge address

bridge_port
integer [ 0 .. 4294967295 ]
Default: 8883

MQTT bridge port

Responses

Request samples

Content type
application/json
{
  • "ca_cert": "",
  • "hostname": "localhost",
  • "input_prefix": "/fuzzy_studio/",
  • "output_prefix": "",
  • "port": 1885,
  • "bridge_hostname": "",
  • "bridge_port": 8883
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": -2147483648,
  • "message": "string"
}

MQTT connection state

Responses

Response samples

Content type
application/json
{
  • "bridge_hostname": "string",
  • "bridge_port": 4294967295
}

Stop MQTT connection

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": -2147483648,
  • "message": "string"
}

Drivers

Start drivers

Configure and start the real-time drivers.

Request Body schema: application/json
required
controller_id
required
integer [ 0 .. 4294967295 ]

The robot controller id to use

robot_id
required
integer [ 0 .. 4294967295 ]

The robot id to use

dummy_driver
required
boolean

Use a simulation instead of a real driver

object (DriverLoadOptions)

Responses

Request samples

Content type
application/json
{
  • "controller_id": 4294967295,
  • "robot_id": 4294967295,
  • "dummy_driver": true,
  • "options": {
    }
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": -2147483648,
  • "message": "string"
}

Drivers configuration

Responses

Response samples

Content type
application/json
{
  • "controller_id": 4294967295,
  • "robot_id": 4294967295,
  • "dummy_driver": true,
  • "options": {
    }
}

Stop drivers

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": -2147483648,
  • "message": "string"
}

Get the driver state

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": -2147483648,
  • "message": "string"
}

Set the control mode

Switch between the control modes of Fuzzy RTOS (Idle/Jogging/Trajectory).

Request Body schema: application/json
required
string

Responses

Request samples

Content type
application/json
{
  • "header": {
    },
  • "controlModeRequest": "RTOS_CONTROL_MODE_UNSPECIFIED"
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": -2147483648,
  • "message": "string"
}

Get the home position

The joint positions are expressed in radians.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": -2147483648,
  • "message": "string"
}

Joint position jogging command

Send a joint position jogging command (in radians) to the robot. The jogging control mode must have been selected prior to this request.

See POST /driver/control_mode to change the control mode.

Request Body schema: application/json
required
string

Responses

Request samples

Content type
application/json
{
  • "header": {
    },
  • "jointPositions": {
    }
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": -2147483648,
  • "message": "string"
}

Joint velocity jogging command

Send a joint velocity jogging command (in radians) to the robot. The jogging control mode must have been selected prior to this request.

See POST /driver/control_mode to change the control mode.

Request Body schema: application/json
required
string

Responses

Request samples

Content type
application/json
{
  • "header": {
    },
  • "jointVelocities": {
    }
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": -2147483648,
  • "message": "string"
}

Cartesian velocity jogging command

Send a cartesian pose jogging command (in meters) to the robot. The jogging control mode must have been selected prior to this request.

See POST /driver/control_mode to change the control mode.

Request Body schema: application/json
required
string

Responses

Request samples

Content type
application/json
{
  • "header": {
    },
  • "desiredPose": {
    }
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": -2147483648,
  • "message": "string"
}

Cartesian velocity jogging command

Send a cartesian velocity jogging command (in m/s & rad/s) to the robot. The jogging control mode must have been selected prior to this request.

See POST /driver/control_mode to change the control mode.

Request Body schema: application/json
required
string

Responses

Request samples

Content type
application/json
{
  • "header": {
    },
  • "desiredVelocity": {
    }
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": -2147483648,
  • "message": "string"
}

Set the robot tool

It is not always possible to change the tool (especially if the robot is moving). Make sure the control mode is Idle prior to calling this.

See POST /driver/control_mode to change the control mode.

Request Body schema: application/json
required
string

Responses

Request samples

Content type
application/json
{
  • "header": {
    },
  • "tool": {
    }
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": -2147483648,
  • "message": "string"
}

Get the trajectory generator state

Generation results are ordered from oldest to newest.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": -2147483648,
  • "message": "string"
}

Load waypoints

A trajectory will be generated from these waypoints and, if the generation is successful and the current system state allows it, will be loaded as the current operating trajectory. See GET /driver/trajectory/generator to check generation results.

Request Body schema: application/json
required
string

Responses

Request samples

Content type
application/json
{
  • "inputs": {
    },
  • "header": {
    }
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": -2147483648,
  • "message": "string"
}

Get the trajectory player state

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": -2147483648,
  • "message": "string"
}

Trajectory player action

Request a trajectory action (play, pause, etc...).

Request Body schema: application/json
required
string

Responses

Request samples

Content type
application/json
{
  • "header": {
    },
  • "action": "TRAJECTORY_PLAYER_ACTION_UNSPECIFIED"
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": -2147483648,
  • "message": "string"
}

Compute a pose from joint positions

Request Body schema: application/json
required
string

Responses

Request samples

Content type
application/json
{
  • "value": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": -2147483648,
  • "message": "string"
}

Compute joint positions from a pose

Request Body schema: application/json
required
string

Responses

Request samples

Content type
application/json
{
  • "translation": {
    },
  • "rotation": {
    }
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": -2147483648,
  • "message": "string"
}

Version

Get the runtime version

Responses

License

Get license status

Responses

Response samples

Content type
application/json
{
  • "is_valid": true
}

Get license name

Responses

License key

Responses

Response samples

Content type
application/json
{
  • "key": "string"
}

Activate license online

Request Body schema: application/json
required
key
string

License key

Responses

Request samples

Content type
application/json
{
  • "key": "string"
}

Release license

Responses

Generate an offline activation request

Request Body schema: application/json
required
key
string

License key

Responses

Request samples

Content type
application/json
{
  • "key": "string"
}

Response samples

Content type
application/json
{
  • "key": "string",
  • "request": "string"
}

Activate license offline

Request Body schema: application/json
required
key
string

License key

request
string

Activation request

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "request": "string"
}

Response samples

Content type
application/json
{
  • "is_valid": true
}

Offline license release

Responses

Response samples

Content type
application/json
{
  • "key": "string",
  • "request": "string"
}