航线规划
参数名 | 长度 | 类型 | 值 |
---|---|---|---|
帧头 | 2 | uint16 | 0x7479 |
数据长度 | 2 | uint16 | |
云盒SN号 | 15 | byte[ ] | |
指令编号 | 1 | uint8 | 0xD1 |
加密标志 | 1 | uint8 | 0x01加密,0x00未加密 |
动作编号 | 1 | uint8 | 0x10 |
航线数据 | N | byte[] | ProtoBuf格式封装的航线对象 |
航线规划回复
参数名 | 长度 | 类型 | 值 |
---|---|---|---|
帧头 | 2 | uint16 | 0x6A77 |
数据长度 | 2 | uint16 | |
指令号 | 1 | uint8 | 0xD1 |
加密标志 | 1 | uint8 | 0x01加密,0x00未加密 |
动作编号 | 1 | uint8 | 0x10 |
执行结果 | 1 | uint8 | 0x00失败,0x01成功 |
错误码 | 4 | uint32 | |
云盒SN号 | 15 | byte[ ] |
航线ProtoBuf描述
航线由多个航点组成,每个航点可包含多个动作
//航线对象
message PlanLineData{
uint32 finishedAction=1;//结束航线后动作:1=返航,2=原地悬停,3=原地降落,4=原地绕飞[目前只osdk4.1版本支持,中心点为最后一个航点,飞机绕此点画圆飞行],5=返回至第一个航点并悬停[如果飞机到最后一个点时RC和飞机失联,飞机会在最后一个点悬停]
float maxSpeed=2;//最大飞行速度(单位:米/秒,范围0~15),默认15
float autoSpeed=3;//自动飞行速度(单位:米/秒,范围0~15),默认8
repeated PointData points=4;//坐标点数组
uint32 loseAction=5;//网络失联后动作:0=返回HOME点,1=继续航线,默认0
uint32 homeHeight=6;//返航高度:(单位:米,范围20~1500),说明:此值为相对起飞点高度,如果太高会有失去网络覆盖风险。不同飞行器返航逻辑不一样,若飞行器距HOME点距离过近,可能不会升高再返航。具体逻辑请咨询大疆DJI
uint32 isSaveEnergyMode=7;//是否开启节能模式:0=不是,1=是(说明:节能模式下,飞机沿最短直线距离由起飞点到航线第一个航点,非升高到第一个航点高度再飞往第一个航点)
HangarPoint takePoint=8;//起飞点机库信息
HangarPoint landPoint=9;//降落点机库信息
repeated PointData interests=10;//兴趣点数组(对象只包含经纬高)
NormalModel normalModel=11;//普通建模
SurroundModel surroundModel=12;//环绕建模
PointData takeOffPoint=13;//起飞点(对象只包含经纬高)
}
//航点对象
message PointData{
double lng=1;//经度
double lat=2;//纬度
float height=3;//高度(单位:米,范围0~遥控器限高),说明:此值为相对起飞点高度,如果太高会有失去网络覆盖风险
float speed=4;//速度(单位:米/秒,范围0~15),默认8
repeated PointAction actions=5;//动作数组
uint32 flightPathMode=6;//航线飞行模式:1=直线飞行,2=协调转弯,3=曲线飞行(停),4=曲线飞行(不停)
float dampingDistance=7;//转弯半径(仅协调转弯模式下有效),取值范围1~655.35单位:米,两点间距离要小于此值,此值要根据实际情况计算,切勿随便设此值[可能导致航线开始失败],具体计算方法可以咨询售后支持或者大疆DJI
uint32 safeGohomeFlag=8;//是否为安全返航点 0=不是,1=是 (暂时未启用)
uint32 headingMode=9;//偏航模式 0=自动,1=锁定,2=遥控器控制,3=云台依照航点方向旋转,4=朝向兴趣点,5=飞机和云台的偏航同时旋转
float heading=10;//航点偏航 -180~180
int32 interestIndex=11;//兴趣点下标,默认-1
uint32 groupIndex=12;//组下标
}
//航点动作对象
message PointAction{
uint32 type=1;//类型:1-变焦 2-拍照 3-录像 4-停录 5-控制飞机机头偏航 6-控制云台俯仰 7-控制云台偏航 8-控制云台横滚 9-悬停 10-等距间隔拍照 11-等时间隔拍照 12-结束间隔拍照 13- 单条喊话 14-开始循环喊话 15-结束循环喊话 16-对焦
float param=2;//参数:[1.变焦]->变焦倍数(范围:2~200) 、 [5.控制飞机机头偏航(范围:-180~180)、6.控制云台俯仰(范围:-120~30)、7.控制云台偏航(范围:-180~180)、8.控制云台横滚(范围:-90~60)]->角度(按正北坐标系绝对值控制) 、[9.悬停]->时间(单位:秒,范围:1~25,如果想停留大于25秒时长,可以加多组悬停动作) [10.等距间隔拍照]->距离(单位:米,范围:1~100) [11.等时间隔拍照]->时间(单位:秒,范围:1~30) [13/14->喊话器俯仰角度,如果此值为0默认改成-90](范围:0~-90)
int32 waitTime=3;//动作触发后等待时长(单位:秒) [此值如果不需要可以不传,如需悬停可添加类型9悬停动作] [13/14->喊话器声音,如果此值不传默认50](范围:0~100)
string speakInfo=4;//喊话内容[type=13和type=14时生效]
}