Étape 7: fonctions
Vous avez maintenant tout ce que vous avez besoin de façon autonome voler votre drone. Pour écrire des programmes plus complexes, vous devrez juste savoir quelques fonctions que le drone est capable de. Ci-dessous j’ai indiquer le nom et décrire ce qu’ils font. Vous devriez également vérifier le fichier README de Felixge qui a été inclus dans la bibliothèque de l’ar-drone tel qu’il a des tonnes d’informations utiles.
TAKEOFF() - a le décollage du drone et le vol stationnaire au-dessus du sol
Land() - a la terre de drone
Up(Speed) - a l’altitude de gain de drone à une vitesse comprise entre 1 (vitesse maximum) et 0 (encore).
Down(Speed) - rend le drone réduire altitude
clockwise(Speed) - drone tourne dans le sens horaire
counterClockwise(speed) - drone tourne dans le sens anti-horaire
Front(Speed)/Back(Speed) - modifie le terrain provoquant le déplacement horizontal
Left(Speed)/Right(Speed) - modifie le rouleau provoquant le déplacement horizontal
Stop() - maintient le drone planant en place
(pour les fonctions complexes comme les flips et manuevers, consultez le fichier README, lié ci-dessus)
Toutes ces fonctions peuvent être utilisé dans une longue liste avec un temps dédié entre eux en utilisant le format :
client
.après (5000, function() {}
This.Clockwise(0.5) ;
})
.après (3000, function() {}
This.Stop() ;
});
Le nombre de 5000 est le temps en millisecondes pendant laquelle le drone s’allume dans le sens horaire pour 0,5 de son taux de rotation supérieure (1 = max et 0 étant toujours). Pour la fonction stop, nous pouvons voir qu’il n’a pas une vitesse parce qu’il prend soin de lui-même. En faisant une longue liste de commandes comme cela nous pouvons mettre en place une liste de tâche autonome à réaliser. J’ai copié le code que mon drone a couru, dans la vidéo sur la première page, ci-dessous :
arDrone var = require('ar-drone') ;
var client = arDrone.createClient() ;
client.takeoff() ;
client
.après (2000, function() {}
This.Up(1) ;
})
.après (2000, function() {}
This.Animate('flipAhead',500) ;
})
.après (1000, function() {}
This.Animate ('flipBehind', 500) ;
})
.après (1000, function() {}
This.Animate('flipLeft',500) ;
})
.après (1000, function() {}
This.Animate ('flipRight', 500) ;
})
.après (5000, function() {}
This.Front(1.0) ;
})
.après (2000, function() {}
This.Clockwise(0.5) ;
})
.après (5000, function() {}
This.Back(0.8) ;
})
.après (2000, function() {}
This.Land() ;
});
J’espère que cela vous donnera une bonne idée d’à quoi ressemblera votre plan de programme.