Procédé de pilotage d'un drone à voilure tournante
à rotors multiples avec estimation et compensation du vent latéral et du biais des accéléromètres
L'invention concerne les drones à voilure tournante tels que les quadricop- tères et analogues.
Ces drones sont pourvus de rotors multiples entraînés par des moteurs respectifs commandables de manière différenciée afin de piloter le drone en attitude et en vitesse.
Un exemple typique d'un tel drone est le AR.Drone de Parrot SA, Paris, France, qui est un quadricoptère équipé d'une série de capteurs (accéléromètres, gyromètres trois axes, altimètre), d'une caméra frontale captant une image de la scène vers laquelle est dirigé le drone, et d'une caméra de visée verticale captant une image du terrain survolé.
Les WO 2010/061099 A2 et EP 2 364 757 A1 (Parrot SA) décrivent un tel drone ainsi que son principe de pilotage par l'intermédiaire d'un téléphone ou baladeur multimédia à écran tactile et accéléromètre intégré, par exemple un téléphone cellulaire de type iPhone ou un baladeur ou une tablette multimédia de type iPod Touch ou iPad (marques déposées de Apple Inc., USA).
Plus précisément, dans ce mode de fonctionnement que l'on appellera par la suite "mode contrôlé", le drone est piloté par l'utilisateur au moyen de signaux émis par le détecteur d'inclinaisons de l'appareil, inclinaisons qui seront répliquées par le drone : par exemple, pour faire avancer le drone l'utilisateur incline son appareil selon son axe de tangage, et pour déporter le drone à droite ou à gauche il incline ce même appareil par rapport à son axe de roulis. De cette manière, si le drone est commandé de manière à s'incliner ou "plonger" vers le bas (inclinaison suivant un angle de tangage), il progressera vers l'avant avec une vitesse d'autant plus élevée que l'inclinaison sera importante ; inversement s'il est commandé de manière à se "cabrer" dans le sens opposé, sa vitesse ralentira progressivement puis s'inversera en repartant vers l'arrière. De la même façon, pour une commande d'inclinaison suivant un axe de roulis le drone penchera à droite ou à gauche, provoquant un déplacement linéaire en translation horizontale vers la droite ou vers la gauche.
L'utilisateur dispose d'autres commandes affichées sur l'écran tactile, notamment de "montée/descente" (commande des gaz) et de " pivotement à droite/pivotement à gauche" (pivotement du drone autour de son axe de lacet).
Le drone est également pourvu d'une commande de passage en point fixe : dans ce mode de fonctionnement que l'on appellera par la suite "mode autopiloté", lorsque l'utilisateur lâche toutes les commandes de son appareil de télécommande, le drone s'immobilise en point fixe et s'y stabilise de façon entièrement automatique.
Le problème général de l'invention est le pilotage d'un tel drone dans le vent.
On appellera "vent" un déplacement d'air parallèlement au sol, constant dans l'espace et dans le temps (les rafales de vent ne seront pas considérées). Un tel "vent" est alors complètement déterminé par ses composan- tes de vitesse horizontale dans un repère terrestre donné, ou bien par sa norme et sa direction dans un tel repère.
Le vent représente une perturbation qui, par ses caractéristiques, affecte le drone lorsqu'il est en vol. Ces perturbations sont particulièrement sensibles dans le cas des "microdrones" très légers, tels que le AR.Drone précité, dont la masse est de quelques centaines de grammes seulement. La prise au vent d'un tel drone est donc particulièrement sensible, même par vent modéré.
Le drone s'appuie pour se déplacer sur une masse d'air mobile en fonction du vent, tandis qu'il mesure par rapport au sol ses composantes hori- zontales de vitesse (par exemple au moyen d'une caméra pointant vers le bas et donnant une image du sol), d'angles (par les accéléromètres et gy- romètres embarqués) et de forces extérieures qui lui sont appliquées (par les accéléromètres embarqués).
En l'absence de vent le drone peut garder une vitesse nulle et donc une position fixe en maintenant une assiette nulle. Il est donc primordial de mesurer avec précision cet état neutre.
Or, les accéléromètres possèdent par construction un biais (que l'on supposera constant sur le court terme) qui doit être estimé et compensé pour utiliser correctement la mesure d'accélération dans la reconstruction des angles. Les accéléromètres étant entre autres utilisés en inclinomètres,
une erreur d'estimation des biais des accéléromètres entraîne un biais sur la mesure d'angle, néfaste à la tenue du point fixe. De même ce biais de capteur influe sur la mesure des forces du vent réalisé par l'accéléromè- tre.
En présence de vent, le drone doit s'incliner pour compenser le vent et maintenir le point fixe (asservi sur une image stable de la caméra verticale) : son assiette ne sera donc pas nulle et l'évaluation du biais sera modifiée. Ceci n'empêche pas de maintenir le drone en point fixe (asservissement par la caméra), mais va avoir une incidence particulièrement sensible dans deux cas :
- en point fixe lors d'un mouvement de lacet seul (rotation autour d'un axe vertical, sans déplacement avant/arrière ni droite/gauche) : comme le drone était penché dans une direction précise pour contrer le vent, dès qu'il commence à tourner son inclinaison ne correspond plus à la direction de compensation du vent mais va faire un angle avec cette dernière : de ce fait, le drone va "partir dans le vent" et ne tiendra plus son point fixe ;
- en pilotage contrôlé, les déplacements dans le sens du vent sont accentués, tandis que les déplacements dans le sens opposé du vent sont freinés, voire rendus impossibles.
L'un des buts de l'invention est de proposer un procédé d'estimation du vent permettant de distinguer entre biais de construction de l'accéléromè- tre et biais de mesure induit par le vent.
Un autre but de l'invention est de proposer un procédé de compensation du vent permettant de pallier les deux phénomènes que l'on vient de décrire, c'est-à-dire i) en vol autopiloté, permettre au drone de maintenir son point fixe dans le vent lors d'un mouvement de lacet et ii), en mode commandé, de procurer un contrôle du déplacement qui soit identique dans tous les sens, que ce soit dans le sens du vent ou dans le sens opposé au vent, de façon transparente pour le pilote.
Le FR 2 926 637 A1 décrit un système d'estimation de la vitesse d'un drone par rapport à l'air, par application d'un modèle exprimant les relations mécaniques entre les forces agissant sur le drone et ses vitesses et accélérations en translation et en rotation. La vitesse par rapport à l'air est notamment estimée à partir de la force de traînée aérodynamique s'oppo-
sant au déplacement du drone, qui est indirectement mesurée et utilisée pour obtenir une information sur la vitesse par rapport à l'air.
Pour mesurer la vitesse du vent, c'est-à-dire la différence entre i) la vitesse du drone par rapport à l'air et ii) la vitesse du drone par rapport au sol, ce document propose d'utiliser un récepteur GPS embarqué mesurant la vitesse du drone par rapport au sol. Cette manière de procéder requiert toutefois la présence d'un tel récepteur dans le drone, et nécessite qu'un signal GPS soit disponible et que sa précision soit suffisante (visibilité d'un nombre suffisant de satellites). En tout état de cause, la précision obtenue ne procure pas une estimation de la vitesse du vent suffisamment fine pour évaluer correctement la part due au vent du biais de mesure du capteur accélérométrique, nécessaire pour compenser les inconvénients de pilotage dans le vent exposés plus haut.
L'article de Waslander et al. "Wind Disturbance Estimation and Rejection for Quadrotor Position Control", AIAA lnfotech@Aerospace Conférence and AIAA Unmanned...Unlimited Conférence, American Institute of Aero- nautics and Astronautics, Seattle, WA, April 2009 décrit une technique d'évaluation et de compensation du biais de mesure introduit par le vent, mais il ne prend pas en compte le biais de construction des accéléromè- très du drone. En effet, l'estimation de ce biais n'est pas toujours nécessaire, en particulier si le drone est pourvu de capteurs de qualité, suffisamment précis.
En revanche, pour des produits grand public dotés de capteurs moins performants, la présence de ce biais de construction est de nature à fausser les mesures et donc les paramètres de compensation qui sont appliqués aux moteurs du drone.
En particulier, l'évaluation de l'angle du drone peut être fortement affectée par ce biais de construction des accéléromètres.
Pour résoudre ces problèmes, et atteindre les buts exposés plus haut, l'invention propose une technique permettant d'estimer le biais du capteur accélérométrique indépendamment de celui introduit par le vent.
En effet, le biais de construction des accéléromètres et l'effet du vent s'exprimant dans des repères qui ne sont pas les mêmes, il convient de décorréler entre eux ces deux types de biais, de nature différente.
L'invention propose également une technique de compensation permettant d'utiliser les résultats de l'estimation du biais pour corriger les défauts de pilotage dans le vent exposés plus haut, aussi bien en mode autopiloté (point fixe) qu'en mode contrôlé (commandes de pilotage appliquées par un utilisateur).
Plus précisément, l'invention propose un procédé de pilotage d'un drone à voilure tournante à rotors multiples entraînés par des moteurs respectifs commandables pour piloter le drone en attitude et en vitesse, ce procédé comprenant, de manière en elle-même connue d'après l'article précité de Waslander :
- la génération de consignes angulaires et l'application de ces consignes à une boucle de contrôle des moteurs du drone, ces consignes étant aptes à commander l'attitude du drone selon des axes de tangage et de roulis,
- l'établissement d'au moins un modèle dynamique du drone, décrivant des composantes de vitesse horizontale du drone en fonction des coefficients de traînée et de la masse du drone, des angles d'Euler caractérisant l'attitude du drone par rapport à un repère terrestre absolu, ainsi que de la vitesse de rotation du drone autour d'un axe vertical de lacet ; - la mesure de la force de traînée aérodynamique du drone, dérivée d'une mesure d'accélération du drone ;
- la mesure de la vitesse relative du drone par rapport au sol ; et
- l'application audit modèle dynamique du drone, par un filtre prédictif de Kalman, desdites mesures de force de traînée aérodynamique et de vi- tesse relative par rapport au sol, de manière à produire une estimation des composantes horizontales de vitesse du vent latéral.
De façon caractéristique de la présente invention, le filtre prédictif de Kalman est un filtre à six états, ces états comprenant :
• deux composantes de la vitesse de déplacement du drone par rapport au sol, exprimées dans un repère lié au drone,
• deux composantes de la vitesse du vent par rapport au sol, exprimées dans un repère terrestre absolu, et
• deux composantes horizontales de biais d'accéléromètre du drone. Avantageusement, l'établissement du modèle dynamique du drone com- prend l'établissement de deux modèles distincts, avec : i) un modèle dy-
namique du drone en vol, et ii) un modèle dynamique du drone au sol, ces modèles étant utilisés sélectivement en fonction de l'état du drone.
Avantageusement, le modèle dynamique du drone en vol peut utiliser une mesure d'accélération du drone comme mesure proportionnelle à la vitesse de l'air dans le repère du drone.
Le modèle dynamique du drone en vol peut notamment être du type :
X représentant l'évolution du vecteur d'état par rapport à sa valeur initiale X,
l'entrée C/ du système étant la gravité U = g,
Cx et Cy étant les coefficients de frottement aérodynamique du drone selon ses axes u et v,
m étant la masse du drone,
φ, Θ et / étant les angles d'Euler (respectivement de roulis, de tangage et de lacet) caractérisant l'attitude du drone par rapport au repère NED, <¾ étant le taux de rotation autour de l'axe w (mouvement de rotation en lacet), et
R , étant la matrice de rotation associée à l'angle ψ, en dimension 2. Le modèle dynamique du drone au sol peut notamment être du type :
X représentant l'évolution du vecteur d'état par rapport à sa valeur initiale X,
U étant la gravité U = g,
et τ étant un paramètre temporel de décroissance progressive de l'es- timation de la vitesse du vent.
L'invention propose également une étape de compensation de l'effet du vent latéral sur le positionnement et les déplacements du drone, par génération de consignes correctrices, fonction des composantes horizontales estimées de vitesse du vent latéral, et combinaison de ces consignes cor- rectrices aux consignes angulaires de tangage et de roulis appliquées à la boucle de contrôle des moteurs du drone.
Les consignes correctrices peuvent notamment être du type :
Cx
wind_comp ^wind - COS (l ' vi d ψ drone)
9 (. νίηά ~~ Ψ drone)
Vwind étant le module de la vitesse estimée du vent, Cx étant le coefficient de traînée du drone, y/wind étant l'angle de cap de la direction du vent et y/drone étant l'angle de cap de la direction du drone.
L'étape de compensation peut notamment comprendre la définition pour le drone d'une assiette de référence en boucle ouverte. Lorsque le drone est en vol contrôlé par un utilisateur, les consignes correctrices sont combinées aux consignes de pilotage appliquées par l'utilisateur. Lorsque le drone est en vol stationnaire autopiloté, ces consignes correctrices sont combinées à des consignes de stabilisation de point fixe produites en réponse à une mesure de la vitesse horizontale du drone par rapport au sol.
0
On va maintenant décrire un exemple de mise en œuvre du dispositif de l'invention, en référence aux dessins annexés où les mêmes références numériques désignent d'une figure à l'autre des éléments identiques ou fonctionnellement semblables.
La Figure 1 est une vue d'ensemble montrant le drone et l'appareil de télécommande associé permettant son pilotage à distance.
La Figure 2 est un schéma par blocs des différents organes de contrôle, d'asservissement et de pilotage assisté du drone.
Les Figures 3 et 4 sont des relevés comparatifs, respectivement du module de la vitesse du vent et de la direction du vent, des valeurs simultanément estimées et mesurées dans des conditions réelles, montrant la pertinence du procédé d'estimation selon l'invention.
La Figure 5 est une représentation schématique fonctionnelle illustrant les boucles d'estimation et de compensation du vent, pour une configuration de vol du drone en point fixe autopiloté.
La Figure 6 est une représentation schématique fonctionnelle illustrant la boucle d'estimation du vent, pour une configuration de vol du drone en vol contrôlé.
0
Sur la Figure 1 , la référence 10 désigne de façon générale un drone, par exemple un quadricoptère tel que le AR. Drone de Parrot SA, Paris, France, décrit dans les WO 2010/061099 A2 et EP 2 364 757 A1 précités, ainsi que dans le FR 2 915 569 A1 (qui décrit notamment le système de contrôle avec gyromètres et accéléromètres utilisé par le drone).
Le drone 10 comporte quatre rotors coplanaires 12 dont les moteurs sont pilotés indépendamment par un système intégré de navigation et de contrôle d'attitude. Il est pourvu d'une première caméra 14 à visée frontale permettant d'obtenir une image de la scène vers laquelle est orienté le drone, par exemple une caméra grand angle à capteur CMOS.
Le drone comporte également une seconde caméra à visée verticale (non visible sur la Figure 1 ) pointant vers le bas, apte à capter des images successives du terrain survolé et utilisée notamment pour évaluer la vitesse du drone par rapport au sol.
Des capteurs inertiels (accéléromètres et gyromètres) permettent de mesurer avec une certaine précision les vitesses angulaires et les angles d'attitude du drone, c'est-à-dire les angles d'Euler décrivant l'inclinaison du drone. De façon générale, par "inclinaison", on entendra l'inclinaison du drone par rapport à un plan horizontal d'un repère terrestre fixe, étant en-
tendu que les deux composantes longitudinale et transversale de la vitesse horizontale sont intimement liées à l'inclinaison suivant les deux axes respectifs de tangage et de roulis.
Deux repères peuvent être considérés dans la suite, selon le cas :
- un repère local {u,v,w} lié au corps du drone : le drone, bien que fortement symétrique par construction, comporte un avant et un arrière, et l'on considérera la position de la caméra comme pointant vers l'avant, définissant ainsi l'axe u. ; l'axe v est perpendiculaire à u dans le plan moyen du drone, et l'axe w est l'axe vertical dirigé vers le sol ;
- un repère absolu de type NED (North East Down), qui est un repère terrestre fixe, notamment un repère géographique {XNED.YNED.ZNED} : l'axe XNED correspond par exemple à la direction du Nord magnétique, la direction YNED est la direction parallèle au plan du sol perpendiculaire au Nord géographique (c'est-à-dire l'Est géographique), et la direction ZNED est perpendiculaire au plan du sol et orientée vers le bas.
Un télémètre à ultrasons disposé sous le drone et un capteur barométrique embarqué fournissent par ailleurs des mesures qui, combinées, donnent une estimation de l'altitude du drone par rapport au sol.
En ce qui concerne la vitesse linéaire de translation du drone dans un plan horizontal par rapport au sol, celle-ci est évaluée par analyse de l'image fournie par la caméra à visée verticale du drone en combinaison avec les données accélérométriques, grâce à un logiciel qui estime le déplacement de la scène captée par la caméra d'une image à la suivante et applique à ce déplacement estimé un facteur d'échelle fonction de l'alti- tude mesurée. Cette technique est décrite en détail dans le EP 2 400 460 A1 (Parrot SA), auquel on pourra se référer pour de plus amples détails. Le drone 10 est piloté par un appareil de télécommande distant 16 pourvu d'un écran tactile 18 affichant l'image embarquée par la caméra frontale 14, avec en superposition un certain nombre de symboles permettant l'ac- tivation de commandes de pilotage par simple contact du doigt 20 d'un utilisateur sur l'écran tactile 18. L'appareil 16 est pourvu de moyens de liaison radio avec le drone pour l'échange bidirectionnel de données du drone 10 vers l'appareil 16, notamment pour la transmission de l'image captée par la caméra 14, et de l'appareil 16 vers le drone 10 pour l'envoi
de commandes de pilotage. Cette liaison peut être par exemple de type réseau local Wi-Fi (IEEE 802.1 1 ) ou Bluetooth (marques déposées).
L'appareil 16 est également pourvu de capteurs d'inclinaison permettant de contrôler l'attitude du drone en imprimant à l'appareil des inclinaisons correspondantes.
Comme indiqué en introduction, l'appareil de télécommande 16 est avantageusement constitué par un téléphone ou baladeur multimédia à écran tactile et accéléromètre intégré, par exemple un téléphone cellulaire de type iPhone, un baladeur de type iPod Touch ou une tablette multimédia de type iPad, qui sont des appareils incorporant les divers organes de contrôle nécessaires à l'affichage et à la détection des commandes de pilotage, à la visualisation de l'image captée par la caméra frontale, et à l'échange bidirectionnel de données avec le drone par liaison Wi-Fi ou Bluetooth.
Le pilotage du drone 10 consiste à faire évoluer celui-ci en commandant les moteurs de façon différenciée pour engendrer, selon le cas, des mouvements de :
a) rotation autour d'un axe de tangage 22, pour faire avancer ou reculer le drone ; et/ou
b) rotation autour d'un axe de roulis 24, pour décaler le drone vers la droite ou vers la gauche ; et/ou
c) rotation autour d'un axe de lacet 26, pour faire pivoter vers la droite ou vers la gauche l'axe principal du drone ; et/ou
d) translation vers le bas 28 ou vers le haut 30 par changement du ré- gime des gaz, de manière à respectivement réduire ou augmenter l'altitude du drone.
Lorsque ces commandes de pilotage sont appliquées par l'utilisateur à partir de l'appareil de télécommande 16 (configuration de "pilotage contrôlé", commandé par un utilisateur), les commandes a) et b) de pivotement autour des axes de tangage 22 et de roulis 24 sont obtenues par des inclinaisons de l'appareil 16 respectivement autour de son axe longitudinal 32 et de son axe transversal 34 : par exemple, pour faire avancer le drone il suffit d'incliner l'appareil vers l'avant en le penchant autour de l'axe 32, pour le déporter à droite il suffit d'incliner l'appareil en le penchant autour de l'axe 34 vers la droite, etc. Les commandes c) et d), quant à elles, ré-
sultent d'actions appliquées par contact du doigt 20 de l'utilisateur (généralement le doigt droit) sur des zones spécifiques correspondantes de l'écran tactile 18.
On pourra se référer aux WO 2010/061099 A2 et EP 2 364 757 A1 préci- tés pour plus de détails sur ces aspects du système.
Le drone possède également un système automatique et autonome de stabilisation en vol stationnaire (configuration de "point fixe" autopiloté), activé notamment dès que l'utilisateur retire son doigt de l'écran tactile de l'appareil, ou automatiquement à la fin de la phase de décollage, ou en- core en cas d'interruption de la liaison radio entre l'appareil et le drone. Le drone passe alors à un état de sustentation où il sera immobilisé et stabilisé automatiquement, sans aucune intervention de l'utilisateur.
Contrôle et asservissement des moteurs du drone
On va maintenant exposer la manière dont sont élaborées les consignes de pilotage des moteurs du drone, en référence à la Figure 2 qui est un schéma par blocs fonctionnels des différents organes de contrôle et d'asservissement du drone.
On notera que, bien que ces schémas soient présentés sous forme de circuits interconnectés, la mise en œuvre des différentes fonctions est essentiellement logicielle, cette représentation n'étant qu'illustrative.
De façon générale, comme illustré Figure 2, le système de pilotage implique plusieurs boucles imbriquées pour le contrôle de la vitesse horizon- taie, de la vitesse angulaire et de l'attitude du drone, en plus des variations d'altitude.
La boucle la plus centrale, qui est la boucle 100 de contrôle de la vitesse angulaire, utilise d'une part les signaux fournis par des gyromètres 102 et d'autre part une référence constituée par des consignes de vitesse angu- laire 104. Ces différentes informations sont appliquées en entrée d'un étage 106 de correction de la vitesse angulaire, qui pilote lui-même un étage 108 de contrôle des moteurs 1 10 afin de commander séparément le régime des différents moteurs pour corriger la vitesse angulaire du drone par l'action combinée des rotors entraînés par ces moteurs.
La boucle 100 de contrôle de la vitesse angulaire est imbriquée dans une boucle 1 12 de contrôle d'attitude, qui opère à partir des indications fournies par les gyromètres 102, par des accéléromètres 1 14 et par un ma- gnétomètre 1 16 donnant l'orientation absolue du drone dans un repère géomagnétique terrestre. Les données issues de ces différents capteurs sont appliquées à un étage 1 18 d'estimation d'attitude de type PI (Proportionnel-Intégrateur). L'étage 1 18 produit une estimation de l'attitude réelle du drone, appliquée à un étage 120 de correction d'attitude qui compare l'attitude réelle à des consignes d'angle générées par un circuit 122 à par- tir de commandes directement appliquées par l'utilisateur 124 (configuration de "pilotage contrôlé) et/ou de données générées en interne par le pilote automatique du drone via le circuit 126 de correction de vitesse horizontale pour le maintien du drone en position immobile (configuration de "point fixe" autopiloté). Les consignes éventuellement corrigées appli- quées au circuit 120 et comparées à l'attitude réelle du drone sont transmises par le circuit 120 au circuit 104 pour commander les moteurs de manière appropriée.
En résumé, à partir de l'erreur entre la consigne (appliquée par l'utilisateur et/ou générée en interne) et la mesure de l'angle (donnée par le circuit d'estimation d'attitude 1 18), la boucle 1 12 de contrôle d'attitude calcule une consigne en vitesse angulaire à l'aide du correcteur PI du circuit 120. La boucle 100 de contrôle de la vitesse angulaire calcule ensuite la différence entre la consigne de vitesse angulaire précédente et la vitesse angulaire effectivement mesurée par les gyromètres 102. La boucle calcule à partir de ces informations les différentes consignes de vitesse de rotation (et donc de force ascensionnelle), qui sont envoyées aux moteurs 1 10 pour réaliser la manœuvre demandée par l'utilisateur et/ou planifiée par le pilote automatique du drone.
De façon caractéristique, le circuit 122 de calcul des consignes d'angle reçoit également des corrections délivrées par un circuit 128 d'estimation et de compensation du vent, que l'on décrira plus bas en détail.
La boucle de contrôle de vitesse horizontale 130 utilise une caméra vidéo verticale 132 et des capteurs d'altitude 134 (télémètre à ultrasons combiné à un capteur barométrique). Un circuit 136 assure le traitement des images produites par la caméra verticale 132, en combinaison avec les
signaux de l'accéléromètre 1 14 et du circuit d'estimation d'attitude 1 18, pour estimer au moyen d'un circuit 138 les composantes de la vitesse horizontale selon les deux axes de tangage et de roulis du drone. Les vitesses horizontales estimées sont corrigées par l'estimation de vitesse verti- cale donnée par un circuit 140 et par une estimation de l'altitude donnée par le circuit 142 à partir des informations des capteurs 134. En ce qui concerne les déplacements verticaux du drone, l'utilisateur 124 applique des commandes à un circuit 144 de calcul de consignes d'altitude, consignes qui sont appliquées à un circuit 146 de calcul de consigne de vitesse ascensionnelle Vz via le circuit de correction d'altitude 148 recevant l'estimation d'altitude donnée par le circuit 142. La vitesse ascensionnelle Vz calculée est appliquée à un circuit 150 qui compare cette vitesse de consigne à la vitesse correspondante estimée par le circuit 140 et modifie en conséquence les données de commande des moteurs (circuit 108) de manière à augmenter ou réduire la vitesse de rotation simultanément sur tous les moteurs de façon à minimiser l'écart entre vitesse ascensionnelle de consigne et vitesse ascensionnelle mesurée.
Élaboration des consignes de contrôle d'attitude du drone
On va maintenant exposer de façon générale (et en l'absence de vent) la manière dont sont élaborées les consignes de contrôle du drone au moyen des circuits que l'on vient de décrire. On désignera par :
- u la composante de la vitesse de translation horizontale dans la direc- tion de l'axe principal du drone (le long de l'axe de roulis 24) ;
- v la composante de la vitesse de translation horizontale dans la direction transversale le long de l'axe de tangage 22) ; et
- w la vitesse de translation verticale,
le tout dans le repère {u,v,w} lié au drone, indépendant de l'inclinaison de celui-ci par rapport au repère NED de référence.
Chacune des quatre hélices i du drone ( = 1 ... 4) exerce un couple Γ7 et une force de poussée ascensionnelle F, proportionnelle au carré de la vitesse de rotation ω, du moteur :
On applique la relation fondamentale de la dynamique, en projection dans le référentiel mobile du drone, ce qui— en l'absence de vent— donne les trois équations suivantes :
ù = (rv— qw)— gsin9— Cxu
v = (pw— ru) + gsincpcos9 + Cyv
w = (qu— pv) + gcoscpcosB ∑ = 1 a ω?
(Équations 1 -3) p, q et r étant les vitesses angulaires suivant les trois axes,
g étant l'accélération de la pesanteur,
φ et Θ étant les deux angles définissant l'inclinaison du drone par rapport à l'horizontale (angles d'Euler : si ψ correspond à une rotation autour de l'axe ZNED du repère absolu NED, Θ correspond à une rotation autour de l'axe YNED tourné de ψ, et φ correspond à une rotation autour de l'axe u), Cx et Cy étant les coefficients de résistance à l'avancement (reflétant les forces de frottement subies par le drone) dans les deux axes horizontaux, a étant un coefficient liant la poussée et la vitesse ascensionnelle à la vi- tesse de rotation ω, et
m étant la masse du drone.
On applique de la même façon le théorème du moment dynamique au système, toujours en projection dans le référentiel mobile, ce qui conduit aux trois équations suivantes :
ΙχΡ + '( - ly) = LA(W2 " ω )
q + pr(lx - Iz) = \Ά(ω(' - ω§)
Izf + pq(ly — Ix) = b(oi>i — toi + >3— ω )
(Équations 4-6)
Ix, Iy et Iz étant des paramètres représentatifs du coefficient d'inertie du drone dans les trois axes, et 1 étant la distance séparant le moteur de son centre de gravité.
Dans ces équations, le premier terme du membre de gauche correspond au moment dynamique du système, le second terme représente la contribution au moment dynamique des forces de Coriolis, et le membre de droite correspond aux moments exercés par les forces ascensionnelles Fi et les couples ΓΊ créés par les hélices de chacun des rotors.
Enfin, on démontre la relation suivante faisant intervenir les trois angles d'Euler φ, Θ et ψ :
φ = p + (qsin<p 4- rcos(p)tan9
θ = qcoscp— rsin<p
qsincp + rcoscp
Ψ cos6
(Équations 7-9) Le comportement du système est donc décrit au total par neuf équations à neuf inconnues.
Au voisinage du point d'équilibre, avec le drone en sustentation à l'horizontale (vitesse et inclinaison nulles), on aura : u = v— νν = θ = φ = 0 Les Équations 1 -9 deviennent :
g = 0, ω1 = ω3, ω2 = ω4, ωχ = ω2
Et donc, au voisinage du point d'équilibre 2— ω3— ω4——
Si l'on pose w{ = ωλ - COQ, avec = 1 ... 4, et que l'on linéarise à l'ordre 1 les équations précédentes autour du point d'équilibre, on aboutit au système d'équations linéarisées suivant :
(Équations 10-18)
Estimation du vent dans le plan horizontal L'invention propose une technique d'estimation du vent basée sur les équations dynamiques du drone en vol. Ce modèle dynamique, dont on donnera plus bas les équations, sera utilisé avec un estimateur d'état de type "filtre de Kalman", qui est un filtre à réponse impulsionnelle infinie qui estime les états d'un système dynamique (le drone dans le cas présent) à partir d'une série de mesures appliquées en entrée. On trouvera les principes généraux de cette technique par exemple dans R.E. Kalman, A new Approach to Linear Filtering and Prédiction Problems, Transactions of the ASME - Journal of Basic Engineering, Vol. 82 (1960).
Dans le cas présent, le filtre de Kalman utilisera et estimera six états, à savoir :
- les composantes horizontales VD/S et ½?/.„ de la vitesse de dépla- cernent du drone par rapport au sol (D/S), exprimées dans le repère local {u,v,w} lié au corps du drone,
- les composantes horizontales ¾/sA,et VA/s de la vitesse de l'air par rapport au sol (A/S), exprimées dans le repère terrestre absolu NED fixe, et
- les biais Bxet BYde l'accéléromètre sur ses axes X et Y.
Le vecteur d'état s'écrit don
L'évolution des six états de l'estimateur du filtre de Kalman peut être prédite à l'aide du modèle dynamique décrivant le comportement du drone. Les valeurs mesurées de la vitesse par rapport au sol et de l'accélération du drone serviront à recaler les prédictions données par cet estimateur, permettant ainsi i) d'améliorer la précision d'estimation des grandeurs directement mesurées (fonction de filtrage de l'estimateur), comme les vitesses VD fS et VD S de déplacement du drone par rapport au sol, et ii) d'estimer les grandeurs inaccessibles à une mesure directe (fonction d'estimateur d'état), comme la vitesse et la direction du vent correspondant aux composantes ^k/s^et VA/ s γ .
On démontre que le modèle dynamique en vol du drone peut s'exprimer sous la forme suivante :
X représentant l'évolution de la valeur initiale X du vecteur d'état, l'entrée £/ du système étant la gravité U = g,
Cx et Cy étant les coefficients de frottement aérodynamique du drone selon ses axes u et v,
m étant la masse du drone,
φ, Θ et p étant les angles d'Euler (respectivement de roulis, de tangage et de lacet) caractérisant l'attitude du drone par rapport au repère NED,
ωζ étant le taux de rotation autour de l'axe w (mouvement de rotation en lacet), et
Rv étant la matrice de rotation associée à l'angle ψ, en dimension 2. Les termes nuls des deux sous-matrices proviennent du fait que, par hy- pothèse, le vent et les biais de l'accéléromètre sont considérés comme constants sur le court terme. On notera que ceci n'empêche pas l'estimation de ces états car i) la vitesse du vent est couplée dynamiquement à la vitesse du drone par rapport au sol, elle-même mesurée et ii) le biais de l'accéléromètre est mesuré au travers de la mesure d'accélération.
On notera par ailleurs que les deux matrices de la relation ci-dessus ne sont pas constantes (ce qui correspond à un filtre de Kalman non station- naire), étant fonction de l'attitude du drone et de sa vitesse de rotation autour de l'axe de lacet ; mais ces paramètres sont supposés connus de l'estimateur, dans la mesure où ils sont en pratique mesurés ou estimés dans le cadre du contrôle d'attitude du drone.
Dans la mesure où l'estimateur utilisé travaille en temps discret (par itérations successives), il est possible d'utiliser une version discrétisée du modèle dynamique en pratique, par approximation au premier ordre (relation de type "état suivant Xt+a en fonction de l'état actuel X"), par approxima- tion au premier ordre :
Xt+St = (Ici + A. ôt)Xt + ôt. B. U
D'où :
Xt+st = Adxt + Bd- u
Ad = Id + A. ôt
Bd = St. B
Subsidiairement, il est possible de prévoir un modèle dynamique différent représentant le comportement du drone lorsque celui-ci est au sol. En effet, le drone état posé, le vent n'a alors pas d'influence sur lui.
Pour permettre aux estimations de revenir lentement à zéro, notamment pour ne pas déstabiliser les estimateurs de biais, on utilisera un modèle dynamique au sol du type :
Comme l'estimateur n'est dans ce cas pas en mesure de donner une estimation fiable de la vitesse du vent, ceci permet de forcer la décroissance de la vitesse du vent précédemment mesurée progressivement vers zéro par un modèle du premier ordre de paramètre τ, temps caractéristique de cette décroissance, par exemple τ = 1 seconde.
On va maintenant décrire les mesures utilisées par l'estimateur.
En ce qui concerne l'accélération, celle-ci est donnée par :
AcCmes x + (°) . u
Le dernier terme de cette relation sert à tenir compte du fait qu'un accélé- romètre mesure les forces non gravitationnelles qu'il subit. On en tire ici implicitement parti : en effet, si l'on applique les Équations 10 et 1 1 au système de mesure accélérométrique, ce dernier ne mesure que les forces de frottements aérodynamiques ; l'accéléromètre mesure donc une grandeur proportionnelle à la vitesse du vent d'un facteur Cx/m ou C m selon l'axe considéré (au biais de construction près).
La relation ci-dessus peut être réécrite en fonction du vecteur d'état :
- lorsque le drone est en vol :
Accm e5 =
- et, de la même façon, lorsque le drone est au sol (posé) :
En ce qui concerne la vitesse, celle-ci est mesurée dans le repère {u,v,w} lié au drone grâce à la caméra embarquée à visée verticale donnant une image du sol. Cette image est analysée par des algorithmes tels que ceux décrits dans le EP 2 400 460 A1 précité, qui estime le déplacement de la scène captée par la caméra d'une image suivante et applique à ce déplacement estimé un facteur d'échelle fonction de l'altitude, elle-même estimée par fusion des données produites par un télémètre à ultrasons et par un capteur barométrique.
La vitesse du drone exprimée dans son repère étant un élément du vecteur d'état, l'écriture de la mesure en fonction du vecteur d'état est directe :
Les Figures 3 et 4 sont des relevés comparatifs, respectivement du module de la vitesse du vent et de la direction du vent, des valeurs simultanément estimées et mesurées dans des conditions réelles.
Sur ces figures, on a représenté en trait plein la mesure estimée du vent (vitesse, ou orientation exprimée en angle de cap), et en tiretés les va- leurs réellement mesurées par un anémomètre et une girouette, respectivement.
Ces figures permettent de vérifier l'excellente qualité de l'estimation obtenue par le procédé de l'invention, atteinte après quelques dizaines de secondes seulement, temps nécessaire à la stabilisation du filtre.
Les mesures à t = 470-480 s et t > 560 s correspondent à un état du drone posé au sol, configuration qui ne permet pas de produire une estimation de la vitesse du vent. Toutefois, comme on l'a indiqué plus haut, l'utilisation d'un modèle dynamique spécifique pour le drone au sol permet de forcer la décroissance de la vitesse du vent vers zéro, évitant ainsi toute déstabilisation des estimateurs de biais des accéléromètres.
Utilisation de l'estimation de la vitesse du vent - compensation du vent
L'estimation du vent a plusieurs utilités :
- pour réaliser une compensation permettant de stabiliser le drone contre le vent, en mode contrôlé ou en mode autopiloté ;
- pour réaliser une fusion de la vitesse et de l'accélération mesurées tenant compte du vent estimé, pour le contrôle du point fixe autopiloté ;
- pour estimer le biais de construction de l'accéléromètre fourni à l'esti- mateur d'attitude, permettant ainsi d'obtenir une estimation de l'attitude efficace, non perturbée par le vent même en présence de ce dernier. On va maintenant décrire un procédé de compensation du vent.
Ce procédé de compensation du vent est avantageusement mis en œuvre à partir de l'estimation obtenue de la manière que l'on a décrite plus haut, mais de façon non limitative, dans la mesure où il peut être mis en œuvre avec d'autres techniques d'estimation du vent.
La compensation du vent consiste à déterminer pour le drone une assiette de référence autour de laquelle il va s'asservir, soit en mode de vol contrôlé soit en mode de point fixe autopiloté :
- en vol contrôlé, la référence en boucle ouverte sera ajoutée aux consignes du pilote, de manière à soutenir le drone face au vent et inversement le freiner dans le sens du vent, et
- lors du passage au point fixe, la stabilisation du drone pourra être atteinte plus rapidement, la compensation étant aussi réactive que l'esti- mation.
La Figure 5 est une représentation schématique fonctionnelle illustrant les boucles d'estimation et de compensation du vent suivant l'axe u, pour une configuration de vol du drone en point fixe autopiloté. L'asservissement est identique selon l'axe v, les termes en x ou en Θ étant substitués par des termes en y ou en φ et la fonction cosinus étant remplacée par la fonction sinus, respectivement.
La Figure 6 est homologue de la Figure 5, pour une configuration de vol du drone en mode contrôlé.
Sur ces deux figures 5 et 6, on retrouve les blocs 124 (commandes utilisa- teur appliquées en mode contrôlé), 126 (correction du point fixe en mode
autopiloté) et 128 (estimation du vent à partir des mesures d'attitude et de vitesse, l'estimation du vent incluant également la décorrélation des biais des accéléromètres) illustrés sur le schéma d'ensemble de la Figure 2. La boucle de compensation en point fixe 126 comprend un étage intégra- teur 154 à gain 156 et un étage proportionnel 158. La consigne en sortie de l'étage additionneur 152 est appliquée par l'intermédiaire d'un étage 160 limitant l'excursion de la consigne effectivement appliquée à la boucle de contrôle des moteurs du drone. Le terme de compensation appliqué à l'additionneur 152 pour chacun des axes u et v est :
Cx
\vind_comp ^wz'rtcf ■ ^OS (.Ψχνϊηά Ψ dron e )
y
Φινίηά_αοΎηρ ~ ~ ~ Φ d ron e)
Vwind étant le module de la vitesse estimée du vent, Cx étant le coefficient de traînée du drone, ywind étant l'angle de cap de la direction du vent et Wdrom étant l'angle de cap de la direction du drone.