Je travaille sur le développement d'une application en utilisant Android Studio qui pilote le drone DJI Phantom 3 dans un certain modèle, prendre des photos à certains points de manière. J'ai téléchargé l'exemple de code DJI sur Android Studio, entré une clé d'application sur le fichier Android Manifest.xml, et modifié le code "CustomMissionView" dans le répertoire "MissionManager" afin de programmer le drone à voler dans un modèle spécifié. Cependant, lorsque je lance ce projet sur le simulateur DJI, il y a un délai entre chacune des "étapes" de la mission personnalisée, parfois le drone est inactif et reste quelques secondes sans rien faire. Je veux savoir s'il y a moyen de minimiser le délai entre les étapes de la mission personnalisée sans régler la vitesse de vol. Je soupçonne que cela a quelque chose à voir avec le DJICommonCallbacks.DJICompletionCallback()
, mais je ne suis pas sûr. Je suis un novice pour Android Studio, donc tout conseil serait utile.DJI Phantom 3 Application Mission personnalisée, Délai entre les étapes de la mission:
Voici une partie du code dans la méthode DJI protégée Mission dans le fichier Java « de 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()));
}
}));