30.waylines-wpml
File Introduction
The waylines.wpml file consists of two parts.
Mission information: Contains mainly the
wpml:missionConfigelement, which defines the global parameters of the waylines mission, etc.Waylines information: Contains mainly
Folderelements, which define detailed waylines information (path definition, action definition, etc.). EachFolderrepresents an executable route. In particular, when using the "mapping3d" template, 5 executable routes are generated, corresponding to the 5Folderelements inwaylines.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>)
<wpml:missionConfig>)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>)
<Folder>)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>)
<Placemark>)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