Skip to content

计划文件格式

计划文件以JSON文件格式存储,包含任务项和(可选)地理围栏和集结点。 您可以在下面看到Plan文件的顶级格式 地理围栏“多边形”计划格式的版本号。 记录的版本是2。

TIP

提示: 这是“接近最小” - 计划必须包含至少一个任务项目。 当没有任务运行时,计划围栏和集结点也用于模式。 The plan fence and rally points are also used in modes when no mission is running.

json
{
  "fileType": "Plan",
  "geoFence": {
    "circles": [],
    "polygons": [],
    "version": 2
  },
  "groundStation": "QGroundControl",
  "mission": {},
  "rallyPoints": {
    "points": [],
    "version": 2
  },
  "version": 1
}

主要领域是:

描述
version地理围栏计划格式的版本号。 记录的版本是2。 地理围栏“圈子”计划格式的版本号。 记录的版本是1。
fileType必须是“计划”。
groundStation创建此文件的地面站的名称(此处为QGroundControl)
mission与此飞行计划相关的任务。
geoFence(可选)此计划的地理围栏信息。
rallyPoints(可选)此计划的拉力/安全点信息

使命对象

The structure of the mission object is shown below. 任务对象的结构如下所示。 items字段包含以逗号分隔的任务项列表(它必须包含至少一个任务项,如下所示)。 该列表可以是SimpleItem和ComplexItem对象的混合 The list may be a mix of both SimpleItem and ComplexItem objects.

json
    "mission": {
        "cruiseSpeed": 15,
        "firmwareType": 12,
        "globalPlanAltitudeMode": 1,
        "hoverSpeed": 5,
        "items": [
            {
                "AMSLAltAboveTerrain": null,
                "Altitude": 50,
                "AltitudeMode": 0,
                "autoContinue": true,
                "command": 22,
                "doJumpId": 1,
                "frame": 3,
                "params": [
                    15,
                    0,
                    0,
                    null,
                    47.3985099,
                    8.5451002,
                    50
                ],
                "type": "SimpleItem"
            }
        ],
        "plannedHomePosition": [
            47.3977419,
            8.545594,
            487.989
        ],
        "vehicleType": 2,
        "version": 2
    },

需要以下值:

描述
version任务对象的版本。 目前的版本是2。 Current version is 2.
firmwareType为此任务创建的固件类型。 这是MAV_AUTOPILOT枚举值之一。 This is one of the MAV_AUTOPILOT enum values.
globalPlanAltitudeModeThe global plan-wide altitude mode setting. This is used by plan items that don't specify an "AltitudeMode".
vehicleTypeThe vehicle type for which this mission was created. This is one of the MAV_TYPE enum values.
cruiseSpeedThe default forward speed for Fixed wing or VTOL vehicles (i.e. when moving between waypoints).
hoverSpeedThe default forward speed for multi-rotor vehicles.
itemsThe list of mission item objects associated with the mission . The list may contain either/both SimpleItem and ComplexItem objects.
plannedHomePositionThe planned home position is shown on the map and used for mission planning when no vehicle is connected. The array values shown above are (from top): latitude, longitude and AMSL altitude.

简单和复杂项目的格式如下。

SimpleItem - 简单的任务项目

一个简单的项表示单个MAVLink MISSION_ITEM命令。

             {
                "AMSLAltAboveTerrain": null,
                "Altitude": 50,
                "AltitudeMode": 0,
                "autoContinue": true,
                "command": 22,
                "doJumpId": 1,
                "frame": 3,
                "params": [
                    15,
                    0,
                    0,
                    null,
                    47.3985099,
                    8.5451002,
                    50
                ],
                "type": "SimpleItem"
            }

字段映射如下所示。

描述
typeSimpleItem用于简单的项目
AMSLAltAboveTerrain向用户显示的海拔高度值。
Altitude
AltitudeMode
autoContinueMISSION_ITEM.autoContinue
commandThe command (MAV_CMD) for this mission item - see MISSION_ITEM.command.
doJumpIdDO_JUMP命令中当前任务项的目标ID。 这些是从1自动编号。 These are auto-numbered from 1.
frameMAV_FRAME (see MISSION_ITEM.frame)
paramsMISSION_ITEM.param1,2,3,4,x,y,z(值取决于特定的MAV_CMD)。

复杂任务项目

复杂项是对作为单个实体处理的多个MISSION_ITEM对象的更高级别封装。

目前有三种类型的复杂任务项目:

调查 - 复杂任务项目

调查复杂任务项目的对象定义如下。

{
                "TransectStyleComplexItem": {
                    ...
                },
                "angle": 0,
                "complexItemType": "survey",
                "entryLocation": 0,
                "flyAlternateTransects": false,
                "polygon": [
                    [
                        -37.75170619863631,
                        144.98414811224316
                    ],
                    ...
                    [
                        -37.75170619863631,
                        144.99457681259048
                    ]
                ],
                "type": "ComplexItem",
                "version": 4
            },

复杂项目具有与之关联的这些值:

描述
versionThe version number for this survey definition. Current version is 3.
typeComplexItem(这是一个复杂的项目)。
complexItemTypesurvey
TransectStyleComplexItem Survey和CorridorScan复杂项目的通用基础定义。
angle横断面的角度(度数)。
entryLocation?
flyAlternateTransects团结积分信息是可选的。 该计划可以包含任意数量的拉力点,每个拉力点具有纬度,经度和高度(高于原始位置)。 如果是,则载具会跳过每个其他横断面,然后在最后返回并飞行这些替代。 This can be used for fixed wing aircraft when the turnaround would be too acute for the vehicle to make the turn.
polygonThe polygon array which represents the polygonal survey area. Each point is a latitude, longitude pair for a polygon vertex.

走廊扫描

CorridorScan复杂任务项的对象定义如下。

             {
                "CorridorWidth": 50,
                "EntryPoint": 0,
                "TransectStyleComplexItem": {
                    ...
                    },
                },
                "complexItemType": "CorridorScan",
                "polyline": [
                    [
                        -37.75234887156983,
                        144.9893624624168
                    ],
                    ...
                    [
                        -37.75491914850321,
                        144.9893624624168
                    ]
                ],
                "type": "ComplexItem",
                "version": 2
            },
描述
version此CorridorScan定义的版本。 目前的版本是3。 Current version is 3.
typeComplexItem(这是一个复杂的项目)。
complexItemTypeCorridorScan
CorridorWidth?
EntryPoint?
TransectStyleComplexItem Survey和CorridorScan复杂项目的通用基础定义。
polyline?

结构扫描

StructureScan复杂任务项的对象定义如下。

json
               {
                "Altitude": 50,
                "CameraCalc": {
                    "AdjustedFootprintFrontal": 25,
                    "AdjustedFootprintSide": 25,
                    "CameraName": "Manual (no camera specs)",
                    "DistanceToSurface": 10,
                    "DistanceToSurfaceRelative": true,
                    "version": 1
                },
                "Layers": 1,
                "StructureHeight": 25,
                "altitudeRelative": true,
                "complexItemType": "StructureScan",
                "polygon": [
                    [
                        -37.753184359536355,
                        144.98879374063998
                    ],
                    ...
                    [
                        -37.75408368012594,
                        144.98879374063998
                    ]
                ],
                "type": "ComplexItem",
                "version": 2
            }
描述
version此StructureScan定义的版本。 目前的版本是2。 Current version is 2.
typeComplexItem(这是一个复杂的项目)。
complexItemTypeStructureScan
Altitude?
CameraCalc?
Layers?
StructureHeight?
altitudeRelativetrue: altitude相对于主页,false: altitude是AMSL。
polygon?

TransectStyleComplexItem

TransectStyleComplexItem contains the common base definition for survey and CorridorScan complex items.

json
                 "TransectStyleComplexItem": {
                    "CameraCalc": {
                        ...
                     },
                    "CameraTriggerInTurnAround": true,
                    "FollowTerrain": false,
                    "HoverAndCapture": false,
                    "Items": [
                        ...
                     ],
                    "Refly90Degrees": false,
                    "TurnAroundDistance": 10,
                    "VisualTransectPoints": [
                        [
                            -37.75161626657736,
                            144.98414811224316
                        ],
                        ...
                        [
                            -37.75565155437309,
                            144.99438539496475
                        ]
                    ],
                    "version": 1
                },
描述
version此TransectStyleComplexItem定义的版本。 当前版本为1。 此文件的版本。 当前版本为1。
CameraCalc?
CameraTriggerInTurnAround ? (布尔值)
FollowTerrain? (布尔值)
HoverAndCapture? (布尔值)
Items?
Refly90Degrees? (布尔值)
TurnAroundDistance在转向下一个横断面之前飞过多边形边缘的距离。
VisualTransectPoints?
CameraCalc

CameraCalc包含用于调查,走廊或结构扫描的摄像机信息。

                    "CameraCalc": {
                        "AdjustedFootprintFrontal": 272.4,
                        "AdjustedFootprintSide": 409.2,
                        "CameraName": "Sony ILCE-QX1",
                        "DistanceToSurface": 940.6896551724138,
                        "DistanceToSurfaceRelative": true,
                        "FixedOrientation": false,
                        "FocalLength": 16,
                        "FrontalOverlap": 70,
                        "ImageDensity": 25,
                        "ImageHeight": 3632,
                        "ImageWidth": 5456,
                        "Landscape": true,
                        "MinTriggerInterval": 0,
                        "SensorHeight": 15.4,
                        "SensorWidth": 23.2,
                        "SideOverlap": 70,
                        "ValueSetIsDistance": false,
                        "version": 1
                    },
描述
version此CameraCalc定义的版本。 当前版本为1。 此调查定义的版本号。 目前的版本是3。
AdjustedFootprintFrontal?
AdjustedFootprintSide?
DistanceToSurface? 单位?
DistanceToSurfaceRelative?
CameraName正在使用的摄像机名称(必须对应于QGroundControl已知的摄像机之一或: Manual (no camera specs) (手动(无摄像机规格)用于手动设置, Custom Camera (自定义摄像机)用于自定义设置。 未在“手动”摄像机定义中指定此点后列出的键。 The keys listed after this point are not specified for a "Manual" camera definition.
FixedOrientation? (布尔值)
FocalLength相机镜头的焦距,以毫米为单位。
FrontalOverlap正面图像重叠的百分比。
ImageDensity?
ImageHeight图像高度以px为单位
ImageWidth图像宽度以px为单位
景观true:相机以横向方向安装在载具上,false:相机以纵向方向安装在载具上。
MinTriggerInterval?
SensorHeight传感器高度,以毫米为单位。
SensorWidth传感器宽度,以毫米为单位。
SideOverlap侧面图像重叠的百分比。
ValueSetIsDistance? (布尔值)

GeoFence (地理围栏)

Geofence information is optional. The plan can contain an arbitrary number of geofences defined in terms of polygons and circles.

最小定义如下所示。

json
     "geoFence": {
        "circles": [
        ],
        "polygons": [
        ],
        "version": 2
    },

主要领域是:

描述
versionThe version number for the geofence plan format. The documented version is 2.
circles包含圆形地理围栏定义的列表(以逗号分隔)。
polygon包含多边形地理围栏定义的列表(以逗号分隔)。

Circle Geofence (圆形地理围栏)

Each circular geofence is defined in a separate item, as shown below (multiple comma-separated items can be defined). The items define the centre and radius of the circle, and whether or not the specific geofence is activated.

json
{
  "circle": {
    "center": [47.39756763610029, 8.544649762407738],
    "radius": 319.85
  },
  "inclusion": true,
  "version": 1
}

主要领域是:

描述
versionThe version number for the geofence "circle" plan format. 拉力点计划格式的版本号。 记录的版本是2。
circle圆的定义。 包括 centre (中心)(纬度,经度)和半径,如上所示。 Includes centre (latitude, longitude) and radisu as shown above.
inclusion地理围栏是否已启用(true)或已禁用。

多边形地理围栏

Each polygon geofence is defined in a separate item, as shown below (multiple comma-separated items can be defined). The geofence includes a set of points defined with a clockwise winding (i.e. they must enclose an area).

json
            {
                "inclusion": true,
                "polygon": [
                    [
                        47.39807773798406,
                        8.543834631785785
                    ],
                    [
                        47.39983519888905,
                        8.550024648373267
                    ],
                    [
                        47.39641100087146,
                        8.54499282423751
                    ],
                    [
                        47.395590322265186,
                        8.539435808992085
                    ]
                ],
                "version": 1
            }
        ],
        "version": 2
    }

这些领域是:

描述
versionThe version number for the geofence "polygon" plan format. The documented version is 2.
polygonA list of points for the polygon. Each point contains a latitude and longitude. The points are ordered in a clockwise winding.
inclusion地理围栏是否已启用(true)或已禁用。

团结积分

Rally point information is optional. The plan can contain an arbitrary number of rally points, each of which has a latitude, longitude, and altitude (above home position).

有两点的定义如下所示。

json
<br />    "rallyPoints": {
        "points": [
            [
                47.39760401,
                8.5509154,
                50
            ],
            [
                47.39902017,
                8.54263274,
                50
            ]
        ],
        "version": 2
    }

这些领域是:

描述
versionThe version number for the rally point plan format. The documented version is 2.
points拉力点列表。