Keypose Store Current Pose

URL

/v1/bundle/{linkID}

Method

POST

Caution

The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

Payload

{
  "command": "keyposeStoreCurrentPose",
  "index": 0,
}
Label Type Value Description
command string keyposeStoreCurrentPose command name
index integer 0 - 5 Keypose slot you want to store the current pose

Return value

See default return values.

Note

Use this command to store your overall pose as a keypose. You can move your system to this location later by referencing with index.

Keypose Store by Numeric Data

URL

/v1/bundle/{linkID}

Method

POST

Caution

The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK return a error because of HTTP request of "Content-Type" is sent always as "text/plain" NOT "application/json".

Payload

{
  "command":"keyposeStoreWithNumericData",
  "index":0,
  "{axis name}":"{setpoint value}"
}
Label Type Value Description
command string keyposeStoreWithNumericData command name
index integer 0 - 5 Keypose slot index you want to move
axis name float In which axis direction you want to move
Axis Name Type Value Range
headPan float -180.0 - +180.0
headTilt float -180.0 - +180.0
slide float It depends your calibrations.
focus float
jibPlusPan float
jibPlusTilt float

Example JSON You want to send command for three axes; Head Pan, Head Tilt and Slide;

{
  "command":"keyposeStoreWithNumericData",
  "index":0,
  "headPan":0.0,
  "headTilt":0.0,
  "slide":0.0,
}

Return value

See default return values.

Keypose Move with Fixed Duration

URL

POST /v1/bundle/{linkID}

Caution !!! The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

Payload

{
    "command":"keyposeMoveFixedDuration",
    "index":0,
    "duration":0.5,
    "acceleration":0.0
}
Label Type Value Description
command string keyposeMoveFixedDuration command name
index integer 0-5 Keypose slot index you want to move
acceleration float 0.0 - 1.0 Ease in / out amount. 0.0 is immediate move, 1.0 is most smooth
duration float second Planned motion duration

Note

System doesn't guarantee that every movement will be completed as requested. If requested duration is lower than what system can achieve with 100% speed, system moves with 100% speed.

Keypose Move with Fixed Speed

URL

POST /v1/bundle/{linkID}

Caution !!! The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

Method

POST

Payload

{
  "command": "keyposeMoveFixedSpeed",
  "index": 0,
  "acceleration": 0.5,
  "speed": 8.0,
}
Label Type Value Description
command string keyposeMoveFixedSpeed command name
index integer 0-5 Keypose slot index you want to move
acceleration float 0.0 - 1.0 Ease in / out amount. 0.0 is immediate move, 1.0 is most smooth
speed float -1.0 - +1.0 Speed ratio for motion

Note

System doesn't guarantee that every movement will be completed as requested. If requested duration is lower than what system can achieve with 100% speed, system moves with 100% speed.

Loop Between Keyposes with Fixed Duration

URL

POST /v1/bundle/{linkID}

Method

POST

Caution !!! The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

Payload

{
    "command":"keyposeLoopFixedDuration",
    "index1":0,
    "index2":1,
    "duration":0.0,
    "acceleration":0.0
}
Label Type Value Description
command string keyposeMoveFixedDuration command name
index1 integer 0 - 5
index2 integer 0 - 5
acceleration float 0.0 - 1.0 Ease in / out amount. 0.0 is immediate move, 1.0 is most smooth
duration float second Planned motion duration

Note

System doesn't guarantee that every movement will be completed as requested. If requested duration is lower than what system can achieve with 100% speed, system moves with 100% speed.

Loop Between Keyposes with Fixed Speed

URL

POST /v1/bundle/{linkID}

Method

POST

Caution !!! The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json"..

Payload

{
  "command": "keyposeLoopFixedSpeed",
  "index1": 0,
  "index2": 0,
  "acceleration": 0.5,
  "speed": 8.0,
}
Label Type Value Description
command string keyposeLoopFixedSpeed command name
index1 integer 0 - 5 Keypose slot index you want to move
acceleartion float 0.0 - 1.0 Ease in / out amount. 0.0 is immediate move, 1.0 is most smooth
speed float -1.0 - +1.0 Speed ratio for motion

Note

System doesn't guarantee to move within you ask for it. If requested duration is lower than what system can achive with %100 speed, system moves with %100 speed.

Read Keypose Numeric Information

URL

POST /v1/bundle/{linkID}

Method

POST

Caution !!! The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

Payload

{
  "command": "keyposeReadNumericValues",
  "index": 0
}
Label Type Value Description
command string keyposeReadNumericValues command name
index integer 0 - 5 Keypose slot index you want to get information about keypose

Return value

{
  "data": {
        "{axis_name}": "{set_point}",
    },
    "result": "ok"
}

Example Return

{
    "data": {
        "focus": 0,
        "headPan": 0.0,
        "headTilt": 0.0,
        "index": 0,
        "jibPlusPan": -1.0,
        "jibPlusTilt": -1.0,
        "slide": 0.0
    },
    "result": "ok"
}
Label Type Value Description
data string
  • none
  • running
  • error
  • multipleDevice
  • noDevice
  • finished
Update status
Axis Name Type Value Range
headPan float -180.0 - +180.0
headTilt float -180.0 - +180.0
slide float It depends your calibrations.
focus float
jibPlusPan float
jibPlusTilt float

Delete Keypose

TO BE FILLED

URL

POST /v1/bundle/{linkID}

Method

POST

Caution !!! The SDK does not support CORS, so when you send a request with "OPTIONS" method, the SDK returns an error because an HTTP request of "Content-Type" is always sent as "text/plain" NOT "application/json".

Payload

{
  "command":"keyposeDeletePose",
  "index":1
}
Label Type Value Description
command string keyposeDeletePose command name
index integer 0 - 5 Keypose slot index you want to get information about keypose

Default Return Values

{
  "result": "ok"
}

Given arguments are invalid.

{
  "result": "invalid setup"
}

Given device is invalid