1148 lines
18 KiB
Markdown
1148 lines
18 KiB
Markdown
|
|
# 飞行控制
|
|||
|
|
|
|||
|
|
## 端点: `/flight`
|
|||
|
|
|
|||
|
|
- **方法:** `GET`&`SET`
|
|||
|
|
- **描述:** 飞行控制
|
|||
|
|
|
|||
|
|
## 请求
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
### 起飞请求
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"action": 0
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 强制降落
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"action": "1"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 其余action请求数字代号:
|
|||
|
|
```json
|
|||
|
|
|
|||
|
|
返航:2
|
|||
|
|
取消返航:3
|
|||
|
|
着陆:4
|
|||
|
|
取消着陆:5
|
|||
|
|
确认着陆:6
|
|||
|
|
设置返航点:7 (以飞行器当前位置为返航点)
|
|||
|
|
电机急停:8
|
|||
|
|
开启电机:9
|
|||
|
|
关闭电机:10
|
|||
|
|
飞行拦截:11
|
|||
|
|
取消悬停:12
|
|||
|
|
紧急悬停:13
|
|||
|
|
取消紧急悬停:14
|
|||
|
|
执行遥控器操作:15
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
若需要执行遥控器操作,其指令格式为:
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"action": 15,
|
|||
|
|
"direction": "q\w\e\a\s\d\z\c"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
|
|||
|
|
# 数据订阅
|
|||
|
|
|
|||
|
|
## 端点:`/subscription`
|
|||
|
|
|
|||
|
|
- **方法:** `GET`
|
|||
|
|
- **描述:** 订阅或退订无人机实时数据
|
|||
|
|
|
|||
|
|
## 请求和响应
|
|||
|
|
|
|||
|
|
### 请求
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"action": 1,
|
|||
|
|
"topic": 2,
|
|||
|
|
"hertz": 50
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
action取值:<br>
|
|||
|
|
1 - subscribe<br>
|
|||
|
|
2 - unsubscribe<br>
|
|||
|
|
|
|||
|
|
topic取值:<br>
|
|||
|
|
0 - QUATERNION,姿态四元数<br>
|
|||
|
|
1 - ACCELERATION_GROUND,相对地面加速度<br>
|
|||
|
|
2 - ACCELERATION_BODY,相对机体加速度<br>
|
|||
|
|
3 - ACCELERATION_RAW,原始加速度<br>
|
|||
|
|
4 - VELOCITY,速度<br>
|
|||
|
|
5 - ANGULAR_RATE_FUSIONED,融合角速度<br>
|
|||
|
|
6 - ANGULAR_RATE_RAW,原始角速度<br>
|
|||
|
|
7 - ALTITUDE_FUSED,融合高度<br>
|
|||
|
|
8 - ALTITUDE_BAROMETER,气压计高度<br>
|
|||
|
|
9 - ALTITUDE_OF_HOMEPOINT,Home点高度<br>
|
|||
|
|
10 - HEIGHT_FUSION, 融合相对地面高度<br>
|
|||
|
|
11 - HEIGHT_RELATIVE, 相对地面高度<br>
|
|||
|
|
12 - POSITION_FUSED, 融合位置坐标<br>
|
|||
|
|
13 - GPS_DATE, GPS 日期(年月日)<br>
|
|||
|
|
14 - GPS_TIME, GPS 时间(时分秒)<br>
|
|||
|
|
15 - GPS_POSITION, GPS 位置<br>
|
|||
|
|
16 - GPS_VELOCITY, GPS 速度<br>
|
|||
|
|
17 - GPS_DETAILS, GPS 信息<br>
|
|||
|
|
18 - GPS_SIGNAL_LEVEL, GPS 信号强度<br>
|
|||
|
|
19 - RTK_POSITION, RTK 位置<br>
|
|||
|
|
20 - RTK_VELOCITY, RTK 速度<br>
|
|||
|
|
21 - RTK_YAW, RTK 航向角<br>
|
|||
|
|
22 - RTK_POSITION_INFO, RTK 位置信息<br>
|
|||
|
|
23 - RTK_YAW_INFO, RTK 航向信息<br>
|
|||
|
|
24 - COMPASS, 指南针信息<br>
|
|||
|
|
25 - RC, 遥控摇杆信息<br>
|
|||
|
|
26 - GIMBAL_ANGLES, 云台角度<br>
|
|||
|
|
27 - GIMBAL_STATUS, 云台状态<br>
|
|||
|
|
28 - STATUS_FLIGHT, 飞行状态<br>
|
|||
|
|
29 - STATUS_DISPLAYMODE, 飞行模式状态<br>
|
|||
|
|
30 - STATUS_LANDINGGEAR, 起落架状态<br>
|
|||
|
|
31 - STATUS_MOTOR_START_ERROR, 电机启动错误码<br>
|
|||
|
|
32 - BATTERY_INFO, 电池信息<br>
|
|||
|
|
33 - CONTROL_DEVICE, 设备控制信息<br>
|
|||
|
|
34 - HARD_SYNC, 硬件时钟同步<br>
|
|||
|
|
35 - GPS_CONTROL_LEVEL, GPS 控制等级<br>
|
|||
|
|
36 - RC_WITH_FLAG_DATA, 带标记遥控遥感信息<br>
|
|||
|
|
37 - ESC_DATA, 电调数据<br>
|
|||
|
|
38 - RTK_CONNECT_STATUS, RTK 连接状态<br>
|
|||
|
|
39 - GIMBAL_CONTROL_MODE, 云台控制模式<br>
|
|||
|
|
40 - FLIGHT_ANOMALY, 飞行异常信息<br>
|
|||
|
|
41 - POSITION_VO, 笛卡尔坐标位置<br>
|
|||
|
|
42 - AVOID_DATA, 避障数据<br>
|
|||
|
|
43 - HOME_POINT_SET_STATUS, 返航点设置状态<br>
|
|||
|
|
44 - HOME_POINT_INFO, 返航点信息<br>
|
|||
|
|
45 - THREE_GIMBAL_DATA, 三云台信息(适用M300 RTK与M350 RTK,上下三个云台的信息)<br>
|
|||
|
|
46 - BATTERY_SINGLE_INFO_INDEX1, 1 号电池信息<br>
|
|||
|
|
47 - BATTERY_SINGLE_INFO_INDEX2, 2 号电池信息<br>
|
|||
|
|
|
|||
|
|
hertz取值:<br>
|
|||
|
|
1 - DJI_DATA_SUBSCRIPTION_TOPIC_1_HZ<br>
|
|||
|
|
5 - DJI_DATA_SUBSCRIPTION_TOPIC_5_HZ<br>
|
|||
|
|
10 - DJI_DATA_SUBSCRIPTION_TOPIC_10_HZ<br>
|
|||
|
|
50 - DJI_DATA_SUBSCRIPTION_TOPIC_50_HZ<br>
|
|||
|
|
100 - DJI_DATA_SUBSCRIPTION_TOPIC_100_HZ<br>
|
|||
|
|
200 - DJI_DATA_SUBSCRIPTION_TOPIC_200_HZ<br>
|
|||
|
|
400 - DJI_DATA_SUBSCRIPTION_TOPIC_400_HZ<br>
|
|||
|
|
|
|||
|
|
其中每个topic针对不同机型允许的最大频率请参考大疆官方文档<br>
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
### 响应
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"status": 0,
|
|||
|
|
"description": "description for this response"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 推送的订阅数据
|
|||
|
|
|
|||
|
|
订阅数据为json格式,其中每个字段的含义,请参考大疆官方文档。<br>
|
|||
|
|
|
|||
|
|
QUATERNION:<br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 0,
|
|||
|
|
"q0": 3.14,
|
|||
|
|
"q1": 3.21,
|
|||
|
|
"q2": 3.21,
|
|||
|
|
"q3": 3.33,
|
|||
|
|
"pitch": 4.44,
|
|||
|
|
"roll": 5.44,
|
|||
|
|
"yaw": 6.33,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
ACCELERATION_GROUND: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 1,
|
|||
|
|
"x": 3.14,
|
|||
|
|
"y": 3.21,
|
|||
|
|
"z": 3.33,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
ACCELERATION_BODY: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 2,
|
|||
|
|
"x": 3.14,
|
|||
|
|
"y": 3.21,
|
|||
|
|
"z": 3.33,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
ACCELERATION_RAW: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 3,
|
|||
|
|
"x": 3.14,
|
|||
|
|
"y": 3.21,
|
|||
|
|
"z": 3.33,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
VELOCITY: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 4,
|
|||
|
|
"x": 3.14,
|
|||
|
|
"y": 3.21,
|
|||
|
|
"z": 3.33,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
ANGULAR_RATE_FUSIONED: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 5,
|
|||
|
|
"x": 3.14,
|
|||
|
|
"y": 3.21,
|
|||
|
|
"z": 3.33,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
ANGULAR_RATE_RAW: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 6,
|
|||
|
|
"x": 3.14,
|
|||
|
|
"y": 3.21,
|
|||
|
|
"z": 3.33,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
ALTITUDE_FUSED: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 7,
|
|||
|
|
"val": 3.14,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
ALTITUDE_BAROMETER: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 8,
|
|||
|
|
"val": 3.14,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
ALTITUDE_OF_HOMEPOINT: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 9,
|
|||
|
|
"val": 3.14,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
HEIGHT_FUSION: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 10,
|
|||
|
|
"val": 3.14,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
HEIGHT_RELATIVE: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 11,
|
|||
|
|
"val": 3.14,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
POSITION_FUSED: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 12,
|
|||
|
|
"longitude": 3.14,
|
|||
|
|
"latitude": 3.14,
|
|||
|
|
"altitude": 3.14,
|
|||
|
|
"visibleSatelliteNumber": 3,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
GPS_DATE: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 13,
|
|||
|
|
"val": 3000000,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
GPS_TIME: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 14,
|
|||
|
|
"val": 3000000,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
GPS_POSITION: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 15,
|
|||
|
|
"x": 14,
|
|||
|
|
"y": 21,
|
|||
|
|
"z": 33,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
GPS_VELOCITY: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 16,
|
|||
|
|
"x": 3.14,
|
|||
|
|
"y": 3.21,
|
|||
|
|
"z": 3.33,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
GPS_DETAILS: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 17,
|
|||
|
|
"hdop": 3.14,
|
|||
|
|
"pdop": 3.21,
|
|||
|
|
"fixState": 3.33,
|
|||
|
|
"vacc": 3.33,
|
|||
|
|
"hacc": 3.33,
|
|||
|
|
"sacc": 3.33,
|
|||
|
|
"gpsSatelliteNumberUsed": 33,
|
|||
|
|
"glonassSatelliteNumberUsed": 33,
|
|||
|
|
"totalSatelliteNumberUsed": 33,
|
|||
|
|
"gpsCounter": 33,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
GPS_SIGNAL_LEVEL: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 18,
|
|||
|
|
"val": 3000000,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
RTK_POSITION: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 19,
|
|||
|
|
"longitude": 3.14,
|
|||
|
|
"latitude": 3.21,
|
|||
|
|
"hfsl": 3.33,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
RTK_VELOCITY: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 20,
|
|||
|
|
"x": 3.14,
|
|||
|
|
"y": 3.21,
|
|||
|
|
"z": 3.33,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
RTK_YAW: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 21,
|
|||
|
|
"val": 3000000,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
RTK_POSITION_INFO: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 22,
|
|||
|
|
"val": 3000000,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
RTK_YAW_INFO: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 23,
|
|||
|
|
"val": 3000000,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
COMPASS: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 24,
|
|||
|
|
"x": 14,
|
|||
|
|
"y": 21,
|
|||
|
|
"z": 33,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
RC: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 25,
|
|||
|
|
"roll": 14,
|
|||
|
|
"pitch": 21,
|
|||
|
|
"yaw": 33,
|
|||
|
|
"throttle": 33,
|
|||
|
|
"mode": 33,
|
|||
|
|
"gear": 33,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
GIMBAL_ANGLES: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 26,
|
|||
|
|
"x": 14.99,
|
|||
|
|
"y": 21.12,
|
|||
|
|
"z": 33.22,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
GIMBAL_STATUS: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 27,
|
|||
|
|
"mountStatus": 14,
|
|||
|
|
"isBusy": 21,
|
|||
|
|
"pitchLimited": 33,
|
|||
|
|
"rollLimited": 33,
|
|||
|
|
"yawLimited": 33,
|
|||
|
|
"calibrating": 33,
|
|||
|
|
"prevCalibrationgResult": 14,
|
|||
|
|
"installedDirection": 21,
|
|||
|
|
"disabled_mvo": 33,
|
|||
|
|
"gear_show_unable": 33,
|
|||
|
|
"gyroFalut": 33,
|
|||
|
|
"escPitchStatus": 33,
|
|||
|
|
"escRollStatus": 14,
|
|||
|
|
"escYawStatus": 21,
|
|||
|
|
"droneDataRecv": 33,
|
|||
|
|
"initUnfinished": 33,
|
|||
|
|
"FWUpdating": 33,
|
|||
|
|
"reserved2": 33,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
STATUS_FLIGHT: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 28,
|
|||
|
|
"val": 3000000,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
STATUS_DISPLAYMODE: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 29,
|
|||
|
|
"val": 3000000,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
STATUS_LANDINGGEAR: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 30,
|
|||
|
|
"val": 3000000,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
STATUS_MOTOR_START_ERROR: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 31,
|
|||
|
|
"val": 3000000,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
BATTERY_INFO: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 32,
|
|||
|
|
"capacity": 3000000,
|
|||
|
|
"voltage": 3000000,
|
|||
|
|
"current": 3000000,
|
|||
|
|
"percentage": 3000000,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
CONTROL_DEVICE: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 33,
|
|||
|
|
"controlAuthority": 31,
|
|||
|
|
"controlAuthorityChangeReason": 30,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
HARD_SYNC: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 34,
|
|||
|
|
"ts": {
|
|||
|
|
"time2p5ms": 3333333,
|
|||
|
|
"time1ns": 2222,
|
|||
|
|
"resetTime2p5ms": 44444,
|
|||
|
|
"index": 22,
|
|||
|
|
"flag": 22
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
"q": {
|
|||
|
|
"q0": 22.22,
|
|||
|
|
"q1": 33.33,
|
|||
|
|
"q2": 33.33,
|
|||
|
|
"q3": 44.44
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
"a": {
|
|||
|
|
"x": 22.22,
|
|||
|
|
"y": 33.33,
|
|||
|
|
"z": 33.44
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
"w": {
|
|||
|
|
"x": 22.22,
|
|||
|
|
"y": 33.33,
|
|||
|
|
"z": 33.44
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
GPS_CONTROL_LEVEL: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 35,
|
|||
|
|
"val": 3,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
RC_WITH_FLAG_DATA: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 36,
|
|||
|
|
"roll": 14.21,
|
|||
|
|
"pitch": 21.14,
|
|||
|
|
"yaw": 33.33,
|
|||
|
|
"throttle": 33.44,
|
|||
|
|
|
|||
|
|
"flag": {
|
|||
|
|
"logicConnected": 1,
|
|||
|
|
"skyConnected": 2,
|
|||
|
|
"groundConnected": 2,
|
|||
|
|
"appConnected": 1,
|
|||
|
|
"reserved": 1
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
ESC_DATA: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 37,
|
|||
|
|
"esc": [
|
|||
|
|
{
|
|||
|
|
"current": 18,
|
|||
|
|
"speed": 100,
|
|||
|
|
"voltage": 200,
|
|||
|
|
"temperature": 30,
|
|||
|
|
"stall": 24,
|
|||
|
|
"empty": 2,
|
|||
|
|
"unbalanced": 1,
|
|||
|
|
"escDisconnected": 2,
|
|||
|
|
"temperatureHigh": 1,
|
|||
|
|
"reserved": 0
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
......数组大小为8
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
"current": 18,
|
|||
|
|
"speed": 100,
|
|||
|
|
"voltage": 200,
|
|||
|
|
"temperature": 30,
|
|||
|
|
"stall": 24,
|
|||
|
|
"empty": 2,
|
|||
|
|
"unbalanced": 1,
|
|||
|
|
"escDisconnected": 2,
|
|||
|
|
"temperatureHigh": 1,
|
|||
|
|
"reserved": 0
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
RTK_CONNECT_STATUS: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 38,
|
|||
|
|
"val": 3,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
GIMBAL_CONTROL_MODE: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 39,
|
|||
|
|
"val": 3,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
FLIGHT_ANOMALY: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 40,
|
|||
|
|
"impactInAir": 3,
|
|||
|
|
"randomFly": 3,
|
|||
|
|
"heightCtrlFail": 3,
|
|||
|
|
"rollPitchCtrlFail": 3,
|
|||
|
|
"yawCtrlFail": 3,
|
|||
|
|
"aircraftIsFalling": 3,
|
|||
|
|
"strongWindLevel1": 3,
|
|||
|
|
"strongWindLevel2": 3,
|
|||
|
|
"compassInstallationError": 3,
|
|||
|
|
"imuInstallationError": 3,
|
|||
|
|
"escTemperatureHigh": 3,
|
|||
|
|
"atLeastOneEscDisconnected": 3,
|
|||
|
|
"gpsYawError": 3,
|
|||
|
|
"reserved": 3,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
POSITION_VO: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 41,
|
|||
|
|
"x": 3.6,
|
|||
|
|
"y": 5.3,
|
|||
|
|
"z": 3.9,
|
|||
|
|
"xHealth": 1,
|
|||
|
|
"yHealth": 1,
|
|||
|
|
"zHealth": 1,
|
|||
|
|
"reserved": 0,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
AVOID_DATA: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 42,
|
|||
|
|
"down": 3.6,
|
|||
|
|
"front": 5.3,
|
|||
|
|
"right": 3.9,
|
|||
|
|
"left": 6.3,
|
|||
|
|
"up": 7.3,
|
|||
|
|
"downHealth": 3,
|
|||
|
|
"frontHealth": 3,
|
|||
|
|
"rightHealth": 3,
|
|||
|
|
"backHealth": 3,
|
|||
|
|
"leftHealth": 3,
|
|||
|
|
"upHealth": 3,
|
|||
|
|
"reserved": 3,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
HOME_POINT_SET_STATUS: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 43,
|
|||
|
|
"val": 3000000,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
HOME_POINT_INFO: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 44,
|
|||
|
|
"latitude": 30.22,
|
|||
|
|
"longitude": 30.33,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
THREE_GIMBAL_DATA: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 45,
|
|||
|
|
"anglesData": [
|
|||
|
|
{
|
|||
|
|
"roll": 18.22,
|
|||
|
|
"pitch": 10.05,
|
|||
|
|
"yaw": 20.07,
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
"roll": 18.22,
|
|||
|
|
"pitch": 10.05,
|
|||
|
|
"yaw": 20.07,
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
"roll": 18.22,
|
|||
|
|
"pitch": 10.05,
|
|||
|
|
"yaw": 20.07,
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
BATTERY_SINGLE_INFO_INDEX1: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 46,
|
|||
|
|
"reserve": 0,
|
|||
|
|
"batteryIndex": 1,
|
|||
|
|
"currentVoltage": 10,
|
|||
|
|
"currentElectric": 20,
|
|||
|
|
"fullCapacity": 100,
|
|||
|
|
"remainedCapacity": 80,
|
|||
|
|
"batteryTemperature": 40,
|
|||
|
|
"cellCount": 10,
|
|||
|
|
"batteryCapacityPercent": 50,
|
|||
|
|
|
|||
|
|
"batteryState": {
|
|||
|
|
"reserved": 1,
|
|||
|
|
"cellBreak": 2,
|
|||
|
|
"selfCheckError": 12,
|
|||
|
|
"reserved1": 1,
|
|||
|
|
"batteryClosedReason": 0,
|
|||
|
|
"reserved2": 1,
|
|||
|
|
"batSOHState": 12,
|
|||
|
|
"maxCycleLimit": 20,
|
|||
|
|
"reserved3": 1,
|
|||
|
|
"lessBattery": 12,
|
|||
|
|
"batteryCommunicationAbnormal": 1,
|
|||
|
|
"reserved4": 1,
|
|||
|
|
"hasCellBreak": 1,
|
|||
|
|
"reserved5": 2,
|
|||
|
|
"isBatteryEmbed": 1,
|
|||
|
|
"heatState": 2,
|
|||
|
|
"socState": 1
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
"reserve1": 1,
|
|||
|
|
"reserve2": 0,
|
|||
|
|
"SOP": 1,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
BATTERY_SINGLE_INFO_INDEX2: <br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"topic": 47,
|
|||
|
|
"reserve": 0,
|
|||
|
|
"batteryIndex": 2,
|
|||
|
|
"currentVoltage": 10,
|
|||
|
|
"currentElectric": 20,
|
|||
|
|
"fullCapacity": 100,
|
|||
|
|
"remainedCapacity": 80,
|
|||
|
|
"batteryTemperature": 40,
|
|||
|
|
"cellCount": 10,
|
|||
|
|
"batteryCapacityPercent": 50,
|
|||
|
|
|
|||
|
|
"batteryState": {
|
|||
|
|
"reserved": 1,
|
|||
|
|
"cellBreak": 2,
|
|||
|
|
"selfCheckError": 12,
|
|||
|
|
"reserved1": 1,
|
|||
|
|
"batteryClosedReason": 0,
|
|||
|
|
"reserved2": 1,
|
|||
|
|
"batSOHState": 12,
|
|||
|
|
"maxCycleLimit": 20,
|
|||
|
|
"reserved3": 1,
|
|||
|
|
"lessBattery": 12,
|
|||
|
|
"batteryCommunicationAbnormal": 1,
|
|||
|
|
"reserved4": 1,
|
|||
|
|
"hasCellBreak": 1,
|
|||
|
|
"reserved5": 2,
|
|||
|
|
"isBatteryEmbed": 1,
|
|||
|
|
"heatState": 2,
|
|||
|
|
"socState": 1
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
"reserve1": 1,
|
|||
|
|
"reserve2": 0,
|
|||
|
|
"SOP": 1,
|
|||
|
|
"ms": 100000,
|
|||
|
|
"us": 33339999
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
# 相机视频流
|
|||
|
|
## 端点:`/video`
|
|||
|
|
|
|||
|
|
- **方法:** `GET`
|
|||
|
|
- **描述:** 检索示例数据
|
|||
|
|
|
|||
|
|
## 请求和响应
|
|||
|
|
|
|||
|
|
### 打开相机请求
|
|||
|
|
参数1:Camera 具体相机<br>
|
|||
|
|
7:FpvCamera<br>
|
|||
|
|
1:MainCamera<br>
|
|||
|
|
2:ViceCamera<br>
|
|||
|
|
3:TopCamera<br>
|
|||
|
|
参数2:action 相机开关<br>
|
|||
|
|
1:打开<br>
|
|||
|
|
0:关闭<br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"camera": 7,
|
|||
|
|
"action": 1
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 打开相机请求的响应
|
|||
|
|
参数1:status 打开相机的响应码<br>
|
|||
|
|
0:打开成功<br>
|
|||
|
|
其他:错误信息<br>
|
|||
|
|
参数2:description 描述<br>
|
|||
|
|
0:打开成功<br>
|
|||
|
|
其他:打开失败<br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"status": 0,
|
|||
|
|
"description": "Start FpvCamera Stream successfully"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 关闭相机请求
|
|||
|
|
参数1:Camera 具体相机<br>
|
|||
|
|
7:FpvCamera<br>
|
|||
|
|
1:MainCamera<br>
|
|||
|
|
2:ViceCamera<br>
|
|||
|
|
3:TopCamera<br>
|
|||
|
|
参数2:action 相机开关<br>
|
|||
|
|
1:打开<br>
|
|||
|
|
0:关闭<br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"camera": 7,
|
|||
|
|
"action": 0
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 关闭相机请求的响应
|
|||
|
|
参数1:status 打开相机的响应码<br>
|
|||
|
|
0:关闭成功<br>
|
|||
|
|
其他值:错误信息<br>
|
|||
|
|
参数2:description 描述<br>
|
|||
|
|
0:关闭成功<br>
|
|||
|
|
其他:关闭失败<br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"status": 0,
|
|||
|
|
"description": "Stop FpvCamera Stream successfully"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 视频流
|
|||
|
|
参数1:name 相机号<br>
|
|||
|
|
7:FpvCamera<br>
|
|||
|
|
1:MainCamera<br>
|
|||
|
|
2:ViceCamera<br>
|
|||
|
|
3:TopCamera<br>
|
|||
|
|
参数2:streamData 视频流数据(未解码的h264视频流)<br>
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"name": 0,
|
|||
|
|
"streamData": ""
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
# 运动规划
|
|||
|
|
|
|||
|
|
## 端点:`/waypoint_v2`
|
|||
|
|
|
|||
|
|
- **方法:** `GET`&`SET`
|
|||
|
|
- **描述:** 检索示例数据
|
|||
|
|
|
|||
|
|
## 请求和响应
|
|||
|
|
|
|||
|
|
|
|||
|
|
### 上传航点任务
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"WaypointV2Move": 0,
|
|||
|
|
"uploadMission": {
|
|||
|
|
"missionId": 1,
|
|||
|
|
"repeatTimes": 1,
|
|||
|
|
"finishedAction": 0,
|
|||
|
|
"maxFlightSpeed": 10.0,
|
|||
|
|
"autoFlightSpeed": 5.0,
|
|||
|
|
"actionWhenRcLost": 1,
|
|||
|
|
"gotoFirstWaypointMode": 0,
|
|||
|
|
"waypoints": [
|
|||
|
|
{
|
|||
|
|
"longitude": 0.00000,
|
|||
|
|
"latitude": 0.00000,
|
|||
|
|
"relativeHeight": 10.0,
|
|||
|
|
"waypointType": 0,
|
|||
|
|
"headingMode": 0,
|
|||
|
|
"useLocalCruiseVel": 1,
|
|||
|
|
"useLocalMaxVel": 0,
|
|||
|
|
"dampingDistance": 20,
|
|||
|
|
"heading": 0.0,
|
|||
|
|
"turnMode": 0,
|
|||
|
|
"pointOfInterestPositionX": 0.0,
|
|||
|
|
"pointOfInterestPositionY": 0.0,
|
|||
|
|
"pointOfInterestPositionZ": 0.0,
|
|||
|
|
"maxFlightSpeed": 10.0,
|
|||
|
|
"autoFlightSpeed": 5.0
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"longitude": 0.0000010,
|
|||
|
|
"latitude": 0.0000020,
|
|||
|
|
"relativeHeight": 15.0,
|
|||
|
|
"waypointType": 0,
|
|||
|
|
"headingMode": 0,
|
|||
|
|
"useLocalCruiseVel": 0,
|
|||
|
|
"useLocalMaxVel": 1,
|
|||
|
|
"dampingDistance": 20,
|
|||
|
|
"heading": 0.0,
|
|||
|
|
"turnMode": 0,
|
|||
|
|
"pointOfInterestPositionX": 0.0,
|
|||
|
|
"pointOfInterestPositionY": 0.0,
|
|||
|
|
"pointOfInterestPositionZ": 0.0,
|
|||
|
|
"maxFlightSpeed": 10.0,
|
|||
|
|
"autoFlightSpeed": 5.0
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"longitude": 0.0000025,
|
|||
|
|
"latitude": 0.0000022,
|
|||
|
|
"relativeHeight": 20.0,
|
|||
|
|
"waypointType": 0,
|
|||
|
|
"headingMode": 0,
|
|||
|
|
"useLocalCruiseVel": 1,
|
|||
|
|
"useLocalMaxVel": 0,
|
|||
|
|
"dampingDistance": 20,
|
|||
|
|
"heading": 0.0,
|
|||
|
|
"turnMode": 0,
|
|||
|
|
"pointOfInterestPositionX": 0.0,
|
|||
|
|
"pointOfInterestPositionY": 0.0,
|
|||
|
|
"pointOfInterestPositionZ": 0.0,
|
|||
|
|
"maxFlightSpeed": 10.0,
|
|||
|
|
"autoFlightSpeed": 5.0
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"missTotalLen": 3,
|
|||
|
|
"actionList": [
|
|||
|
|
{
|
|||
|
|
"actionId": 1,
|
|||
|
|
"actionTrigger": {
|
|||
|
|
"triggerType": 2,
|
|||
|
|
"sampleReachPointTriggerParam": {
|
|||
|
|
"wayPointIndex": 0,
|
|||
|
|
"teminateNum": 1
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
"actionActuator": {
|
|||
|
|
"actuatorType": 0,
|
|||
|
|
"actuatorIndex": 0,
|
|||
|
|
"cameraActuatorParam": {
|
|||
|
|
"operationType": 1,
|
|||
|
|
"cameraFocusParam": {
|
|||
|
|
"focusTargetX": 0.0,
|
|||
|
|
"focusTargetY": 0.0,
|
|||
|
|
"regionType": 0,
|
|||
|
|
"width": 0.5,
|
|||
|
|
"height": 0.5,
|
|||
|
|
"reserve": 0,
|
|||
|
|
"retryTimes": 1
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"actionId": 2,
|
|||
|
|
"actionTrigger": {
|
|||
|
|
"triggerType": 2,
|
|||
|
|
"sampleReachPointTriggerParam": {
|
|||
|
|
"wayPointIndex": 1,
|
|||
|
|
"teminateNum": 1
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
"actionActuator": {
|
|||
|
|
"actuatorType": 1,
|
|||
|
|
"actuatorIndex": 0,
|
|||
|
|
"gimbalActuatorParam": {
|
|||
|
|
"operationType": 1,
|
|||
|
|
"gimbalRotation": {
|
|||
|
|
"rotX": 0,
|
|||
|
|
"rotY": -45,
|
|||
|
|
"rotZ": 0,
|
|||
|
|
"ctrl_mode": 0,
|
|||
|
|
"rollCmdIgnore": 0,
|
|||
|
|
"yawCmdIgnore": 0,
|
|||
|
|
"pitchCmdIgnore": 0,
|
|||
|
|
"absYawModeRef": 0,
|
|||
|
|
"reserved": 0,
|
|||
|
|
"durationTime": 2
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"actionNum": 2
|
|||
|
|
},
|
|||
|
|
"gloabalCruiseSpeed": 5.0
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 开始任务
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"WaypointV2Move": "1"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
### 停止任务
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"WaypointV2Move": "2"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 暂停任务
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"WaypointV2Move": "3"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
### 继续任务
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"WaypointV2Move": "4"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 设置全局巡航速度
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"datWaypointV2Move": 5,
|
|||
|
|
"gloabalCruiseSpeed": XXX
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
### 获取全局巡航速度
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"WaypointV2Move": 6
|
|||
|
|
}
|
|||
|
|
```
|