Keypose Store Current Pose

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

URL

/v1/bundle/{linkID}

Method

POST

Caution

edelkrone SDK does not support CORS, so when you send a request with "OPTIONS" method, edelkrone 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 (max) Keypose slot you want to store the current pose

Note

The number of keypose slots depend on the device you are using. The number of keypose slots can be obtained from the length of keyposeSlotsFilled in the status.

Return value

See default return values.

Keypose Store by Numeric Data

You can fill a keypose slot by entering specific encoder values. This can be useful when moving the motion control system to a predefined location algorithmically.

URL

/v1/bundle/{linkID}

Method

POST

Caution

edelkrone SDK does not support CORS, so when you send a request with "OPTIONS" method, edelkrone 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 (max) Keypose slot you want to store the current pose
axis_name string - See table below
setpoint_value float - See table below
Axis Name Type Unit Value Range
headPan float degree -36000.0 - +36000.0
headTilt float degree -89.1 - +89.1
slide float centimeter Depends on the slider type.
focus float raw encoder There is no limit if calibration is not done.
After calibration, the limit is between two endpoints of your lens
jibPlusPan float degree -36000.0 - +36000.0
jibPlusTilt float degree -43.8 - +43.8

Note

See axis name convention chapter for details.

Note

The number of keypose slots depend on the device you are using. The number of keypose slots can be obtained from the length of keyposeSlotsFilled in the status.

Caution

When storing a keypose by entering specific encoder values, you must specify all axis values for the particular bundle. If you miss even one, this command returns an error.

Example JSON

For a bundle consisting of Slide Module v3 + HeadPLUSv2 units, we can store keypose slot number 2 by sending the following command:

{
  "command":"keyposeStoreWithNumericData",
  "index": 2,
  "headPan": 10.0,
  "headTilt": 20.0,
  "slide": -5.2
}

Return value

See default return values.

Keypose Move with Fixed Duration

URL

/v1/bundle/{linkID}

Method

POST

Caution

edelkrone SDK does not support CORS, so when you send a request with "OPTIONS" method, edelkrone 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": 5.2,
    "acceleration": 0.5
}
Label Type Value Description
command string keyposeMoveFixedDuration Command name
index integer 0 - 5 (max) Keypose slot index you want to move
acceleration float 0.0 - 1.0 Acceleration amount for the motion.
  • 0.0 being the most immediate start / stop
  • 1.0 being the most gradual start / stop
duration float - Planned motion duration in seconds

Note

The number of keypose slots depend on the device you are using. The number of keypose slots can be obtained from the length of keyposeSlotsFilled in the status.

Caution

  • With this type of fixed duration command, our motion control systems can't guarantee that the motion will be completed with the given duration, if the given duration is shorter than what it can be achieved with %100 speed.
  • If the given duration is shorter than what it can be achieved with %100 speed, system moves with %100 speed with the given acceleration.
  • You can check the actual motion duration information inside the periodic status data structure after motion is started.

Return value

See default return values.

Keypose Move with Fixed Speed

URL

/v1/bundle/{linkID}

Method

POST

Caution

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

Payload

{
  "command": "keyposeMoveFixedSpeed",
  "index": 0,
  "acceleration": 0.5,
  "speed": 0.5
}
Label Type Value Description
command string keyposeMoveFixedSpeed Command name
index integer 0 - 5 (max) Keypose slot index you want to move
acceleration float 0.0 - 1.0 Acceleration amount for the motion.
  • 0.0 being the most immediate start / stop
  • 1.0 being the most gradual start / stop
speed float 0.0 - 1.0 Speed argument. This is normalised based on current bundle.

Note

The number of keypose slots depend on the device you are using. The number of keypose slots can be obtained from the length of keyposeSlotsFilled in the status.

Return value

See default return values.

Loop Between Keyposes with Fixed Duration

URL

/v1/bundle/{linkID}

Method

POST

Caution

edelkrone SDK does not support CORS, so when you send a request with "OPTIONS" method, edelkrone 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 (max) -
index2 integer 0 - 5 (max) -
acceleration float 0.0 - 1.0 Acceleration amount for the motion.
  • 0.0 being the most immediate start / stop
  • 1.0 being the most gradual start / stop
duration float - Planned motion duration in seconds

Note

The number of keypose slots depend on the device you are using. The number of keypose slots can be obtained from the length of keyposeSlotsFilled in the status.

Caution

  • With this type of fixed duration command, our motion control systems can't guarantee that the motion will be completed with the given duration, if the given duration is shorter than what it can be achieved with %100 speed.
  • If the given duration is shorter than what it can be achieved with %100 speed, system moves with %100 speed with the given acceleration.
  • You can check the actual motion duration information inside the periodic status data structure after motion is started.

Return value

See default return values.

Loop Between Keyposes with Fixed Speed

URL

/v1/bundle/{linkID}

Method

POST

Caution

edelkrone SDK does not support CORS, so when you send a request with "OPTIONS" method, edelkrone 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": 1,
  "acceleration": 0.5,
  "speed": 0.25
}
Label Type Value Description
command string keyposeLoopFixedSpeed Command name
index1 integer 0 - 5 (max) -
index2 integer 0 - 5 (max) -
acceleration float 0.0 - 1.0 Acceleration amount for the motion.
  • 0.0 being the most immediate start / stop
  • 1.0 being the most gradual start / stop
speed float 0.0 - 1.0 Speed argument. This is normalised based on current bundle.

Note

The number of keypose slots depend on the device you are using. The number of keypose slots can be obtained from the length of keyposeSlotsFilled in the status.

Return value

See default return values.

Read Keypose Numeric Information

URL

/v1/bundle/{linkID}

Method

POST

Caution

edelkrone SDK does not support CORS, so when you send a request with "OPTIONS" method, edelkrone 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 (max) Keypose slot index you want to get information about keypose

Note

The number of keypose slots depend on the device you are using. The number of keypose slots can be obtained from the length of keyposeSlotsFilled in the status.

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"
}
Axis Name Type Unit Value Range
headPan float degree -36000.0 - +36000.0
headTilt float degree -89.1 - +89.1
slide float centimeter Depends on the slider type.
focus float raw encoder There is no limit if calibration is not done.
After calibration, the limit is between two endpoints of your lens
jibPlusPan float degree -36000.0 - +36000.0
jibPlusTilt float degree -43.8 - +43.8

Note

See axis name convention chapter for details.

Delete Keypose

URL

/v1/bundle/{linkID}

Method

POST

Caution

edelkrone SDK does not support CORS, so when you send a request with "OPTIONS" method, edelkrone 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 (max) Keypose slot index you want to delete

Note

The number of keypose slots depend on the device you are using. The number of keypose slots can be obtained from the length of keyposeSlotsFilled in the status.

Return value

See default return values.