Inconsistent waypoint mission progress
294 0 2021-8-25
Uploading and Loding Picture ...(0/1)
o(^-^)o
NCB
lvl.2

Brazil
Offline

Hi!

Problem

At the exact moment the mission starts, my WaypointMissionProgress notifies the target waypoint as being 0 and that it has already arrived at it, even if the drone hasn't even taken off. This makes my app behave in unexpected ways. The last waypoint gets notified three times also.

Is this an expected or known behavior? How could I fix it?

Environment

Android 11
SDK 4.15
Phantom 4 Pro V2Drone firmware: 01.00.5200
RC firmware: 01.00.5200

Mission

{
   "autoFlightSpeed":12.5,
   "finishedAction":"GO_HOME",
   "flightPathMode":"CURVED",
   "gotoFirstWaypointMode":"SAFELY",
   "headingMode":"AUTO",
   "maxFlightSpeed":15.0,
   "missionID":3,
   "pointOfInterest":null,
   "repeatTimes":1,
   "waypointCount":10,
   "waypointList":[
      {
         "actionRepeatTimes":1,
         "actionTimeoutInSeconds":999,
         "altitude":30.0,
         "coordinate":{
            "latitude":-23.160064680262902,
            "longitude":-45.793138167755586,
            "valid":true
         },
         "cornerRadiusInMeters":0.2,
         "gimbalPitch":0.0,
         "heading":148,
         "isUseCustomDirection":false,
         "shootPhotoDistanceInterval":0.0,
         "shootPhotoTimeInterval":0.0,
         "speed":12.5,
         "turnMode":"COUNTER_CLOCKWISE",
         "waypointActions":[

         ],
         "headingInner":148
      },
      {
         "actionRepeatTimes":1,
         "actionTimeoutInSeconds":999,
         "altitude":30.63971,
         "coordinate":{
            "latitude":-23.16035352517325,
            "longitude":-45.79294537267839,
            "valid":true
         },
         "cornerRadiusInMeters":0.2,
         "gimbalPitch":0.0,
         "heading":59,
         "isUseCustomDirection":false,
         "shootPhotoDistanceInterval":0.0,
         "shootPhotoTimeInterval":0.0,
         "speed":12.5,
         "turnMode":"COUNTER_CLOCKWISE",
         "waypointActions":[

         ],
         "headingInner":59
      },
      {
         "actionRepeatTimes":1,
         "actionTimeoutInSeconds":999,
         "altitude":30.344177,
         "coordinate":{
            "latitude":-23.16028490142418,
            "longitude":-45.79281902897924,
            "valid":true
         },
         "cornerRadiusInMeters":0.2,
         "gimbalPitch":0.0,
         "heading":-31,
         "isUseCustomDirection":false,
         "shootPhotoDistanceInterval":0.0,
         "shootPhotoTimeInterval":0.0,
         "speed":12.5,
         "turnMode":"CLOCKWISE",
         "waypointActions":[

         ],
         "headingInner":329
      },
      {
         "actionRepeatTimes":1,
         "actionTimeoutInSeconds":999,
         "altitude":29.966614,
         "coordinate":{
            "latitude":-23.15991783895118,
            "longitude":-45.793064031946955,
            "valid":true
         },
         "cornerRadiusInMeters":0.2,
         "gimbalPitch":0.0,
         "heading":24,
         "isUseCustomDirection":false,
         "shootPhotoDistanceInterval":0.0,
         "shootPhotoTimeInterval":0.0,
         "speed":12.5,
         "turnMode":"CLOCKWISE",
         "waypointActions":[

         ],
         "headingInner":24
      },
      {
         "actionRepeatTimes":1,
         "actionTimeoutInSeconds":999,
         "altitude":29.104614,
         "coordinate":{
            "latitude":-23.159770997639463,
            "longitude":-45.79298989630087,
            "valid":true
         },
         "cornerRadiusInMeters":0.2,
         "gimbalPitch":0.0,
         "heading":148,
         "isUseCustomDirection":false,
         "shootPhotoDistanceInterval":0.0,
         "shootPhotoTimeInterval":0.0,
         "speed":12.5,
         "turnMode":"COUNTER_CLOCKWISE",
         "waypointActions":[

         ],
         "headingInner":148
      },
      {
         "actionRepeatTimes":1,
         "actionTimeoutInSeconds":999,
         "altitude":29.96222,
         "coordinate":{
            "latitude":-23.16021627767511,
            "longitude":-45.79269268540955,
            "valid":true
         },
         "cornerRadiusInMeters":0.2,
         "gimbalPitch":0.0,
         "heading":59,
         "isUseCustomDirection":false,
         "shootPhotoDistanceInterval":0.0,
         "shootPhotoTimeInterval":0.0,
         "speed":12.5,
         "turnMode":"COUNTER_CLOCKWISE",
         "waypointActions":[

         ],
         "headingInner":59
      },
      {
         "actionRepeatTimes":1,
         "actionTimeoutInSeconds":999,
         "altitude":29.96521,
         "coordinate":{
            "latitude":-23.160147653926042,
            "longitude":-45.79256634196932,
            "valid":true
         },
         "cornerRadiusInMeters":0.2,
         "gimbalPitch":0.0,
         "heading":-31,
         "isUseCustomDirection":false,
         "shootPhotoDistanceInterval":0.0,
         "shootPhotoTimeInterval":0.0,
         "speed":12.5,
         "turnMode":"CLOCKWISE",
         "waypointActions":[

         ],
         "headingInner":329
      },
      {
         "actionRepeatTimes":1,
         "actionTimeoutInSeconds":999,
         "altitude":28.554016,
         "coordinate":{
            "latitude":-23.15962415632774,
            "longitude":-45.79291576081732,
            "valid":true
         },
         "cornerRadiusInMeters":0.2,
         "gimbalPitch":0.0,
         "heading":24,
         "isUseCustomDirection":false,
         "shootPhotoDistanceInterval":0.0,
         "shootPhotoTimeInterval":0.0,
         "speed":12.5,
         "turnMode":"CLOCKWISE",
         "waypointActions":[

         ],
         "headingInner":24
      },
      {
         "actionRepeatTimes":1,
         "actionTimeoutInSeconds":999,
         "altitude":28.408203,
         "coordinate":{
            "latitude":-23.159477315016023,
            "longitude":-45.79284162549635,
            "valid":true
         },
         "cornerRadiusInMeters":0.2,
         "gimbalPitch":0.0,
         "heading":148,
         "isUseCustomDirection":false,
         "shootPhotoDistanceInterval":0.0,
         "shootPhotoTimeInterval":0.0,
         "speed":12.5,
         "turnMode":"COUNTER_CLOCKWISE",
         "waypointActions":[

         ],
         "headingInner":148
      },
      {
         "actionRepeatTimes":1,
         "actionTimeoutInSeconds":999,
         "altitude":29.958801,
         "coordinate":{
            "latitude":-23.160079030176973,
            "longitude":-45.79243999865855,
            "valid":true
         },
         "cornerRadiusInMeters":0.2,
         "gimbalPitch":0.0,
         "heading":17,
         "isUseCustomDirection":false,
         "shootPhotoDistanceInterval":0.0,
         "shootPhotoTimeInterval":0.0,
         "speed":12.5,
         "turnMode":"CLOCKWISE",
         "waypointActions":[

         ],
         "headingInner":17
      }
   ],
   "exitMissionOnRCSignalLostEnabled":false,
   "gimbalElevationOptimizeEnabled":false,
   "gimbalPitchRotationEnabled":false
}

Code

DJISDKManager.getInstance().getMissionControl().getWaypointMissionOperator()
    .addListener(new WaypointMissionOperatorListener() {
        @Override
        public void onDownloadUpdate(@NonNull final WaypointMissionDownloadEvent __) {
        }

        @Override
        public void onUploadUpdate(@NonNull final WaypointMissionUploadEvent __) {
        }

        @Override
        public void onExecutionUpdate(@NonNull final WaypointMissionExecutionEvent event) {
            final NcbWaypointExecutionProgress ncbProgress = NcbWaypointExecutionProgress
                .fromDji(event.getProgress());
            Logger.d(ncbProgress == null ? null : ncbProgress.toString());
        }

        @Override
        public void onExecutionStart() {
        }

        @Override
        public void onExecutionFinish(@Nullable final DJIError djiError) {
        }
    });

Log of some executions

- First

2021-08-25 15:53:28.316 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=0, isWaypointReached=true)
2021-08-25 15:53:59.517 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=0, isWaypointReached=true)
2021-08-25 15:53:59.709 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=1, isWaypointReached=false)
2021-08-25 15:54:06.725 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=1, isWaypointReached=true)
2021-08-25 15:54:07.115 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=2, isWaypointReached=false)
2021-08-25 15:54:11.124 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=2, isWaypointReached=true)
2021-08-25 15:54:11.615 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=3, isWaypointReached=false)
2021-08-25 15:54:19.205 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=3, isWaypointReached=true)
2021-08-25 15:54:19.506 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=4, isWaypointReached=false)
2021-08-25 15:54:24.007 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=4, isWaypointReached=true)
2021-08-25 15:54:24.516 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=5, isWaypointReached=false)
2021-08-25 15:54:33.027 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=5, isWaypointReached=true)
2021-08-25 15:54:33.414 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=6, isWaypointReached=false)
2021-08-25 15:54:37.414 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=6, isWaypointReached=true)
2021-08-25 15:54:37.925 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=7, isWaypointReached=false)
2021-08-25 15:54:47.216 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=7, isWaypointReached=true)
2021-08-25 15:54:47.627 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=8, isWaypointReached=false)
2021-08-25 15:54:52.127 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=8, isWaypointReached=true)
2021-08-25 15:54:52.525 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=9, isWaypointReached=false)
2021-08-25 15:55:02.801 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=9, isWaypointReached=true)
2021-08-25 15:55:02.914 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=9, isWaypointReached=false)

- Second

2021-08-25 15:56:14.626 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=0, isWaypointReached=true)
2021-08-25 15:56:45.843 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=0, isWaypointReached=true)
2021-08-25 15:56:46.024 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=1, isWaypointReached=false)
2021-08-25 15:56:52.924 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=1, isWaypointReached=true)
2021-08-25 15:56:53.425 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=2, isWaypointReached=false)
2021-08-25 15:56:57.429 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=2, isWaypointReached=true)
2021-08-25 15:56:57.826 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=3, isWaypointReached=false)
2021-08-25 15:57:05.428 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=3, isWaypointReached=true)
2021-08-25 15:57:05.813 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=4, isWaypointReached=false)
2021-08-25 15:57:10.314 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=4, isWaypointReached=true)
2021-08-25 15:57:10.817 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=5, isWaypointReached=false)
2021-08-25 15:57:19.313 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=5, isWaypointReached=true)
2021-08-25 15:57:19.725 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=6, isWaypointReached=false)
2021-08-25 15:57:23.751 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=6, isWaypointReached=true)
2021-08-25 15:57:24.116 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=7, isWaypointReached=false)
2021-08-25 15:57:33.516 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=7, isWaypointReached=true)
2021-08-25 15:57:33.826 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=8, isWaypointReached=false)
2021-08-25 15:57:38.216 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=8, isWaypointReached=true)
2021-08-25 15:57:38.715 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=9, isWaypointReached=false)
2021-08-25 15:57:48.955 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=9, isWaypointReached=true)
2021-08-25 15:57:49.114 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=9, isWaypointReached=false)

- Third

2021-08-25 15:59:45.922 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=0, isWaypointReached=true)
2021-08-25 16:00:18.953 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=0, isWaypointReached=true)
2021-08-25 16:00:19.125 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=1, isWaypointReached=false)
2021-08-25 16:00:26.114 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=1, isWaypointReached=true)
2021-08-25 16:00:26.514 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=2, isWaypointReached=false)
2021-08-25 16:00:30.517 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=2, isWaypointReached=true)
2021-08-25 16:00:30.924 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=3, isWaypointReached=false)
2021-08-25 16:00:38.517 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=3, isWaypointReached=true)
2021-08-25 16:00:38.923 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=4, isWaypointReached=false)
2021-08-25 16:00:43.313 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=4, isWaypointReached=true)
2021-08-25 16:00:43.823 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=5, isWaypointReached=false)
2021-08-25 16:00:52.313 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=5, isWaypointReached=true)
2021-08-25 16:00:52.826 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=6, isWaypointReached=false)
2021-08-25 16:00:56.816 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=6, isWaypointReached=true)
2021-08-25 16:00:57.217 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=7, isWaypointReached=false)
2021-08-25 16:01:06.526 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=7, isWaypointReached=true)
2021-08-25 16:01:06.815 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=8, isWaypointReached=false)
2021-08-25 16:01:11.314 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=8, isWaypointReached=true)
2021-08-25 16:01:11.806 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=9, isWaypointReached=false)
2021-08-25 16:01:22.001 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=9, isWaypointReached=true)
2021-08-25 16:01:22.124 D: │ NcbWaypointExecutionProgress(targetWaypointIndex=9, isWaypointReached=false)


2021-8-25
Use props
Advanced
You need to log in before you can reply Login | Register now

Credit Rules