通过mqtt发送指点飞行的命令,返回结果result=0,但实际上飞机的行为却是返航

Completed

Comments

11 comments

  • DJI Developer Support
    能提供原始的mqtt消息等信息吗?上云API指令飞行,需要配合最新版本的固件使用,请检查机场与飞行器的固件版本是否最新。 固件发布版本,您可以在机场的发布记录中查找:https://enterprise.dji.com/cn/dock/downloads
    0
    Comment actions Permalink
  • 412111959

    固件版本如下,应该是最新的了

    M30/M30T    06.02.0803  

    DJI 机场     01.03.0902

    mqtt消息我没保留,但是类似下面这个
    {
    "bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
    "tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
    "timestamp": 1654070968655,
    "method": "fly_to_point",
    "data": {
    "fly_to_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
    "max_speed": 12,
    "points": [
    {
    "latitude": 12.23,
    "longitude": 12.23,
    "height": 100
    }
    ]
    }
    }

    0
    Comment actions Permalink
  • 412111959

    @DJI Developer Support

    DJI 机场固件更新为     01.03.0903,问题依旧如此。偶尔能飞一两个点,然后再执行就返航了。 固件01.03.0902也是如此。而且有时候会提示,"警告[飞控系统异常,请尽快降落]" hms在天上警告:0x161000AC,HmsArgsReceiver(componentIndex=0, sensorIndex=0, alarmId=null)。

    0
    Comment actions Permalink
  • DJI Developer Support
    flyto的执行会在**flyto 执行结果事件通知**中上报执行的结果,请根据flyto上报的错误码进行问题的定位。
    0
    Comment actions Permalink
  • 412111959

    飞向目标点进度的错误码result=386535 ,只是说航线异常,但是我是在执行航线且航线的结束动作为悬停,且无人机处于悬停状态(航线结束动作)之后才进行飞向目标点。按道理不应该是航线异常吧,而且是什么异常呢?我也无法进行定位。下面是一些飞向目标点进度返回的消息和飞向目标点的原始消息。

    飞向目标点的原始消息,我对经纬度多了一些模糊处理
    {"fly_to_id":"63cf3161-17e1-48cb-bf30-c98dc47ce453","max_speed":2,"points":[{"height":110.0,"latitude":22.xxxxx,"longitude":113.xxxx}]}

    发出之后飞向目标点的命令后,飞向目标点进度返回的消息如下
    CommonTopicReceiver(tid=f8b135c8-605b-4955-8c0a-cf9c1d1c6ce0, bid=4b15cafb-bb3a-4f81-ae42-f396b9cd2ae3, method=fly_to_point_progress, timestamp=1685687935540, data={fly_to_id=a24b7d97-71fe-4d45-9c71-beaadfc92b97, result=386535, status=wayline_failed, way_point_index=0}, gateway=4TADL2E001002H, needReply=1, from=null)

    接着飞向目标点继续返回一条消息
    (result=UNKNOWN, status=WAYLINE_FAILED, flyToId=a24b7d97-71fe-4d45-9c71-beaadfc92b97, wayPointIndex=0)

    然后就返航了

    0
    Comment actions Permalink
  • DJI Developer Support
    请重启机场和飞行器重试。 最后一条消息,您可以使用mqtt客户端查看具体的报错信息:https://developer.dji.com/doc/cloud-api-tutorial/cn/debug/mqttx.html
    0
    Comment actions Permalink
  • 412111959

    进行飞向目标点的步骤
    1.先飞行航线。航线任务的结束动作是悬停,no action。
    2.等无人机飞到航线最后一个点,无人机在悬停。获取飞行控制权(flight_authority_grab)。
    3.选定坐标,然后飞向目标点。(result=0 执行成功的)
    4.飞向目标点进度 返回消息(有时候不返回这些消息,直接就返航了,有时候返回这些消息再返航。flyToId之所以不一样,是因为我收集了几次的消息放在一起)
    FlyToProgressReceiver(result=SUCCESS, status=WAYLINE_PROGRESS, flyToId=8166556d-3580-4c96-aec1-062f8a41a20d, wayPointIndex=0)
    FlyToProgressReceiver(result=UNKNOWN, status=WAYLINE_FAILED, flyToId=74ab4dfe-411b-4956-a3b1-fb5cb79e91bf, wayPointIndex=0)
    5.无人机并没有飞向目标点而是动返航。

    固件版本
    机场固件 01.03.0903
    无人机固件 06.02.0803

    0
    Comment actions Permalink
  • DJI Developer Support
    flyTo下发的指令机场回复有错误码吗? 我们可以先使用mqtt客户端订阅相关主题,定位问题现在是机场与云服务通信有问题,还是云服务本身出现的问题。
    0
    Comment actions Permalink
  • 412111959

    这个问题解决了,不好说明是什么问题,笼统的说是mqtt接收和处理的问题。

    0
    Comment actions Permalink
  • DJI Developer Support
    好的,了解了。感谢您的反馈。
    0
    Comment actions Permalink
  • Luocheng9215

    指点飞行怎么开发,有demo代码吗

    0
    Comment actions Permalink

Please sign in to leave a comment.