FR3052678A1 - Drone muni d'une camera video frontale avec compensation des rotations instantanees du drone et correction des artefacts - Google Patents

Drone muni d'une camera video frontale avec compensation des rotations instantanees du drone et correction des artefacts Download PDF

Info

Publication number
FR3052678A1
FR3052678A1 FR1655740A FR1655740A FR3052678A1 FR 3052678 A1 FR3052678 A1 FR 3052678A1 FR 1655740 A FR1655740 A FR 1655740A FR 1655740 A FR1655740 A FR 1655740A FR 3052678 A1 FR3052678 A1 FR 3052678A1
Authority
FR
France
Prior art keywords
drone
sync
signal
camera
synchronization signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1655740A
Other languages
English (en)
Other versions
FR3052678B1 (fr
Inventor
Matthieu Castet
Didier Cassan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Parrot Drones SAS
Original Assignee
Parrot Drones SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Parrot Drones SAS filed Critical Parrot Drones SAS
Priority to FR1655740A priority Critical patent/FR3052678B1/fr
Publication of FR3052678A1 publication Critical patent/FR3052678A1/fr
Application granted granted Critical
Publication of FR3052678B1 publication Critical patent/FR3052678B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • H04N23/683Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6812Motion detection based on additional sensors, e.g. acceleration sensors

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Gyroscopes (AREA)

Abstract

Une caméra video frontale (14) délivre des données d'image (Flux_video) et un signal de synchronisation de caméra (Cam_Sync). Une centrale inertielle (154) délivre des données gyrométriques (Données_gyrométriques) un signal de synchronisation gyrométrique (Cam_Sync_IMU), et un signal d'interruption (IT_IMU). Un processeur (152, 156) délivre en sortie des images compensées des rotations du drone d'une image à la suivante après recalage angulaire et/ou fenêtrage, et/ou opère une correction intra-image d'artefacts résultant de rotations instantanées du drone. Un circuit combineur (172) formé de composants électroniques matériels reçoit le signal de synchronisation de caméra (Cam_Sync) et le signal d'interruption (IT_IMU), et délivre un signal de synchronisation fusionné (Synchro) appliqué à un port d'entrée (170) programmable du processeur. Le déphasage entre les données d'image et les données gyrométriques est déterminé par le processeur à partir des transitions d'état du signal de synchronisation fusionné (synchro) détectées sur le port d'entrée programmable (170).

Description

L'invention concerne les prises de vue video opérées à partir d'engins volants motorisés tels que des drones, qu'ils soient à voilure fixe ou à voilure tournante.
Des exemples typiques de drones volants sont le Bebop de Parrot SA, Paris, France, qui est un drone à voilure tournante de type quadricoptère, ou le Disco, également de Parrot SA, qui est un drone à voilure fixe de type aile volante.
Ces drones sont équipés d'une série de capteurs (accélérométres, gyro-métres trois axes, altimètre, etc.) et d'une caméra frontale captant une image de la scène vers laquelle est dirigé le drone. Les EP 2 364 757 A1, EP2613213A1, EP 2 450 862 A1 ou encore EP2613214A1 (Parrot SA) décrivent divers aspects de ces drones, notamment la manière de les piloter à distance et de télétransmettre les images captées par la caméra frontale du drone afin de les visualiser, en temps réel, sur un écran de l'appareil de télécommande distant tenu par l'utilisateur.
La caméra video frontale (ou "caméra horizontale") est utilisable pour un pilotage "en mode immersif, c'est-à-dire où l'utilisateur se sert de l'image de la caméra de la même façon que s'il se trouvait lui-même à bord du drone. Elle peut également servir à capter des séquences d'images d'une scène vers laquelle se dirige le drone. L'utilisateur peut ainsi se servir du drone de la même façon que d'une caméra ou d'un caméscope qui, au lieu d'être tenu à la main, serait porté par le drone. Les images recueillies peuvent être enregistrées puis diffusées, mises en ligne sur des sites web d'hébergement de séquences video, envoyées à d'autres internautes, partagées sur des réseaux sociaux, etc.
Ces images étant destinées à être enregistrées et communiquées, il est souhaitable qu'elles présentent le moins de défauts possible, notamment de défauts provoqués par le comportement du drone (notamment changements d'attitude et vibrations) qui introduisent divers artefacts intempestifs sur l'image finale présentée à l'utilisateur.
Ces défauts peuvent être tolérables dans une configuration de "pilotage immersif. En revanche, s'il s'agit d'utiliser le drone à la manière d'une caméra video mobile pour capter des séquences qui seront enregistrées et restituées ultérieurement, ces défauts sont extrêmement gênants, de sorte qu'il est souhaitable de les réduire à un minimum.
Les EP 2 933 775 A1 et le EP 3 007 429 A1 (Parrot SA) décrivent plus précisément la manière de traiter à cet effet, au niveau du drone, les images brutes des séquences video captées par la caméra frontale avant qu'elles ne soient transmises à l'appareil de télécommande (et/ou enregistrées dans une mémoire numérique) pour visualisation finale Ces traitements préalables sont des traitements logiciels exécutés au sein d'un microcontrôleur ou d'un processeur numérique de signal (DSP) embarqué par le drone, au moyen de divers algorithmes de fenêtrage, de stabilisation à l'égard des vibrations et des changements d'attitude du drone, de correction de diverses distorsions, etc.
La plupart de ces traitements utilisent comme données d'entrée les signaux ("données gyrométriques") délivrés par la centrale inertielle (IMU) du drone, notamment pour compenser l'effet des vibrations du drone ainsi que les changements dynamiques d'attitude de celui-ci.
Par exemple, dans le cas d'un drone à voilure tournante, celui-ci plonge vers l'avant (inclinaison selon son axe de tangage) pour accélérer, et se cabre pour ralentir (mouvement inverse). Mais ces changements d'attitude sont seulement liés au contrôle de la vitesse et ne doivent pas se traduire sur l'image video : aussi, un traitement de fenêtrage approprié, asservi aux signaux gyrométriques, fait en sorte que le drone semble pointer dans une direction de visée inchangée.
Surtout, pour garantir une video toujours stable, il est nécessaire de compenser les mouvements produits par les vibrations instantanées du drone qui seraient perceptibles sur l'image video, par une correction "intra-image", ligne par ligne, donc avec un temps de réponse extrêmement faible.
Cette correction ligne par ligne utilise les mesures des gyromètres, qui délivrent un signal représentatif des rotations instantanées du drone et donc de la caméra dans les trois axes, ces rotations incluant les variations très rapides dues aux vibrations aérodynamiques et aux vibrations des moteurs (correspondant à la fréquence de rotation des hélices, autour de 120 Hz de fréquence fondamentale). L'application d'une transformée inverse de la mesure gyrométrique permet de compenser ces phénomènes indésirables, dès lors que l'attitude du drone peut être acquise de façon précise pour chacune des lignes, et en synchronisme avec le capteur de la caméra. Une technique de stabilisation d'image de ce type, mise en oeuvre numériquement, est décrite dans le EP 2 933 775 A1 précité auquel on pourra se référer pour de plus amples détails.
En variante, ou même en complément de la correction logicielle par fenêtrage, il est également possible de monter la caméra sur un support articulé trois axes de type gimbal avec suspensions à la Cardan, muni de servomoteurs pilotés en fonction des données gyrométriques.
En tout état de cause, quelle que soit la solution choisie (caméra fixe et fenêtrage par logiciel, et/ou caméra montée sur gimbal), il est nécessaire de déterminer parfaitement - à chaque image et au sein de chaque image - les mouvements instantanés du drone pour pouvoir stabiliser correctement le flux de données video.
Une difficulté tient au fait que les signaux video et les données gyromé-triques sont délivrés par des dispositifs différents (respectivement par la caméra frontale et par la centrale inertielle), avec un léger décalage temporel, ou de façon non synchrone si la caméra frontale et la centrale inertielle sont pilotées par des horloges propres, distinctes.
Pour pouvoir prendre en compte ce décalage dans le traitement de stabilisation, chacun de ces deux dispositifs délivre en même temps que les données utiles respectives (données d'image ou données gyrométriques) des signaux de synchronisation indiquant aux étages situés en aval l'instant précis où ces données utiles sont effectivement disponibles pour traitement (fin d'acquisition de l'image pour la caméra, fin de la période d'échantillonnage pour la centrale inertielle).
Toutefois, bien que ces signaux de synchronisation soient délivrés à la même cadence (à un multiple entier près) ceci ne donne aucune garantie sur la concordance de phase entre ces deux signaux, qui présentent de fait un défaut relatif de synchronisme.
En particulier, le déphasage entre ces deux signaux de synchronisation peut varier d'un drone à l'autre, et d'une séquence de pilotage à l'autre, par exemple du fait que les capteurs gyrométriques n'ont pas été démarrés en même temps que la caméra video : en effet, les acquisitions video et les acquisitions gyrométriques étant déclenchées par logiciel, il n'est pas certain que les deux acquisitions démarrent en même temps, ni que l'intervalle de temps séparant les deux démarrages soit constant d'un drone à l'autre, ou d'une séquence de pilotage à l'autre pour un même drone.
De plus, des erreurs de synchronisation supplémentaires peuvent être introduites du fait de divers facteurs susceptibles de varier en permanence, en particulier d'une certaine latence dans le traitement logiciel des signaux, latence qui n'est pas constante et varie de façon non prédictible en fonction notamment de la charge de travail du processeur à un instant donné.
Le mémoire de thèse de Myung Hwangbo "Robust Monocular Vision-based Navigation for a Miniature Fixed-Wing Aircraft", Carnegie-Mellon University, Robotics Institute, 15 septembre 2009, chapitre 4.2.3, rubrique ''Camera-IMU synchronization", expose une technique consistant à opérer avant le vol une calibration préalable sur la base du signal d'image produit par une caméra verticale pointant vers le terrain survolé par le drone. Le déphasage mesuré est considéré constant après l'étape de calibration et appliqué de façon permanente et indifférenciée lors des phases de vol ultérieures. Mais cette technique est spécifique à la correction de l'image produite par une caméra verticale fixant le sol (c'est-à-dire la caméra servant à calculer la vitesse sol du drone), et n'est pas transposable à un caméra quelconque, notamment une caméra frontale susceptible de capter des images mobiles et fugitives.
Surtout, du fait qu'elle est basée sur l'hypothèse d'un décalage temporel constant, cette technique n'est en aucune façon susceptible de prendre en compte les phénomènes dynamiques affectant le drone en cours de vol.
Le but de la présente invention est de remédier aux inconvénients exposés plus haut, en proposant une solution permettant de garantir à tout instant du vol du drone, en temps réel, une mesure extrêmement précise du déphasage entre le signal d'image délivré par la caméra frontale (ou toute autre caméra du drone) et le signal gyrométrique délivré par la centrale inertielle du drone, ceci afin de permettre ensuite, par le processeur, un traitement de recalage des images et de correction éventuelle des artefacts introduits par les mouvements et vibrations du drone.
On notera que la recherche d'une solution aux inconvénients précités est rendue particulièrement critique du fait de la résolution très élevée des caméras frontales utilisées aujourd’hui, qui sont typiquement des caméras de type haute définition "HD" de résolution 12 Mpixel ou plus (20 à 40 Mpixel), pour lesquelles on peut estimer qu'une précision et un jitter (gigue) ne dépassant pas 1 ps seraient souhaitables pour synchroniser convenablement les signaux gyrométriques et video, en temps réel avec une grande précision, et permettre en toutes circonstances un traitement de correction d'image efficace et de grande qualité. À cet égard, les solutions logicielles qui pourraient être apportées à ce problème n'apparaissent pas satisfaisantes à l'égard du degré de précision élevé requis par l'emploi d'une caméra haute définition.
En effet, de telles solutions reposeraient sur un mécanisme où les instants de délivrance de chaque nouvelle donnée du gyromètre et de chaque nouvelle image acquise seraient relevés par logiciel, méthode qui serait beaucoup moins précise et plus irrégulière car sensible au temps de réaction du système, et qui ne procurerait qu'une précision finale de l'ordre de 100 ps, largement insuffisante.
Un autre but de l'invention est de permettre la mesure du déphasage entre le signal de synchronisation d'image et le signal de synchronisation gyrométrique au moyen d'un processeur ne disposant pas de fonction dédiée pour la mesure d'un tel retard, mais muni d'un simple port universel d'entrée/sortie, par exemple d'un unique port de type standard GPlO programmable gérable par interruption, seulement capable de mesurer la durée à l'état haut et à l'état bas d'un (unique) signal appliqué sur cette entrée.
Pour résoudre le problème que l'on vient d'exposer, l'invention propose un drone comprenant, de manière en elle-même connue : - une caméra video, apte à capter des images de l’environnement du drone et à délivrer en sortie des signaux d'image représentatifs d'une séquence d’images captées par la caméra, et un signal de synchronisation de caméra ; - une centrale inertielle, apte à délivrer en sortie des signaux gyrométriques représentatifs des rotations instantanées du drone, et un signal d'interruption ; - un processeur numérique de données, recevant en entrée les signaux d'image, les signaux gyrométriques et le signal d'interruption, et comprenant des moyens de traitement d’image en fonction des mouvements du drone ; et - des moyens de mesure d'un déphasage entre le signal de synchronisation de caméra et le signal d'interruption, représentatif du déphasage entre les signaux d'image et les signaux gyrométriques.
De façon caractéristique de l'invention : - les moyens de mesure du déphasage entre le signal de synchronisation de caméra et le signal d'interruption comprennent un circuit com-bineur, ce circuit combineur recevant en entrée le signal de synchronisation de caméra et le signal d'interruption, et générant une sortie unique délivrant un signal de synchronisation combinant le signal de synchronisation de caméra et le signal d'interruption ; - le processeur comprend des moyens de mesure d'un intervalle de temps séparant deux transitions d'état du signal de synchronisation généré par le circuit combineur ; et - les moyens de traitement d’image sont configurés pour adapter les signaux d’image en fonction de l’intervalle de temps séparant deux transitions d'état du signal de synchronisation.
Le circuit combineur peut être un circuit distinct du processeur numérique de données, en particulier un circuit formé de composants électroniques matériels.
Le processeur numérique de données peut alors être un processeur comprenant un port d'entrée programmable recevant le signal de synchronisation généré par le circuit combineur, en particulier un port de type GPlO gérable par interruption recevant le signal de synchronisation généré par le circuit combineur.
Dans un premier mode de réalisation particulier, le circuit combineur matériel est une porte XOR à deux entrées symétriques et une sortie. La mesure du déphasage entre les données d'image et les données gyrométriques est alors déterminée par une mesure, opérée par le processeur, du temps écoulé entre deux transitions de sens opposés du signal de synchronisation fusionné reçu sur le port d'entrée programmable.
Dans un second mode de réalisation particulier, le circuit combineur matériel est une bascule RS avec un filtre passe-haut de détection des fronts sur chacune de ses entrées.
Par ailleurs, lorsque la centrale inertielle délivre en sortie un signal de synchronisation gyrométrique appliqué en entrée du processeur numérique de données, les moyens de traitement d’image sont configurés pour adapter les signaux d’image également en fonction de ce signal de synchronisation gyrométrique. 0
On va maintenant décrire un exemple de mise en œuvre de la présente invention, en référence aux dessins annexés où les mêmes références désignent d'une figure à l'autre des éléments identiques ou fonctionnellement semblables.
La Figure 1 est une vue générale montrant un drone piloté par un appareil de télécommande.
La Figure 2 est un schéma par blocs des différents organes de contrôle, d'assistance et de pilotage du drone.
La Figure 3 illustre, sous forme de schéma par blocs, les différents éléments contribuant au mécanisme selon l'invention de synchronisation entre caméra frontale et centrale inertielle.
La Figure 4 montre une série de chronogrammes des signaux délivrés par les différents éléments illustrés Figure 3, explicitant en particulier les relations temporelles entre ces différents signaux.
La Figure 5 est un organigramme de la manière dont est analysé le signal de synchronisation fusionné appliqué au microcontrôleur pour déterminer à partir de ce signal le décalage temporel entre les signaux de synchronisation respectifs de la caméra frontale et de la centrale inertielle.
Les Figures 6A à 6D illustrent les quatre situations différentes de décalage temporel possible entre signaux de synchronisation respectifs de la caméra frontale et de la centrale inertielle, discriminées par l'organigramme de la Figure 5.
La Figure 7 illustre une variante de réalisation du circuit combineur utilisé sur le schéma de la Figure 3. ο
Sur la Figure 1, la référence 10 désigne de façon générale un drone, qui est par exemple un quadricoptère tel que le Bebop Drone de Parrot SA, Paris, France. Ce drone 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 caméra 14 à visée frontale permettant d'obtenir une image de la scène vers laquelle se dirige le drone, par exemple une caméra grand-angle haute définition munie d'un objectif à champ hémisphérique de type fisheye couvrant un champ d'environ 180° formant une image brute sur un capteur de résolution 14 Mpixel (4608 X 3288 pixels), ensuite fenêtrée en temps réel sur une image de qualité HD (1920 x 1080 pixels, soit 2 Mpixel), avec une fréquence de rafraîchissement du flux video de 30 fps (image par seconde). Le drone est également pourvu d'une caméra 16 à visée verticale, de moindre définition (par exemple une caméra CMOS de résolution QVGA 320 X 240 pixels), pointant vers le bas, apte à capter des images successives du terrain survolé T et utilisée notamment pour évaluer la vitesse du drone par rapport au sol.
Le drone est également muni de capteurs inertiels (accéléromètres et gy-romè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 (tangage φ, roulis Θ et lacet t//) décrivant l'inclinaison du drone par rapport à un plan horizontal d'un repère terrestre fixe UVW, étant entendu 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.
Le drone 10 est piloté par un appareil de télécommande distant 18 tel qu'un téléphone ou tablette multimedia à écran tactile et accéléromètres intégrés, par exemple un smartphone de type iPhone (marque déposée) ou autre, ou une tablette de type iPad (marque déposée) ou autre. Il s'agit d'un appareil standard, non modifié si ce n'est le chargement d'un logiciel applicatif spécifique tel que l'application mobile Freeflight (marque déposée) de Parrot SA pour contrôler le pilotage du drone 10 et la visualisation des images prises par la caméra frontale embarquée 14. L'appareil 18 comprend un corps 20 et un écran tactile 22 affichant l'image de la scène captée par la caméra frontale 14, avec en superposition un certain nombre de symboles permettant l'activation de commandes de pilotage (montée/descente, etc.) par simple contact d'un doigt 24 de l'utilisateur sur les symboles affichés à l'écran. L'appareil 18 est également pourvu de capteurs d'inclinaison permettant de contrôler l'attitude du drone en imprimant à l'appareil des inclinaisons correspondantes selon des axes de roulis et de tangage pour le faire avancer ou reculer. Les actions de l'utilisateur sont interprétées par le logiciel applicatif spécifique, qui les transforme en signaux de commande à destination du drone. Ce téléphone ou cette tablette peut être éventuellement relayé par un équipement spécifique de télécommande tel que le SkycontroUer de Parrot SA, qui est une console interfacée avec le téléphone ou la tablette, se présentant sous forme d'un boîtier muni de deux poignées avec des manches à balai et divers boutons destinés à permettre un pilotage ergonomique par l'utilisateur à la manière d'une console de télécommande dédiée.
La Figure 2 est un schéma par blocs des différents organes de contrôle, d'asservissement et de pilotage du drone, ainsi que de correction des déplacements de l'image selon la technique de l'invention (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'ayant qu'un caractère illustratif).
De façon générale, le système de pilotage implique plusieurs boucles imbriquées pour le contrôle de la vitesse horizontale, de la vitesse angulaire de l'attitude du drone et des variations d'altitude, automatiquement ou sous commande de l'utilisateur.
La boucle la plus centrale est la boucle 100 de contrôle de la vitesse angulaire, qui 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 angulaire 104. Ces 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 110 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 entrainés par ces moteurs.
La boucle 100 de contrôle de la vitesse angulaire est imbriquée dans une boucle 112 de contrôle d'attitude, qui opère à partir des indications fournies par les gyromètres 102 et par des accéléromètres 114. Les données issues de ces capteurs sont appliquées à un étage 118 qui produit une estimation de l'attitude réelle du drone, appliquée à un étage 120 de correction d'attitude. Cet étage 120 compare l'attitude réelle du drone à des consignes d'angle générées par un circuit 122 à partir de commandes directement appliquées par l'utilisateur 124 et/ou à partir de données générées en interne par le pilote automatique du drone via le circuit 126 de correction de vitesse horizontale. Les consignes éventuellement corrigées appliqué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.
Une boucle de contrôle de vitesse horizontale 130 comporte la caméra video verticale 16, un capteur télémétrique à ultrasons 132 et un capteur barométrique 134 faisant fonction d'altimètre. Un circuit 136 assure le traitement des images produites par la caméra verticale 16, en combinaison avec les signaux de l'accéléromètre 114 et du circuit d'estimation d'attitude 118, pour produire des données permettant d'obtenir au moyen d'un circuit 138 une estimation des vitesses horizontales Vx et Vy selon les deux axes de tangage et de roulis du drone. Les vitesses horizontales Vx et Vy estimées sont corrigées par l'estimation de vitesse verticale Vz donnée par un circuit 140 et par une estimation de la valeur de l'altitude z donnée par le circuit 142 à partir des informations des capteurs 132 et 134.
Pour le contrôle des déplacements verticaux du drone, l'utilisateur 124 applique des commandes à un circuit de calcul de consigne d'altitude 144, consigne qui est appliquée à un circuit de calcul de consigne de vitesse ascensionnelle Vz 146 via le circuit de correction d'altitude 148 recevant la valeur d'altitude estimée donnée par le circuit 142. La vitesse ascensionnelle Vz ainsi calculée est appliquée à un circuit 150 qui la compare à la vitesse correspondante estimée par le circuit 140, et modifie en conséquence les données de commande des moteurs (circuit 108) en augmentant ou réduisant 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.
En ce qui concerne la caméra video frontale 14, celle-ci délivre des données video brutes (données de pixel) à un circuit de fenêtrage 152 assurant la sélection des pixels utiles dans une zone de capture déterminée par la centrale inertielle 154 (incluant les gyrométres 102, les accéléro-métres 114 et le circuit d'estimation d'attitude 118). Les données video inscrites dans la zone de capture sont appliquées à un circuit 156 de correction des distorsions géométriques qui produit des données video rectifiées, elles-mêmes délivrées à un circuit émetteur 158 assurant la transmission de l'image video au dispositif de télécommande distant tenu par l'utilisateur.
En référence à la Figure 3, on va décrire maintenant plus en détail les divers aspects relatifs à la synchronisation des signaux gyrométriques avec les signaux d'image de la caméra frontale.
Concrétement, les fonctions des circuits 152 et 156 de la Figure 2 sont mises en œuvre ensemble au sein d'un circuit de traitement logiciel unique qui peut être un processeur numérique de signal (DSP) spécifique ou, comme dans l'exemple illustré, un simple microcontrôleur à usage général de type standard recevant les signaux numérisés à traiter et assurant le fenêtrage et la correction des distorsions pour stabiliser l'image video et en corriger divers artefacts avant que celle-ci ne soit délivrée à l'utilisateur.
Dans le cas, évoqué en introduction, d'une caméra montée sur un dispositif de compensation mécanique {gimbal), le microcontrôleur 152, 156 a également pour fonction de piloter les servomoteurs de pointage de la caméra.
La caméra horizontale 14 produit un signal d'image qui comprend un signal de contenu d'image {Fiux_video) délivré au circuit 152, 156, associé à un signal de synchronisation d'image Cam_Sync.
Les gyrométres 102 de la centrale inertielle (IMU) 154 délivrent un signal gyrométrique au circuit 118 précité d'estimation de l'attitude du drone, qui estime les rotations φ, 6* et ψάυ drone dans les trois axes.
La centrale inertielle 154 reçoit par ailleurs le signal de synchronisation d'image Cam_Sync, qui sera échantillonné au moment où la centrale iner-tielle délivrera les mesures gyrométriques. Le signal gyrométrique transmis au circuit 152, 156 concurremment au signal d'image comprend un signal de contenu {Donnéesjgyrométriques) avec les valeurs des mesures gyrométriques, associé à un signal de synchronisation Cam_SyncjMU. La centrale inertielle 154 génère également un signal d’interruption itjmu à destination du microcontrôleur 152, 156 afin d'informer ce dernier de la disponibilité de nouvelles données en entrée.
Dans l'hypothèse, évoquée ci-dessus, où les fonctions des circuits 152 et 156 sont mises en œuvre par un simple microcontrôleur à usage général de type standard, il est envisageable, comme indiqué en introduction, d'utiliser pour la mesure du déphasage entre signaux de synchronisation de la caméra frontale et de la centrale inertielle un composant ne disposant pas de fonction dédiée pour la mesure de ce déphasage, mais muni d'un simple port universel d'entrée/sortie, par exemple d'un unique port de type standard GPlO, programmable, gérable par interruption, et capable de mesurer la durée à l'état haut et à l'état bas de l'unique signal appliqué sur cette entrée.
Par exemple (et de façon bien entendu non limitative), le microcontrôleur utilisé est un microcontrôleur flash 8 bits PIC12F1612 de Microchip, qui est un composant comprenant 8 broches dont 6 broches d'entrée/sortie et disposant d'une fonction programmable Signal Measurement Timer permettant de mesurer l'écart temporel entre des fronts d'un signal appliqué en entrée, sur la base d'un compteur 24 bits contrôlé par une horloge et un système de portes approprié.
Le but de l'invention est de permettre, à partir d'une détection des transitions d'état détectées sur le port d'entrée programmable (référencé 170 sur la Figure 3) du microcontrôleur recevant un unique signal de synchronisation (référencé Synchro sur la Figure 3), un calcul par logiciel, au sein du microcontrôleur, du déphasage entre les signaux de synchronisation respectifs de la caméra frontale et de la centrale inertielle, avec la précision extrême requise pour assurer un fenêtrage et une stabilisation corrects des images.
Pour ce faire, l'invention prévoit de mettre en œuvre, en amont du microcontrôleur 152, 156, un circuit combineur 172 formé de composants électroniques matériels {hardware).
Ce circuit combineur 172 comprend deux bornes d'entrée 174, 176, recevant respectivement le signal Cam_Sync de synchronisation d'image livrée par la caméra frontale et le signal d'interruption IT délivré par la centrale inertielle. Le circuit combineur 172 comprend une sortie unique 178 délivrant un signal de synchronisation fusionné Synchro combinant les deux signaux appliqués aux entrées 174, 176, ce signal Synchro étant appliqué au port d'entrée programmable 170 du processeur 152, 156.
Plusieurs modes de réalisation du circuit combineur hardware 172 sont envisageables.
Une première solution consiste à prévoir pour ce circuit un petit automate logique permettant de traiter tous les cas de figure possibles (décrits plus bas). Cette solution serait toutefois, en pratique, relativement complexe à mettre en œuvre, avec un encombrement et un coût relativement importants.
Une réalisation préférentielle, illustrée Figure 3, consiste à utiliser comme circuit combineur 172 une porte OU EXCLUSIF (XOR) 180 dont les deux entrées correspondent aux bornes 174 et 176, et la sortie à la borne 178 du circuit combineur 172.
Cette solution est particulièrement simple et économique (un seul composant à prévoir) mais implique toutefois une interprétation plus complexe des signaux par le processeur, à partir du signal fusionné Synchro, pour déterminer le déphasage entre les signaux de synchronisation respectifs Cam_Sync de la caméra frontale et Cam_SyncjMU de la centrale inertielle (la mise en œuvre de cette interprétation sera exposée plus bas en référence à l'algorithme de la Figure 5 et aux Figures 6A à 6D).
On va maintenant décrire de façon plus détaillée le fonctionnement du circuit de la Figure 3, en liaison avec la Figure 4 qui illustre les chronogrammes des divers signaux Cam_Sync_lMU et Cam_Sync (les deux signaux de synchronisation dont on souhaite évaluer le déphasage), itjmu (signal d'interruption délivré par la centrale inertielle) et Synchro (signal en sortie du le circuit combineur 172).
La centrale inertielle 154 envoie périodiquement une demande d'interruption ITJMU après chaque mesure, sous la forme d'une impulsion de durée constante Tl (Figure 4, troisième ligne), répétée après une période T2.
La caméra 14 envoie une impulsion périodique de signal de synchronisation Cam_Sync, de durée TO (Figure 4, deuxième ligne), indiquant la disponibilité de chaque image captée. La durée TO de cette impulsion, qui est constante, est supérieure à une période de mesure de la centrale iner-tielle, pour garantir son échantillonnage. L'échantillonnage par la centrale inertielle 154 du signal de synchronisation de caméra Cam_Sync donne le signal Cam_SyncJMU envoyé au processeur (Figure 4, première ligne). Les deux signaux Cam_SyncjMU et Cam_Sync présentent un déphasage T au niveau de leurs fronts descendants, déphasage qu'il convient d'évaluer pour pouvoir ensuite stabiliser l'image et corriger les divers artefacts de cette dernière par des algorithmes de traitement logiciel appropriés au sein du processeur 152, 156 (on notera incidemment que l'on pourrait également évaluer, aux mêmes fins, le déphasage T' sur les fronts montants des deux signaux de synchronisation).
Le circuit combineur 172 combine les deux signaux ITJMU et Cam_Sync en un seul signal fusionné Synchro (Figure 4, quatrième ligne), destiné à mesurer avec une très grande précision le retard entre Cam_Sync et Cam_SyncjMU par un algorithme approprié (illustré plus bas Figure 5) exécuté au sein du processeur 152, 156.
Pour mesurer ce retard, la durée Tl à l'état bas et la durée T2 à l'état haut du signal fusionné Synchro sont mesurées en continu. La plupart du temps, on constate une alternance du même couple {T1,T2} de durées successives, et c'est la rupture de cette séquence T1/T2 qui indique la présence d'un front du signal Cam_Sync. Ainsi, sur la Figure 4 la rupture de séquence T1/T2/T1/T3/T4/T1/T2... révèle la présence d'un front descendant du signal Cam_Sync, et la rupture de séquence T1/T2/T5/T6/T1/T2... révèle la présence d'un front montant du signal Cam_Sync (on peut noter que les durées T3+T4 = T2 et T5+T6 = Tl). L'analyse détaillée de cette séquence par un algorithme tel que celui illustré Figure 5, exécuté au sein du processeur 152, 156, permet de déterminer avec une très grande précision le retard T du signal de synchronisation gyrométrique Cam_Sync_iMU par rapport au signal de synchronisation d'image Cam_Sync.
On notera que le circuit combineur hardware 172, réalisé dans l'exemple illustré à partir d'une porte XOR 180, présente une très grande symétrie de montage (la porte XOR a le même temps de propagation sur ses deux entrées). Ceci permet de compenser les temps de réponse et garantit un calcul du déphasage T avec une très grande précision à partir de la durée de l'impulsion du signal fusionné Synchro.
La Figure 5 détaille les étapes de l'algorithme 200 permettant de mesurer la valeur de ce déphasage.
Il s'agit de mesurer le temps de réponse entre deux transitions de sens opposés du signal Synchro dans toutes les cas de figure possibles, correspondant aux quatre cas illustrés respectivement Figures 6A à 6D (figures sur lesquelles les chronogrammes respectifs correspondent à ceux décrits plus haut en référence à la Figure 4).
La première étape (série d'étapes 202) consiste à détecter des séquences T1/T2 répétées, pendant une durée supérieure à T0+T1+T2. Pour cela, les mesures successives M de la durée à l'état haut ou à l'état bas sont acquises et comparées, à une marge d'erreur près pour prendre en compte les erreurs de mesure (typiquement de l'ordre de 1 à 2 périodes de compteur), et ceci jusqu'à détection d'une rupture de la séquence T1/T2 ou à l'expiration de la période T0+T1+T2. Dans le cas d’une rupture de séquence pendant cette phase de synchronisation on en déduit que Cam_Sync n’était pas stable à 1 et on recommence à attendre Cam_Sync = 1.
Si la série d'étapes 202 détecte une rupture de séquence, elle recommence à attendre une séquence assez longue (S > T0+T1+T2) avant de passer la main à l'étape 204. La série d'étapes 202 se termine toujours après une séquence ininterrompue Tl/72 d’au moins T0+T1+T2 et avec M = T2, donc quand on en sort pour rejoindre l'étape 204 la valeur attendue suivante est Tl, ce qui évite une erreur d’interprétation en 206 (en effet, si par exemple, d’une part Tl = 25 ps et T2 = 100 ps et d’autre part on sort de 202 en attentant T2 et que ce dernier à été coupé à 30 ps, si on teste en premier M = Tl on conclura à tort M > Tl au lieu de M < T2).
Pour cela, après le premier test M = Tl la série d'étapes 202 détermine quelle partie de la séquence T1/T2 est interrompue en recommençant à attendre une séquence ininterrompue sans passer la main à l'étape 204, ou et sort de la recherche après M = T2. Dans la mesure où l'on a choisi de mesurer T seulement (et non T', ou même T et T' ce qui permettrait au prix d'un algorithme plus complexe d'améliorer la précision de mesure), il est également nécessaire de se caler sur la mesure de T (et non de T'), ce qui est obtenu quand une séquence T1/T2 est ininterrompue pendant une durée supérieure à T0+T1+T2, ce qui correspond à une transition Cam_Sync = 1.
Une nouvelle mesure M est alors acquise (bloc 204).
Le plus souvent, cette mesure correspond à une valeur T1.
Ainsi, si M = T1 (test 206), une nouvelle mesure M est acquise (bloc 208). Si celle-ci vaut M = T2 (test 210), les étapes précédentes 204-210 sont alors itérées (retour au bloc 204).
Si, au test 206, une durée différente de M = Tl est détectée, la durée T recherchée du déphasage est alors déterminée, en discriminant (test 212) entre la situation de la Figure 6A où T = T2 (bloc 214) et la situation de la Figure 6B (bloc 216) où T = T2+T6, T6 étant la durée de l'état logique consécutif qui a été mesuré (bloc 215).
Si au test 210 une durée différente de M = T2 est détectée, alors le test 218 discrimine entre la situation de la Figure 6C où T = 0 (bloc 220) et la situation de la Figure 6d, où T = T4 (bloc 222), T4 étant la durée de l'état logique consécutif qui a été mesuré (bloc 221).
On peut ainsi récupérer dans toutes les hypothèses envisageables la valeur recherchée T avec une très grande précision.
De fait, dans l'exemple présenté plus haut d'un microcontrôleur permettant de mesurer l'intervalle de temps séparant deux transitions d'état avec un compteur 16 bits cadencé à 24 MHz (compte tenu des limitations du processeur) sans risque de débordement, et pour une cadence de délivrance du signal Synchro de 8 kHz (T 1+T2 = 125 ps), la mesure du déphasage T se fait avec une résolution de 41,7 ns (1/24 MHz). Il convient d'ajouter à cette valeur l'incertitude résultant de l'asymétrie des temps de propagation entre les deux entrées de la porte XOR 180 et les temps de transition de la sortie (temps de montée et temps de descente), qui représentent toutefois moins de 5 ns avec les portes logiques actuellement disponibles.
La résolution et le jitter maximal restent donc inférieurs à 100 ns crête-à-crête.
La Figure 7 illustre une variante de réalisation du circuit combineur 172 de la Figure 3, dans laquelle le composant matériel utilisé pour produire le signal fusionné Synchro est une bascule RS 182.
Pour éviter de perdre l'information de l'instant de commutation des signaux (qui se masquent entre eux), on associe un filtre passe-haut 184, 186 à chaque entrée respective S et R de la bascule RS. Ceci permet de réduire la durée du jitter à celle de l'impulsion générée par le détecteur de front.
Il est par ailleurs nécessaire de prévoir des détecteurs de front générant des impulsions de durées très différentes, de manière à reconnaitre les faibles retards qui sinon seraient masqués.
Cette variante de réalisation permet d'obtenir des résultats satisfaisants avec un calcul simplifié du déphasage, mais au prix de composants supplémentaires par rapport au mode de réalisation mettant en œuvre une porte XOR.
Enfin, bien que l'on ait présenté l'invention dans le cadre de la stabilisation d'images et de la correction des artefacts des images produites par une caméra "frontale", l'invention s'applique également à la stabilisation (et de façon générale à la détermination du déphasage entre signaux d'image et signaux gyrométriques) des images prises par tout type de caméra embarquée par le drone ou intégrée à celui-ci, quelle que soit la direction de visée de cette caméra : frontale, latérale, verticale, etc.

Claims (9)

  1. REVENDICATIONS
    1. Un drone (10), comprenant : - une caméra video (14), apte à capter des images de l'environnement du drone et à délivrer en sortie : des signaux d'image (Flux_video) représentatifs d'une séquence d'images captées par la caméra, et • un signal de synchronisation de caméra {Cam_Sync) ; - une centrale inertielle (154) apte à délivrer en sortie : des signaux gyrométriques (Données_gyrométriques) représentatifs des rotations instantanées du drone, et • un signal d'interruption (ITJMU) ; - un processeur numérique de données (152, 156), recevant en entrée les signaux d'image, les signaux gyrométriques et le signal d'interruption, et comprenant des moyens de traitement d’image en fonction des mouvements du drone ; et - des moyens de mesure d'un déphasage entre le signal de synchronisation de caméra {Cam_Sync) et le signal d'interruption (ITJMU), représentatif du déphasage entre les signaux d'image et les signaux gyrométriques, caractérisé en ce que : - les moyens de mesure du déphasage entre le signal de synchronisation de caméra (Cam_Sync) et le signal d'interruption (itjmu) comprennent un circuit combineur (172), ce circuit combineur ; • recevant en entrée le signal de synchronisation de caméra (Cam_Sync) et le signal d'interruption (ITJMU), et • générant une sortie unique délivrant un signal de synchronisation (Synchro) combinant le signal de synchronisation de caméra (Cam_Sync) et le signal d'interruption (ITJMU) ; - le processeur comprend des moyens de mesure d'un intervalle de temps séparant deux transitions d'état du signal de synchronisation (Synchro) généré par le circuit combineur ; et en ce que les moyens de traitement d’image sont configurés pour adapter les signaux d’image en fonction de l’intervalle de temps séparant deux transitions d'état du signal de synchronisation (Synchro).
  2. 2. Le drone de la revendication 1, dans lequel le circuit combineur (172) est un circuit distinct du processeur numérique de données (152, 156).
  3. 3. Le drone de la revendication 2, dans lequel le circuit combineur (172) est un circuit formé de composants électroniques matériels.
  4. 4. Le drone de la revendication 2, dans lequel le processeur numérique de données (152, 156) comprend un port d'entrée programmable (170) recevant le signal de synchronisation {Synchro) généré par le circuit combineur (172).
  5. 5. Le drone de la revendication 4, dans lequel le port d'entrée programmable (170) est un port de type GPlO gérable par interruption recevant le signal de synchronisation (Synchro) généré par le circuit combineur (172).
  6. 6. Le drone de la revendication 3, dans lequel le circuit combineur (172) est une porte XOR (180) à deux entrées symétriques et une sortie.
  7. 7. Le drone de la revendication 6, dans lequel la mesure du déphasage entre les données d'image et les données gyrométriques est déterminée par une mesure, opérée par le processeur, du temps écoulé entre deux transitions de sens opposés du signal de synchronisation fusionné (Synchro) reçu sur le port d'entrée programmable.
  8. 8. Le drone de la revendication 3, dans lequel le circuit combineur (172) est une bascule RS (182) avec un filtre passe-haut (184, 186) de détection des fronts sur chacune de ses entrées.
  9. 9. Le drone de la revendication 1, dans lequel la centrale inertielle (154) est apte à délivrer en outre en sortie un signal de synchronisation gyromé-trique (Cam_Sync_IMU) appliqué en entrée du processeur numérique de données (152, 156), les moyens de traitement d’image étant configurés pour adapter les signaux d’image également en fonction du signal de synchronisation gyrométrique.
FR1655740A 2016-06-20 2016-06-20 Drone muni d'une camera video frontale avec compensation des rotations instantanees du drone et correction des artefacts Expired - Fee Related FR3052678B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1655740A FR3052678B1 (fr) 2016-06-20 2016-06-20 Drone muni d'une camera video frontale avec compensation des rotations instantanees du drone et correction des artefacts

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1655740 2016-06-20
FR1655740A FR3052678B1 (fr) 2016-06-20 2016-06-20 Drone muni d'une camera video frontale avec compensation des rotations instantanees du drone et correction des artefacts

Publications (2)

Publication Number Publication Date
FR3052678A1 true FR3052678A1 (fr) 2017-12-22
FR3052678B1 FR3052678B1 (fr) 2018-07-13

Family

ID=56990560

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1655740A Expired - Fee Related FR3052678B1 (fr) 2016-06-20 2016-06-20 Drone muni d'une camera video frontale avec compensation des rotations instantanees du drone et correction des artefacts

Country Status (1)

Country Link
FR (1) FR3052678B1 (fr)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2933775A1 (fr) * 2014-04-16 2015-10-21 Parrot Drone à voilure tournante muni d'une caméra video délivrant des séquences d'images stabilisées

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2933775A1 (fr) * 2014-04-16 2015-10-21 Parrot Drone à voilure tournante muni d'une caméra video délivrant des séquences d'images stabilisées

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MYUNG HWANGBO: "Robust Monocular Vision-based Navigation for a Miniature Fixed-Wing Aircraft", 15 September 2009 (2009-09-15), Pittsburgh, Pennsylvania 15213, XP055021926, Retrieved from the Internet <URL:http://www.cs.cmu.edu/~myung/thesis_proposal.pdf> [retrieved on 20120315] *

Also Published As

Publication number Publication date
FR3052678B1 (fr) 2018-07-13

Similar Documents

Publication Publication Date Title
EP3076258B1 (fr) Drone muni d&#39;une caméra video à visée verticale compensée des rotations instantanées pour l&#39;estimation des vitesses horizontales
EP3171589B1 (fr) Drone muni d&#39;une camera video delivrant des sequences d&#39;images corrigees de l&#39;effet wobble
EP2933775B1 (fr) Drone à voilure tournante muni d&#39;une caméra video délivrant des séquences d&#39;images stabilisées
EP3007429B1 (fr) Appareil mobile, notamment drone à voilure tournante, muni d&#39;une caméra video délivrant des séquences d&#39;images corrigées dynamiquement de l&#39;effet wobble
EP3025770B1 (fr) Système video pour le pilotage d&#39;un drone en mode immersif
EP3078402B1 (fr) Système de pilotage de drone en immersion
EP3273318B1 (fr) Système autonome de prise de vues animées par un drone avec poursuite de cible et localisation améliorée de la cible
EP3048789A1 (fr) Drone muni d&#39;une caméra video et de moyens de compensation des artefacts produits aux angles de roulis les plus importants
EP3055990B1 (fr) Stabilisation vidéo d&#39;un clip multimédia
EP3142354B1 (fr) Drone avec caméra à visée frontale avec segmentation de l&#39;image du ciel pour le contrôle de l&#39;autoexposition
FR3041136A1 (fr) Procede de determination d&#39;une duree d&#39;exposition d&#39;une camera embarque sur un drone, et drone associe.
FR3058238A1 (fr) Systeme autonome de prise de vues animees par un drone avec poursuite de cible et maintien de l&#39;angle de prise de vue de la cible.
EP3217658A1 (fr) Procédé d&#39;encodage et de décodage d&#39;une vidéo d&#39;un drone, et dispositifs associés
EP3273317A1 (fr) Système autonome de prise de vues animées comprenant un drone et une station au sol, et procédé associé
FR3052678A1 (fr) Drone muni d&#39;une camera video frontale avec compensation des rotations instantanees du drone et correction des artefacts
FR2678461A1 (fr) Procede pour determiner la position au repos de la ligne de visee d&#39;un dispositif de prise de vue soumis a des vibrations, dispositif pour sa mise en óoeuvre et application a l&#39;harmonisation de dispositifs de prise de vue.
FR3020168A1 (fr) Drone a voilure tournante muni d&#39;une camera video delivrant des sequences d&#39;images stabilisees

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20171222

PLFP Fee payment

Year of fee payment: 3

ST Notification of lapse

Effective date: 20200206