跳到主要内容

waylines.wpml 说明

文件介绍

waylines.wpml是无人机直接执行的文件,它定义了明确的无人机飞行和负载动作指令,这些指令由航线规划软件生成,也可被开发者直接编辑开发。waylines.wpml文件由两部分组成:

  1. 任务信息:主要包含 wpml:missionConfig元素,定义航线任务的全局参数等。
  2. 航线信息:主要包含Folder元素,定义详细的航线信息(路径定义、动作定义等)。每个Folder代表一条可执行的航线。特别的,当使用“倾斜摄影”模板时,将生成5条可执行航线,对应waylines.wpml内的5个Folder元素。

示例文件

waylines.wpml示例文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns:wpml="http://www.autel.com/wpmz/1.0.0" xmlns="http://www.opengis.net/kml/2.2">
<Document>
<!-- Step 1: Setup Mission Configuration -->
<wpml:missionConfig>
<wpml:flyToWaylineMode>safely</wpml:flyToWaylineMode>
<wpml:finishAction>goHome</wpml:finishAction>
<wpml:exitOnRCLost>goContinue</wpml:exitOnRCLost>
<wpml:executeRCLostAction>hover</wpml:executeRCLostAction>
<wpml:takeOffSecurityHeight>20</wpml:takeOffSecurityHeight>
<wpml:globalTransitionalSpeed>10</wpml:globalTransitionalSpeed>
<!-- Declare drone model with M4T -->
<wpml:droneInfo>
<wpml:droneEnumValue>1100</wpml:droneEnumValue>
<wpml:droneSubEnumValue>0</wpml:droneSubEnumValue>
</wpml:droneInfo>
<!-- Declare drone model with M4T -->
<wpml:payloadInfo>
<wpml:payloadEnumValue>10052</wpml:payloadEnumValue>
<wpml:payloadSubEnumValue>0</wpml:payloadSubEnumValue>
<wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
</wpml:payloadInfo>
</wpml:missionConfig>

<!-- Step 2: Setup A Folder for Waypoint Template -->
<Folder>
<wpml:templateId>0</wpml:templateId>
<wpml:executeHeightMode>WGS84</wpml:executeHeightMode>
<wpml:waylineId>0</wpml:waylineId>
<wpml:autoFlightSpeed>10</wpml:autoFlightSpeed>
<Placemark>
<Point>
<coordinates>
longitude,latitude
</coordinates>
</Point>
<wpml:index>0</wpml:index>
<wpml:executeHeight>116.57</wpml:executeHeight>
<wpml:waypointSpeed>10</wpml:waypointSpeed>
<wpml:waypointHeadingParam>
<wpml:waypointHeadingMode>followWayline</wpml:waypointHeadingMode>
</wpml:waypointHeadingParam>
<wpml:waypointTurnParam>
<wpml:waypointTurnMode>toPointAndStopWithDiscontinuityCurvature</wpml:waypointTurnMode>
<wpml:waypointTurnDampingDist>0</wpml:waypointTurnDampingDist>
</wpml:waypointTurnParam>
</Placemark>
<Placemark>
<Point>
<coordinates>
longitude,latitude
</coordinates>
</Point>
<wpml:index>1</wpml:index>
<wpml:executeHeight>116.57</wpml:executeHeight>
<wpml:waypointSpeed>7</wpml:waypointSpeed>
<wpml:waypointHeadingParam>
<wpml:waypointHeadingMode>followWayline</wpml:waypointHeadingMode>
</wpml:waypointHeadingParam>
<wpml:waypointTurnParam>
<wpml:waypointTurnMode>toPointAndStopWithDiscontinuityCurvature</wpml:waypointTurnMode>
<wpml:waypointTurnDampingDist>0</wpml:waypointTurnDampingDist>
</wpml:waypointTurnParam>
<!-- Declare action group for waypoint 1# -->
<wpml:actionGroup>
<wpml:actionGroupId>0</wpml:actionGroupId>
<wpml:actionGroupStartIndex>1</wpml:actionGroupStartIndex>
<wpml:actionGroupEndIndex>1</wpml:actionGroupEndIndex>
<wpml:actionGroupMode>sequence</wpml:actionGroupMode>
<wpml:actionTrigger>
<wpml:actionTriggerType>reachPoint</wpml:actionTriggerType>
</wpml:actionTrigger>
<!-- Declare the 1st action: rotate gimbal -->
<wpml:action>
<wpml:actionId>0</wpml:actionId>
<wpml:actionActuatorFunc>gimbalRotate</wpml:actionActuatorFunc>
<wpml:actionActuatorFuncParam>
<wpml:gimbalRotateMode>absoluteAngle</wpml:gimbalRotateMode>
<wpml:gimbalPitchRotateEnable>0</wpml:gimbalPitchRotateEnable>
<wpml:gimbalPitchRotateAngle>0</wpml:gimbalPitchRotateAngle>
<wpml:gimbalRollRotateEnable>0</wpml:gimbalRollRotateEnable>
<wpml:gimbalRollRotateAngle>0</wpml:gimbalRollRotateAngle>
<wpml:gimbalYawRotateEnable>1</wpml:gimbalYawRotateEnable>
<wpml:gimbalYawRotateAngle>30</wpml:gimbalYawRotateAngle>
<wpml:gimbalRotateTimeEnable>0</wpml:gimbalRotateTimeEnable>
<wpml:gimbalRotateTime>0</wpml:gimbalRotateTime>
<wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
</wpml:actionActuatorFuncParam>
</wpml:action>
<!-- Declare the 2nd action: take photo -->
<wpml:action>
<wpml:actionId>1</wpml:actionId>
<wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
<wpml:actionActuatorFuncParam>
<wpml:fileSuffix>point1</wpml:fileSuffix>
<wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
</wpml:actionActuatorFuncParam>
</wpml:action>
</wpml:actionGroup>
</Placemark>
</Folder>

</Document>
</kml>

元素说明

任务信息(父元素:<wpml:missionConfig>

元素名称类型单位取值与释义是否必需(默认值)支持机型
wpml:flyToWaylineMode飞向首航点模式枚举-string-safely:安全模式
无人机起飞,上升至首航点高度,再平飞至首航点。如果首航点低于“安全起飞高度”,则起飞至“安全起飞高度”后,平飞至首航点上方再下降。注意“安全起飞高度”仅在无人机未起飞时生效。

pointToPoint:倾斜飞行模式
无人机起飞至“安全起飞高度”,再倾斜爬升至首航点。如果首航点高度低于“安全起飞高度”,则先平飞后下降。
必需元素M4T/M4N
wpml:finishAction航线结束动作枚举-string-goHome:无人机完成航线任务后,退出航线模式并返航。
noAction:无人机完成航线任务后,退出航线模式。
autoLand:无人机完成航线任务后,退出航线模式并原地降落。
gotoFirstWaypoint:无人机完成航线任务后,立即飞向航线起始点,到达后退出航线模式。* 注:以上动作执行过程,若无人机退出了航线模式且进入失控状态,则会优先执行失控动作。
必需元素M4T/M4N
wpml:exitOnRCLost失控是否继续执行航线枚举-string-goContinue:继续执行航线
executeLostAction:退出航线,执行失控动作
必需元素M4T/M4N
wpml:executeRCLostAction失控动作类型枚举-string-goBack:返航。无人机从失控位置飞向起飞点
landing:降落。无人机从失控位置原地降落
hover:悬停。无人机从失控位置悬停
无,当wpml:exitOnRCLost为executeLostAction时为必需元素M4T/M4N
wpml:takeOffSecurityHeight安全起飞高度浮点型m[2, 1500] (高度模式:相对起飞点高度)
* 注:无人机起飞后,先爬升至该高度,再根据“飞向首航点模式”的设置飞至首航点。该元素仅在无人机未起飞时生效。
必需元素M4T/M4N
wpml:globalTransitionalSpeed全局航线过渡速度浮点型m/s[1,15]
* 注:无人机飞往每条航线首航点的速度。航线任务中断时,无人机从当前位置恢复至断点的速度。
必需元素M4T/M4N
wpml:globalRTHHeight全局返航高度浮点型m*注:无人机返航时,先爬升至该高度,再进行返航必需元素M4T/M4N
wpml:droneInfo无人机机型信息--注:请在共用元素信息章节阅读详细信息-M4T/M4N
wpml:payloadInfo负载机型信息--注:请在共用元素信息章节阅读详细信息-M4T/M4N
wpml:autoRerouteInfo航线绕行-----

航线信息(父元素:<Folder>

元素名称类型单位取值与释义是否必需(默认值)支持机型
wpml:templateId模板ID
* 注:在一个kmz文件内该ID唯一。建议从0开始单调连续递增。在template.kml和waylines.wpml文件中,将使用该id将模板与所生成的可执行航线进行关联。
整型-[0, 65535]必需元素M4T/M4N
wpml:waylineId航线ID
* 注:在一条航线中该ID唯一。建议从0开始单调连续递增。
整型-[0, 65535]必需元素M4T/M4N
wpml:autoFlightSpeed全局航线飞行速度浮点型m/s[1,15]
* 注:此元素定义了此模板生成的整段航线中,无人机的目标飞行速度。如果额外定义了某航点的该元素,则局部定义会覆盖全局定义。
必需元素M4T/M4N
wpml:executeHeightMode执行高度模式
* 注:该元素仅在waylines.wpml中使用。
枚举-string-WGS84:椭球高模式
relativeToStartPoint:相对起飞点高度模式
realTimeFollowSurface: 使用实时仿地模式,暂不支持。
必需元素M4T/M4N
Placemark(Point)航点信息(包括航点经纬度和高度等)--请阅读文档内容,航线文件格式 > template.kml 说明 > Placemark-M4T/M4N
wpml:startActionGroup航线初始动作
*注:该元素用于规划一系列初始动作,在航线开始前执行。航线中断恢复时,先执行初始动作,再执行航点动作
--拓展阅读:共用元素信息中的 <wpml:actionGroup>-M4T/M4N

航点信息(<Placemark>

元素名称类型单位取值与释义是否必需(默认值)支持机型
Point航点经纬度<经度,纬度>
* 注:此处格式如“<Point> <coordinates> 经度,纬度 </coordinates> </Point>
浮点型°,°[-90,90],[-180,180]必需元素M4T/M4N
wpml:index航点序号
* 注:在一条航线内该ID唯一。该序号必须从0开始单调连续递增。
整型-[0, 65535]必需元素M4T/M4N
wpml:executeHeight航点执行高度
* 注:该元素仅在waylines.wpml中使用。具体高程参考平面在“wpml:executeHeightMode”中声明。
浮点型m-必需元素M4T/M4N
wpml:waypointSpeed航点飞行速度,当前航点飞向下一个航点的速度浮点型m/s[1, 15]必需元素
* 注:当且仅当“wpml:useGlobalSpeed”为“0”时必需
M4T/M4N
wpml:waypointHeadingParam偏航角模式参数---必需元素
* 注:当且仅当“wpml:useGlobalHeadingParam”为“0”时必需
M4T/M4N
wpml:waypointTurnParam航点类型(航点转弯模式)---必需元素
* 注:当且仅当“wpml:useGlobalTurnParam”为“0”时必需
M4T/M4N
wpml:useStraightLine该航段是否贴合直线布尔型-0:航段轨迹全程为曲线
1:航段轨迹尽量贴合两点连线
必需元素
* 注:当且仅当“wpml:waypointTurnParam”内"waypointTurnMode"被设置为“toPointAndStopWithContinuityCurvature”或“toPointAndPassWithContinuityCurvature”时必需。如果此元素被设置,则局部定义会覆盖全局定义。
M4T/M4N
wpml:formationInfo航线编队信息注:请在共用元素信息章节阅读详细信息-M4T/M4N