30.waylines-wpml

File Introduction

The waylines.wpml file consists of two parts.

  1. Mission information: Contains mainly the wpml:missionConfig element, which defines the global parameters of the waylines mission, etc.

  2. Waylines information: Contains mainly Folder elements, which define detailed waylines information (path definition, action definition, etc.). Each Folder represents an executable route. In particular, when using the "mapping3d" template, 5 executable routes are generated, corresponding to the 5 Folder elements in waylines.wpml.

File Sample

waylines.wpml The sample file is as follows.

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:wpml="http://www.dji.com/wpmz/1.0.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 M30 -->
      <wpml:droneInfo>
        <wpml:droneEnumValue>67</wpml:droneEnumValue>
        <wpml:droneSubEnumValue>0</wpml:droneSubEnumValue>
      </wpml:droneInfo>
      <!-- Declare drone model with M30 -->
      <wpml:payloadInfo>
        <wpml:payloadEnumValue>52</wpml:payloadEnumValue>
        <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>

Element Introduction

Mission Information(Parent Element:<wpml:missionConfig>)

Element
Name
Type
unit
Value
Is it required (default)
Product Support

wpml:flyToWaylineMode

Fly to first point mode

enum

-

safely: (M300)The aircraft takes off, rises to the altitude of the first waypoint, and then flies level to the first waypoint. If the first waypoint is lower than the take-off point, after takeoff, it will level fly to the top of the first waypoint and then descend. (M30)The aircraft takes off, rises to the altitude of the first waypoint, and then flies level to the first waypoint. If the first waypoint is lower than the "safe take-off altitude", after taking off to the "safe take-off altitude", level flight to the first waypoint and then descend. Note that the "safe takeoff altitude" only takes effect when the aircraft is not taking off. pointToPoint (M300)After the aircraft takes off, it tilts to the first waypoint. (M30)The aircraft takes off to the "safe takeoff altitude", and then tilts to the first waypoint. If the altitude of the first waypoint is lower than the "safe take-off altitude", it will first level flight and then descend.

Yes

M300 RTK, M350 RTK, M30/M30T, M3E/M3T/M3M, M3D/M3TD

wpml:finishAction

finish action

enum

-

goHome: After the aircraft completes the waylines mission, exit the waylines mode and go home. noAction: After the aircraft completes the waylines mission, exit the waylines mode. autoLand: After the aircraft completes the waylines mission, exit the waylines mode and land on the spot. gotoFirstWaypoint: After the aircraft completes the waylines mission, it immediately flies to the first point of the waylines, and exits the waylines mode when it arrives. Note: During the above actions, if the aircraft exits the waylines mode and enters the runaway state, the runaway action will be executed first.

Yes

M300 RTK, M350 RTK, M30/M30T, M3E/M3T/M3M, M3D/M3TD

wpml:exitOnRCLost

Whether to continue the waylines if out of control

enum

-

goContinue executeLostAction: Exit the waylines mode and execute a runaway action.

Yes

M300 RTK, M350 RTK, M30/M30T, M3E/M3T/M3M, M3D/M3TD

wpml:executeRCLostAction

Type of runaway action

enum

-

goBack: The aircraft flies from the out-of-control position to the take-off point. landing: The aircraft landed on the spot in an out-of-control position. hover: The aircraft is hovering in an out-of-control position.

None. When the wpml:exitOnRCLost is executeLostAction, it is required.

M300 RTK, M350 RTK, M30/M30T, M3E/M3T/M3M, M3D/M3TD

wpml:takeOffSecurityHeight

Safe take-off height

float

m

[2, 1500] (height mode: height relative to take-off point) Note: After take-off, the aircraft will ascend to this altitude and then fly to the first waypoint according to the "Fly to first waypoint mode" setting. This element is only valid when the aircraft is not taking off.

Yes

M300 RTK, M350 RTK, M30/M30T, M3E/M3T/M3M, M3D/M3TD

wpml:globalTransitionalSpeed

global transitional speed

float

m/s

[0,15] Note: The speed at which the drone flies to the first waypoint of each waylines. The speed at which the drone resumes from its current position to the break point when the waylines mission is interrupted.

Yes

M300 RTK, M350 RTK, M30/M30T, M3E/M3T/M3M, M3D/M3TD

wpml:globalRTHHeight

global RTH height

float

m

Note: When returning to home, the aircraft climbs to this height first.

Yes

M300 RTK, M350 RTK, M30/M30T, M3E/M3T/M3M, M3D/M3TD

wpml:droneInfo

drone information

-

-

Note: Please read detailed information at Common Elements

-

M300 RTK, M350 RTK, M30/M30T, M3E/M3T/M3M, M3D/M3TD

wpml:payloadInfo

payload information

-

-

Note: Please read detailed information at Common Elements

-

M300 RTK, M350 RTK, M30/M30T, M3E/M3T/M3M, M3D/M3TD

wpml:autoRerouteInfo

Wayline reroute information

-

-

-

-

M3D/M3TD

Waylines Information(Parent Element:<Folder>)

Element
Name
Type
unit
Value
Is it required (default)
Product Support

wpml:templateId

template id Note: The ID is unique within a kmz file. It is recommended to increment it monotonically and continuously from 0. This id will be used in the template.kml and waylines.wpml files to associate the template with the generated executable waylines.

int

-

[0, 65535]

Yes

M300 RTK, M350 RTK, M30/M30T, M3E/M3T/M3M, M3D/M3TD

wpml:waylineId

waylines ID Note: The ID is unique within a kmz file. It is recommended to increment it monotonically and continuously from 0.

int

-

[0, 65535]

Yes

M300 RTK, M350 RTK, M30/M30T, M3E/M3T/M3M, M3D/M3TD

wpml:autoFlightSpeed

Global waylines flight speed

float

m/s

(0, Maximum flight speed of the current drone] Note: The maximum flight speed of different drones is different. This element defines the target flight speed of the aircraft in the entire wayline generated by this template. If this element of a waypoint is additionally defined, the local definition overrides the global definition.

Yes

M300 RTK, M350 RTK, M30/M30T, M3E/M3T/M3M, M3D/M3TD

wpml:executeHeightMode

Execute height mode Note: This element is only used in waylines.wpml.

enum

-

WGS84: Ellipsoid height model. relativeToStartPoint: Relative take-off point altitude model. realTimeFollowSurface: Using real-time follow surface mode. Only supported by M3E/M3T/M3M.

Yes

M300 RTK, M350 RTK, M30/M30T, M3E/M3T/M3M, M3D/M3TD

Placemark(Point)

Waypoint information (including waypoint latitude, longitude, altitude, etc.)

-

-

Please read the tutorial content, DJI WPML > Template.kml > Placemark(Point)

-

M300 RTK, M350 RTK, M30/M30T, M3E/M3T/M3M, M3D/M3TD

wpml:startActionGroup

Wayline initial action *Note: This element is used to plan a series of initial actions, which is executed before the wayline starts. When the interruption of wayline is recovered, the initial action is executed before the waypoint action.

-

-

For more information,please read <wpml:actionGroup> in Common Elements

-

M30/M30T, M3E/M3T/M3M, M3D/M3TD

Waypoint Info (<Placemark>)

Element
Name
Type
unit
Value
Is it required (default)
Product Support

wpml:isRisky

Whether is risky point

bool

-

0: Normal point, 1: Risky point

-

M30/M30T, M3D/M3TD

Point

The format is as follows.<Point> <coordinates> Longitude, Latitude </coordinates> </Point>

float

°,°

[-180,180],[-90,90]

Yes

M300 RTK, M350 RTK, M30/M30T, M3E/M3T/M3M, M3D/M3TD

wpml:index

Waypoint number. Note: This ID is unique within a route. The sequence number must be monotonously and continuously increasing from 0.

int

-

[0, 65535]

Yes

M300 RTK, M350 RTK, M30/M30T, M3E/M3T/M3M, M3D/M3TD

wpml:executeHeight

Execution altitude of waypoint. Note: This element is only used in waylines.wpml. The specific elevation reference plane is declared in "wpml:executeHeightMode".

float

m

-

Yes

M300 RTK, M350 RTK, M30/M30T, M3E/M3T/M3M, M3D/M3TD

wpml:waypointSpeed

Waypoint flight speed. Speed of drone flying from current waypoint to the next waypoint.

float

m/s

(0, Maximum flight speed of this drone] Note: Maximum flight speed varies between drones

Yes Note: Required if "wpml:useGlobalSpeed" is 0.

M300 RTK, M350 RTK, M30/M30T, M3E/M3T/M3M, M3D/M3TD

wpml:waypointHeadingParam

waypoint heading param

-

-

-

Yes Note: Required if “wpml:useGlobalHeadingParam” is 0.

M300 RTK, M350 RTK, M30/M30T, M3E/M3T/M3M, M3D/M3TD

wpml:waypointTurnParam

waypoint turn param

-

-

-

Yes

M300 RTK, M350 RTK, M30/M30T, M3E/M3T/M3M, M3D/M3TD

wpml:useStraightLine

Whether the segment fits a straight line

bool

-

0: The whole trajectory of the segment is curved 1: The segment trajectory is as close to the line of two points as possible.

Yes Note: Required if "waypointTurnMode" in "wpml:waypointTurnParam" is set to "toPointAndStopWithContinuityCurvature" or "toPointAndPassWithContinuityCurvature". If this element is set, local definitions override global definitions.

M30/M30T, M3E/M3T/M3M, M3D/M3TD

Last updated