MSDK 5.3 alpha 执行航线任务,拍照功能时灵时不灵

Completed

Comments

18 comments

  • ZHT

    如果是固件问题,能提供稳妥的升级飞行器固件方法吗?目前用DJI Assistant2升级飞行器固件为6.0失败,两组飞行器及遥控器的固件分别对应为5.0与4.0。

    0
    Comment actions Permalink
  • DJI Developer Support
    没有人反馈这个问题,你把你的waylines.wpml内容放到txt文档发过来吧,我先看一下内容。
    0
    Comment actions Permalink
  • ZHT

    经过我数十次分析,基本上每次不拍照都是因为ready状态下开始执行任务,但是报了下述错误

    E/PushKMZToAircraftCallback: onFailure: (onFailure:39) ErrorImp{errorType='WAYPOINT', errorCode='CANT_EXCUTE_IN_CURRENT_STATUS', innerCode='-1', description='航线无法执行,设备状态错误', hint=''}

     

    也就是ready后startMission,但是实际未ready,强行时间差执行了任务但是报错,导致了不拍照。

    0
    Comment actions Permalink
  • DJI Developer Support
    如果出现CANT_EXCUTE_IN_CURRENT_STATUS,航线都不会执行啊,怎么会出现不拍照呢?你的问题是不执行还是不拍照?若是不拍照则和这个问题无关,READY状态下立刻调用startMission可能会报这个错误,需要添加delay几秒。我们都是做的按钮去执行,这个是个问题,后续会优化,即为飞控内部状态还未Ready但是状态变成了Ready。
    0
    Comment actions Permalink
  • ZHT

    执行且不拍照,实际状况是,我uplod后delay了1.5秒,可能处于临界状态,没ready,报错了,但是执行了,但是代价就是不拍照

    0
    Comment actions Permalink
  • ZHT

    而且实际delay几秒,还跟任务大小有关系,像我100*100米范围的航拍,1秒delay就可以了,120m*120m范围航拍,我delay1秒就会报错执行不了,我delay1.5秒就会进入临界状态,报错且执行但不拍照

    0
    Comment actions Permalink
  • DJI Developer Support
    不拍照和这个没关系的,你有没有自定义拍照的文件后缀名,后缀名称是什么?
    0
    Comment actions Permalink
  • ZHT

    没自定义拍照文件后缀名。我上述推断都是基于:出现CANT_EXCUTE_IN_CURRENT_STATUS后航线仍然执行但是不拍照这个情况进行分析的。。。

    如果不是因为ready这个原因,那这里面可能有更深层次的bug,引出了出现CANT_EXCUTE_IN_CURRENT_STATUS下执行航线且不拍照问题

    0
    Comment actions Permalink
  • ZHT

    没有人反馈这个问题,你把你的waylines.wpml内容放到txt文档发过来吧,我先看一下内容。--------------------------》已将kmz文件转为txt放入下列链接。请查阅谢谢:

     

    https://pan-sec.djicorp.com/s/yHwJfGjeYKjQBQB?path=%2FCamera_function_test

    0
    Comment actions Permalink
  • DJI Developer Support
    你的waylines.wpml里面出现了很多航线文档不支持的字段,比如waypointHeadingAngle=placeholder,这个根本都无法识别。另外动作,你用了flyControl,aircraftStartStopMode的stop和start这个没必要用了,航线文件也没有给出这些用法。MSDK是执行walines.wpml,DJI Pilot 2是执行template.kml,你的kmz是有问题的。需要严格按照文档编写,https://developer.dji.com/doc/cloud-api-tutorial/cn/feature-set/dji-wpml/waylines-wpml.html。
    0
    Comment actions Permalink
  • ZHT

    1、诚然,我的wpml文件有很多冗余项,但其实是早期参照Pilot2航拍建图生成的wpml作为模板进行创建的,可能跟官方有所差别,但是是可以使用的,可以执行完整航线任务的,所以这应该不是影响拍照的原因,毕竟我已经拍了很多照了。那么,这不拍照问题还是没解决!!!(官方近期还更新了kmz文件格式,上述的文档已经无效了,为此我还提过问题)

    2、之前我还提过了一个Pilot2无法导入老kmz文件问题,我觉得这个问题跟我的kmz格式可能有关,这个是我需要进一步验证的,感谢工作人员启发我,但我的kmz的确可以在MSDK上正常执行,40%概率不拍照不是因为kmz格式,这个kmz我已经拍过很多照片了。

    0
    Comment actions Permalink
  • DJI Developer Support
    你也知道DJI Pilot 2和固件一直在更新迭代,有些字段或许废弃。以前生成的kmz未必现在能用,比如精准复拍accurateShoot被改名为orientatedShoot了。我至少只能保证开放的字段是没有问题的,未开放的字段可能会引发未知异常。你没有定义后缀名,所以漏拍的问题不应该出现,我看了就是简单的到点拍摄。你是什么机型,相机固件是否有升级最新?一般漏拍是因为执行拍照的时候相机在繁忙,我猜想会不会是你的FOCUS动作影响了,我不确定。
    0
    Comment actions Permalink
  • ZHT

    禅思P1相机,相机固件不能确定版本,目前我监听Ready后Delay2秒就能百分百拍照了,但是这个问题还是遗留项,任务越大delay的时间就要越长,否则估计还会出问题

    0
    Comment actions Permalink
  • ZHT

    请问是又对SDK做了大修改吗?我现在pushKMZ和startMission都会报CANT_EXCUTE_IN_CURRENT_STATUS错误,delay不起作用了。

    0
    Comment actions Permalink
  • ZHT

    对了,就算push和start都报上述错,但是航线都执行了,就是不拍照而已,delay也不再拍照

    0
    Comment actions Permalink
  • ZHT

    现在我认为可能不是ready后delay2秒能解决问题了,感觉是硬件软件状态之间交流的不稳定性,导致有时候push会报错。。有时候start会报错。。有时候是相机繁忙,不知道pilot2是怎么解决这个状态一致性问题的?现在的MSDK还有没有解决措施,我就想让它在执行航线的时候正常等距拍照就好,现在还是40%概率不拍照,向官方反映,求援!!

    0
    Comment actions Permalink
  • DJI Developer Support
    push后start报错CANT_EXCUTE_IN_CURRENT_STATUS已经提单处理了,需要下个版本才能处理。现在暂时没有好的解决办法。
    0
    Comment actions Permalink
  • vaicml

    我这里也出现同样的问题,执行航线任务,中间需要拍摄1000多张照片,然后开始执行拍照以后,FPVWidget直接没有画面了。

    0
    Comment actions Permalink

Please sign in to leave a comment.