v5航线任务

Completed

Comments

17 comments

  • DJI Developer Support
    应该是文档漏了,他们的说明在template.kml文档里,你都添加上吧。应该和template.kml的用法一样。压缩的kmz包可以没有res文件夹,必须有template.kml和waylines.wpml,template.kml你写个空的就行,看这篇文章,https://sdk-forum.dji.net/hc/zh-cn/articles/12560010128153
    1
    Comment actions Permalink

    可是文档上的模板是没有那3个属性的, 模板能做参考吗, 还是说不只是文档, 连模板也漏了, 可以帮忙确认下吗

    0
    Comment actions Permalink
  • DJI Developer Support
    模板可以做参考,它是DJI Pilot 2生成的,一切以这个为准。
    0
    Comment actions Permalink
    <Placemark>
      <Point>
        <coordinates>
          113.417553839759,23.1697556054741
        </coordinates>
      </Point>
      <wpml:index>0</wpml:index>
      <wpml:executeHeight>100</wpml:executeHeight>
      <wpml:waypointSpeed>7</wpml:waypointSpeed>
      <wpml:waypointHeadingParam>
        <wpml:waypointHeadingMode>followWayline</wpml:waypointHeadingMode>
        <wpml:waypointHeadingAngle>0</wpml:waypointHeadingAngle>
        <wpml:waypointPoiPoint>0.000000,0.000000,0.000000</wpml:waypointPoiPoint>
        <wpml:waypointHeadingAngleEnable>0</wpml:waypointHeadingAngleEnable>
      </wpml:waypointHeadingParam>
      <wpml:waypointTurnParam>
        <wpml:waypointTurnMode>toPointAndStopWithDiscontinuityCurvature</wpml:waypointTurnMode>
        <wpml:waypointTurnDampingDist>0</wpml:waypointTurnDampingDist>
      </wpml:waypointTurnParam>
      <wpml:useStraightLine>1</wpml:useStraightLine>
      <wpml:actionGroup>
        <wpml:actionGroupId>0</wpml:actionGroupId>
        <wpml:actionGroupStartIndex>0</wpml:actionGroupStartIndex>
        <wpml:actionGroupEndIndex>0</wpml:actionGroupEndIndex>
        <wpml:actionGroupMode>sequence</wpml:actionGroupMode>
        <wpml:actionTrigger>
          <wpml:actionTriggerType>reachPoint</wpml:actionTriggerType>
        </wpml:actionTrigger>
        <wpml:action>
          <wpml:actionId>0</wpml:actionId>
          <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
          <wpml:actionActuatorFuncParam>
            <wpml:fileSuffix>航点1</wpml:fileSuffix>
            <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
            <wpml:payloadLensIndex>wide</wpml:payloadLensIndex>
          </wpml:actionActuatorFuncParam>
        </wpml:action>
        <wpml:action>
          <wpml:actionId>1</wpml:actionId>
          <wpml:actionActuatorFunc>gimbalRotate</wpml:actionActuatorFunc>
          <wpml:actionActuatorFuncParam>
            <wpml:gimbalRotateMode>absoluteAngle</wpml:gimbalRotateMode>
            <wpml:gimbalPitchRotateEnable>1</wpml:gimbalPitchRotateEnable>
            <wpml:gimbalPitchRotateAngle>-63</wpml:gimbalPitchRotateAngle>
            <wpml:gimbalRollRotateEnable>0</wpml:gimbalRollRotateEnable>
            <wpml:gimbalRollRotateAngle>0</wpml:gimbalRollRotateAngle>
            <wpml:gimbalYawRotateEnable>0</wpml:gimbalYawRotateEnable>
            <wpml:gimbalYawRotateAngle>0</wpml:gimbalYawRotateAngle>
            <wpml:gimbalRotateTimeEnable>0</wpml:gimbalRotateTimeEnable>
            <wpml:gimbalRotateTime>0</wpml:gimbalRotateTime>
            <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
          </wpml:actionActuatorFuncParam>
        </wpml:action>
        <wpml:action>
          <wpml:actionId>2</wpml:actionId>
          <wpml:actionActuatorFunc>gimbalRotate</wpml:actionActuatorFunc>
          <wpml:actionActuatorFuncParam>
            <wpml:gimbalHeadingYawBase>aircraft</wpml:gimbalHeadingYawBase>
            <wpml:gimbalRotateMode>absoluteAngle</wpml:gimbalRotateMode>
            <wpml:gimbalPitchRotateEnable>1</wpml:gimbalPitchRotateEnable>
            <wpml:gimbalPitchRotateAngle>-39</wpml:gimbalPitchRotateAngle>
            <wpml:gimbalRollRotateEnable>0</wpml:gimbalRollRotateEnable>
            <wpml:gimbalRollRotateAngle>0</wpml:gimbalRollRotateAngle>
            <wpml:gimbalYawRotateEnable>0</wpml:gimbalYawRotateEnable>
            <wpml:gimbalYawRotateAngle>0</wpml:gimbalYawRotateAngle>
            <wpml:gimbalRotateTimeEnable>0</wpml:gimbalRotateTimeEnable>
            <wpml:gimbalRotateTime>10</wpml:gimbalRotateTime>
            <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
          </wpml:actionActuatorFuncParam>
        </wpml:action>
      </wpml:actionGroup>
      <wpml:actionGroup>
        <wpml:actionGroupId>2</wpml:actionGroupId>
        <wpml:actionGroupStartIndex>0</wpml:actionGroupStartIndex>
        <wpml:actionGroupEndIndex>2</wpml:actionGroupEndIndex>
        <wpml:actionGroupMode>sequence</wpml:actionGroupMode>
        <wpml:actionTrigger>
          <wpml:actionTriggerType>multipleTiming</wpml:actionTriggerType>
          <wpml:actionTriggerParam>3</wpml:actionTriggerParam>
        </wpml:actionTrigger>
        <wpml:action>
          <wpml:actionId>0</wpml:actionId>
          <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
          <wpml:actionActuatorFuncParam>
            <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
            <wpml:payloadLensIndex>wide</wpml:payloadLensIndex>
          </wpml:actionActuatorFuncParam>
        </wpml:action>
      </wpml:actionGroup>
      <wpml:actionGroup>
        <wpml:actionGroupId>4</wpml:actionGroupId>
        <wpml:actionGroupStartIndex>0</wpml:actionGroupStartIndex>
        <wpml:actionGroupEndIndex>1</wpml:actionGroupEndIndex>
        <wpml:actionGroupMode>sequence</wpml:actionGroupMode>
        <wpml:actionTrigger>
          <wpml:actionTriggerType>betweenAdjacentPoints</wpml:actionTriggerType>
        </wpml:actionTrigger>
        <wpml:action>
          <wpml:actionId>0</wpml:actionId>
          <wpml:actionActuatorFunc>gimbalEvenlyRotate</wpml:actionActuatorFunc>
          <wpml:actionActuatorFuncParam>
            <wpml:gimbalPitchRotateAngle>-17</wpml:gimbalPitchRotateAngle>
            <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
          </wpml:actionActuatorFuncParam>
        </wpml:action>
      </wpml:actionGroup>
    </Placemark>

     

    这个是在pilot2上生成并导出kmz后中waylines.wpml中的一个航点代码, 其中gimbalEvenlyRotate这个属性在共有元素 https://developer.dji.com/doc/cloud-api-tutorial/cn/specification/dji-wpml/common-element.html 这个文档上并没有说明.

     

    我在pilot2上的这个航点只设置了3个动作, 为什么waylines文件中会有3个action_group标签, 航点动作和action_group和action这3者之间是什么关系.

    因为按文档上给出的模板和文字描述, 我的理解是每个航点标签下只有一个group, 包含当前航点的所有动作, 可pilot生成的文档却是同时包含了3个gorup, 而group中又包含了数量不同的action.

    0
    Comment actions Permalink
  • DJI Developer Support
    文档上没出现的确实是漏了,三个航点动作组是平行关系,一起执行。航点动作组里的航点列表是串行关系,按actionId顺序执行。
    0
    Comment actions Permalink

    那这3个动作组怎么理解, 定时定距的动作是必须单独抽1组出来的的吗, 而且, 第一个动作组中最后一个动作云台转动, 并不是我预设的, 所以这个pilot自动加上的动作就让我在自己编写的时候摸不着头脑, 毕竟定时定距动作中并没有配置云台或者偏航角属性, 那么就只能沿用上一个动作的设置去进行航段中动作, 可是这个自动加上的云台转动操作就很迷.

    0
    Comment actions Permalink

    在共有元素的文档最后, 有写到 strartContinuousShootin 和 stopContinuousShooting 这两个属性, 可是并没有表明在哪里使用, 根据上下文, 应该是 wpml:actionActuatofFunc 的取值.

    可是这又跟action_trigger中的这两个属性重复了,

    那这个定时定距动作要怎么编写, 上面提到的这两者间是否有什么联系

    0
    Comment actions Permalink

    这个id文档上是说从0开始递增, 可是在pilot生成的文件中, 一共4个有动作的航点, 加起来6个动作组, 第一个点的3个动作组的id分别是0, 2, 3, 第二个航点的id是1, 第三个航点的id是4, 最后一个id是5, 这个动作组id是有什么特殊逻辑的吗, 不应该是直接0到5吗, 第一个点为什么是0,2,3.

    0
    Comment actions Permalink
  • DJI Developer Support
    一个航点可以有多个航点动作组,他们的关系是平行的。一个航点动作组有一个触发器配置多个执行器,执行器的执行顺序是串行。
    0
    Comment actions Permalink

    动作组id和动作id对任务执行有影响吗

    0
    Comment actions Permalink

    而且为什么固件版本都升到最新了, 还会报这个问题

    0
    Comment actions Permalink
  • DJI Developer Support
    动作组影响不大,他们是同时运行。动作id是顺序执行。你在报什么问题呢?
    0
    Comment actions Permalink

    就只提示这个, 别的没了, 调用startmission api时候返回的error信息

    0
    Comment actions Permalink
  • DJI Developer Support
    需要升级固件和MSDK到最新,还不行的话你在下面的链接提单,把kmz发给我,注明哪个机型。 Link:https://sdk-forum.dji.net/hc/zh-cn/requests/new
    0
    Comment actions Permalink

    已经提交了

    0
    Comment actions Permalink
  • DJI Developer Support
    我这里报错是DEFINE11,经检查你的waylines.wpml里有template.kml的内容,导致飞控检查字段失败。
    0
    Comment actions Permalink
  • Demon

    所以后面是怎么实现定时拍照的?

    0
    Comment actions Permalink

Please sign in to leave a comment.