• Aucun résultat trouvé

Génération de trajectoire par optimisation bi-niveaux

Résumé en français D.1Introduction

D.3 Génération de trajectoire par optimisation bi-niveaux

D.3.1 Stratégie

Nous abordons dans un troisième chapitre la question de la génération de la trajectoire de la caméra volante. Celle-ci est traitée en deux parties, la génération de la trajectoire en position du quadricoptère porteur de la caméra d’un côté et de la trajectoire en rotation et grossissement de la caméra de l’autre. Deux méthodes courantes permettent d’aborder la génération de la trajectoire en position du drone, le suivi de trajectoire ou le suivi de chemin. La première consiste en la génération d’une trajectoire de référence comme une fonction du temps, qui est suivie par un correcteur. La seconde méthode s’affranchit de la dépendance au temps en s’appuyant sur une loi dont émerge le suivi d’un chemin établi. Une comparaison de ces deux méthodes dans le domaine de la cinématographie est proposée, en s’appuyant notamment sur la littérature. Si la méthode de suivi de trajectoire peut être considérée comme moins robuste que celle du suivi de chemin de par sa sensibilité aux décrochages de la trajectoire nominale de référence, elle autorise néanmoins un plus grand contrôle temporel sur l’état du drone ce qui représente un avantage pour certaines séquences de prise de vue. Une stratégie de suivi de trajectoire est ainsi choisie.

D.3.2 Contraintes de faisabilité et d’esthétique

Avant de traiter la question de la génération de la trajectoire en position, des contraintes sur sur celle-ci sont mises en évidence afin que celle-ci soit non seulement faisable, rela-tivement à la dynamique du drone, mais aussi satisfaisante au regard de critères cinéma-tographiques. De telles garanties sont obtenues en deux temps. Tout d’abord, le plan de vol est pré-traité afin d’assurer que les consignes de vitesse appartiennent au domaine de vol. On ajuste ainsi les consignes de vitesses excessives, pouvant conduire à un état de vortex entretenu ou pouvant nuire à la réalisation de certains plans. Si besoin, le rayon de validation des points de passage est également réduit pour empêcher la validation simul-tanée de plusieurs points de passages. Néanmoins, ce pré-traitement, seul, ne permet pas de garantir la faisabilité de la trajectoire ni sont esthétique. En utilisant le modèle non linéaire simplifié du drone, les contraintes de poussée minimale et maximale, de vitesse de rotation maximale et angle maximal du drone relativement au sol et de variation temporelle maximale de cap sont reformulées en termes de contraintes sur les dérivées temporelles de la position du drone. Ces contraintes se démarquent notamment de la littérature par la prise en compte de l’angle du drone ainsi que la vitesse de rotation en lacet du drone qui est amenée à varier selon les plans à réaliser. Est ainsi montré qu’une borne sur l’amplitude de l’accélération du drone permet de garantir, en l’absence de perturbation, le respect des contraintes de poussée minimale et maximale et d’angle maximal relativement au sol. Le respect des contraintes de vitesse de rotation et de variation de cap est quant à lui obtenu via une contrainte sur l’amplitude du jerk du drone



a 6 amax, min {g − fmin, fmax− g, g sαmax}⇒      f > fmin f 6 fmax α 6 αmax (D.6a)        ˙ ψmax< Ωmax j 6 jmax, q Ω2 max(1 + sαmax2) − ˙ψ2

max− sαmaxψ˙max

1 + sαmax2 fmin

⇒ (kΩk26 Ωmax) (D.6b)

avec a l’accélération du drone, f la poussée du drone, fmin et fmax respectivement les poussées minimales et maximales que peut fournir le drone, α l’angle entre la verticale du drone et la verticale du sol et αmax sa valeur maximale atteignable par le drone, j le jerk du drone, ˙ψmax la vitesse en cap du drone et ˙ψmax sa valeur maximale pour garantir une qualité de vidéo correcte et Ωmaxla vitesse de rotation maximale du drone par rapport au sol. Ces contraintes sont ensuite utilisées pour la formulation du problème de génération de trajectoire, définie dans le paragraphe suivant.

D.3.3 Optimisation bi-niveaux

Une première manière de générer une trajectoire polynomiale par morceaux via une optimisation bi-niveaux est tout d’abord étudiée. Chaque morceau polynomial de la tra-jectoire sert à rejoindre une paire de points de passage consécutifs. La tratra-jectoire est alors paramétrée par deux jeux de paramètres, des temps de vols entre chaque point de passage du plan de vol d’une part et des coefficients polynomiaux d’autre part. Chacun de ces deux jeux de paramètres est optimisé par un algorithme d’optimisation différent, fonctionnant à deux niveaux différents et représentés figure D.3.

Figure D.3 – Principe de l’optimisation bi-niveaux

Pour un jeu de temps de vols donné, un algorithme d’optimisation de niveau bas (en bas sur la figure D.3) génère un jeu de coefficients polynomiaux paramétrant une trajectoire à jerk minimal, respectant: les temps de vol entre chaque point de passage, les critères de validation des points de passage et les couloirs de vols. Une méthode de maillage est utilisée pour cette dernière contrainte, consistant à vérifier son respect en un nombre de points fini de la trajectoire. L’algorithme assure également la continuité de la trajectoire aux connections entre chaque morceau de polynôme. La résolution de ce problème constitue un problème quadratique sous contraintes linéaires. De la minimisation du jerk résulte une trajectoire douce et naturelle, masquant les transitions entre points de passage et ainsi adaptée pour la cinématographie. Un second algorithme d’optimisation, de niveau haut (en haut sur la figure D.3), est en charge de déterminer le jeu de temps de vol minimisant la durée totale de la mission tout en s’assurant que les dérivées temporelles de la trajectoire respectent les contraintes de faisabilité et d’esthétique mises en évidence précédemment. La résolution de ce problème constitue un problème non linéaire. Cette architecture bi-niveaux permet ainsi de séparer la génération de la trajectoire en un problème quadratique "large" mais simple à résoudre, pour la génération des coefficients polynomiaux, et un problème non linéaire mais de taille réduite, pour la génération des temps de vol. Cette méthode de génération de trajectoire par optimisation bi-niveaux est confrontée à des simulations (voir figure D.4) ainsi qu’à un vol en extérieur avec un drone Parrot Bebop 2.

D.3.4 Amélioration de l’algorithme

Diverses améliorations de l’algorithme sont ensuite proposées comme la prise en compte de la traînée du drone. Un modèle de traînée linéaire est ainsi inclus et la formulation de la contrainte sur l’amplitude de l’accélération est adaptée pour prendre en compte ce phénomène. Une alternative à cette formulation prenant également en compte la vitesse moyenne du vent par rapport au sol permet d’améliorer encore la faisabilité de la trajectoire. Des simulations sont réalisées pour illustrer les performances de ces formulations augmen-tées de la traînée, et permettent de comparer l’impact de ce phénomène sur le respect des contraintes de faisabilité. Une étude sur l’initialisation du problème de niveau haut (non linéaire) est ensuite menée et différentes méthodes d’initialisation sont comparées, dont une initialisation à vitesse supposée constante et une initialisation pour laquelle l’accélération de la trajectoire est approximée par un profil bang-off-bang. Leurs impacts sur le nom-bre d’itérations requis par l’algorithme d’optimisation pour générer les trajectoires sont présentés et comparés. Une stratégie d’horizon glissant sur les points de passage est en-suite proposée pour maîtriser la taille du problème d’optimisation à résoudre. L’impact de cette stratégie sur le temps de calcul de la trajectoire du plan de vol complet est illustré, de même que son impact sur la qualité de la trajectoire obtenue. Bien que les résultats soient satisfaisants, une limite de la formulation bi-niveaux est mise en évidence, celle-ci conduisant à des profils de vitesses parfois trop peu agressifs. Ainsi, dans le chapitre suivant, un algorithme pour générer des trajectoires plus agressives est proposé.

D.4 Génération de trajectoire B-splines non uniformes à temps

Documents relatifs