DJI Phantom 3無人機を特定のパターンでパイロットして、特定の方法で写真を撮るAndroidスタジオを使ってアプリを開発しています。私はDJIサンプルコードをAndroidスタジオにアップロードし、Android Manifest.xmlファイルにアプリキーを入力し、無人機を指定されたパターンで飛行するようにプログラムするために、「MissionManager」ディレクトリ内の「CustomMissionView」コードを修正しました。しかし、DJI Simulatorでこのプロジェクトを実行すると、カスタムミッションの各ステップの間に遅延があります。無人機はアイドル状態で何もせずに数秒間ホバーします。飛行速度を設定せずにカスタムミッションのステップ間の遅延を最小限にする方法があるかどうかを知りたい。私はそれがDJICommonCallbacks.DJICompletionCallback()
と関係があると思うが、わからない。私はAndroid Studioの初心者ですので、アドバイスが参考になります。ここでDJI Phantom 3カスタムミッションアプリ、ミッションステップ間の遅延:
は、各ステップ間の休止は、DJIは、カスタムミッションを設定する方法が原因である「CustomMissionView」Javaファイル内の保護方法DJIミッション内のコードの一部
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()));
}
}));