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
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
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.
|
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
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.
|
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
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.
|
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
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.
|
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
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