class IWaypointMissionManager
interface IWaypointMissionManager
|
包: | dji.v5.manager.interfaces |
描述:
此类是航线任务管理类,用于航线任务的上传,执行,暂停,恢复以及航线任务执行状态的监听等功能。航线编辑相关功能请参考:IWPMZManager
。
MSDK 5.0.0开始支持
类成员:
method addWaypointMissionExecuteStateListener
void addWaypointMissionExecuteStateListener(WaypointMissionExecuteStateListener listener)
|
包: | dji.v5.manager.interfaces |
描述:
设置航线任务执行状态的监听器。可以用来监听航线任务的执行状态,比如:航线任务文件上传中,进入航线任务飞行,航线任务完成等状态。
MSDK 5.0.0开始支持
输入参数:
method removeWaypointMissionExecuteStateListener
void removeWaypointMissionExecuteStateListener(WaypointMissionExecuteStateListener listener)
|
包: | dji.v5.manager.interfaces |
描述:
移除航线任务执行状态的监听器。
MSDK 5.0.0开始支持
输入参数:
method clearAllWaypointMissionExecuteStateListener
void clearAllWaypointMissionExecuteStateListener()
|
包: | dji.v5.manager.interfaces |
描述:
移除所有航线任务执行状态的监听器。
MSDK 5.0.0开始支持
method addWaylineExecutingInfoListener
void addWaylineExecutingInfoListener(WaylineExecutingInfoListener listener)
|
包: | dji.v5.manager.interfaces |
描述:
设置航线信息的监听器。航线信息包括当前执行的航线ID和当前执行的航点序号。
MSDK 5.0.0开始支持
输入参数:
method removeWaylineExecutingInfoListener
void removeWaylineExecutingInfoListener(WaylineExecutingInfoListener listener)
|
包: | dji.v5.manager.interfaces |
描述:
移除航线信息的监听器。
MSDK 5.0.0开始支持
输入参数:
method clearAllWaylineExecutingInfoListener
void clearAllWaylineExecutingInfoListener()
|
包: | dji.v5.manager.interfaces |
描述:
移除所有航线信息的监听器。
MSDK 5.0.0开始支持
method addWaypointActionListener
void addWaypointActionListener(WaypointActionListener listener)
|
包: | dji.v5.manager.interfaces |
描述:
设置航线动作的监听器。包括航线动作开始执行状态和结束执行状态。
注意:M300 RTK 和 M350 RTK 使用的V2航线设计方案,DJI Pilot 执行的航线切换到 MSDK App的时候无法获取航线动作回调信息。建议将 DJI Pilot 生成的航线保存下来后,在 MSDK App 加载航线文件执行任务。
MSDK 5.6.0开始支持
输入参数:
method removeWaypointActionListener
void removeWaypointActionListener(WaypointActionListener listener)
|
包: | dji.v5.manager.interfaces |
描述:
移除航线动作的监听器。
MSDK 5.6.0开始支持
输入参数:
method clearAllWaypointActionListener
void clearAllWaypointActionListener()
|
包: | dji.v5.manager.interfaces |
描述:
移除所有航线动作的监听器。
MSDK 5.6.0开始支持
method pushKMZFileToAircraft
void pushKMZFileToAircraft(String missionFilePath, CommonCallbacks.CompletionCallbackWithProgress<Double> callback)
|
包: | dji.v5.manager.interfaces |
描述:
上传航线任务。 航线任务定义在KMZ文件中,KMZ文件采用DJI自定义的航线文件格式(WPML)进行编写。 WPML格式遵循XML和KML规范,更详细信息请参阅:航线文件格式。 用户可根据DJI Pilot 2中提供的模板生成航线文件,也可使用DJI WPML格式根据业务需要自定义waylines.wpml中的内容,并将该文件压缩为KMZ文件后上传。 你可以多次调用此接口上传多个航线任务KMZ文件,如果上传相同的文件名的KMZ文件,将会覆盖上一次上传的同名文件。 你可以通过设置航线任务KMZ文件名来选择航线任务的执行startMission
和停止stopMission
。 一个KMZ文件包括一个航线任务,一个航线任务里面可以包含多个航线。
MSDK 5.0.0开始支持
输入参数:
String missionFilePath | 航线任务KMZ文件路径。 |
CommonCallbacks.CompletionCallbackWithProgress<Double> callback | 返回执行结果的回调。返回KMZ文件上传状态,包括上传进度和错误信息。 |
method startMission
void startMission(String missionFileName, CommonCallbacks.CompletionCallback callback)
|
包: | dji.v5.manager.interfaces |
描述:
开始执行航线任务。
注意:请勿在航线起飞阶段调用返航Key:KeyStartGoHome
,如需要停止航线任务,可以调用stopMission
。
MSDK 5.0.0开始支持
输入参数:
method getAvailableWaylineIDs
List<Integer> getAvailableWaylineIDs(String missionFileName)
|
包: | dji.v5.manager.interfaces |
描述:
返回指定的航线任务文件中可用的航线ID列表。获取到这个ID列表以后可以选择需要执行的航线ID,作为参数传入到startMission
执行航线任务。
注意:M300 RTK和M350 RTK只支持1个航线ID。
MSDK 5.1.0开始支持
输入参数:
String missionFileName | 指定的航线任务文件名。 |
返回值:
List<Integer> | 获取指定的航线任务文件中可用的航线ID列表。 |
method startMission
void startMission(String missionFileName, List<Integer> waylineIDs, CommonCallbacks.CompletionCallback callback)
|
包: | dji.v5.manager.interfaces |
描述:
开始执行指定的航线ID列表的航线任务。 可通过getAvailableWaylineIDs
获取到可用的航线ID列表。获取到这个航线ID列表以后可以选择需要执行的航线ID作为参数传入到此接口,飞行器将按照航线ID列表的顺序依次执行航线任务。如果航线ID列表参数传空或者航线ID列表长度为0,飞行器将执行航线任务中的所有航线。
注意:
1. M300 RTK和M350 RTK只支持1个航线ID。
2. 请勿在航线起飞阶段调用返航Key:KeyStartGoHome
,如需要停止航线,可以调用stopMission
。
MSDK 5.1.0开始支持
输入参数:
method queryBreakPointInfoFromAircraft
void queryBreakPointInfoFromAircraft(String missionFileName ,CommonCallbacks.CompletionCallbackWithParam<BreakPointInfo> callback)
|
包: | dji.v5.manager.interfaces |
描述:
查询航线任务暂停时的断点信息,断点信息包括航线任务暂停的飞行器位置。 获取断点信息后可以作为参数传入到startMission
或者resumeMission
执行航线任务,飞行器将飞往传入的断点位置,然后按航点顺序依次执行航线任务。
注意:
1. M300 RTK和M350 RTK不支持断点信息查询功能。
2. 只有调用暂停航线任务接口pauseMission
后才能查询到断点信息。
MSDK 5.6.0开始支持
输入参数:
method startMission
void startMission(String missionFileName , BreakPointInfo breakPointInfo , CommonCallbacks.CompletionCallback callback)
|
包: | dji.v5.manager.interfaces |
描述:
开始执行指定断点的航线任务。可通过queryBreakPointInfoFromAircraft
查询上一次航线任务暂停时的断点信息。获取到断点信息以后可以作为参数传入到此接口,飞行器将飞往传入的断点位置,然后按航点顺序依次执行航线任务。如果你不希望从上一次暂停时的飞行器位置开始执行航线任务,你也可以自行构造断点信息,设置任意航点位置开始执行航线任务。
注意:
1. M300 RTK和M350 RTK不支持此接口进行断点续飞。如需要暂停后恢复下个航点飞行,请通过resumeMission
设置断点恢复类型setRecoverActionType
实现。
2. 暂停航线任务后,只有退出航线任务,才能调用此接口重新执行航线任务。通用的应用场景包括:航线任务执行完成后返航降落或者飞行器重新上电。
3. 如果你希望在不退出航线任务的前提下,从指定的断点位置开始飞行。你可以调用resumeMission
恢复执行航线任务。
MSDK 5.6.0开始支持
输入参数:
method pauseMission
void pauseMission(CommonCallbacks.CompletionCallback callback)
|
包: | dji.v5.manager.interfaces |
描述:
暂停执行航线任务。
MSDK 5.0.0开始支持
输入参数:
method resumeMission
void resumeMission(CommonCallbacks.CompletionCallback callback)
|
包: | dji.v5.manager.interfaces |
描述:
从暂停处恢复执行航线任务。
MSDK 5.0.0开始支持
输入参数:
method stopMission
void stopMission(String missionFileName, CommonCallbacks.CompletionCallback callback)
|
包: | dji.v5.manager.interfaces |
描述:
停止执行航线任务。
MSDK 5.0.0开始支持
输入参数:
enum WaypointMissionExecuteState
enum WaypointMissionExecuteState
|
包: | dji.v5.manager.aircraft.waypoint3.model |
描述:
航线任务执行状态。
MSDK 5.0.0开始支持
Enum Members:
IDLE | 初始化状态。 |
NOT_SUPPORTED | 此机型不支持航线任务3.0。 |
READY | 航线任务准备状态,此状态下可上传航线任务文件,也可执行已上传的航线任务。 |
UPLOADING | 航线任务文件上传中。 |
PREPARING | 航线任务执行准备中。调用startMission 启动执行航线任务后,飞行器在准备执行航线任务中。 |
ENTER_WAYLINE | 进入航线飞行,飞往指定航线的第一个航点。 |
EXECUTING | 航线任务执行中。 |
INTERRUPTED | 航线任务执行中断,表示用户调用pauseMission 暂停航线或者飞控异常。 |
RECOVERING | 航线任务恢复中。 |
FINISHED | 航线任务完成。表示航线任务执行完成或者调用stopMission 停止执行航线任务。 |
Class Members:
enum RecoverActionType
包: | dji.v5.manager.aircraft.waypoint3.model |
描述:
断点恢复类型。
注意:此断点恢复类型仅支持M300 RTK和M350 RTK。
MSDK 5.9.0开始支持
Enum Members:
GoBackToRecordPoint | 当航线任务恢复后,飞行器飞向暂停时的断点。 |
GoBackToNextPoint | 当航线任务恢复后,飞机飞往暂停时断点的下一个航点。 |
GoBackToNextNextPoint | 当航线任务恢复后,飞机飞往暂停时断点的下下个航点。 |
Class Members: