以下是为无人机系统设计的 全功能接口协议文档 ,涵盖任务管理、飞行控制、媒体采集、云台控制及数据传输等核心模块,采用 RESTful API + WebSocket + SFTP 混合架构:
无人机全功能控制接口协议
版本 :4.0
通信架构:
graph TB
A[Web前端] -- HTTPS --> B[API Server]
B -- WebSocket --> C[无人机]
C -- SFTP --> D[媒体存储]
B -- MQTT --> E[地面站]
1. 任务管理系统
1.1 巡航任务创建
-
接口 :
POST /api/v3/missions
-
参数 :
json{ "name": "电力巡检-2024", "waypoints": [ { "id": 1, "lat": 31.2304, "lng": 121.4737, "alt": 120.0, "speed": 10.0, "actions": [ { "type": "gimbal_rotate", "params": {"pitch": -30, "yaw": 45, "duration": 3} }, { "type": "photo", "params": {"count": 3, "interval": 1} } ] } ], "advanced": { "rtl_altitude": 50.0, // 返航高度 "obstacle_avoidance": true // 避障开关 } }
-
响应 :
json{ "mission_id": "MIS_20240520_001", "waypoint_count": 8, "estimated_duration": 325 // 秒 }
2. 飞行控制
2.1 任务下发与起飞
-
接口 :
POST /api/v3/flight/execute
-
参数 :
json{ "drone_id": "UAV_001", "mission_id": "MIS_20240520_001", "takeoff": { "altitude": 15.0, "auto_rotate_gimbal": true // 起飞时云台自动归中 } }
2.2 紧急控制指令
接口 | 功能 | 关键参数 |
---|---|---|
POST /api/v3/flight/land |
紧急降落 | precision_mode: "vision" |
POST /api/v3/flight/rtl |
智能返航 | avoid_obstacles: true |
POST /api/v3/flight/hold |
悬停 | duration: 60 (秒) |
3. 云台控制系统
3.1 多模式控制
json
// 绝对角度控制
{
"mode": "absolute",
"yaw": 90.0,
"pitch": -20.0,
"speed": 30
}
// 速度控制模式
{
"mode": "velocity",
"yaw_speed": 10.0, // 度/秒
"pitch_speed": -5.0
}
3.2 高级功能
-
目标跟踪 :
json{ "tracking": { "target": "vehicle", "lock_position": {"lat": 31.2304, "lng": 121.4737}, "smoothing": 0.8 // 跟踪平滑度 } }
-
红外模式切换 :
json{ "ircut": "auto", // auto/day/night "thermal_range": "high" // 热成像范围 }
4. 媒体采集系统
4.1 媒体控制指令集
指令类型 | 接口路径 | 示例参数 |
---|---|---|
单次拍照 | POST /api/v3/media/capture |
{"format": "raw+jpg"} |
开始录像 | POST /api/v3/media/record |
{"resolution": "4K@30fps"} |
定时拍摄 | POST /api/v3/media/timelapse |
{"interval": 5, "duration": 300} |
4.2 媒体回传配置
json
{
"transfer": {
"mode": "realtime", // realtime/postflight
"compression": "h265",
"qos": {
"priority": "video", // video/telemetry
"bandwidth_limit": "5Mbps"
}
}
}
5. 实时数据流
5.1 WebSocket 数据通道
通道类型 | 地址 | 数据示例 |
---|---|---|
视频流 | wss://api.example.com/video |
H.264/H.265 编码流 |
遥测数据 | wss://api.example.com/telemetry |
json {"alt": 45.2, "battery": 78} |
云台状态 | wss://api.example.com/gimbal |
json {"pitch": -12.3, "tracking": true} |
6. 错误码与状态机
6.1 核心错误码
错误码 | 含义 | 恢复方案 |
---|---|---|
6001 | 云台校准失败 | 重启后手动校准 |
6002 | 存储空间不足 | 触发自动回传或更换存储卡 |
6003 | 通信链路中断 | 自动切换4G/无线电中继 |
6.2 飞行状态机
stateDiagram-v2
[*] --> IDLE
IDLE --> TAKEOFF: 起飞指令
TAKEOFF --> MISSION: 到达目标高度
MISSION --> HOLD: 暂停指令
HOLD --> MISSION: 继续执行
MISSION --> RTL: 任务完成/低电量
RTL --> LANDING: 到达返航点
LANDING --> IDLE: 着陆完成
7. 安全与性能
7.1 安全限制
-
地理围栏 :
json{ "geofence": { "max_altitude": 150.0, "boundary": [ {"lat": 31.2304, "lng": 121.4737}, {"lat": 31.2400, "lng": 121.4900} ] } }
7.2 性能指标
项目 | 指标 |
---|---|
指令响应延迟 | <200ms (局域网) |
视频流延迟 | <500ms (1080P@30fps) |
云台跟踪精度 | ±0.3° (静态目标) |
此文档支持以下 扩展功能:
- 任务模板保存/加载
- 多机协同控制
- 第三方系统集成(通过Webhook)
如需完整技术方案书,请联系商务团队获取《智能无人机系统集成指南》。