2017-03-04 1 views
1

DJI 팬텀 3 무인 항공기를 특정 패턴으로 조종하고 특정 방식으로 사진을 찍는 Android Studio를 사용하는 앱을 개발하는 중입니다. Android 마닐라에 DJI 샘플 코드를 업로드하고, Android Manifest.xml 파일에 앱 키를 입력하고, "MissionManager"디렉토리에서 "CustomMissionView"코드를 수정하여 무인 항공기를 지정된 패턴으로 비행하도록 프로그래밍했습니다. 그러나 DJI 시뮬레이터에서이 프로젝트를 실행하면 사용자 지정 임무의 각 "단계"사이에 지연이 있으며 때로는 무인 항공기가 아무 것도하지 않고 몇 초 동안 유휴 상태가됩니다. 나는 비행 속도를 설정하지 않고 커스텀 미션의 단계 사이의 지연을 최소화 할 수있는 방법이 있는지 알고 싶다. 나는 그것이 DJICommonCallbacks.DJICompletionCallback()과 관련이 있다고 생각하지만 확실하지 않습니다. 나는 Android Studio의 초보자이므로 조언이 도움이 될 것입니다.DJI 팬텀 3 사용자 정의 미션 앱, 임무 단계 사이의 지연 :

다음은 "CustomMissionView"자바 파일

LinkedList<DJIMissionStep> steps = new LinkedList<DJIMissionStep>(); 


    //Step 1: takeoff from the ground 
    steps.add(new DJITakeoffStep(new DJICommonCallbacks.DJICompletionCallback() { 

     public void onResult(DJIError error) { 
      Utils.setResultToToast(mContext, "Takeoff step: " + (error == null ? "Success" : error.getDescription())); 
     } 
    })); 

    //Step 2: reset the gimbal to desired angle 
    steps.add(new DJIGimbalAttitudeStep(
      DJIGimbalRotateAngleMode.AbsoluteAngle, 
      new DJIGimbalAngleRotation(true, -30f, DJIGimbalRotateDirection.Clockwise), 
      null, 
      null, 
      new DJICommonCallbacks.DJICompletionCallback() { 

       public void onResult(DJIError error) { 
        Utils.setResultToToast(mContext, "Set gimbal attitude step: " + (error == null ? "Success" : error.getDescription())); 

       } 
      })); 

    //Step 3: Go 3 meters from home point 
    steps.add(new DJIGoToStep(mHomeLatitude, mHomeLongitude, 3, new DJICommonCallbacks.DJICompletionCallback() { 


     public void onResult(DJIError error) { 
      Utils.setResultToToast(mContext, "Goto step: " + (error == null ? "Success" : error.getDescription())); 
     } 
    })); 

답변

0

의 보호 방법 DJI 미션 내부의 일부 코드 각 단계 사이의 일시 정지 DJI 사용자 정의 임무를 설정하는 방법에 기인이다. 관습 임무를 준비 할 때 항공기 자체에 어떠한 임무 정보도 보내지 않습니다. 앱을 실행하는 기기에서 맞춤식 임무를 수행합니다. 임무 수행 중에 한 단계가 항공기로 보내집니다. 이 단계가 성공적으로 완료되면 다음 단계가 항공기로 전송됩니다. 이로 인해 각 단계 사이에 일시 중지가 발생합니다. 원격 제어 장치에서 항공기로가는 신호가 약 해지면 임무는 시간 초과로 실패 할 수 있습니다.

웨이트 포인트 임무는 준비가되면 전체 임무가 항공기에로드되기 때문에이 일시 중지가 없습니다.

관련 문제