MSDK V5.2.0 利用SDK开发的APP无法在DJI Assistant 2里仿真试飞?

Completed

Comments

14 comments

  • Boerma

    先调用pushKMZFileToAircraft函数 上传KMZ文件,然后再调用startMission开始任务,你这里startMission是传了一个文件路径吗?要传文件名称

    0
    Comment actions Permalink
  • ZHT

    补充描述:已经push过KMZ文件,代码如下:

    WaypointMissionManager.getInstance().pushKMZFileToAircraft(kmzFileFullPath, new PushKMZToAircraftCallback());

    其中kmzFileFullPath是文件绝对路径。

    但是在startMission中,我已修改为文件名,代码如下:

    String testPath = "cbfa5092-821d-4993-a8c3-fe9c2bf4d4cb.kmz";
    WaypointMissionManager.getInstance().startMission(testPath, new StartMissionCallback());

    但仍然报同样的错误,从错误描述来看,问题出在设备状态,而不是kmz文件,同时,我在pilot2中飞同样的kmz是能正常运作的。

    此外,我在github中发现有人提出了同样的问题,链接如下:https://github.com/dji-sdk/Mobile-SDK-Android-V5/issues/63

    故该问题,可复现,出现范围广,希望官方快速回应一下。

    0
    Comment actions Permalink
  • Boerma

    你按照github上的操作进行过尝试吗?push成功后,监听waypointMissionState 是否准备就绪,然后再调用startMission。

    0
    Comment actions Permalink
  • ZHT

    我现在按照github的push完后延迟1start尝试后能正常飞行了,但就是非常诡异

    0
    Comment actions Permalink
  • Boerma

    不是诡异,是流程就是这样的

     

    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停止执行航线任务。
    0
    Comment actions Permalink
  • DJI Developer Support
    您可以注意一下pushKMZFileToAircraft的进度是否走完了,有的时候会出现,航线状态变化了,但PUSH进进度还没有走完,这个时候开始执行航线任务就会报错。
    0
    Comment actions Permalink
  • ZHT

    1s延迟有时候也会报错,我们尝试了检测航线任务状态,然后执行任务。发现计算状态是READY,执行任务也有概率报错,现在我们又将延迟时间提示到1.5s,建议官方赶紧查一下这个问题。github里也提供了READY也会报错的复现代码

    0
    Comment actions Permalink
  • liulei2

    是M300吗,我发现御3T没这个问题,M300有这个问题

    0
    Comment actions Permalink
  • DJI Developer Support
    1s延迟有时候也会报错,我们尝试了检测航线任务状态,然后执行任务。发现计算状态是READY,执行任务也有概率报错,现在我们又将延迟时间提示到1.5s,建议官方赶紧查一下这个问题。github里也提供了READY也会报错的复现代码 -->你可以先升级到5.3.0-a3版本,这里是地址:https://github.com/dji-sdk/Mobile-SDK-Android-V5/tree/dev-sdk-alpha 另外,在startMission之前需要关注航线状态以及pushKMZFileToAircraft是否已经回调onSuccess,这两个情况都会导致提示无法执行任务。另外,在确认降落阶段也是无法执行任务的:为什么航线刚启动就立即结束?
    0
    Comment actions Permalink
  • liulei2

    我目前用的5.3.0-a3,测试一下午,延时一秒钟没出现启动失败的问题。就是

    onWaylineExecutingInfoUpdate和
    onMissionStateUpdate方法回调用一些问题,已经提单了
    0
    Comment actions Permalink
  • ZHT

    你好,又出现一个问题,我们自己开发了APP以及自己用脚本生成了航线kmz文件,在执行任务的时候kmz文件里设置了等距拍照,但是飞完航线发现并没有拍照,我用pilot2飞这个kmz却拍照了,我想问是sdk有缺陷吗,不能直接按照kmz动作组执行动作,还是说pilot2做了额外的设置(比如开启相机啥的?)

    0
    Comment actions Permalink
  • DJI Developer Support
    我们自己开发了APP以及自己用脚本生成了航线kmz文件,在执行任务的时候kmz文件里设置了等距拍照,但是飞完航线发现并没有拍照,我用pilot2飞这个kmz却拍照了,我想问是sdk有缺陷吗,不能直接按照kmz动作组执行动作,还是说pilot2做了额外的设置(比如开启相机啥的?) -->你可以把KMZ文件发给我们测试一下。地址:https://pan-sec.djicorp.com/s/yHwJfGjeYKjQBQB
    0
    Comment actions Permalink
  • ZHT

    我们自己开发了APP以及自己用脚本生成了航线kmz文件,在执行任务的时候kmz文件里设置了等距拍照,但是飞完航线发现并没有拍照,我用pilot2飞这个kmz却拍照了,我想问是sdk有缺陷吗,不能直接按照kmz动作组执行动作,还是说pilot2做了额外的设置(比如开启相机啥的?) -->你可以把KMZ文件发给我们测试一下。地址:https://pan-sec.djicorp.com/s/yHwJfGjeYKjQBQB————————————————————————————————>

    已提交kmz文件,我们也在DJI Assistant 2里仿真试飞过该kmz,发现仿真测试中也不进行拍照(以前的kmz进行仿真是会执行拍照的)。户外实飞的时候,用SDK开发的APP不能按kmz正常拍照,Pilot2可以,麻烦工作人员检测一下是否SDK有问题还是kmz有问题,时灵时不灵?

     

    --------------------------------------------------------------------------------------------------------

    是M300吗,我发现御3T没这个问题,M300有这个问题----------->是M300。

    0
    Comment actions Permalink
  • DJI Developer Support
    已提交kmz文件,我们也在DJI Assistant 2里仿真试飞过该kmz,发现仿真测试中也不进行拍照(以前的kmz进行仿真是会执行拍照的)。户外实飞的时候,用SDK开发的APP不能按kmz正常拍照,Pilot2可以,麻烦工作人员检测一下是否SDK有问题还是kmz有问题,时灵时不灵? -->如果飞机的固件不是最新,可以考虑升级到最新固件。 我在5.3.0的测试版本上使用了你的航线文件,它是可以正常拍照的,您可以等待5.3.0正式版本发布之后,升级到5.3.0测试一下。
    0
    Comment actions Permalink

Please sign in to leave a comment.